@office-iss/react-native-win32 0.0.0-canary.25 → 0.0.0-canary.250

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 (1546) hide show
  1. package/.eslintignore +13 -0
  2. package/.eslintrc.js +22 -0
  3. package/.flowconfig +63 -35
  4. package/CHANGELOG.json +5087 -1
  5. package/CHANGELOG.md +2033 -4
  6. package/IntegrationTests/AccessibilityManagerTest.js +8 -11
  7. package/IntegrationTests/AppEventsTest.js +3 -3
  8. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +12 -5
  9. package/IntegrationTests/ImageCachePolicyTest.js +5 -5
  10. package/IntegrationTests/ImageSnapshotTest.js +2 -2
  11. package/IntegrationTests/IntegrationTestHarnessTest.js +9 -6
  12. package/IntegrationTests/IntegrationTestsApp.js +16 -21
  13. package/IntegrationTests/LayoutEventsTest.js +14 -12
  14. package/IntegrationTests/LoggingTestModule.js +10 -12
  15. package/IntegrationTests/PromiseTest.js +2 -1
  16. package/IntegrationTests/SimpleSnapshotTest.js +2 -4
  17. package/IntegrationTests/SyncMethodTest.js +2 -2
  18. package/IntegrationTests/TimersTest.js +20 -5
  19. package/IntegrationTests/WebSocketTest.js +5 -5
  20. package/IntegrationTests/launchWebSocketServer.sh +12 -0
  21. package/IntegrationTests/websocket_integration_test_server.js +3 -3
  22. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +86 -0
  23. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +38 -11
  24. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +5 -43
  25. package/Libraries/Alert/Alert.d.ts +91 -0
  26. package/Libraries/Alert/Alert.js +28 -10
  27. package/Libraries/Alert/Alert.win32.js +8 -6
  28. package/Libraries/Alert/NativeAlertManager.js +5 -26
  29. package/Libraries/Alert/RCTAlertManager.android.js +2 -4
  30. package/Libraries/Alert/RCTAlertManager.ios.js +2 -3
  31. package/Libraries/Animated/Animated.d.ts +626 -0
  32. package/Libraries/Animated/Animated.js +48 -0
  33. package/Libraries/Animated/AnimatedEvent.js +256 -0
  34. package/Libraries/Animated/AnimatedImplementation.js +752 -0
  35. package/Libraries/Animated/AnimatedMock.js +195 -0
  36. package/Libraries/Animated/AnimatedPlatformConfig.js +13 -0
  37. package/Libraries/Animated/AnimatedWeb.js +26 -0
  38. package/Libraries/Animated/Easing.d.ts +37 -0
  39. package/Libraries/Animated/Easing.js +250 -0
  40. package/Libraries/Animated/NativeAnimatedHelper.js +615 -0
  41. package/Libraries/Animated/NativeAnimatedHelper.win32.js +617 -0
  42. package/Libraries/Animated/NativeAnimatedModule.js +13 -0
  43. package/Libraries/Animated/NativeAnimatedTurboModule.js +13 -0
  44. package/Libraries/Animated/SpringConfig.js +98 -0
  45. package/Libraries/Animated/animations/Animation.js +126 -0
  46. package/Libraries/Animated/animations/DecayAnimation.js +133 -0
  47. package/Libraries/Animated/animations/SpringAnimation.js +378 -0
  48. package/Libraries/Animated/animations/TimingAnimation.js +180 -0
  49. package/Libraries/Animated/bezier.js +164 -0
  50. package/Libraries/Animated/components/AnimatedFlatList.js +20 -0
  51. package/Libraries/Animated/components/AnimatedImage.js +22 -0
  52. package/Libraries/Animated/components/AnimatedScrollView.js +136 -0
  53. package/Libraries/Animated/components/AnimatedSectionList.js +20 -0
  54. package/Libraries/Animated/components/AnimatedText.js +22 -0
  55. package/Libraries/Animated/components/AnimatedView.js +20 -0
  56. package/Libraries/Animated/createAnimatedComponent.js +73 -0
  57. package/Libraries/Animated/nodes/AnimatedAddition.js +64 -0
  58. package/Libraries/Animated/nodes/AnimatedColor.js +320 -0
  59. package/Libraries/Animated/nodes/AnimatedDiffClamp.js +72 -0
  60. package/Libraries/Animated/nodes/AnimatedDivision.js +80 -0
  61. package/Libraries/Animated/nodes/AnimatedInterpolation.js +415 -0
  62. package/Libraries/Animated/nodes/AnimatedModulo.js +63 -0
  63. package/Libraries/Animated/nodes/AnimatedMultiplication.js +63 -0
  64. package/Libraries/Animated/nodes/AnimatedNode.js +197 -0
  65. package/Libraries/Animated/nodes/AnimatedObject.js +146 -0
  66. package/Libraries/Animated/nodes/AnimatedProps.js +186 -0
  67. package/Libraries/Animated/nodes/AnimatedStyle.js +130 -0
  68. package/Libraries/Animated/nodes/AnimatedSubtraction.js +64 -0
  69. package/Libraries/Animated/nodes/AnimatedTracking.js +100 -0
  70. package/Libraries/Animated/nodes/AnimatedTransform.js +130 -0
  71. package/Libraries/Animated/nodes/AnimatedValue.js +302 -0
  72. package/Libraries/Animated/nodes/AnimatedValueXY.js +236 -0
  73. package/Libraries/Animated/nodes/AnimatedWithChildren.js +88 -0
  74. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +17 -0
  75. package/Libraries/Animated/useAnimatedProps.js +248 -0
  76. package/Libraries/Animated/useAnimatedValue.d.ts +15 -0
  77. package/Libraries/Animated/useAnimatedValue.js +25 -0
  78. package/Libraries/AppState/AppState.d.ts +58 -0
  79. package/Libraries/AppState/AppState.js +91 -144
  80. package/Libraries/AppState/NativeAppState.js +5 -22
  81. package/Libraries/BatchedBridge/BatchedBridge.js +2 -2
  82. package/Libraries/BatchedBridge/MessageQueue.js +136 -114
  83. package/Libraries/BatchedBridge/NativeModules.d.ts +25 -0
  84. package/Libraries/BatchedBridge/NativeModules.js +34 -21
  85. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestConfig.js +1 -1
  86. package/Libraries/BatchedBridge/__mocks__/MessageQueueTestModule.js +3 -3
  87. package/Libraries/Blob/Blob.js +20 -3
  88. package/Libraries/Blob/BlobManager.js +7 -10
  89. package/Libraries/Blob/BlobRegistry.js +15 -10
  90. package/Libraries/Blob/BlobTypes.js +1 -1
  91. package/Libraries/Blob/File.js +3 -4
  92. package/Libraries/Blob/FileReader.js +35 -15
  93. package/Libraries/Blob/NativeBlobModule.js +5 -18
  94. package/Libraries/Blob/NativeFileReaderModule.js +5 -15
  95. package/Libraries/Blob/URL.js +61 -50
  96. package/Libraries/Blob/__mocks__/BlobModule.js +1 -1
  97. package/Libraries/Blob/__mocks__/FileReaderModule.js +1 -1
  98. package/Libraries/BugReporting/BugReporting.js +8 -9
  99. package/Libraries/BugReporting/NativeBugReporting.js +5 -12
  100. package/Libraries/BugReporting/dumpReactTree.js +1 -1
  101. package/Libraries/BugReporting/getReactData.js +17 -8
  102. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
  103. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +421 -0
  104. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +391 -95
  105. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +5 -19
  106. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +11 -0
  107. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +5 -51
  108. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +36 -0
  109. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +26 -0
  110. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +36 -0
  111. package/Libraries/Components/ActivityIndicator/ActivityIndicator.d.ts +86 -0
  112. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +73 -48
  113. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +4 -47
  114. package/Libraries/Components/Button/ButtonWin32.Props.d.ts +36 -36
  115. package/Libraries/Components/Button/ButtonWin32.Props.js +3 -3
  116. package/Libraries/Components/Button/ButtonWin32.Props.js.map +1 -0
  117. package/Libraries/Components/Button/ButtonWin32.d.ts +19 -19
  118. package/Libraries/Components/Button/ButtonWin32.js +83 -103
  119. package/Libraries/Components/Button/ButtonWin32.js.map +1 -0
  120. package/Libraries/Components/Button.d.ts +42 -0
  121. package/Libraries/Components/Button.js +323 -125
  122. package/Libraries/Components/Button.win32.js +455 -0
  123. package/Libraries/Components/Clipboard/Clipboard.d.ts +28 -0
  124. package/Libraries/Components/Clipboard/Clipboard.js +3 -5
  125. package/Libraries/Components/Clipboard/NativeClipboard.js +5 -14
  126. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +4 -116
  127. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +32 -32
  128. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +141 -0
  129. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
  130. package/Libraries/Components/EnterString.win32.d.ts +12 -12
  131. package/Libraries/Components/EnterString.win32.js +82 -114
  132. package/Libraries/Components/EnterString.win32.js.map +1 -0
  133. package/Libraries/Components/Keyboard/Keyboard.d.ts +109 -0
  134. package/Libraries/Components/Keyboard/Keyboard.js +81 -71
  135. package/Libraries/Components/Keyboard/KeyboardAvoidingView.d.ts +46 -0
  136. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +99 -56
  137. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +5 -13
  138. package/Libraries/Components/Pressable/Pressable.d.ts +167 -0
  139. package/Libraries/Components/Pressable/Pressable.js +165 -39
  140. package/Libraries/Components/Pressable/Pressable.win32.js +430 -0
  141. package/Libraries/Components/Pressable/useAndroidRippleForView.js +38 -23
  142. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +24 -21
  143. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.d.ts +83 -0
  144. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  145. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +5 -27
  146. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +4 -77
  147. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +4 -56
  148. package/Libraries/Components/RefreshControl/RefreshControl.d.ts +87 -0
  149. package/Libraries/Components/RefreshControl/RefreshControl.js +16 -38
  150. package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +6 -9
  151. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +4 -20
  152. package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +24 -0
  153. package/Libraries/Components/SafeAreaView/SafeAreaView.js +12 -39
  154. package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +12 -41
  155. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +5 -32
  156. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +39 -21
  157. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +13 -20
  158. package/Libraries/Components/ScrollView/ScrollView.d.ts +910 -0
  159. package/Libraries/Components/ScrollView/ScrollView.js +1180 -427
  160. package/Libraries/Components/ScrollView/ScrollViewCommands.js +4 -4
  161. package/Libraries/Components/ScrollView/ScrollViewContext.js +22 -0
  162. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +167 -18
  163. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +11 -17
  164. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +207 -62
  165. package/Libraries/Components/ScrollView/processDecelerationRate.js +2 -4
  166. package/Libraries/Components/Sound/NativeSoundManager.js +5 -15
  167. package/Libraries/Components/Sound/SoundManager.js +3 -4
  168. package/Libraries/Components/StaticRenderer.js +1 -1
  169. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +5 -27
  170. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +5 -35
  171. package/Libraries/Components/StatusBar/StatusBar.d.ts +138 -0
  172. package/Libraries/Components/StatusBar/StatusBar.js +37 -59
  173. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +5 -56
  174. package/Libraries/Components/Switch/Switch.d.ts +115 -0
  175. package/Libraries/Components/Switch/Switch.js +160 -133
  176. package/Libraries/Components/Switch/SwitchNativeComponent.js +5 -50
  177. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +243 -58
  178. package/Libraries/Components/TextInput/InputAccessoryView.d.ts +34 -0
  179. package/Libraries/Components/TextInput/InputAccessoryView.js +20 -24
  180. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +5 -18
  181. package/Libraries/Components/TextInput/RCTMultilineTextInputNativeComponent.js +26 -31
  182. package/Libraries/Components/TextInput/RCTSingelineTextInputNativeComponent.js +18 -38
  183. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +161 -0
  184. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +8 -8
  185. package/Libraries/Components/TextInput/Tests/TextInputTest.js +128 -126
  186. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -0
  187. package/Libraries/Components/TextInput/TextInput.d.ts +973 -0
  188. package/Libraries/Components/TextInput/TextInput.flow.js +1092 -0
  189. package/Libraries/Components/TextInput/TextInput.js +930 -395
  190. package/Libraries/Components/TextInput/TextInput.win32.js +1877 -179
  191. package/Libraries/Components/TextInput/TextInputNativeCommands.js +29 -0
  192. package/Libraries/Components/TextInput/TextInputState.js +33 -10
  193. package/Libraries/Components/TextInput/TextInputState.win32.js +45 -17
  194. package/Libraries/Components/TextInput/Win32TextInputNativeComponent.js +23 -0
  195. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +5 -31
  196. package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +11 -10
  197. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +47 -0
  198. package/Libraries/Components/ToastAndroid/ToastAndroid.js +45 -0
  199. package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +16 -10
  200. package/Libraries/Components/Touchable/BoundingDimensions.js +4 -5
  201. package/Libraries/Components/Touchable/PooledClass.js +26 -15
  202. package/Libraries/Components/Touchable/Position.js +3 -4
  203. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +8 -8
  204. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +344 -381
  205. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -0
  206. package/Libraries/Components/Touchable/Touchable.d.ts +90 -0
  207. package/Libraries/Components/Touchable/Touchable.js +118 -133
  208. package/Libraries/Components/Touchable/Touchable.win32.js +974 -0
  209. package/Libraries/Components/Touchable/TouchableBounce.js +55 -54
  210. package/Libraries/Components/Touchable/TouchableHighlight.d.ts +62 -0
  211. package/Libraries/Components/Touchable/TouchableHighlight.js +62 -54
  212. package/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +119 -0
  213. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +86 -67
  214. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +99 -51
  215. package/Libraries/Components/Touchable/TouchableOpacity.d.ts +81 -0
  216. package/Libraries/Components/Touchable/TouchableOpacity.js +91 -57
  217. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +37 -34
  218. package/Libraries/Components/Touchable/TouchableWin32.Props.js +3 -3
  219. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -0
  220. package/Libraries/Components/Touchable/TouchableWin32.Types.d.ts +114 -114
  221. package/Libraries/Components/Touchable/TouchableWin32.Types.js +3 -3
  222. package/Libraries/Components/Touchable/TouchableWin32.Types.js.map +1 -0
  223. package/Libraries/Components/Touchable/TouchableWin32.d.ts +91 -91
  224. package/Libraries/Components/Touchable/TouchableWin32.js +507 -529
  225. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -0
  226. package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +151 -0
  227. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +146 -107
  228. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +4 -19
  229. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +3 -4
  230. package/Libraries/Components/View/ReactNativeStyleAttributes.js +173 -69
  231. package/Libraries/Components/View/ReactNativeViewAttributes.js +5 -3
  232. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +35 -13
  233. package/Libraries/Components/View/View.d.ts +29 -0
  234. package/Libraries/Components/View/View.js +105 -13
  235. package/Libraries/Components/View/View.win32.js +276 -0
  236. package/Libraries/Components/View/ViewAccessibility.d.ts +551 -0
  237. package/Libraries/Components/View/ViewAccessibility.js +84 -3
  238. package/Libraries/Components/View/ViewAccessibility.win32.js +180 -0
  239. package/Libraries/Components/View/ViewNativeComponent.js +96 -57
  240. package/Libraries/Components/View/ViewPropTypes.d.ts +354 -0
  241. package/Libraries/Components/View/ViewPropTypes.js +216 -66
  242. package/Libraries/Components/View/ViewPropTypes.win32.js +729 -0
  243. package/Libraries/Components/View/ViewWin32.d.ts +30 -12
  244. package/Libraries/Components/View/ViewWin32.js +129 -80
  245. package/Libraries/Core/Devtools/getDevServer.js +9 -8
  246. package/Libraries/Core/Devtools/loadBundleFromServer.js +152 -0
  247. package/Libraries/Core/Devtools/loadBundleFromServer.win32.js +153 -0
  248. package/Libraries/Core/Devtools/openFileInEditor.js +6 -2
  249. package/Libraries/Core/Devtools/openURLInBrowser.js +3 -2
  250. package/Libraries/Core/Devtools/parseErrorStack.js +14 -23
  251. package/Libraries/Core/Devtools/parseHermesStack.js +71 -44
  252. package/Libraries/Core/Devtools/symbolicateStackTrace.js +13 -58
  253. package/Libraries/Core/ErrorHandlers.js +116 -0
  254. package/Libraries/Core/ExceptionsManager.js +91 -98
  255. package/Libraries/Core/ExtendedError.js +33 -0
  256. package/Libraries/Core/InitializeCore.js +6 -4
  257. package/Libraries/Core/NativeExceptionsManager.js +5 -100
  258. package/Libraries/Core/RawEventEmitter.js +39 -0
  259. package/Libraries/Core/ReactFiberErrorDialog.js +45 -39
  260. package/Libraries/Core/ReactNativeVersion.js +13 -7
  261. package/Libraries/Core/ReactNativeVersionCheck.js +11 -8
  262. package/Libraries/Core/ReactNativeVersionCheck.win32.js +11 -8
  263. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +5 -21
  264. package/Libraries/Core/Timers/JSTimers.js +94 -120
  265. package/Libraries/Core/Timers/NativeTiming.js +5 -19
  266. package/Libraries/Core/Timers/immediateShim.js +68 -0
  267. package/Libraries/Core/Timers/queueMicrotask.js +41 -0
  268. package/Libraries/Core/__mocks__/ErrorUtils.js +1 -1
  269. package/Libraries/Core/__mocks__/NativeExceptionsManager.js +20 -0
  270. package/Libraries/Core/checkNativeVersion.js +1 -1
  271. package/Libraries/Core/polyfillPromise.js +19 -3
  272. package/Libraries/Core/registerCallableModule.d.ts +16 -0
  273. package/Libraries/Core/registerCallableModule.js +42 -0
  274. package/Libraries/Core/setUpAlert.js +2 -2
  275. package/Libraries/Core/setUpBatchedBridge.js +24 -11
  276. package/Libraries/Core/setUpDeveloperTools.js +59 -60
  277. package/Libraries/Core/setUpErrorHandling.js +2 -2
  278. package/Libraries/Core/setUpGlobals.js +7 -6
  279. package/Libraries/Core/setUpIntersectionObserver.js +16 -0
  280. package/Libraries/Core/setUpMutationObserver.js +16 -0
  281. package/Libraries/Core/setUpNavigator.js +8 -7
  282. package/Libraries/Core/setUpPerformance.js +31 -0
  283. package/Libraries/Core/setUpPerformanceObserver.js +18 -0
  284. package/Libraries/Core/setUpReactDevTools.js +93 -10
  285. package/Libraries/Core/setUpReactRefresh.js +4 -2
  286. package/Libraries/Core/setUpRegeneratorRuntime.js +28 -9
  287. package/Libraries/Core/setUpSegmentFetcher.js +8 -47
  288. package/Libraries/Core/setUpTimers.js +82 -8
  289. package/Libraries/Core/setUpXHR.js +5 -5
  290. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  291. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  292. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  293. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  294. package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
  295. package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
  296. package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
  297. package/Libraries/DevToolsSettings/DevToolsSettingsManager.win32.js +35 -0
  298. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +13 -0
  299. package/Libraries/EventEmitter/NativeEventEmitter.d.ts +63 -0
  300. package/Libraries/EventEmitter/NativeEventEmitter.js +92 -40
  301. package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +29 -0
  302. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +27 -68
  303. package/Libraries/EventEmitter/RCTEventEmitter.js +6 -2
  304. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +32 -0
  305. package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +2 -4
  306. package/Libraries/EventEmitter/__mocks__/NativeEventEmitter.js +34 -11
  307. package/Libraries/Events/CustomEvent.js +32 -0
  308. package/Libraries/Events/EventPolyfill.js +239 -0
  309. package/Libraries/HeapCapture/HeapCapture.js +3 -5
  310. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +5 -12
  311. package/Libraries/Image/AssetRegistry.js +2 -27
  312. package/Libraries/Image/AssetSourceResolver.js +26 -38
  313. package/Libraries/Image/AssetUtils.js +47 -0
  314. package/Libraries/Image/Image.android.js +213 -271
  315. package/Libraries/Image/Image.d.ts +382 -0
  316. package/Libraries/Image/Image.ios.js +156 -102
  317. package/Libraries/Image/Image.win32.js +174 -99
  318. package/Libraries/Image/ImageAnalyticsTagContext.js +22 -0
  319. package/Libraries/Image/ImageBackground.js +38 -12
  320. package/Libraries/Image/ImageInjection.js +87 -0
  321. package/Libraries/Image/ImageProps.js +139 -25
  322. package/Libraries/Image/ImageResizeMode.d.ts +49 -0
  323. package/Libraries/Image/ImageResizeMode.js +1 -1
  324. package/Libraries/Image/ImageSource.d.ts +76 -0
  325. package/Libraries/Image/ImageSource.js +73 -21
  326. package/Libraries/Image/ImageSourceUtils.js +80 -0
  327. package/Libraries/Image/ImageTypes.d.ts +25 -25
  328. package/Libraries/Image/ImageTypes.flow.js +76 -0
  329. package/Libraries/Image/ImageTypes.js +8 -8
  330. package/Libraries/Image/ImageTypes.js.map +1 -0
  331. package/Libraries/Image/ImageUtils.js +22 -0
  332. package/Libraries/Image/ImageViewNativeComponent.js +143 -29
  333. package/Libraries/Image/NativeImageEditor.js +13 -0
  334. package/Libraries/Image/NativeImageLoaderAndroid.js +5 -32
  335. package/Libraries/Image/NativeImageLoaderIOS.js +5 -24
  336. package/Libraries/Image/NativeImageLoaderWin32.js +5 -29
  337. package/Libraries/Image/NativeImageStoreAndroid.js +13 -0
  338. package/Libraries/Image/NativeImageStoreIOS.js +13 -0
  339. package/Libraries/Image/RelativeImageStub.js +2 -2
  340. package/Libraries/Image/Tests/ImageWin32Test.d.ts +8 -8
  341. package/Libraries/Image/Tests/ImageWin32Test.js +22 -19
  342. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -0
  343. package/Libraries/Image/TextInlineImageNativeComponent.js +38 -7
  344. package/Libraries/Image/assetPaths.js +36 -0
  345. package/Libraries/Image/nativeImageSource.js +4 -6
  346. package/Libraries/Image/resolveAssetSource.js +65 -31
  347. package/Libraries/Image/resolveAssetSource.win32.js +18 -6
  348. package/Libraries/Inspector/BorderBox.js +2 -2
  349. package/Libraries/Inspector/BoxInspector.js +4 -5
  350. package/Libraries/Inspector/ElementBox.js +15 -10
  351. package/Libraries/Inspector/ElementProperties.js +34 -61
  352. package/Libraries/Inspector/Inspector.js +150 -258
  353. package/Libraries/Inspector/Inspector.win32.js +154 -262
  354. package/Libraries/Inspector/InspectorOverlay.js +28 -53
  355. package/Libraries/Inspector/InspectorOverlay.win32.js +31 -54
  356. package/Libraries/Inspector/InspectorPanel.js +15 -27
  357. package/Libraries/Inspector/NetworkOverlay.js +24 -18
  358. package/Libraries/Inspector/PerformanceOverlay.js +5 -5
  359. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  360. package/Libraries/Inspector/StyleInspector.js +3 -3
  361. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +83 -0
  362. package/Libraries/Inspector/resolveBoxStyle.js +1 -1
  363. package/Libraries/Interaction/FrameRateLogger.js +10 -22
  364. package/Libraries/Interaction/InteractionManager.d.ts +74 -0
  365. package/Libraries/Interaction/InteractionManager.js +29 -40
  366. package/Libraries/Interaction/JSEventLoopWatchdog.js +10 -15
  367. package/Libraries/Interaction/NativeFrameRateLogger.js +5 -16
  368. package/Libraries/Interaction/PanResponder.d.ts +202 -0
  369. package/Libraries/Interaction/PanResponder.js +26 -28
  370. package/Libraries/Interaction/TaskQueue.js +14 -16
  371. package/Libraries/Interaction/TouchHistoryMath.js +12 -12
  372. package/Libraries/IntersectionObserver/IntersectionObserver.js +252 -0
  373. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +141 -0
  374. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +279 -0
  375. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +13 -0
  376. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +172 -0
  377. package/Libraries/JSInspector/InspectorAgent.js +4 -4
  378. package/Libraries/JSInspector/JSInspector.js +2 -5
  379. package/Libraries/JSInspector/NetworkAgent.js +10 -15
  380. package/Libraries/LayoutAnimation/LayoutAnimation.d.ts +84 -0
  381. package/Libraries/LayoutAnimation/LayoutAnimation.js +86 -37
  382. package/Libraries/Linking/Linking.d.ts +61 -0
  383. package/Libraries/Linking/Linking.js +50 -41
  384. package/Libraries/Linking/NativeIntentAndroid.js +13 -0
  385. package/Libraries/Linking/NativeLinkingManager.js +13 -0
  386. package/Libraries/Lists/FillRateHelper.js +6 -232
  387. package/Libraries/Lists/FlatList.d.ts +245 -0
  388. package/Libraries/Lists/FlatList.js +194 -127
  389. package/Libraries/Lists/SectionList.d.ts +267 -0
  390. package/Libraries/Lists/SectionList.js +36 -31
  391. package/Libraries/Lists/SectionListModern.js +249 -0
  392. package/Libraries/Lists/ViewabilityHelper.js +10 -327
  393. package/Libraries/Lists/VirtualizeUtils.js +6 -235
  394. package/Libraries/Lists/VirtualizedList.js +10 -2224
  395. package/Libraries/Lists/VirtualizedListContext.js +18 -0
  396. package/Libraries/Lists/VirtualizedSectionList.js +9 -565
  397. package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +2 -1
  398. package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +8 -8
  399. package/Libraries/LogBox/Data/LogBoxData.js +42 -67
  400. package/Libraries/LogBox/Data/LogBoxLog.js +120 -10
  401. package/Libraries/LogBox/Data/LogBoxSymbolication.js +10 -9
  402. package/Libraries/LogBox/Data/parseLogBoxLog.js +266 -74
  403. package/Libraries/LogBox/LogBox.d.ts +28 -0
  404. package/Libraries/LogBox/LogBox.js +135 -80
  405. package/Libraries/LogBox/LogBoxInspectorContainer.js +6 -6
  406. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -5
  407. package/Libraries/LogBox/UI/AnsiHighlight.js +17 -8
  408. package/Libraries/LogBox/UI/LogBoxButton.js +6 -7
  409. package/Libraries/LogBox/UI/LogBoxImages/alert-triangle.png +0 -0
  410. package/Libraries/LogBox/UI/LogBoxImages/chevron-left.png +0 -0
  411. package/Libraries/LogBox/UI/LogBoxImages/chevron-right.png +0 -0
  412. package/Libraries/LogBox/UI/LogBoxImages/close.png +0 -0
  413. package/Libraries/LogBox/UI/LogBoxImages/loader.png +0 -0
  414. package/Libraries/LogBox/UI/LogBoxInspector.js +12 -14
  415. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +12 -10
  416. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +168 -0
  417. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +27 -35
  418. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -9
  419. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +177 -0
  420. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +6 -7
  421. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +16 -14
  422. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +196 -0
  423. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +3 -5
  424. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +6 -10
  425. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -10
  426. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +118 -0
  427. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +19 -11
  428. package/Libraries/LogBox/UI/LogBoxMessage.js +100 -19
  429. package/Libraries/LogBox/UI/LogBoxNotification.js +15 -14
  430. package/Libraries/LogBox/UI/LogBoxStyle.js +1 -3
  431. package/Libraries/LogBox/UI/LogBoxStyle.win32.js +65 -0
  432. package/Libraries/Modal/Modal.d.ts +104 -0
  433. package/Libraries/Modal/Modal.js +140 -72
  434. package/Libraries/Modal/ModalInjection.js +15 -0
  435. package/Libraries/Modal/NativeModalManager.js +5 -14
  436. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +4 -117
  437. package/Libraries/MutationObserver/MutationObserver.js +184 -0
  438. package/Libraries/MutationObserver/MutationObserverManager.js +218 -0
  439. package/Libraries/MutationObserver/MutationRecord.js +84 -0
  440. package/Libraries/MutationObserver/NativeMutationObserver.js +13 -0
  441. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +327 -0
  442. package/Libraries/NativeComponent/BaseViewConfig.android.js +344 -0
  443. package/Libraries/NativeComponent/BaseViewConfig.ios.js +406 -0
  444. package/Libraries/NativeComponent/BaseViewConfig.win32.js +407 -0
  445. package/Libraries/NativeComponent/NativeComponentRegistry.js +164 -0
  446. package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +30 -0
  447. package/Libraries/NativeComponent/PlatformBaseViewConfig.js +25 -0
  448. package/Libraries/NativeComponent/StaticViewConfigValidator.js +166 -0
  449. package/Libraries/NativeComponent/ViewConfig.js +52 -0
  450. package/Libraries/NativeComponent/ViewConfigIgnore.js +51 -0
  451. package/Libraries/NativeModules/specs/NativeDevMenu.js +5 -16
  452. package/Libraries/NativeModules/specs/NativeDevSettings.js +5 -26
  453. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +5 -12
  454. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +5 -41
  455. package/Libraries/NativeModules/specs/NativeLogBox.js +5 -13
  456. package/Libraries/NativeModules/specs/NativeRedBox.js +5 -13
  457. package/Libraries/NativeModules/specs/NativeSourceCode.js +5 -14
  458. package/Libraries/Network/FormData.js +13 -5
  459. package/Libraries/Network/NativeNetworkingAndroid.js +5 -30
  460. package/Libraries/Network/NativeNetworkingIOS.js +5 -30
  461. package/Libraries/Network/RCTNetworking.android.js +16 -12
  462. package/Libraries/Network/RCTNetworking.ios.js +67 -18
  463. package/Libraries/Network/RCTNetworking.win32.js +84 -68
  464. package/Libraries/Network/XHRInterceptor.js +6 -7
  465. package/Libraries/Network/XMLHttpRequest.js +77 -28
  466. package/Libraries/Network/convertRequestBody.js +4 -4
  467. package/Libraries/Network/fetch.js +2 -1
  468. package/Libraries/NewAppScreen/components/Colors.js +2 -3
  469. package/Libraries/NewAppScreen/components/DebugInstructions.js +9 -6
  470. package/Libraries/NewAppScreen/components/Header.js +38 -16
  471. package/Libraries/NewAppScreen/components/HermesBadge.js +53 -0
  472. package/Libraries/NewAppScreen/components/LearnMoreLinks.js +52 -27
  473. package/Libraries/NewAppScreen/components/ReloadInstructions.js +5 -2
  474. package/Libraries/NewAppScreen/components/logo.png +0 -0
  475. package/Libraries/NewAppScreen/index.js +12 -6
  476. package/Libraries/Performance/NativeJSCSamplingProfiler.js +5 -12
  477. package/Libraries/Performance/SamplingProfiler.js +5 -5
  478. package/Libraries/Performance/Systrace.d.ts +66 -0
  479. package/Libraries/Performance/Systrace.js +116 -171
  480. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +5 -52
  481. package/Libraries/PermissionsAndroid/PermissionsAndroid.d.ts +116 -0
  482. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +60 -23
  483. package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
  484. package/Libraries/PersonaCoin/PersonaCoin.js +15 -22
  485. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -0
  486. package/Libraries/PersonaCoin/PersonaCoinPropTypes.d.ts +2 -2
  487. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js +20 -20
  488. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js.map +1 -0
  489. package/Libraries/PersonaCoin/PersonaCoinTypes.d.ts +33 -33
  490. package/Libraries/PersonaCoin/PersonaCoinTypes.js +24 -24
  491. package/Libraries/PersonaCoin/PersonaCoinTypes.js.map +1 -0
  492. package/Libraries/Pressability/HoverState.js +2 -4
  493. package/Libraries/Pressability/HoverState.win32.js +60 -0
  494. package/Libraries/Pressability/Pressability.js +243 -148
  495. package/Libraries/Pressability/Pressability.win32.js +1094 -0
  496. package/Libraries/Pressability/PressabilityDebug.js +31 -27
  497. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +49 -0
  498. package/Libraries/Pressability/PressabilityTypes.js +18 -0
  499. package/Libraries/Pressability/usePressability.js +25 -11
  500. package/Libraries/Promise.js +5 -35
  501. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +5 -66
  502. package/Libraries/PushNotificationIOS/PushNotificationIOS.d.ts +295 -0
  503. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +134 -83
  504. package/Libraries/QuirkSettings/CachingNativeQuirkSettings.js +30 -0
  505. package/Libraries/QuirkSettings/NativeQuirkSettings.js +17 -0
  506. package/Libraries/QuirkSettings/QuirkSettings.js +34 -0
  507. package/Libraries/QuirkSettings/Quirks.js +17 -0
  508. package/Libraries/ReactNative/AppContainer-dev.js +211 -0
  509. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  510. package/Libraries/ReactNative/AppContainer.js +11 -137
  511. package/Libraries/ReactNative/AppRegistry.d.ts +114 -0
  512. package/Libraries/ReactNative/AppRegistry.js +129 -72
  513. package/Libraries/ReactNative/BridgelessUIManager.js +418 -0
  514. package/Libraries/ReactNative/DisplayMode.js +32 -0
  515. package/Libraries/ReactNative/FabricUIManager.js +116 -27
  516. package/Libraries/ReactNative/HeadlessJsTaskError.js +1 -3
  517. package/Libraries/ReactNative/I18nManager.d.ts +25 -0
  518. package/Libraries/ReactNative/I18nManager.js +17 -12
  519. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +5 -13
  520. package/Libraries/ReactNative/NativeI18nManager.js +5 -18
  521. package/Libraries/ReactNative/NativeUIManager.js +5 -114
  522. package/Libraries/ReactNative/PaperUIManager.js +79 -52
  523. package/Libraries/ReactNative/PaperUIManager.win32.js +210 -0
  524. package/Libraries/ReactNative/ReactFabricInternals.js +2 -2
  525. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +151 -0
  526. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +100 -0
  527. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +38 -0
  528. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +492 -0
  529. package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +33 -0
  530. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +31 -0
  531. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +68 -0
  532. package/Libraries/ReactNative/RendererImplementation.js +141 -0
  533. package/Libraries/ReactNative/RendererProxy.d.ts +20 -0
  534. package/Libraries/ReactNative/RendererProxy.js +26 -0
  535. package/Libraries/ReactNative/RootTag.d.ts +13 -0
  536. package/Libraries/ReactNative/RootTag.js +27 -0
  537. package/Libraries/ReactNative/UIManager.d.ts +113 -0
  538. package/Libraries/ReactNative/UIManager.js +178 -24
  539. package/Libraries/ReactNative/UIManagerProperties.js +3 -8
  540. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +334 -0
  541. package/Libraries/ReactNative/getCachedComponentWithDebugName.js +35 -0
  542. package/Libraries/ReactNative/getNativeComponentAttributes.js +39 -25
  543. package/Libraries/ReactNative/renderApplication.js +68 -21
  544. package/Libraries/ReactNative/requireNativeComponent.d.ts +23 -0
  545. package/Libraries/ReactNative/requireNativeComponent.js +4 -4
  546. package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
  547. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +66 -11
  548. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24589 -17607
  549. package/Libraries/Renderer/implementations/ReactFabric-prod.js +6859 -5144
  550. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +7335 -5408
  551. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +24904 -18066
  552. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +6884 -5179
  553. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +7295 -5351
  554. package/Libraries/Renderer/shims/ReactFabric.js +9 -8
  555. package/Libraries/Renderer/shims/ReactFeatureFlags.js +4 -2
  556. package/Libraries/Renderer/shims/ReactNative.js +4 -2
  557. package/Libraries/Renderer/shims/ReactNativeTypes.js +229 -76
  558. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +23 -32
  559. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +7 -6
  560. package/Libraries/Settings/NativeSettingsManager.js +5 -18
  561. package/Libraries/Settings/Settings.d.ts +18 -0
  562. package/Libraries/Settings/Settings.ios.js +7 -7
  563. package/Libraries/Settings/Settings.js +33 -0
  564. package/Libraries/Share/NativeShareModule.js +5 -16
  565. package/Libraries/Share/Share.d.ts +74 -0
  566. package/Libraries/Share/Share.js +21 -12
  567. package/Libraries/StyleSheet/EdgeInsetsPropType.js +5 -2
  568. package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +10 -11
  569. package/Libraries/StyleSheet/PlatformColorValueTypes.d.ts +18 -0
  570. package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +52 -16
  571. package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +15 -5
  572. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.d.ts +25 -0
  573. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +11 -5
  574. package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +4 -4
  575. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +11 -12
  576. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +2 -2
  577. package/Libraries/StyleSheet/PointPropType.js +1 -1
  578. package/Libraries/StyleSheet/Rect.js +1 -3
  579. package/Libraries/StyleSheet/StyleSheet.d.ts +150 -0
  580. package/Libraries/StyleSheet/StyleSheet.js +42 -56
  581. package/Libraries/StyleSheet/StyleSheet.win32.js +43 -57
  582. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +410 -0
  583. package/Libraries/StyleSheet/StyleSheetTypes.js +385 -130
  584. package/Libraries/StyleSheet/__flowtests__/StyleSheet-flowtest.js +11 -35
  585. package/Libraries/StyleSheet/flattenStyle.js +14 -9
  586. package/Libraries/StyleSheet/normalizeColor.js +11 -370
  587. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +15 -0
  588. package/Libraries/StyleSheet/private/_TransformStyle.js +69 -0
  589. package/Libraries/StyleSheet/processAspectRatio.js +63 -0
  590. package/Libraries/StyleSheet/processColor.d.ts +16 -0
  591. package/Libraries/StyleSheet/processColor.js +6 -8
  592. package/Libraries/StyleSheet/processColorArray.js +18 -7
  593. package/Libraries/StyleSheet/processFilter.js +132 -0
  594. package/Libraries/StyleSheet/processFontVariant.js +30 -0
  595. package/Libraries/StyleSheet/processTransform.js +156 -111
  596. package/Libraries/StyleSheet/processTransformOrigin.js +136 -0
  597. package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
  598. package/Libraries/StyleSheet/splitLayoutProps.js +57 -49
  599. package/Libraries/Text/Text.d.ts +304 -0
  600. package/Libraries/Text/Text.js +283 -266
  601. package/Libraries/Text/Text.win32.js +350 -0
  602. package/Libraries/Text/TextAncestor.js +7 -2
  603. package/Libraries/Text/TextNativeComponent.js +81 -0
  604. package/Libraries/Text/TextNativeComponent.win32.js +116 -0
  605. package/Libraries/Text/TextProps.js +103 -25
  606. package/Libraries/Text/TextProps.win32.js +281 -0
  607. package/Libraries/TurboModule/RCTExport.d.ts +12 -0
  608. package/Libraries/TurboModule/RCTExport.js +3 -1
  609. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +13 -0
  610. package/Libraries/TurboModule/TurboModuleRegistry.js +60 -15
  611. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +5 -28
  612. package/Libraries/Types/CodegenTypes.js +4 -2
  613. package/Libraries/Types/CoreEventTypes.d.ts +266 -0
  614. package/Libraries/Types/CoreEventTypes.js +143 -6
  615. package/Libraries/Types/CoreEventTypes.win32.js +342 -0
  616. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  617. package/Libraries/Types/RootTagTypes.js +11 -0
  618. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  619. package/Libraries/UTFSequence.js +6 -4
  620. package/Libraries/Utilities/Appearance.d.ts +53 -0
  621. package/Libraries/Utilities/Appearance.js +44 -15
  622. package/Libraries/Utilities/BackHandler.android.js +14 -23
  623. package/Libraries/Utilities/BackHandler.d.ts +38 -0
  624. package/Libraries/Utilities/BackHandler.ios.js +14 -96
  625. package/Libraries/Utilities/BackHandler.win32.js +107 -7
  626. package/Libraries/Utilities/DebugEnvironment.js +16 -0
  627. package/Libraries/Utilities/DevLoadingView.js +66 -0
  628. package/Libraries/Utilities/DevSettings.d.ts +32 -0
  629. package/Libraries/Utilities/DevSettings.js +55 -48
  630. package/Libraries/Utilities/DeviceInfo.js +1 -3
  631. package/Libraries/Utilities/DeviceInfo.win32.js +0 -2
  632. package/Libraries/Utilities/Dimensions.d.ts +79 -0
  633. package/Libraries/Utilities/Dimensions.js +30 -49
  634. package/Libraries/Utilities/Dimensions.win32.js +106 -18
  635. package/Libraries/Utilities/FeatureDetection.js +31 -0
  636. package/Libraries/Utilities/FocusManager.win32.d.ts +12 -0
  637. package/Libraries/Utilities/FocusManager.win32.js +42 -0
  638. package/Libraries/Utilities/GlobalPerformanceLogger.js +4 -5
  639. package/Libraries/Utilities/HMRClient.js +100 -38
  640. package/Libraries/Utilities/HMRClientProdShim.js +2 -1
  641. package/Libraries/Utilities/IPerformanceLogger.d.ts +48 -0
  642. package/Libraries/Utilities/IPerformanceLogger.js +49 -0
  643. package/Libraries/Utilities/NativeAppearance.js +5 -28
  644. package/Libraries/Utilities/NativeDevLoadingView.js +5 -17
  645. package/Libraries/Utilities/NativeDeviceInfo.js +4 -40
  646. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +5 -30
  647. package/Libraries/Utilities/NativePlatformConstantsIOS.js +5 -26
  648. package/Libraries/Utilities/NativePlatformConstantsWin.js +4 -21
  649. package/Libraries/Utilities/PerformanceLoggerContext.js +17 -10
  650. package/Libraries/Utilities/PixelRatio.d.ts +64 -0
  651. package/Libraries/Utilities/PixelRatio.js +6 -6
  652. package/Libraries/Utilities/Platform.android.js +36 -15
  653. package/Libraries/Utilities/Platform.d.ts +106 -0
  654. package/Libraries/Utilities/Platform.flow.js +91 -0
  655. package/Libraries/Utilities/Platform.flow.win32.js +124 -0
  656. package/Libraries/Utilities/Platform.ios.js +38 -18
  657. package/Libraries/Utilities/Platform.win32.js +42 -15
  658. package/Libraries/Utilities/PolyfillFunctions.js +6 -6
  659. package/Libraries/Utilities/RCTLog.js +6 -5
  660. package/Libraries/Utilities/ReactNativeTestTools.js +34 -39
  661. package/Libraries/Utilities/SceneTracker.js +6 -5
  662. package/Libraries/Utilities/__mocks__/BackHandler.js +6 -6
  663. package/Libraries/Utilities/__mocks__/GlobalPerformanceLogger.js +1 -1
  664. package/Libraries/Utilities/__mocks__/PixelRatio.js +2 -2
  665. package/Libraries/Utilities/binaryToBase64.js +6 -4
  666. package/Libraries/Utilities/codegenNativeCommands.js +6 -6
  667. package/Libraries/Utilities/codegenNativeComponent.js +24 -14
  668. package/Libraries/Utilities/createPerformanceLogger.js +266 -242
  669. package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +12 -6
  670. package/Libraries/Utilities/defineLazyObjectProperty.js +3 -3
  671. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  672. package/Libraries/Utilities/differ/insetsDiffer.js +2 -2
  673. package/Libraries/Utilities/differ/matricesDiffer.js +6 -2
  674. package/Libraries/Utilities/differ/pointsDiffer.js +2 -2
  675. package/Libraries/Utilities/differ/sizesDiffer.js +11 -5
  676. package/Libraries/Utilities/dismissKeyboard.js +1 -1
  677. package/Libraries/Utilities/infoLog.js +3 -2
  678. package/Libraries/Utilities/logError.js +2 -2
  679. package/Libraries/Utilities/mapWithSeparator.js +1 -1
  680. package/Libraries/Utilities/stringifySafe.js +8 -8
  681. package/Libraries/Utilities/useColorScheme.js +10 -16
  682. package/Libraries/Utilities/useMergeRefs.js +40 -0
  683. package/Libraries/Utilities/useRefEffect.js +45 -0
  684. package/Libraries/Utilities/useWindowDimensions.js +15 -8
  685. package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +40 -39
  686. package/Libraries/Utilities/warnOnce.js +3 -5
  687. package/Libraries/Vibration/NativeVibration.js +5 -17
  688. package/Libraries/Vibration/Vibration.d.ts +43 -0
  689. package/Libraries/Vibration/Vibration.js +16 -14
  690. package/Libraries/WebSocket/NativeWebSocketModule.js +5 -27
  691. package/Libraries/WebSocket/WebSocket.js +46 -26
  692. package/Libraries/WebSocket/WebSocketEvent.js +1 -1
  693. package/Libraries/WebSocket/WebSocketInterceptor.js +15 -14
  694. package/Libraries/WebSocket/__mocks__/event-target-shim.js +1 -1
  695. package/Libraries/YellowBox/YellowBoxDeprecated.d.ts +19 -0
  696. package/Libraries/YellowBox/YellowBoxDeprecated.js +6 -6
  697. package/Libraries/__flowtests__/ReactNativeTypes-flowtest.js +2 -3
  698. package/Libraries/__tests__/ButtonWin32-test.js +16 -0
  699. package/Libraries/platform-types.d.ts +25 -0
  700. package/Libraries/promiseRejectionTrackingOptions.js +71 -0
  701. package/Libraries/vendor/core/ErrorUtils.d.ts +15 -0
  702. package/Libraries/vendor/core/ErrorUtils.js +2 -2
  703. package/Libraries/vendor/emitter/EventEmitter.d.ts +164 -0
  704. package/Libraries/vendor/emitter/EventEmitter.js +122 -193
  705. package/Libraries/vendor/emitter/__flowtests__/EventEmitter-flowtest.js +81 -0
  706. package/README.md +1 -1
  707. package/babel.config.js +3 -0
  708. package/flow/HermesInternalType.js +114 -0
  709. package/flow/Position.js +1 -1
  710. package/flow/Stringish.js +1 -1
  711. package/flow/console.js +1 -1
  712. package/flow/global.js +87 -0
  713. package/flow/jest.js +265 -167
  714. package/flow/react.js +15 -0
  715. package/index.js +349 -253
  716. package/index.win32.js +759 -42
  717. package/interface.js +9 -9
  718. package/jest/MockNativeMethods.js +1 -1
  719. package/jest/__tests__/setup-test.js +18 -0
  720. package/jest/assetFileTransformer.js +7 -5
  721. package/jest/local-setup.js +28 -0
  722. package/jest/mockComponent.js +24 -15
  723. package/jest/mockModal.js +34 -0
  724. package/jest/mockNativeComponent.js +40 -0
  725. package/jest/mockScrollView.js +35 -0
  726. package/jest/react-native-env.js +16 -0
  727. package/jest/renderer.js +6 -10
  728. package/jest/setup.js +141 -83
  729. package/jest-snapshot-resolver.js +2 -0
  730. package/jest.config.js +38 -0
  731. package/just-task.js +12 -80
  732. package/metro.config.js +5 -20
  733. package/metroShortPathAssetDataPlugin.js +15 -0
  734. package/overrides.json +534 -0
  735. package/package.json +86 -48
  736. package/react-native.config.js +2 -0
  737. package/rn-get-polyfills.js +3 -6
  738. package/saveAssetPlugin.js +45 -0
  739. package/src/private/core/composeStyles.js +27 -0
  740. package/src/private/core/setUpDOM.js +18 -0
  741. package/src/private/featureflags/ReactNativeFeatureFlags.js +195 -0
  742. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +103 -0
  743. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +53 -0
  744. package/src/private/fusebox/setUpFuseboxReactDevToolsDispatcher.js +108 -0
  745. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  746. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  747. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  748. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  749. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  750. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  751. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  752. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  753. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  754. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  755. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  756. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  757. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  758. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  759. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +39 -0
  760. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  761. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  762. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  763. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  764. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  765. package/src/private/specs/modules/NativeAppState.js +33 -0
  766. package/src/private/specs/modules/NativeAppearance.js +36 -0
  767. package/src/private/specs/modules/NativeBlobModule.js +61 -0
  768. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  769. package/src/private/specs/modules/NativeClipboard.js +21 -0
  770. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  771. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  772. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  773. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  774. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  775. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  776. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  777. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  778. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  779. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  780. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  781. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  782. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  783. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  784. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  785. package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
  786. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  787. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  788. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  789. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  790. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  791. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  792. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  793. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  794. package/src/private/specs/modules/NativeLogBox.js +20 -0
  795. package/src/private/specs/modules/NativeModalManager.js +21 -0
  796. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  797. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  798. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  799. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  800. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  801. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  802. package/src/private/specs/modules/NativePlatformConstantsWin.js +37 -0
  803. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +103 -0
  804. package/src/private/specs/modules/NativeRedBox.js +20 -0
  805. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  806. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  807. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  808. package/src/private/specs/modules/NativeShareModule.js +23 -0
  809. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  810. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  811. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  812. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  813. package/src/private/specs/modules/NativeTiming.js +26 -0
  814. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  815. package/src/private/specs/modules/NativeUIManager.js +111 -0
  816. package/src/private/specs/modules/NativeVibration.js +24 -0
  817. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  818. package/src/private/webapis/dom/geometry/DOMRect.js +82 -0
  819. package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +188 -0
  820. package/src/private/webapis/dom/nodes/ReactNativeElement.js +189 -0
  821. package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +71 -0
  822. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +247 -0
  823. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +357 -0
  824. package/src/private/webapis/dom/nodes/ReadOnlyText.js +30 -0
  825. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
  826. package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
  827. package/src/private/webapis/dom/nodes/utilities/Traversal.js +54 -0
  828. package/src/private/webapis/dom/oldstylecollections/ArrayLikeUtils.js +46 -0
  829. package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +76 -0
  830. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +82 -0
  831. package/src/private/webapis/dom/oldstylecollections/NodeList.js +104 -0
  832. package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +19 -0
  833. package/src/private/webapis/performance/EventCounts.js +78 -0
  834. package/src/private/webapis/performance/MemoryInfo.js +54 -0
  835. package/src/private/webapis/performance/Performance.js +293 -0
  836. package/src/private/webapis/performance/PerformanceEntry.js +53 -0
  837. package/src/private/webapis/performance/PerformanceEventTiming.js +55 -0
  838. package/src/private/webapis/performance/PerformanceObserver.js +345 -0
  839. package/src/private/webapis/performance/RawPerformanceEntry.js +82 -0
  840. package/src/private/webapis/performance/ReactNativeStartupTiming.js +91 -0
  841. package/src/private/webapis/performance/UserTiming.js +63 -0
  842. package/src/private/webapis/performance/specs/NativePerformance.js +34 -0
  843. package/src/private/webapis/performance/specs/NativePerformanceObserver.js +61 -0
  844. package/src/private/webapis/performance/specs/__mocks__/NativePerformance.js +67 -0
  845. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceObserver.js +127 -0
  846. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
  847. package/src-win/Libraries/Components/Button/ButtonWin32.Props.ts +45 -0
  848. package/src-win/Libraries/Components/Button/ButtonWin32.tsx +94 -0
  849. package/src-win/Libraries/Components/EnterString.win32.tsx +110 -0
  850. package/src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx +185 -0
  851. package/src-win/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +502 -0
  852. package/src-win/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +119 -0
  853. package/src-win/Libraries/Components/Touchable/TouchableWin32.Props.tsx +46 -0
  854. package/src-win/Libraries/Components/Touchable/TouchableWin32.Types.tsx +137 -0
  855. package/src-win/Libraries/Components/Touchable/TouchableWin32.tsx +624 -0
  856. package/src-win/Libraries/Components/View/ViewAccessibility.d.ts +551 -0
  857. package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +354 -0
  858. package/src-win/Libraries/Components/View/ViewWin32.d.ts +30 -0
  859. package/src-win/Libraries/Image/ImageTypes.ts +27 -0
  860. package/src-win/Libraries/Image/Tests/ImageWin32Test.tsx +22 -0
  861. package/src-win/Libraries/Image/Tests/img/dpitest.png +0 -0
  862. package/src-win/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
  863. package/src-win/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
  864. package/src-win/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
  865. package/src-win/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
  866. package/src-win/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
  867. package/src-win/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
  868. package/src-win/Libraries/PersonaCoin/PersonaCoin.tsx +12 -0
  869. package/src-win/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +17 -0
  870. package/src-win/Libraries/PersonaCoin/PersonaCoinTypes.ts +36 -0
  871. package/src-win/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +38 -0
  872. package/src-win/Libraries/Text/Text.d.ts +304 -0
  873. package/src-win/Libraries/Utilities/FocusManager.win32.d.ts +12 -0
  874. package/src-win/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +22 -0
  875. package/src-win/Libraries/platform-types.d.ts +25 -0
  876. package/types/experimental.d.ts +145 -0
  877. package/types/index.d.ts +218 -0
  878. package/types/modules/BatchedBridge.d.ts +32 -0
  879. package/types/modules/Codegen.d.ts +74 -0
  880. package/types/modules/Devtools.d.ts +32 -0
  881. package/types/modules/LaunchScreen.d.ts +18 -0
  882. package/types/modules/globals.d.ts +599 -0
  883. package/types/private/TimerMixin.d.ts +19 -0
  884. package/types/private/Utilities.d.ts +10 -0
  885. package/types/public/DeprecatedPropertiesAlias.d.ts +185 -0
  886. package/types/public/Insets.d.ts +15 -0
  887. package/types/public/ReactNativeRenderer.d.ts +144 -0
  888. package/types/public/ReactNativeTypes.d.ts +143 -0
  889. package/IntegrationTests/AsyncStorageTest.js +0 -217
  890. package/IntegrationTests/PropertiesUpdateTest.js +0 -29
  891. package/IntegrationTests/RCTRootViewIntegrationTestApp.js +0 -92
  892. package/IntegrationTests/ReactContentSizeUpdateTest.js +0 -91
  893. package/IntegrationTests/SizeFlexibilityUpdateTest.js +0 -108
  894. package/Libraries/ART/ARTCGFloatArray.h +0 -18
  895. package/Libraries/ART/ARTContainer.h +0 -16
  896. package/Libraries/ART/ARTGroup.h +0 -17
  897. package/Libraries/ART/ARTNode.h +0 -30
  898. package/Libraries/ART/ARTRenderable.h +0 -23
  899. package/Libraries/ART/ARTShape.h +0 -16
  900. package/Libraries/ART/ARTSurfaceView.h +0 -14
  901. package/Libraries/ART/ARTText.h +0 -18
  902. package/Libraries/ART/ARTTextFrame.h +0 -23
  903. package/Libraries/ART/Brushes/ARTBrush.h +0 -33
  904. package/Libraries/ART/Brushes/ARTLinearGradient.h +0 -12
  905. package/Libraries/ART/Brushes/ARTPattern.h +0 -12
  906. package/Libraries/ART/Brushes/ARTRadialGradient.h +0 -12
  907. package/Libraries/ART/Brushes/ARTSolidColor.h +0 -12
  908. package/Libraries/ART/RCTConvert+ART.h +0 -29
  909. package/Libraries/ART/ViewManagers/ARTGroupManager.h +0 -12
  910. package/Libraries/ART/ViewManagers/ARTNodeManager.h +0 -16
  911. package/Libraries/ART/ViewManagers/ARTRenderableManager.h +0 -15
  912. package/Libraries/ART/ViewManagers/ARTShapeManager.h +0 -12
  913. package/Libraries/ART/ViewManagers/ARTSurfaceViewManager.h +0 -12
  914. package/Libraries/ART/ViewManagers/ARTTextManager.h +0 -12
  915. package/Libraries/Animated/examples/demo.html +0 -712
  916. package/Libraries/Animated/examples/pic1.jpg +0 -0
  917. package/Libraries/Animated/examples/pic2.jpg +0 -0
  918. package/Libraries/Animated/examples/pic3.jpg +0 -0
  919. package/Libraries/Animated/release/gulpfile.js +0 -155
  920. package/Libraries/Animated/src/Animated.js +0 -49
  921. package/Libraries/Animated/src/AnimatedEvent.js +0 -233
  922. package/Libraries/Animated/src/AnimatedImplementation.js +0 -712
  923. package/Libraries/Animated/src/AnimatedMock.js +0 -156
  924. package/Libraries/Animated/src/AnimatedWeb.js +0 -23
  925. package/Libraries/Animated/src/Easing.js +0 -252
  926. package/Libraries/Animated/src/NativeAnimatedHelper.js +0 -342
  927. package/Libraries/Animated/src/NativeAnimatedModule.js +0 -66
  928. package/Libraries/Animated/src/SpringConfig.js +0 -103
  929. package/Libraries/Animated/src/animations/Animation.js +0 -73
  930. package/Libraries/Animated/src/animations/DecayAnimation.js +0 -120
  931. package/Libraries/Animated/src/animations/SpringAnimation.js +0 -359
  932. package/Libraries/Animated/src/animations/TimingAnimation.js +0 -165
  933. package/Libraries/Animated/src/bezier.js +0 -153
  934. package/Libraries/Animated/src/components/AnimatedFlatList.js +0 -32
  935. package/Libraries/Animated/src/components/AnimatedImage.js +0 -25
  936. package/Libraries/Animated/src/components/AnimatedScrollView.js +0 -32
  937. package/Libraries/Animated/src/components/AnimatedSectionList.js +0 -32
  938. package/Libraries/Animated/src/components/AnimatedText.js +0 -25
  939. package/Libraries/Animated/src/components/AnimatedView.js +0 -23
  940. package/Libraries/Animated/src/createAnimatedComponent.js +0 -223
  941. package/Libraries/Animated/src/nodes/AnimatedAddition.js +0 -63
  942. package/Libraries/Animated/src/nodes/AnimatedDiffClamp.js +0 -71
  943. package/Libraries/Animated/src/nodes/AnimatedDivision.js +0 -68
  944. package/Libraries/Animated/src/nodes/AnimatedInterpolation.js +0 -373
  945. package/Libraries/Animated/src/nodes/AnimatedModulo.js +0 -62
  946. package/Libraries/Animated/src/nodes/AnimatedMultiplication.js +0 -63
  947. package/Libraries/Animated/src/nodes/AnimatedNode.js +0 -184
  948. package/Libraries/Animated/src/nodes/AnimatedProps.js +0 -176
  949. package/Libraries/Animated/src/nodes/AnimatedStyle.js +0 -127
  950. package/Libraries/Animated/src/nodes/AnimatedSubtraction.js +0 -63
  951. package/Libraries/Animated/src/nodes/AnimatedTracking.js +0 -102
  952. package/Libraries/Animated/src/nodes/AnimatedTransform.js +0 -121
  953. package/Libraries/Animated/src/nodes/AnimatedValue.js +0 -265
  954. package/Libraries/Animated/src/nodes/AnimatedValueXY.js +0 -226
  955. package/Libraries/Animated/src/nodes/AnimatedWithChildren.js +0 -87
  956. package/Libraries/Animated/src/polyfills/InteractionManager.js +0 -15
  957. package/Libraries/Animated/src/polyfills/Set.js +0 -26
  958. package/Libraries/Animated/src/polyfills/flattenStyle.js +0 -13
  959. package/Libraries/Blob/RCTBlobCollector.h +0 -30
  960. package/Libraries/Blob/RCTBlobManager.h +0 -28
  961. package/Libraries/Blob/RCTBlobPlugins.h +0 -41
  962. package/Libraries/Blob/RCTFileReaderModule.h +0 -12
  963. package/Libraries/CameraRoll/RCTAssetsLibraryRequestHandler.h +0 -15
  964. package/Libraries/CameraRoll/RCTCameraRollManager.h +0 -22
  965. package/Libraries/CameraRoll/RCTCameraRollPlugins.h +0 -43
  966. package/Libraries/CameraRoll/RCTImagePickerManager.h +0 -12
  967. package/Libraries/CameraRoll/RCTPhotoLibraryImageLoader.h +0 -12
  968. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.android.js +0 -162
  969. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.ios.js +0 -271
  970. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.win32.js +0 -33
  971. package/Libraries/Components/AppleTV/NativeTVNavigationEventEmitter.js +0 -23
  972. package/Libraries/Components/AppleTV/TVEventHandler.js +0 -52
  973. package/Libraries/Components/CheckBox/AndroidCheckBoxNativeComponent.js +0 -74
  974. package/Libraries/Components/CheckBox/CheckBox.android.js +0 -228
  975. package/Libraries/Components/CheckBox/CheckBox.ios.js +0 -13
  976. package/Libraries/Components/CheckBox/CheckBox.win32.js +0 -12
  977. package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -46
  978. package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -189
  979. package/Libraries/Components/DatePicker/DatePickerIOS.win32.js +0 -46
  980. package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
  981. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.android.js +0 -89
  982. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.ios.js +0 -30
  983. package/Libraries/Components/DatePickerAndroid/DatePickerAndroid.win32.js +0 -30
  984. package/Libraries/Components/DatePickerAndroid/DatePickerAndroidTypes.js +0 -30
  985. package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -22
  986. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +0 -12
  987. package/Libraries/Components/MaskedView/MaskedViewIOS.android.js +0 -13
  988. package/Libraries/Components/MaskedView/MaskedViewIOS.ios.js +0 -93
  989. package/Libraries/Components/MaskedView/MaskedViewIOS.win32.js +0 -13
  990. package/Libraries/Components/MaskedView/RCTMaskedViewNativeComponent.js +0 -21
  991. package/Libraries/Components/Picker/AndroidDialogPickerNativeComponent.js +0 -68
  992. package/Libraries/Components/Picker/AndroidDropdownPickerNativeComponent.js +0 -68
  993. package/Libraries/Components/Picker/Picker.js +0 -159
  994. package/Libraries/Components/Picker/Picker.win32.d.ts +0 -1
  995. package/Libraries/Components/Picker/Picker.win32.js +0 -80
  996. package/Libraries/Components/Picker/PickerAndroid.android.js +0 -146
  997. package/Libraries/Components/Picker/PickerAndroid.ios.js +0 -12
  998. package/Libraries/Components/Picker/PickerAndroid.js +0 -12
  999. package/Libraries/Components/Picker/PickerIOS.android.js +0 -14
  1000. package/Libraries/Components/Picker/PickerIOS.ios.js +0 -164
  1001. package/Libraries/Components/Picker/PickerIOS.js +0 -14
  1002. package/Libraries/Components/Picker/RCTPickerNativeComponent.js +0 -63
  1003. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.ios.js +0 -12
  1004. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -46
  1005. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -77
  1006. package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.win32.js +0 -8
  1007. package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -35
  1008. package/Libraries/Components/ScrollResponder.js +0 -773
  1009. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -77
  1010. package/Libraries/Components/ScrollView/__mocks__/ScrollViewMock.js +0 -39
  1011. package/Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js +0 -46
  1012. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.android.js +0 -46
  1013. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.ios.js +0 -123
  1014. package/Libraries/Components/SegmentedControlIOS/SegmentedControlIOS.js +0 -46
  1015. package/Libraries/Components/Slider/Slider.js +0 -276
  1016. package/Libraries/Components/Slider/SliderNativeComponent.js +0 -60
  1017. package/Libraries/Components/StaticContainer.react.js +0 -51
  1018. package/Libraries/Components/StatusBar/StatusBarIOS.js +0 -22
  1019. package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -26
  1020. package/Libraries/Components/Text/TextWin32.Props.js +0 -3
  1021. package/Libraries/Components/Text/TextWin32.d.ts +0 -6
  1022. package/Libraries/Components/Text/TextWin32.js +0 -41
  1023. package/Libraries/Components/TextInput/AndroidTextInputViewConfig.js +0 -84
  1024. package/Libraries/Components/TextInput/RCTSinglelineTextInputViewConfig.js +0 -134
  1025. package/Libraries/Components/TextInput/TextInput.Types.win32.d.ts +0 -51
  1026. package/Libraries/Components/TextInput/TextInput.Types.win32.js +0 -3
  1027. package/Libraries/Components/TextInput/TextInput.win32.d.ts +0 -68
  1028. package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +0 -39
  1029. package/Libraries/Components/Touchable/TVTouchable.js +0 -55
  1030. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.d.ts +0 -7
  1031. package/Libraries/Components/Touchable/TouchableNativeFeedback.Props.js +0 -3
  1032. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.d.ts +0 -16
  1033. package/Libraries/Components/Touchable/__mocks__/ensureComponentIsNative.js +0 -12
  1034. package/Libraries/Components/Touchable/ensurePositiveDelayProps.js +0 -26
  1035. package/Libraries/Components/View/ReactNativeViewViewConfig.js +0 -347
  1036. package/Libraries/Components/View/ReactNativeViewViewConfig.win32.js +0 -384
  1037. package/Libraries/Components/View/ReactNativeViewViewConfigAndroid.js +0 -74
  1038. package/Libraries/Components/View/Tests/ViewWin32Test.d.ts +0 -8
  1039. package/Libraries/Components/View/Tests/ViewWin32Test.js +0 -235
  1040. package/Libraries/Components/View/ViewWin32.Props.d.ts +0 -149
  1041. package/Libraries/Components/View/ViewWin32.Props.js +0 -11
  1042. package/Libraries/Core/setUpSystrace.js +0 -21
  1043. package/Libraries/DeprecatedPropTypes/DeprecatedColorPropType.js +0 -76
  1044. package/Libraries/DeprecatedPropTypes/DeprecatedEdgeInsetsPropType.js +0 -28
  1045. package/Libraries/DeprecatedPropTypes/DeprecatedImagePropType.js +0 -82
  1046. package/Libraries/DeprecatedPropTypes/DeprecatedImageSourcePropType.js +0 -40
  1047. package/Libraries/DeprecatedPropTypes/DeprecatedImageStylePropTypes.js +0 -76
  1048. package/Libraries/DeprecatedPropTypes/DeprecatedLayoutPropTypes.js +0 -233
  1049. package/Libraries/DeprecatedPropTypes/DeprecatedPointPropType.js +0 -24
  1050. package/Libraries/DeprecatedPropTypes/DeprecatedShadowPropTypesIOS.js +0 -30
  1051. package/Libraries/DeprecatedPropTypes/DeprecatedStyleSheetPropType.js +0 -32
  1052. package/Libraries/DeprecatedPropTypes/DeprecatedTVViewPropTypes.js +0 -23
  1053. package/Libraries/DeprecatedPropTypes/DeprecatedTextInputPropTypes.js +0 -622
  1054. package/Libraries/DeprecatedPropTypes/DeprecatedTextPropTypes.js +0 -158
  1055. package/Libraries/DeprecatedPropTypes/DeprecatedTextStylePropTypes.js +0 -157
  1056. package/Libraries/DeprecatedPropTypes/DeprecatedTransformPropTypes.js +0 -99
  1057. package/Libraries/DeprecatedPropTypes/DeprecatedViewAccessibility.js +0 -44
  1058. package/Libraries/DeprecatedPropTypes/DeprecatedViewPropTypes.js +0 -408
  1059. package/Libraries/DeprecatedPropTypes/DeprecatedViewStylePropTypes.js +0 -68
  1060. package/Libraries/DeprecatedPropTypes/deprecatedCreateStrictShapeTypeChecker.js +0 -86
  1061. package/Libraries/FBLazyVector/FBLazyVector/FBLazyIterator.h +0 -130
  1062. package/Libraries/FBLazyVector/FBLazyVector/FBLazyVector.h +0 -99
  1063. package/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +0 -3864
  1064. package/Libraries/Image/ImagePickerIOS.js +0 -105
  1065. package/Libraries/Image/ImageViewViewConfig.js +0 -68
  1066. package/Libraries/Image/NativeImagePickerIOS.js +0 -40
  1067. package/Libraries/Image/RCTAnimatedImage.h +0 -21
  1068. package/Libraries/Image/RCTGIFImageDecoder.h +0 -12
  1069. package/Libraries/Image/RCTImageBlurUtils.h +0 -13
  1070. package/Libraries/Image/RCTImageCache.h +0 -42
  1071. package/Libraries/Image/RCTImageDataDecoder.h +0 -53
  1072. package/Libraries/Image/RCTImageEditingManager.h +0 -12
  1073. package/Libraries/Image/RCTImageLoader.h +0 -35
  1074. package/Libraries/Image/RCTImageLoaderProtocol.h +0 -117
  1075. package/Libraries/Image/RCTImageLoaderWithAttributionProtocol.h +0 -52
  1076. package/Libraries/Image/RCTImagePlugins.h +0 -44
  1077. package/Libraries/Image/RCTImageShadowView.h +0 -12
  1078. package/Libraries/Image/RCTImageStoreManager.h +0 -46
  1079. package/Libraries/Image/RCTImageURLLoader.h +0 -73
  1080. package/Libraries/Image/RCTImageURLLoaderWithAttribution.h +0 -73
  1081. package/Libraries/Image/RCTImageUtils.h +0 -93
  1082. package/Libraries/Image/RCTImageView.h +0 -26
  1083. package/Libraries/Image/RCTImageViewManager.h +0 -12
  1084. package/Libraries/Image/RCTLocalAssetImageLoader.h +0 -12
  1085. package/Libraries/Image/RCTResizeMode.h +0 -22
  1086. package/Libraries/Image/RCTUIImageViewAnimated.h +0 -13
  1087. package/Libraries/Image/assetPathUtils.js +0 -91
  1088. package/Libraries/Interaction/Batchinator.js +0 -76
  1089. package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -62
  1090. package/Libraries/Interaction/InteractionMixin.js +0 -55
  1091. package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
  1092. package/Libraries/Linking/NativeLinking.js +0 -41
  1093. package/Libraries/LinkingIOS/RCTLinkingManager.h +0 -34
  1094. package/Libraries/LinkingIOS/RCTLinkingPlugins.h +0 -40
  1095. package/Libraries/NativeAnimation/Drivers/RCTAnimationDriver.h +0 -38
  1096. package/Libraries/NativeAnimation/Drivers/RCTDecayAnimation.h +0 -12
  1097. package/Libraries/NativeAnimation/Drivers/RCTEventAnimation.h +0 -21
  1098. package/Libraries/NativeAnimation/Drivers/RCTFrameAnimation.h +0 -12
  1099. package/Libraries/NativeAnimation/Drivers/RCTSpringAnimation.h +0 -12
  1100. package/Libraries/NativeAnimation/Nodes/RCTAdditionAnimatedNode.h +0 -12
  1101. package/Libraries/NativeAnimation/Nodes/RCTAnimatedNode.h +0 -51
  1102. package/Libraries/NativeAnimation/Nodes/RCTDiffClampAnimatedNode.h +0 -12
  1103. package/Libraries/NativeAnimation/Nodes/RCTDivisionAnimatedNode.h +0 -12
  1104. package/Libraries/NativeAnimation/Nodes/RCTInterpolationAnimatedNode.h +0 -12
  1105. package/Libraries/NativeAnimation/Nodes/RCTModuloAnimatedNode.h +0 -12
  1106. package/Libraries/NativeAnimation/Nodes/RCTMultiplicationAnimatedNode.h +0 -12
  1107. package/Libraries/NativeAnimation/Nodes/RCTPropsAnimatedNode.h +0 -23
  1108. package/Libraries/NativeAnimation/Nodes/RCTStyleAnimatedNode.h +0 -14
  1109. package/Libraries/NativeAnimation/Nodes/RCTSubtractionAnimatedNode.h +0 -13
  1110. package/Libraries/NativeAnimation/Nodes/RCTTrackingAnimatedNode.h +0 -13
  1111. package/Libraries/NativeAnimation/Nodes/RCTTransformAnimatedNode.h +0 -14
  1112. package/Libraries/NativeAnimation/Nodes/RCTValueAnimatedNode.h +0 -30
  1113. package/Libraries/NativeAnimation/RCTAnimationPlugins.h +0 -40
  1114. package/Libraries/NativeAnimation/RCTAnimationUtils.h +0 -38
  1115. package/Libraries/NativeAnimation/RCTNativeAnimatedModule.h +0 -20
  1116. package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.h +0 -88
  1117. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -21
  1118. package/Libraries/Network/RCTDataRequestHandler.h +0 -16
  1119. package/Libraries/Network/RCTFileRequestHandler.h +0 -16
  1120. package/Libraries/Network/RCTHTTPRequestHandler.h +0 -16
  1121. package/Libraries/Network/RCTNetworkPlugins.h +0 -43
  1122. package/Libraries/Network/RCTNetworkTask.h +0 -47
  1123. package/Libraries/Network/RCTNetworking.h +0 -73
  1124. package/Libraries/Performance/PureComponentDebug.js +0 -73
  1125. package/Libraries/Performance/QuickPerformanceLogger.js +0 -101
  1126. package/Libraries/PushNotificationIOS/RCTPushNotificationManager.h +0 -25
  1127. package/Libraries/PushNotificationIOS/RCTPushNotificationPlugins.h +0 -40
  1128. package/Libraries/RCTRequired/RCTRequired/RCTRequired.h +0 -77
  1129. package/Libraries/ReactNative/DummyUIManager.js +0 -123
  1130. package/Libraries/ReactNative/RootTagContext.js +0 -15
  1131. package/Libraries/ReactNative/queryLayoutByID.js +0 -58
  1132. package/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +0 -20493
  1133. package/Libraries/Renderer/implementations/ReactFabric-prod.fb.js +0 -7440
  1134. package/Libraries/Renderer/implementations/ReactFabric-profiling.fb.js +0 -7718
  1135. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +0 -21091
  1136. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.fb.js +0 -7677
  1137. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.fb.js +0 -7955
  1138. package/Libraries/Renderer/shims/ReactTypes.js +0 -192
  1139. package/Libraries/Settings/RCTSettingsManager.h +0 -16
  1140. package/Libraries/Settings/RCTSettingsPlugins.h +0 -40
  1141. package/Libraries/Settings/Settings.android.js +0 -33
  1142. package/Libraries/Storage/AsyncStorage.js +0 -360
  1143. package/Libraries/Storage/NativeAsyncStorage.js +0 -44
  1144. package/Libraries/StyleSheet/PlatformColorValueTypesAndroid.android.js +0 -18
  1145. package/Libraries/StyleSheet/PlatformColorValueTypesAndroid.js +0 -17
  1146. package/Libraries/StyleSheet/StyleSheetValidation.js +0 -97
  1147. package/Libraries/StyleSheet/StyleSheetValidation.win32.js +0 -102
  1148. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponent.h +0 -26
  1149. package/Libraries/SurfaceBackedComponent/RCTSurfaceBackedComponentState.h +0 -18
  1150. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent+Internal.h +0 -20
  1151. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponent.h +0 -20
  1152. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentController.h +0 -12
  1153. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentOptions.h +0 -20
  1154. package/Libraries/SurfaceHostingComponent/RCTSurfaceHostingComponentState.h +0 -20
  1155. package/Libraries/Text/BaseText/RCTBaseTextShadowView.h +0 -27
  1156. package/Libraries/Text/BaseText/RCTBaseTextViewManager.h +0 -16
  1157. package/Libraries/Text/RCTConvert+Text.h +0 -22
  1158. package/Libraries/Text/RCTTextAttributes.h +0 -97
  1159. package/Libraries/Text/RCTTextTransform.h +0 -16
  1160. package/Libraries/Text/RawText/RCTRawTextShadowView.h +0 -18
  1161. package/Libraries/Text/RawText/RCTRawTextViewManager.h +0 -16
  1162. package/Libraries/Text/Text/NSTextStorage+FontScaling.h +0 -20
  1163. package/Libraries/Text/Text/RCTTextShadowView.h +0 -28
  1164. package/Libraries/Text/Text/RCTTextView.h +0 -24
  1165. package/Libraries/Text/Text/RCTTextViewManager.h +0 -14
  1166. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputView.h +0 -16
  1167. package/Libraries/Text/TextInput/Multiline/RCTMultilineTextInputViewManager.h +0 -16
  1168. package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +0 -42
  1169. package/Libraries/Text/TextInput/RCTBackedTextInputDelegate.h +0 -42
  1170. package/Libraries/Text/TextInput/RCTBackedTextInputDelegateAdapter.h +0 -36
  1171. package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +0 -48
  1172. package/Libraries/Text/TextInput/RCTBaseTextInputShadowView.h +0 -25
  1173. package/Libraries/Text/TextInput/RCTBaseTextInputView.h +0 -60
  1174. package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.h +0 -12
  1175. package/Libraries/Text/TextInput/RCTInputAccessoryShadowView.h +0 -12
  1176. package/Libraries/Text/TextInput/RCTInputAccessoryView.h +0 -17
  1177. package/Libraries/Text/TextInput/RCTInputAccessoryViewContent.h +0 -12
  1178. package/Libraries/Text/TextInput/RCTInputAccessoryViewManager.h +0 -12
  1179. package/Libraries/Text/TextInput/RCTTextSelection.h +0 -26
  1180. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputView.h +0 -16
  1181. package/Libraries/Text/TextInput/Singleline/RCTSinglelineTextInputViewManager.h +0 -16
  1182. package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +0 -34
  1183. package/Libraries/Text/VirtualText/RCTVirtualTextShadowView.h +0 -12
  1184. package/Libraries/Text/VirtualText/RCTVirtualTextViewManager.h +0 -12
  1185. package/Libraries/TypeSafety/RCTConvertHelpers.h +0 -73
  1186. package/Libraries/TypeSafety/RCTTypedModuleConstants.h +0 -47
  1187. package/Libraries/Utilities/BackHandler.win32.d.ts +0 -2
  1188. package/Libraries/Utilities/JSDevSupportModule.js +0 -40
  1189. package/Libraries/Utilities/LoadingView.android.js +0 -29
  1190. package/Libraries/Utilities/LoadingView.ios.js +0 -40
  1191. package/Libraries/Utilities/LoadingView.js +0 -16
  1192. package/Libraries/Utilities/MatrixMath.js +0 -752
  1193. package/Libraries/Utilities/NativeJSDevSupport.js +0 -25
  1194. package/Libraries/Utilities/buildStyleInterpolator.js +0 -211
  1195. package/Libraries/Utilities/clamp.js +0 -23
  1196. package/Libraries/Utilities/deprecatedPropType.js +0 -38
  1197. package/Libraries/Utilities/groupByEveryN.js +0 -51
  1198. package/Libraries/Utilities/mergeIntoFast.js +0 -26
  1199. package/Libraries/Utilities/registerGeneratedViewConfig.js +0 -83
  1200. package/Libraries/Utilities/setAndForwardRef.js +0 -71
  1201. package/Libraries/Utilities/truncate.js +0 -51
  1202. package/Libraries/Vibration/RCTVibration.h +0 -12
  1203. package/Libraries/Vibration/RCTVibrationPlugins.h +0 -40
  1204. package/Libraries/WebSocket/RCTReconnectingWebSocket.h +0 -37
  1205. package/Libraries/WebSocket/RCTSRWebSocket.h +0 -132
  1206. package/Libraries/Wrapper/Example/RCTWrapperExampleView.h +0 -16
  1207. package/Libraries/Wrapper/Example/RCTWrapperExampleViewController.h +0 -16
  1208. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewController.h +0 -20
  1209. package/Libraries/Wrapper/Example/RCTWrapperReactRootViewManager.h +0 -18
  1210. package/Libraries/Wrapper/RCTWrapper.h +0 -66
  1211. package/Libraries/Wrapper/RCTWrapperShadowView.h +0 -22
  1212. package/Libraries/Wrapper/RCTWrapperView.h +0 -36
  1213. package/Libraries/Wrapper/RCTWrapperViewControllerHostingView.h +0 -25
  1214. package/Libraries/Wrapper/RCTWrapperViewManager.h +0 -20
  1215. package/Libraries/polyfills/Object.es7.js +0 -58
  1216. package/Libraries/polyfills/console.js +0 -641
  1217. package/Libraries/polyfills/error-guard.js +0 -115
  1218. package/Libraries/promiseRejectionIsError.js +0 -24
  1219. package/Libraries/vendor/emitter/EmitterSubscription.js +0 -59
  1220. package/Libraries/vendor/emitter/EventSubscription.js +0 -40
  1221. package/Libraries/vendor/emitter/EventSubscriptionVendor.js +0 -101
  1222. package/RNTester/APIExamples/AccessibilityExampleWin32.d.ts +0 -8
  1223. package/RNTester/APIExamples/AccessibilityExampleWin32.js +0 -262
  1224. package/RNTester/APIExamples/ThemingModuleAPI.d.ts +0 -8
  1225. package/RNTester/APIExamples/ThemingModuleAPI.js +0 -80
  1226. package/RNTester/js/RNTesterApp.android.js +0 -363
  1227. package/RNTester/js/RNTesterApp.ios.js +0 -272
  1228. package/RNTester/js/RNTesterApp.win32.js +0 -285
  1229. package/RNTester/js/assets/bandaged.png +0 -0
  1230. package/RNTester/js/assets/bunny.png +0 -0
  1231. package/RNTester/js/assets/call.png +0 -0
  1232. package/RNTester/js/assets/dislike.png +0 -0
  1233. package/RNTester/js/assets/fist.png +0 -0
  1234. package/RNTester/js/assets/flowers.png +0 -0
  1235. package/RNTester/js/assets/flux@3x.png +0 -0
  1236. package/RNTester/js/assets/hawk.png +0 -0
  1237. package/RNTester/js/assets/heart.png +0 -0
  1238. package/RNTester/js/assets/helloworld.html +0 -25
  1239. package/RNTester/js/assets/imageMask.png +0 -0
  1240. package/RNTester/js/assets/like.png +0 -0
  1241. package/RNTester/js/assets/liking.png +0 -0
  1242. package/RNTester/js/assets/messagingtest.html +0 -28
  1243. package/RNTester/js/assets/party.png +0 -0
  1244. package/RNTester/js/assets/poke.png +0 -0
  1245. package/RNTester/js/assets/relay@3x.png +0 -0
  1246. package/RNTester/js/assets/slider-left.png +0 -0
  1247. package/RNTester/js/assets/slider-left@2x.png +0 -0
  1248. package/RNTester/js/assets/slider-right.png +0 -0
  1249. package/RNTester/js/assets/slider-right@2x.png +0 -0
  1250. package/RNTester/js/assets/slider.png +0 -0
  1251. package/RNTester/js/assets/slider@2x.png +0 -0
  1252. package/RNTester/js/assets/superlike.png +0 -0
  1253. package/RNTester/js/assets/trees.jpg +0 -0
  1254. package/RNTester/js/assets/tumblr_mfqekpMktw1rn90umo1_500.gif +0 -0
  1255. package/RNTester/js/assets/uie_comment_highlighted@2x.png +0 -0
  1256. package/RNTester/js/assets/uie_comment_normal@2x.png +0 -0
  1257. package/RNTester/js/assets/uie_thumb_big.png +0 -0
  1258. package/RNTester/js/assets/uie_thumb_normal@2x.png +0 -0
  1259. package/RNTester/js/assets/uie_thumb_selected@2x.png +0 -0
  1260. package/RNTester/js/assets/victory.png +0 -0
  1261. package/RNTester/js/components/ListExampleShared.js +0 -377
  1262. package/RNTester/js/components/ListExampleShared.win32.js +0 -384
  1263. package/RNTester/js/components/RNTesterBlock.js +0 -105
  1264. package/RNTester/js/components/RNTesterButton.js +0 -50
  1265. package/RNTester/js/components/RNTesterExampleContainer.js +0 -80
  1266. package/RNTester/js/components/RNTesterExampleFilter.js +0 -120
  1267. package/RNTester/js/components/RNTesterExampleFilter.win32.js +0 -120
  1268. package/RNTester/js/components/RNTesterExampleList.js +0 -254
  1269. package/RNTester/js/components/RNTesterPage.js +0 -76
  1270. package/RNTester/js/components/RNTesterSettingSwitchRow.js +0 -60
  1271. package/RNTester/js/components/RNTesterTheme.js +0 -90
  1272. package/RNTester/js/components/RNTesterTitle.js +0 -58
  1273. package/RNTester/js/components/TextInlineView.js +0 -207
  1274. package/RNTester/js/components/TextLegend.js +0 -248
  1275. package/RNTester/js/components/createExamplePage.js +0 -31
  1276. package/RNTester/js/examples/Accessibility/AccessibilityAndroidExample.android.js +0 -177
  1277. package/RNTester/js/examples/Accessibility/AccessibilityExample.js +0 -792
  1278. package/RNTester/js/examples/Accessibility/AccessibilityIOSExample.js +0 -72
  1279. package/RNTester/js/examples/Accessibility/check.png +0 -0
  1280. package/RNTester/js/examples/Accessibility/mixed.png +0 -0
  1281. package/RNTester/js/examples/Accessibility/uncheck.png +0 -0
  1282. package/RNTester/js/examples/ActionSheetIOS/ActionSheetIOSExample.js +0 -342
  1283. package/RNTester/js/examples/ActivityIndicator/ActivityIndicatorExample.js +0 -162
  1284. package/RNTester/js/examples/Alert/AlertExample.js +0 -158
  1285. package/RNTester/js/examples/Alert/AlertIOSExample.js +0 -204
  1286. package/RNTester/js/examples/Animated/AnimatedExample.js +0 -347
  1287. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExApp.js +0 -407
  1288. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExBobble.js +0 -171
  1289. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExChained.js +0 -120
  1290. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExScroll.js +0 -124
  1291. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExSet.js +0 -149
  1292. package/RNTester/js/examples/Animated/AnimatedGratuitousApp/AnExTilt.js +0 -154
  1293. package/RNTester/js/examples/AppState/AppStateExample.js +0 -106
  1294. package/RNTester/js/examples/Appearance/AppearanceExample.js +0 -219
  1295. package/RNTester/js/examples/AsyncStorage/AsyncStorageExample.js +0 -103
  1296. package/RNTester/js/examples/Border/BorderExample.js +0 -301
  1297. package/RNTester/js/examples/BoxShadow/BoxShadowExample.js +0 -100
  1298. package/RNTester/js/examples/Button/ButtonExample.js +0 -127
  1299. package/RNTester/js/examples/CheckBox/CheckBoxExample.js +0 -148
  1300. package/RNTester/js/examples/Clipboard/ClipboardExample.js +0 -68
  1301. package/RNTester/js/examples/ColorGradientWin32Example.js +0 -109
  1302. package/RNTester/js/examples/Crash/CrashExample.js +0 -52
  1303. package/RNTester/js/examples/DatePicker/DatePickerAndroidExample.js +0 -170
  1304. package/RNTester/js/examples/DatePicker/DatePickerIOSExample.js +0 -150
  1305. package/RNTester/js/examples/DevSettings/DevSettingsExample.js +0 -47
  1306. package/RNTester/js/examples/Dimensions/DimensionsExample.js +0 -68
  1307. package/RNTester/js/examples/FlatList/FlatListExample.js +0 -287
  1308. package/RNTester/js/examples/Image/ImageCapInsetsExample.js +0 -68
  1309. package/RNTester/js/examples/Image/ImageExample.js +0 -955
  1310. package/RNTester/js/examples/InputAccessoryView/InputAccessoryViewExample.js +0 -121
  1311. package/RNTester/js/examples/JSResponderHandlerExample/JSResponderHandlerExample.js +0 -77
  1312. package/RNTester/js/examples/KeyboardAvoidingView/KeyboardAvoidingViewExample.js +0 -120
  1313. package/RNTester/js/examples/Layout/LayoutAnimationExample.js +0 -221
  1314. package/RNTester/js/examples/Layout/LayoutEventsExample.js +0 -165
  1315. package/RNTester/js/examples/Layout/LayoutExample.js +0 -206
  1316. package/RNTester/js/examples/Linking/LinkingExample.js +0 -128
  1317. package/RNTester/js/examples/MaskedView/MaskedViewExample.js +0 -236
  1318. package/RNTester/js/examples/Modal/ModalExample.js +0 -283
  1319. package/RNTester/js/examples/MultiColumn/MultiColumnExample.js +0 -189
  1320. package/RNTester/js/examples/NativeAnimation/NativeAnimationsExample.js +0 -702
  1321. package/RNTester/js/examples/NewAppScreen/NewAppScreenExample.js +0 -77
  1322. package/RNTester/js/examples/OrientationChange/OrientationChangeExample.js +0 -66
  1323. package/RNTester/js/examples/PanResponder/PanResponderExample.js +0 -154
  1324. package/RNTester/js/examples/PermissionsAndroid/PermissionsExample.js +0 -130
  1325. package/RNTester/js/examples/Picker/PickerExample.js +0 -220
  1326. package/RNTester/js/examples/Picker/PickerIOSExample.js +0 -190
  1327. package/RNTester/js/examples/PlatformColor/PlatformColorExample.js +0 -355
  1328. package/RNTester/js/examples/PointerEvents/PointerEventsExample.js +0 -240
  1329. package/RNTester/js/examples/Pressable/PressableExample.js +0 -426
  1330. package/RNTester/js/examples/ProgressBarAndroid/ProgressBarAndroidExample.android.js +0 -94
  1331. package/RNTester/js/examples/ProgressViewIOS/ProgressViewIOSExample.js +0 -103
  1332. package/RNTester/js/examples/PushNotificationIOS/PushNotificationIOSExample.js +0 -267
  1333. package/RNTester/js/examples/RCTRootView/RCTRootViewIOSExample.js +0 -95
  1334. package/RNTester/js/examples/RTL/RTLExample.js +0 -747
  1335. package/RNTester/js/examples/RefreshControl/RefreshControlExample.js +0 -127
  1336. package/RNTester/js/examples/RootViewSizeFlexibilityExample/RootViewSizeFlexibilityExampleApp.js +0 -68
  1337. package/RNTester/js/examples/SafeAreaView/SafeAreaViewExample.js +0 -137
  1338. package/RNTester/js/examples/ScrollView/ScrollViewAnimatedExample.js +0 -107
  1339. package/RNTester/js/examples/ScrollView/ScrollViewExample.js +0 -346
  1340. package/RNTester/js/examples/ScrollView/ScrollViewSimpleExample.js +0 -105
  1341. package/RNTester/js/examples/SectionList/SectionListExample.js +0 -301
  1342. package/RNTester/js/examples/SegmentedControlIOS/SegmentedControlIOSExample.js +0 -183
  1343. package/RNTester/js/examples/SetPropertiesExample/SetPropertiesExampleApp.js +0 -34
  1344. package/RNTester/js/examples/Share/ShareExample.js +0 -124
  1345. package/RNTester/js/examples/Slider/SliderExample.js +0 -136
  1346. package/RNTester/js/examples/Snapshot/SnapshotExample.js +0 -69
  1347. package/RNTester/js/examples/Snapshot/SnapshotViewIOS.android.js +0 -12
  1348. package/RNTester/js/examples/Snapshot/SnapshotViewIOS.ios.js +0 -67
  1349. package/RNTester/js/examples/StatusBar/StatusBarExample.js +0 -522
  1350. package/RNTester/js/examples/Switch/SwitchExample.js +0 -239
  1351. package/RNTester/js/examples/TVEventHandler/TVEventHandlerExample.js +0 -88
  1352. package/RNTester/js/examples/Text/TextExample.android.js +0 -864
  1353. package/RNTester/js/examples/Text/TextExample.ios.js +0 -1153
  1354. package/RNTester/js/examples/TextInput/TextInputExample.android.js +0 -424
  1355. package/RNTester/js/examples/TextInput/TextInputExample.ios.js +0 -710
  1356. package/RNTester/js/examples/TextInput/TextInputSharedExamples.js +0 -618
  1357. package/RNTester/js/examples/Timer/TimerExample.js +0 -373
  1358. package/RNTester/js/examples/ToastAndroid/ToastAndroidExample.android.js +0 -136
  1359. package/RNTester/js/examples/Touchable/TouchableExample.js +0 -664
  1360. package/RNTester/js/examples/Transform/TransformExample.js +0 -336
  1361. package/RNTester/js/examples/TransparentHitTest/TransparentHitTestExample.js +0 -50
  1362. package/RNTester/js/examples/TurboModule/SampleTurboModuleExample.js +0 -190
  1363. package/RNTester/js/examples/TurboModule/TurboModuleExample.js +0 -26
  1364. package/RNTester/js/examples/Vibration/VibrationExample.js +0 -127
  1365. package/RNTester/js/examples/View/ViewExample.js +0 -471
  1366. package/RNTester/js/examples/WebSocket/WebSocketExample.js +0 -356
  1367. package/RNTester/js/examples/WebSocket/http_test_server.js +0 -33
  1368. package/RNTester/js/examples/WebSocket/websocket_test_server.js +0 -46
  1369. package/RNTester/js/examples/XHR/XHRExample.js +0 -62
  1370. package/RNTester/js/examples/XHR/XHRExampleAbortController.js +0 -58
  1371. package/RNTester/js/examples/XHR/XHRExampleBinaryUpload.js +0 -149
  1372. package/RNTester/js/examples/XHR/XHRExampleDownload.js +0 -242
  1373. package/RNTester/js/examples/XHR/XHRExampleFetch.js +0 -133
  1374. package/RNTester/js/examples/XHR/XHRExampleHeaders.js +0 -114
  1375. package/RNTester/js/examples/XHR/XHRExampleOnTimeOut.js +0 -99
  1376. package/RNTester/js/types/RNTesterTypes.js +0 -47
  1377. package/RNTester/js/utils/RNTesterActions.js +0 -53
  1378. package/RNTester/js/utils/RNTesterList.android.js +0 -257
  1379. package/RNTester/js/utils/RNTesterList.ios.js +0 -366
  1380. package/RNTester/js/utils/RNTesterList.win32.js +0 -240
  1381. package/RNTester/js/utils/RNTesterNavigationReducer.js +0 -49
  1382. package/RNTester/js/utils/RNTesterStatePersister.js +0 -86
  1383. package/RNTester/js/utils/URIActionMap.js +0 -48
  1384. package/api-extractor.json +0 -25
  1385. package/demo/DocPagePropsList.d.ts +0 -18
  1386. package/demo/DocPagePropsList.js +0 -7
  1387. package/demo/DocPagePropsList.js.map +0 -1
  1388. package/docs/api/index.md +0 -12
  1389. package/docs/api/react-native-win32.accessibilityactionevent.md +0 -13
  1390. package/docs/api/react-native-win32.accessibilityactioninfo.md +0 -14
  1391. package/docs/api/react-native-win32.accessibilityactionname.md +0 -11
  1392. package/docs/api/react-native-win32.accessibilityannotationinfo.md +0 -16
  1393. package/docs/api/react-native-win32.accessibilitystate.md +0 -14
  1394. package/docs/api/react-native-win32.annotationtype.md +0 -11
  1395. package/docs/api/react-native-win32.ariarole.md +0 -11
  1396. package/docs/api/react-native-win32.basepropswin32.md +0 -17
  1397. package/docs/api/react-native-win32.buttonwin32._constructor_.md +0 -20
  1398. package/docs/api/react-native-win32.buttonwin32.md +0 -27
  1399. package/docs/api/react-native-win32.buttonwin32.render.md +0 -15
  1400. package/docs/api/react-native-win32.buttonwin32omitstyles.md +0 -11
  1401. package/docs/api/react-native-win32.colorgradientwin32.md +0 -15
  1402. package/docs/api/react-native-win32.cursor.md +0 -11
  1403. package/docs/api/react-native-win32.eventphase.md +0 -21
  1404. package/docs/api/react-native-win32.gradientcolorstop.md +0 -16
  1405. package/docs/api/react-native-win32.gradientcolorvaluewin32.md +0 -16
  1406. package/docs/api/react-native-win32.ibuttonwin32props.md +0 -25
  1407. package/docs/api/react-native-win32.ibuttonwin32props.onblur.md +0 -13
  1408. package/docs/api/react-native-win32.ibuttonwin32props.onfocus.md +0 -13
  1409. package/docs/api/react-native-win32.ibuttonwin32props.onmouseenter.md +0 -13
  1410. package/docs/api/react-native-win32.ibuttonwin32props.onmouseleave.md +0 -13
  1411. package/docs/api/react-native-win32.ibuttonwin32props.ontouchend.md +0 -13
  1412. package/docs/api/react-native-win32.ibuttonwin32props.ontouchstart.md +0 -13
  1413. package/docs/api/react-native-win32.ibuttonwin32props.style.md +0 -13
  1414. package/docs/api/react-native-win32.ibuttonwin32style.md +0 -13
  1415. package/docs/api/react-native-win32.ichildasfunction.md +0 -13
  1416. package/docs/api/react-native-win32.idimensions.height.md +0 -11
  1417. package/docs/api/react-native-win32.idimensions.md +0 -21
  1418. package/docs/api/react-native-win32.idimensions.width.md +0 -11
  1419. package/docs/api/react-native-win32.ihandledkeyboardevent.md +0 -11
  1420. package/docs/api/react-native-win32.ikeyboardevent.md +0 -11
  1421. package/docs/api/react-native-win32.inativekeyboardevent.altkey.md +0 -11
  1422. package/docs/api/react-native-win32.inativekeyboardevent.ctrlkey.md +0 -11
  1423. package/docs/api/react-native-win32.inativekeyboardevent.eventphase.md +0 -11
  1424. package/docs/api/react-native-win32.inativekeyboardevent.key.md +0 -11
  1425. package/docs/api/react-native-win32.inativekeyboardevent.md +0 -23
  1426. package/docs/api/react-native-win32.inativekeyboardevent.metakey.md +0 -11
  1427. package/docs/api/react-native-win32.inativekeyboardevent.shiftkey.md +0 -11
  1428. package/docs/api/react-native-win32.ipersonacoinprops.brandiconsource.md +0 -11
  1429. package/docs/api/react-native-win32.ipersonacoinprops.color.md +0 -11
  1430. package/docs/api/react-native-win32.ipersonacoinprops.disabled.md +0 -11
  1431. package/docs/api/react-native-win32.ipersonacoinprops.displayname.md +0 -11
  1432. package/docs/api/react-native-win32.ipersonacoinprops.emailaddress.md +0 -11
  1433. package/docs/api/react-native-win32.ipersonacoinprops.initials.md +0 -11
  1434. package/docs/api/react-native-win32.ipersonacoinprops.md +0 -29
  1435. package/docs/api/react-native-win32.ipersonacoinprops.onerror.md +0 -11
  1436. package/docs/api/react-native-win32.ipersonacoinprops.onload.md +0 -11
  1437. package/docs/api/react-native-win32.ipersonacoinprops.presence.md +0 -11
  1438. package/docs/api/react-native-win32.ipersonacoinprops.size.md +0 -11
  1439. package/docs/api/react-native-win32.ipersonacoinprops.source.md +0 -11
  1440. package/docs/api/react-native-win32.iposition.left.md +0 -11
  1441. package/docs/api/react-native-win32.iposition.md +0 -21
  1442. package/docs/api/react-native-win32.iposition.top.md +0 -11
  1443. package/docs/api/react-native-win32.ipressevent.md +0 -24
  1444. package/docs/api/react-native-win32.ipressinlocation.locationx.md +0 -11
  1445. package/docs/api/react-native-win32.ipressinlocation.locationy.md +0 -11
  1446. package/docs/api/react-native-win32.ipressinlocation.md +0 -23
  1447. package/docs/api/react-native-win32.ipressinlocation.pagex.md +0 -11
  1448. package/docs/api/react-native-win32.ipressinlocation.pagey.md +0 -11
  1449. package/docs/api/react-native-win32.irenderchild.md +0 -13
  1450. package/docs/api/react-native-win32.irenderstyle.md +0 -13
  1451. package/docs/api/react-native-win32.irespondersyntheticevent.md +0 -21
  1452. package/docs/api/react-native-win32.irespondersyntheticevent.touchhistory.md +0 -16
  1453. package/docs/api/react-native-win32.isignal.md +0 -13
  1454. package/docs/api/react-native-win32.istate.md +0 -13
  1455. package/docs/api/react-native-win32.istateconditions.md +0 -15
  1456. package/docs/api/react-native-win32.itextwin32props.md +0 -20
  1457. package/docs/api/react-native-win32.itextwin32props.textstyle.md +0 -25
  1458. package/docs/api/react-native-win32.itextwin32props.tooltip.md +0 -13
  1459. package/docs/api/react-native-win32.itouchablewin32props.children.md +0 -11
  1460. package/docs/api/react-native-win32.itouchablewin32props.disabled.md +0 -11
  1461. package/docs/api/react-native-win32.itouchablewin32props.filterkeys.md +0 -13
  1462. package/docs/api/react-native-win32.itouchablewin32props.md +0 -36
  1463. package/docs/api/react-native-win32.itouchablewin32props.onlongpress.md +0 -11
  1464. package/docs/api/react-native-win32.itouchablewin32props.rejectrespondertermination.md +0 -11
  1465. package/docs/api/react-native-win32.itouchablewin32props.renderstyle.md +0 -11
  1466. package/docs/api/react-native-win32.itouchablewin32props.touchablegethighlightdelayms.md +0 -11
  1467. package/docs/api/react-native-win32.itouchablewin32props.touchablegethitslop.md +0 -11
  1468. package/docs/api/react-native-win32.itouchablewin32props.touchablegetlongpressdelayms.md +0 -11
  1469. package/docs/api/react-native-win32.itouchablewin32props.touchablegetpressoutdelayms.md +0 -11
  1470. package/docs/api/react-native-win32.itouchablewin32props.touchablegetpressrectoffset.md +0 -11
  1471. package/docs/api/react-native-win32.itouchablewin32props.touchablehandleactivepressin.md +0 -11
  1472. package/docs/api/react-native-win32.itouchablewin32props.touchablehandleactivepressout.md +0 -11
  1473. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlekeypress.md +0 -11
  1474. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlekeypressdown.md +0 -11
  1475. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlelongpress.md +0 -11
  1476. package/docs/api/react-native-win32.itouchablewin32props.touchablehandlepress.md +0 -11
  1477. package/docs/api/react-native-win32.itouchablewin32props.touchsounddisabled.md +0 -11
  1478. package/docs/api/react-native-win32.itouchablewin32state.isfocused.md +0 -11
  1479. package/docs/api/react-native-win32.itouchablewin32state.ishovered.md +0 -11
  1480. package/docs/api/react-native-win32.itouchablewin32state.ispressed.md +0 -11
  1481. package/docs/api/react-native-win32.itouchablewin32state.md +0 -20
  1482. package/docs/api/react-native-win32.itouchinfo.currentpagex.md +0 -11
  1483. package/docs/api/react-native-win32.itouchinfo.currentpagey.md +0 -11
  1484. package/docs/api/react-native-win32.itouchinfo.currenttimestamp.md +0 -11
  1485. package/docs/api/react-native-win32.itouchinfo.md +0 -29
  1486. package/docs/api/react-native-win32.itouchinfo.previouspagex.md +0 -11
  1487. package/docs/api/react-native-win32.itouchinfo.previouspagey.md +0 -11
  1488. package/docs/api/react-native-win32.itouchinfo.previoustimestamp.md +0 -11
  1489. package/docs/api/react-native-win32.itouchinfo.startpagex.md +0 -11
  1490. package/docs/api/react-native-win32.itouchinfo.startpagey.md +0 -11
  1491. package/docs/api/react-native-win32.itouchinfo.starttimestamp.md +0 -11
  1492. package/docs/api/react-native-win32.itouchinfo.touchactive.md +0 -11
  1493. package/docs/api/react-native-win32.itransitions.md +0 -15
  1494. package/docs/api/react-native-win32.iviewwin32.focus.md +0 -11
  1495. package/docs/api/react-native-win32.iviewwin32.md +0 -18
  1496. package/docs/api/react-native-win32.iviewwin32props.acceptskeyboardfocus.md +0 -16
  1497. package/docs/api/react-native-win32.iviewwin32props.accessibilityactions.md +0 -11
  1498. package/docs/api/react-native-win32.iviewwin32props.accessibilityannotation.md +0 -15
  1499. package/docs/api/react-native-win32.iviewwin32props.accessibilitylevel.md +0 -11
  1500. package/docs/api/react-native-win32.iviewwin32props.accessibilitypositioninset.md +0 -11
  1501. package/docs/api/react-native-win32.iviewwin32props.accessibilitysetsize.md +0 -11
  1502. package/docs/api/react-native-win32.iviewwin32props.animationclass.md +0 -11
  1503. package/docs/api/react-native-win32.iviewwin32props.children.md +0 -11
  1504. package/docs/api/react-native-win32.iviewwin32props.cursor.md +0 -11
  1505. package/docs/api/react-native-win32.iviewwin32props.focusable.md +0 -11
  1506. package/docs/api/react-native-win32.iviewwin32props.keydownevents.md +0 -11
  1507. package/docs/api/react-native-win32.iviewwin32props.keyupevents.md +0 -11
  1508. package/docs/api/react-native-win32.iviewwin32props.md +0 -44
  1509. package/docs/api/react-native-win32.iviewwin32props.onblur.md +0 -15
  1510. package/docs/api/react-native-win32.iviewwin32props.onblurcapture.md +0 -15
  1511. package/docs/api/react-native-win32.iviewwin32props.onfocus.md +0 -15
  1512. package/docs/api/react-native-win32.iviewwin32props.onfocuscapture.md +0 -15
  1513. package/docs/api/react-native-win32.iviewwin32props.onkeydown.md +0 -11
  1514. package/docs/api/react-native-win32.iviewwin32props.onkeydowncapture.md +0 -11
  1515. package/docs/api/react-native-win32.iviewwin32props.onkeyup.md +0 -11
  1516. package/docs/api/react-native-win32.iviewwin32props.onkeyupcapture.md +0 -11
  1517. package/docs/api/react-native-win32.iviewwin32props.onmouseenter.md +0 -11
  1518. package/docs/api/react-native-win32.iviewwin32props.onmouseleave.md +0 -11
  1519. package/docs/api/react-native-win32.iviewwin32props.tooltip.md +0 -13
  1520. package/docs/api/react-native-win32.iviewwin32props.type.md +0 -11
  1521. package/docs/api/react-native-win32.md +0 -85
  1522. package/docs/api/react-native-win32.omittedaccessibilitypropswin32.md +0 -15
  1523. package/docs/api/react-native-win32.personacoin.md +0 -11
  1524. package/docs/api/react-native-win32.personacoinpresence.md +0 -25
  1525. package/docs/api/react-native-win32.personacoinsize.md +0 -23
  1526. package/docs/api/react-native-win32.sharedaccessibilitypropsiosandwin32.md +0 -13
  1527. package/docs/api/react-native-win32.textstyle.md +0 -13
  1528. package/docs/api/react-native-win32.textwin32._constructor_.md +0 -20
  1529. package/docs/api/react-native-win32.textwin32.md +0 -25
  1530. package/docs/api/react-native-win32.textwin32.render.md +0 -15
  1531. package/docs/api/react-native-win32.textwin32omittypes.md +0 -11
  1532. package/docs/api/react-native-win32.touchablewin32._constructor_.md +0 -20
  1533. package/docs/api/react-native-win32.touchablewin32.componentwillunmount.md +0 -15
  1534. package/docs/api/react-native-win32.touchablewin32.focus.md +0 -11
  1535. package/docs/api/react-native-win32.touchablewin32.md +0 -34
  1536. package/docs/api/react-native-win32.touchablewin32.render.md +0 -15
  1537. package/docs/api/react-native-win32.usefrom.md +0 -13
  1538. package/docs/api/react-native-win32.viewwin32.md +0 -11
  1539. package/docs/api/react-native-win32.viewwin32omittypes.md +0 -11
  1540. package/etc/react-native-win32.api.md +0 -481
  1541. package/flow/Promise.js +0 -47
  1542. package/flow/fbjs.js +0 -258
  1543. package/flow/use-subscription.js +0 -19
  1544. package/jest/preprocessor.js +0 -120
  1545. package/typings-index.d.ts +0 -20
  1546. package/typings-index.js +0 -40
@@ -1,179 +1,1877 @@
1
- /**
2
- * @providesModule TextInput
3
- */
4
- 'use strict';
5
- var __extends = (this && this.__extends) || (function () {
6
- var extendStatics = function (d, b) {
7
- extendStatics = Object.setPrototypeOf ||
8
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
9
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
10
- return extendStatics(d, b);
11
- };
12
- return function (d, b) {
13
- extendStatics(d, b);
14
- function __() { this.constructor = d; }
15
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
16
- };
17
- })();
18
- var __assign = (this && this.__assign) || function () {
19
- __assign = Object.assign || function(t) {
20
- for (var s, i = 1, n = arguments.length; i < n; i++) {
21
- s = arguments[i];
22
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
23
- t[p] = s[p];
24
- }
25
- return t;
26
- };
27
- return __assign.apply(this, arguments);
28
- };
29
- /**
30
- * This is a forked and slightly modified version of React Native's TextInput.
31
- * The fork is necessary as platform checks in the base implementation made the
32
- * control unusable on win32. In addition to cleaning up some of the code, this
33
- * fork also uses Typescript rather than Flow for type safety.
34
- *
35
- * More general documentation on this control can be found at
36
- * https://facebook.github.io/react-native/docs/textinput.html
37
- *
38
- * The original implementation can be found at
39
- * https://github.com/facebook/react-native/blob/1013a010492a7bef5ff58073a088ac924a986e9e/Libraries/Components/TextInput/TextInput.js
40
- *
41
- * This control does not support the full React Native TextInput interface yet.
42
- * Most of the work necessary to make that happen needs to happen on the native side.
43
- * Future work on the JS side may include:
44
- * 1. Expanded typings for some of the events
45
- * 2. Additional work to manage selection
46
- * 3. Any base/default styling work
47
- */
48
- var React = require("react");
49
- var react_native_1 = require("react-native");
50
- var TextAncestor = require('../../Text/TextAncestor');
51
- var TextInputState = require('./TextInputState');
52
- // RCTTextInput is the native component that win32 understands
53
- var RCTTextInput = react_native_1.requireNativeComponent('RCTTextInput');
54
- // Adding typings on ViewManagers is problematic as available functionality is not known until
55
- // registration at runtime and would require native and js to always be in sync.
56
- /*tslint:disable-next-line no-any*/
57
- var TextInputViewManager = react_native_1.NativeModules.UIManager.getViewManagerConfig('RCTTextInput');
58
- var TextInput = /** @class */ (function (_super) {
59
- __extends(TextInput, _super);
60
- function TextInput(props) {
61
- var _this = _super.call(this, props) || this;
62
- _this._eventCount = 0;
63
- /**
64
- * Focuses the TextInput
65
- */
66
- _this.focus = function () {
67
- TextInputState.setFocusedTextInput(_this);
68
- react_native_1.NativeModules.UIManager.
69
- dispatchViewManagerCommand(react_native_1.findNodeHandle(_this), TextInputViewManager.Commands.focus, null);
70
- };
71
- /**
72
- * Blurs the TextInput
73
- */
74
- _this.blur = function () {
75
- TextInputState.blurTextInput(_this);
76
- react_native_1.NativeModules.UIManager.
77
- dispatchViewManagerCommand(react_native_1.findNodeHandle(_this), TextInputViewManager.Commands.blur, null);
78
- };
79
- /**
80
- * Use clear for programmatic clearing of the text
81
- */
82
- _this.clear = function () {
83
- _this.setNativeText('');
84
- };
85
- _this.setEventCount = function () {
86
- react_native_1.NativeModules.UIManager.
87
- dispatchViewManagerCommand(react_native_1.findNodeHandle(_this), TextInputViewManager.Commands.setEventCount, { eventCount: _this._eventCount });
88
- };
89
- _this.setNativeText = function (val) {
90
- if (_this._lastNativeText !== val) {
91
- react_native_1.NativeModules.UIManager.
92
- dispatchViewManagerCommand(react_native_1.findNodeHandle(_this), TextInputViewManager.Commands.setNativeText, { text: val });
93
- }
94
- };
95
- _this._getText = function () {
96
- return _this.props.value || (_this.props.defaultValue || null);
97
- };
98
- _this._onChange = function (e) {
99
- var text = e.nativeEvent.text;
100
- _this._eventCount = e.nativeEvent.eventCount;
101
- _this.setEventCount();
102
- _this.props.onChange && _this.props.onChange(e);
103
- _this.props.onChangeText && _this.props.onChangeText(text);
104
- _this._lastNativeText = text;
105
- _this.forceUpdate();
106
- return;
107
- };
108
- _this._onFocus = function (e) {
109
- _this.focus();
110
- _this.props.onFocus && _this.props.onFocus(e);
111
- };
112
- _this._onBlur = function (e) {
113
- _this.props.onBlur && _this.props.onBlur(e);
114
- };
115
- _this._inputRef = React.createRef();
116
- return _this;
117
- }
118
- /**
119
- * On mount TextInput needs to register itself with TextInputState
120
- * and conditionally request an animation frame for focus.
121
- */
122
- TextInput.prototype.componentDidMount = function () {
123
- this._lastNativeText = this.props.value;
124
- TextInputState.registerInput(this);
125
- if (this.props.autoFocus) {
126
- this._rafID = requestAnimationFrame(this.focus);
127
- }
128
- };
129
- /**
130
- * This is an unfortunate consequence of having controlled TextInputs.
131
- * Tree diffing reconciliation will not always send down text values
132
- * This sets text explicitly.
133
- */
134
- TextInput.prototype.componentDidUpdate = function () {
135
- if ((this._lastNativeText !== this._getText())) {
136
- this._getText() && this.setNativeText(this._getText());
137
- }
138
- return;
139
- };
140
- /**
141
- * Pre-unmoun the TextInput should blur, unregister and clean up
142
- * the animation frame for focus (edge cases)
143
- */
144
- TextInput.prototype.componentWillUnmount = function () {
145
- // blur
146
- if (this.isFocused()) {
147
- this.blur();
148
- }
149
- // unregister
150
- TextInputState.unregisterInput(this);
151
- // cancel animationFrame
152
- if (this._rafID !== null) {
153
- cancelAnimationFrame(this._rafID);
154
- }
155
- if (this._rafID) {
156
- return;
157
- }
158
- return;
159
- };
160
- TextInput.prototype.render = function () {
161
- var props = __assign({}, this.props);
162
- // By default fontScaling is turned on.
163
- // win32 ignores this prop for the time being
164
- props.allowFontScaling = (this.props.allowFontScaling === null
165
- || this.props.allowFontScaling === undefined)
166
- ? true : this.props.allowFontScaling;
167
- return (React.createElement(TextAncestor.Provider, { value: true },
168
- React.createElement(RCTTextInput, __assign({}, props, { ref: this._inputRef, text: this._getText(), onFocus: this._onFocus, onBlur: this._onBlur, onChange: this._onChange }))));
169
- };
170
- /**
171
- * Returns true if the TextInput is focused
172
- */
173
- TextInput.prototype.isFocused = function () {
174
- return TextInputState.currentlyFocusedInput() === this;
175
- };
176
- return TextInput;
177
- }(React.Component));
178
- module.exports = TextInput;
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dElucHV0LndpbjMyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0xpYnJhcmllcy9Db21wb25lbnRzL1RleHRJbnB1dC9UZXh0SW5wdXQud2luMzIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWI7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUVILDZCQUErQjtBQUMvQiw2Q0FNc0I7QUFPdEIsSUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDeEQsSUFBTSxjQUFjLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFNbkQsOERBQThEO0FBQzlELElBQU0sWUFBWSxHQUFHLHFDQUFzQixDQUFvQixjQUFjLENBQUMsQ0FBQztBQUUvRSw4RkFBOEY7QUFDOUYsZ0ZBQWdGO0FBQ2hGLG1DQUFtQztBQUNuQyxJQUFNLG9CQUFvQixHQUFRLDRCQUFhLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBRS9GO0lBQXdCLDZCQUFtQztJQVd6RCxtQkFBWSxLQUFLO1FBQWpCLFlBQ0Usa0JBQU0sS0FBSyxDQUFDLFNBRWI7UUFMTyxpQkFBVyxHQUFHLENBQUMsQ0FBQztRQXVGeEI7O1dBRUc7UUFDSSxXQUFLLEdBQUc7WUFDYixjQUFjLENBQUMsbUJBQW1CLENBQUMsS0FBSSxDQUFDLENBQUM7WUFDekMsNEJBQWEsQ0FBQyxTQUFTO2dCQUNyQiwwQkFBMEIsQ0FBQyw2QkFBYyxDQUFDLEtBQUksQ0FBQyxFQUFFLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEcsQ0FBQyxDQUFBO1FBRUQ7O1dBRUc7UUFDSSxVQUFJLEdBQUc7WUFDWixjQUFjLENBQUMsYUFBYSxDQUFDLEtBQUksQ0FBQyxDQUFDO1lBQ25DLDRCQUFhLENBQUMsU0FBUztnQkFDckIsMEJBQTBCLENBQUMsNkJBQWMsQ0FBQyxLQUFJLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQy9GLENBQUMsQ0FBQTtRQUVEOztXQUVHO1FBQ0ksV0FBSyxHQUFHO1lBQ2IsS0FBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUE7UUFFTyxtQkFBYSxHQUFHO1lBQ3RCLDRCQUFhLENBQUMsU0FBUztnQkFDckIsMEJBQTBCLENBQUMsNkJBQWMsQ0FBQyxLQUFJLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUMxRixFQUFFLFVBQVUsRUFBRSxLQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUE7UUFFTyxtQkFBYSxHQUFHLFVBQUMsR0FBVztZQUNsQyxJQUFJLEtBQUksQ0FBQyxlQUFlLEtBQUssR0FBRyxFQUFFO2dCQUNoQyw0QkFBYSxDQUFDLFNBQVM7b0JBQ3JCLDBCQUEwQixDQUFDLDZCQUFjLENBQUMsS0FBSSxDQUFDLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFDMUYsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQzthQUNwQjtRQUNILENBQUMsQ0FBQTtRQUVPLGNBQVEsR0FBRztZQUNqQixPQUFPLEtBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFBO1FBRU8sZUFBUyxHQUFHLFVBQUMsQ0FBZTtZQUNsQyxJQUFNLElBQUksR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNoQyxLQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO1lBQzVDLEtBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUVyQixLQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QyxLQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RCxLQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUU1QixLQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNULENBQUMsQ0FBQTtRQUVPLGNBQVEsR0FBRyxVQUFDLENBQWM7WUFDaEMsS0FBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2IsS0FBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFBO1FBRU8sYUFBTyxHQUFHLFVBQUMsQ0FBYTtZQUM5QixLQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUE7UUFsSkMsS0FBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7O0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxxQ0FBaUIsR0FBeEI7UUFDRSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBRXhDLGNBQWMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksc0NBQWtCLEdBQXpCO1FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPO0lBQ1QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLHdDQUFvQixHQUEzQjtRQUNFLE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtRQUVELGFBQWE7UUFDYixjQUFjLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLHdCQUF3QjtRQUN4QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ3hCLG9CQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLE9BQU87U0FDUjtRQUNELE9BQU87SUFDVCxDQUFDO0lBRU0sMEJBQU0sR0FBYjtRQUNFLElBQU0sS0FBSyxnQkFBd0IsSUFBSSxDQUFDLEtBQUssQ0FBRSxDQUFDO1FBRWhELHVDQUF1QztRQUN2Qyw2Q0FBNkM7UUFDN0MsS0FBSyxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxJQUFJO2VBQ3pELElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxDQUFDO1lBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7UUFFdkMsT0FBTyxDQUNMLG9CQUFDLFlBQVksQ0FBQyxRQUFRLElBQUMsS0FBSyxFQUFHLElBQUk7WUFDakMsb0JBQUMsWUFBWSxlQUNOLEtBQUssSUFDVixHQUFHLEVBQUcsSUFBSSxDQUFDLFNBQVMsRUFDcEIsSUFBSSxFQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFDdEIsT0FBTyxFQUFHLElBQUksQ0FBQyxRQUFRLEVBQ3ZCLE1BQU0sRUFBRyxJQUFJLENBQUMsT0FBTyxFQUNyQixRQUFRLEVBQUcsSUFBSSxDQUFDLFNBQVMsSUFDekIsQ0FDb0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLDZCQUFTLEdBQWhCO1FBQ0UsT0FBTyxjQUFjLENBQUMscUJBQXFCLEVBQUUsS0FBSyxJQUFJLENBQUM7SUFDekQsQ0FBQztJQWtFSCxnQkFBQztBQUFELENBQUMsQUFoS0QsQ0FBd0IsS0FBSyxDQUFDLFNBQVMsR0FnS3RDO0FBRUQsaUJBQVMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJvdmlkZXNNb2R1bGUgVGV4dElucHV0XG4gKi9cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBUaGlzIGlzIGEgZm9ya2VkIGFuZCBzbGlnaHRseSBtb2RpZmllZCB2ZXJzaW9uIG9mIFJlYWN0IE5hdGl2ZSdzIFRleHRJbnB1dC5cbiAqIFRoZSBmb3JrIGlzIG5lY2Vzc2FyeSBhcyBwbGF0Zm9ybSBjaGVja3MgaW4gdGhlIGJhc2UgaW1wbGVtZW50YXRpb24gbWFkZSB0aGVcbiAqIGNvbnRyb2wgdW51c2FibGUgb24gd2luMzIuIEluIGFkZGl0aW9uIHRvIGNsZWFuaW5nIHVwIHNvbWUgb2YgdGhlIGNvZGUsIHRoaXNcbiAqIGZvcmsgYWxzbyB1c2VzIFR5cGVzY3JpcHQgcmF0aGVyIHRoYW4gRmxvdyBmb3IgdHlwZSBzYWZldHkuXG4gKlxuICogTW9yZSBnZW5lcmFsIGRvY3VtZW50YXRpb24gb24gdGhpcyBjb250cm9sIGNhbiBiZSBmb3VuZCBhdFxuICogaHR0cHM6Ly9mYWNlYm9vay5naXRodWIuaW8vcmVhY3QtbmF0aXZlL2RvY3MvdGV4dGlucHV0Lmh0bWxcbiAqXG4gKiBUaGUgb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gY2FuIGJlIGZvdW5kIGF0XG4gKiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QtbmF0aXZlL2Jsb2IvMTAxM2EwMTA0OTJhN2JlZjVmZjU4MDczYTA4OGFjOTI0YTk4NmU5ZS9MaWJyYXJpZXMvQ29tcG9uZW50cy9UZXh0SW5wdXQvVGV4dElucHV0LmpzXG4gKlxuICogVGhpcyBjb250cm9sIGRvZXMgbm90IHN1cHBvcnQgdGhlIGZ1bGwgUmVhY3QgTmF0aXZlIFRleHRJbnB1dCBpbnRlcmZhY2UgeWV0LlxuICogTW9zdCBvZiB0aGUgd29yayBuZWNlc3NhcnkgdG8gbWFrZSB0aGF0IGhhcHBlbiBuZWVkcyB0byBoYXBwZW4gb24gdGhlIG5hdGl2ZSBzaWRlLlxuICogRnV0dXJlIHdvcmsgb24gdGhlIEpTIHNpZGUgbWF5IGluY2x1ZGU6XG4gKiAxLiBFeHBhbmRlZCB0eXBpbmdzIGZvciBzb21lIG9mIHRoZSBldmVudHNcbiAqIDIuIEFkZGl0aW9uYWwgd29yayB0byBtYW5hZ2Ugc2VsZWN0aW9uXG4gKiAzLiBBbnkgYmFzZS9kZWZhdWx0IHN0eWxpbmcgd29ya1xuICovXG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7XG4gIGZpbmROb2RlSGFuZGxlLFxuICBOYXRpdmVNb2R1bGVzLFxuICByZXF1aXJlTmF0aXZlQ29tcG9uZW50LFxuICBUZXh0SW5wdXRQcm9wcyxcbiAgTmF0aXZlTWV0aG9kcyxcbn0gZnJvbSAncmVhY3QtbmF0aXZlJztcbmltcG9ydCB7XG4gIElCbHVyRXZlbnQsXG4gIElDaGFuZ2VFdmVudCxcbiAgSUZvY3VzRXZlbnQsXG59IGZyb20gJy4vVGV4dElucHV0LlR5cGVzLndpbjMyJztcblxuY29uc3QgVGV4dEFuY2VzdG9yID0gcmVxdWlyZSgnLi4vLi4vVGV4dC9UZXh0QW5jZXN0b3InKTtcbmNvbnN0IFRleHRJbnB1dFN0YXRlID0gcmVxdWlyZSgnLi9UZXh0SW5wdXRTdGF0ZScpO1xuXG50eXBlIFJDVFRleHRJbnB1dFByb3BzID0gVGV4dElucHV0UHJvcHMgJiB7XG4gIHRleHQ6IHN0cmluZztcbn07XG5cbi8vIFJDVFRleHRJbnB1dCBpcyB0aGUgbmF0aXZlIGNvbXBvbmVudCB0aGF0IHdpbjMyIHVuZGVyc3RhbmRzXG5jb25zdCBSQ1RUZXh0SW5wdXQgPSByZXF1aXJlTmF0aXZlQ29tcG9uZW50PFJDVFRleHRJbnB1dFByb3BzPignUkNUVGV4dElucHV0Jyk7XG5cbi8vIEFkZGluZyB0eXBpbmdzIG9uIFZpZXdNYW5hZ2VycyBpcyBwcm9ibGVtYXRpYyBhcyBhdmFpbGFibGUgZnVuY3Rpb25hbGl0eSBpcyBub3Qga25vd24gdW50aWxcbi8vIHJlZ2lzdHJhdGlvbiBhdCBydW50aW1lIGFuZCB3b3VsZCByZXF1aXJlIG5hdGl2ZSBhbmQganMgdG8gYWx3YXlzIGJlIGluIHN5bmMuXG4vKnRzbGludDpkaXNhYmxlLW5leHQtbGluZSBuby1hbnkqL1xuY29uc3QgVGV4dElucHV0Vmlld01hbmFnZXI6IGFueSA9IE5hdGl2ZU1vZHVsZXMuVUlNYW5hZ2VyLmdldFZpZXdNYW5hZ2VyQ29uZmlnKCdSQ1RUZXh0SW5wdXQnKTtcblxuY2xhc3MgVGV4dElucHV0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFRleHRJbnB1dFByb3BzLCB7fT4ge1xuICAvLyBUT0RPOiBPbmNlIHRoZSBuYXRpdmUgc2lkZSBiZWdpbnMgc3VwcG9ydGluZyBwcm9ncmFtbWF0aWMgc2VsZWN0aW9uXG4gIC8vIHRoaXMgd2lsbCBiZWNvbWUgaW1wb3J0YW50IGZvciBzZWxlY3Rpb24gbWFuYWdlbWVudFxuICAvLyBwcml2YXRlIF9sYXN0TmF0aXZlVGV4dFNlbGVjdGlvbjogYW55O1xuXG4gIHByaXZhdGUgX3JhZklEOiBudW1iZXI7XG5cbiAgcHJpdmF0ZSBfaW5wdXRSZWY6IFJlYWN0LlJlZk9iamVjdDxSZWFjdC5Db21wb25lbnQ8UkNUVGV4dElucHV0UHJvcHM+ICYgUmVhZG9ubHk8TmF0aXZlTWV0aG9kcz4+O1xuICBwcml2YXRlIF9sYXN0TmF0aXZlVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIF9ldmVudENvdW50ID0gMDtcblxuICBjb25zdHJ1Y3Rvcihwcm9wcykge1xuICAgIHN1cGVyKHByb3BzKTtcbiAgICB0aGlzLl9pbnB1dFJlZiA9IFJlYWN0LmNyZWF0ZVJlZigpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIG1vdW50IFRleHRJbnB1dCBuZWVkcyB0byByZWdpc3RlciBpdHNlbGYgd2l0aCBUZXh0SW5wdXRTdGF0ZVxuICAgKiBhbmQgY29uZGl0aW9uYWxseSByZXF1ZXN0IGFuIGFuaW1hdGlvbiBmcmFtZSBmb3IgZm9jdXMuXG4gICAqL1xuICBwdWJsaWMgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgdGhpcy5fbGFzdE5hdGl2ZVRleHQgPSB0aGlzLnByb3BzLnZhbHVlO1xuXG4gICAgVGV4dElucHV0U3RhdGUucmVnaXN0ZXJJbnB1dCh0aGlzKTtcblxuICAgIGlmICh0aGlzLnByb3BzLmF1dG9Gb2N1cykge1xuICAgICAgdGhpcy5fcmFmSUQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5mb2N1cyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgYW4gdW5mb3J0dW5hdGUgY29uc2VxdWVuY2Ugb2YgaGF2aW5nIGNvbnRyb2xsZWQgVGV4dElucHV0cy5cbiAgICogVHJlZSBkaWZmaW5nIHJlY29uY2lsaWF0aW9uIHdpbGwgbm90IGFsd2F5cyBzZW5kIGRvd24gdGV4dCB2YWx1ZXNcbiAgICogVGhpcyBzZXRzIHRleHQgZXhwbGljaXRseS5cbiAgICovXG4gIHB1YmxpYyBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgaWYgKCh0aGlzLl9sYXN0TmF0aXZlVGV4dCAhPT0gdGhpcy5fZ2V0VGV4dCgpKSkge1xuICAgICAgdGhpcy5fZ2V0VGV4dCgpICYmIHRoaXMuc2V0TmF0aXZlVGV4dCh0aGlzLl9nZXRUZXh0KCkpO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmUtdW5tb3VuIHRoZSBUZXh0SW5wdXQgc2hvdWxkIGJsdXIsIHVucmVnaXN0ZXIgYW5kIGNsZWFuIHVwXG4gICAqIHRoZSBhbmltYXRpb24gZnJhbWUgZm9yIGZvY3VzIChlZGdlIGNhc2VzKVxuICAgKi9cbiAgcHVibGljIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIC8vIGJsdXJcbiAgICBpZiAodGhpcy5pc0ZvY3VzZWQoKSkge1xuICAgICAgdGhpcy5ibHVyKCk7XG4gICAgfVxuXG4gICAgLy8gdW5yZWdpc3RlclxuICAgIFRleHRJbnB1dFN0YXRlLnVucmVnaXN0ZXJJbnB1dCh0aGlzKTtcblxuICAgIC8vIGNhbmNlbCBhbmltYXRpb25GcmFtZVxuICAgIGlmICh0aGlzLl9yYWZJRCAhPT0gbnVsbCkge1xuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmSUQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fcmFmSUQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHJlbmRlcigpIHtcbiAgICBjb25zdCBwcm9wczogVGV4dElucHV0UHJvcHMgPSB7IC4uLnRoaXMucHJvcHMgfTtcblxuICAgIC8vIEJ5IGRlZmF1bHQgZm9udFNjYWxpbmcgaXMgdHVybmVkIG9uLlxuICAgIC8vIHdpbjMyIGlnbm9yZXMgdGhpcyBwcm9wIGZvciB0aGUgdGltZSBiZWluZ1xuICAgIHByb3BzLmFsbG93Rm9udFNjYWxpbmcgPSAodGhpcy5wcm9wcy5hbGxvd0ZvbnRTY2FsaW5nID09PSBudWxsXG4gICAgICB8fCB0aGlzLnByb3BzLmFsbG93Rm9udFNjYWxpbmcgPT09IHVuZGVmaW5lZClcbiAgICAgID8gdHJ1ZSA6IHRoaXMucHJvcHMuYWxsb3dGb250U2NhbGluZztcblxuICAgIHJldHVybiAoXG4gICAgICA8VGV4dEFuY2VzdG9yLlByb3ZpZGVyIHZhbHVlPXsgdHJ1ZSB9PlxuICAgICAgICA8UkNUVGV4dElucHV0XG4gICAgICAgICAgeyAuLi5wcm9wcyB9XG4gICAgICAgICAgcmVmPXsgdGhpcy5faW5wdXRSZWYgfVxuICAgICAgICAgIHRleHQ9eyB0aGlzLl9nZXRUZXh0KCkgfVxuICAgICAgICAgIG9uRm9jdXM9eyB0aGlzLl9vbkZvY3VzIH1cbiAgICAgICAgICBvbkJsdXI9eyB0aGlzLl9vbkJsdXIgfVxuICAgICAgICAgIG9uQ2hhbmdlPXsgdGhpcy5fb25DaGFuZ2UgfVxuICAgICAgICAvPlxuICAgICAgPC9UZXh0QW5jZXN0b3IuUHJvdmlkZXI+XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIFRleHRJbnB1dCBpcyBmb2N1c2VkXG4gICAqL1xuICBwdWJsaWMgaXNGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBUZXh0SW5wdXRTdGF0ZS5jdXJyZW50bHlGb2N1c2VkSW5wdXQoKSA9PT0gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1c2VzIHRoZSBUZXh0SW5wdXRcbiAgICovXG4gIHB1YmxpYyBmb2N1cyA9ICgpOiB2b2lkID0+IHtcbiAgICBUZXh0SW5wdXRTdGF0ZS5zZXRGb2N1c2VkVGV4dElucHV0KHRoaXMpO1xuICAgIE5hdGl2ZU1vZHVsZXMuVUlNYW5hZ2VyLlxuICAgICAgZGlzcGF0Y2hWaWV3TWFuYWdlckNvbW1hbmQoZmluZE5vZGVIYW5kbGUodGhpcyksIFRleHRJbnB1dFZpZXdNYW5hZ2VyLkNvbW1hbmRzLmZvY3VzLCBudWxsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCbHVycyB0aGUgVGV4dElucHV0XG4gICAqL1xuICBwdWJsaWMgYmx1ciA9ICgpOiB2b2lkID0+IHtcbiAgICBUZXh0SW5wdXRTdGF0ZS5ibHVyVGV4dElucHV0KHRoaXMpO1xuICAgIE5hdGl2ZU1vZHVsZXMuVUlNYW5hZ2VyLlxuICAgICAgZGlzcGF0Y2hWaWV3TWFuYWdlckNvbW1hbmQoZmluZE5vZGVIYW5kbGUodGhpcyksIFRleHRJbnB1dFZpZXdNYW5hZ2VyLkNvbW1hbmRzLmJsdXIsIG51bGwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSBjbGVhciBmb3IgcHJvZ3JhbW1hdGljIGNsZWFyaW5nIG9mIHRoZSB0ZXh0XG4gICAqL1xuICBwdWJsaWMgY2xlYXIgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy5zZXROYXRpdmVUZXh0KCcnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RXZlbnRDb3VudCA9ICgpOiB2b2lkID0+IHtcbiAgICBOYXRpdmVNb2R1bGVzLlVJTWFuYWdlci5cbiAgICAgIGRpc3BhdGNoVmlld01hbmFnZXJDb21tYW5kKGZpbmROb2RlSGFuZGxlKHRoaXMpLCBUZXh0SW5wdXRWaWV3TWFuYWdlci5Db21tYW5kcy5zZXRFdmVudENvdW50LFxuICAgICAgICB7IGV2ZW50Q291bnQ6IHRoaXMuX2V2ZW50Q291bnQgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldE5hdGl2ZVRleHQgPSAodmFsOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICBpZiAodGhpcy5fbGFzdE5hdGl2ZVRleHQgIT09IHZhbCkge1xuICAgICAgTmF0aXZlTW9kdWxlcy5VSU1hbmFnZXIuXG4gICAgICAgIGRpc3BhdGNoVmlld01hbmFnZXJDb21tYW5kKGZpbmROb2RlSGFuZGxlKHRoaXMpLCBUZXh0SW5wdXRWaWV3TWFuYWdlci5Db21tYW5kcy5zZXROYXRpdmVUZXh0LFxuICAgICAgICAgIHsgdGV4dDogdmFsIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2dldFRleHQgPSAoKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMudmFsdWUgfHwgKHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlIHx8IG51bGwpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2UgPSAoZTogSUNoYW5nZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgdGV4dCA9IGUubmF0aXZlRXZlbnQudGV4dDtcbiAgICB0aGlzLl9ldmVudENvdW50ID0gZS5uYXRpdmVFdmVudC5ldmVudENvdW50O1xuICAgIHRoaXMuc2V0RXZlbnRDb3VudCgpO1xuXG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZSAmJiB0aGlzLnByb3BzLm9uQ2hhbmdlKGUpO1xuICAgIHRoaXMucHJvcHMub25DaGFuZ2VUZXh0ICYmIHRoaXMucHJvcHMub25DaGFuZ2VUZXh0KHRleHQpO1xuICAgIHRoaXMuX2xhc3ROYXRpdmVUZXh0ID0gdGV4dDtcblxuICAgIHRoaXMuZm9yY2VVcGRhdGUoKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBwcml2YXRlIF9vbkZvY3VzID0gKGU6IElGb2N1c0V2ZW50KTogdm9pZCA9PiB7XG4gICAgdGhpcy5mb2N1cygpO1xuICAgIHRoaXMucHJvcHMub25Gb2N1cyAmJiB0aGlzLnByb3BzLm9uRm9jdXMoZSk7XG4gIH1cblxuICBwcml2YXRlIF9vbkJsdXIgPSAoZTogSUJsdXJFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMucHJvcHMub25CbHVyICYmIHRoaXMucHJvcHMub25CbHVyKGUpO1xuICB9XG59XG5cbmV4cG9ydCA9IFRleHRJbnB1dDtcbiJdfQ==
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict-local
8
+ * @format
9
+ */
10
+
11
+ import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
12
+ import type {
13
+ PressEvent,
14
+ ScrollEvent,
15
+ SyntheticEvent,
16
+ } from '../../Types/CoreEventTypes';
17
+ import type {ViewProps} from '../View/ViewPropTypes';
18
+ import type {TextInputType} from './TextInput.flow';
19
+
20
+ import usePressability from '../../Pressability/usePressability';
21
+ import flattenStyle from '../../StyleSheet/flattenStyle';
22
+ import StyleSheet, {
23
+ type ColorValue,
24
+ type TextStyleProp,
25
+ type ViewStyleProp,
26
+ } from '../../StyleSheet/StyleSheet';
27
+ import Text from '../../Text/Text';
28
+ import TextAncestor from '../../Text/TextAncestor';
29
+ import Platform from '../../Utilities/Platform';
30
+ import useMergeRefs from '../../Utilities/useMergeRefs';
31
+ import TextInputState from './TextInputState';
32
+ import invariant from 'invariant';
33
+ import nullthrows from 'nullthrows';
34
+ import * as React from 'react';
35
+ import {useCallback, useLayoutEffect, useRef, useState} from 'react';
36
+
37
+ type ReactRefSetter<T> = {current: null | T, ...} | ((ref: null | T) => mixed);
38
+ type TextInputInstance = React.ElementRef<HostComponent<mixed>> & {
39
+ +clear: () => void,
40
+ +isFocused: () => boolean,
41
+ +getNativeRef: () => ?React.ElementRef<HostComponent<mixed>>,
42
+ +setSelection: (start: number, end: number) => void,
43
+ };
44
+
45
+ let AndroidTextInput;
46
+ let AndroidTextInputCommands;
47
+ let RCTSinglelineTextInputView;
48
+ let RCTSinglelineTextInputNativeCommands;
49
+ let RCTMultilineTextInputView;
50
+ let RCTMultilineTextInputNativeCommands;
51
+ let WindowsTextInput; // [Windows]
52
+ let WindowsTextInputCommands; // [Windows]
53
+ import type {KeyEvent} from '../../Types/CoreEventTypes'; // [Windows]
54
+
55
+ // [Windows
56
+ if (Platform.OS === 'android') {
57
+ AndroidTextInput = require('./AndroidTextInputNativeComponent').default;
58
+ AndroidTextInputCommands =
59
+ require('./AndroidTextInputNativeComponent').Commands;
60
+ } else if (Platform.OS === 'ios') {
61
+ RCTSinglelineTextInputView =
62
+ require('./RCTSingelineTextInputNativeComponent').default;
63
+ RCTSinglelineTextInputNativeCommands =
64
+ require('./RCTSingelineTextInputNativeComponent').Commands;
65
+ RCTMultilineTextInputView =
66
+ require('./RCTMultilineTextInputNativeComponent').default;
67
+ RCTMultilineTextInputNativeCommands =
68
+ require('./RCTMultilineTextInputNativeComponent').Commands;
69
+ }
70
+ // [Windows
71
+ else if (Platform.OS === 'win32') {
72
+ WindowsTextInput = require('./Win32TextInputNativeComponent').default;
73
+ WindowsTextInputCommands =
74
+ require('./Win32TextInputNativeComponent').Commands;
75
+ }
76
+ // Windows]
77
+
78
+ export type ChangeEvent = SyntheticEvent<
79
+ $ReadOnly<{|
80
+ eventCount: number,
81
+ target: number,
82
+ text: string,
83
+ |}>,
84
+ >;
85
+
86
+ export type TextInputEvent = SyntheticEvent<
87
+ $ReadOnly<{|
88
+ eventCount: number,
89
+ previousText: string,
90
+ range: $ReadOnly<{|
91
+ start: number,
92
+ end: number,
93
+ |}>,
94
+ target: number,
95
+ text: string,
96
+ |}>,
97
+ >;
98
+
99
+ export type ContentSizeChangeEvent = SyntheticEvent<
100
+ $ReadOnly<{|
101
+ target: number,
102
+ contentSize: $ReadOnly<{|
103
+ width: number,
104
+ height: number,
105
+ |}>,
106
+ |}>,
107
+ >;
108
+
109
+ type TargetEvent = SyntheticEvent<
110
+ $ReadOnly<{|
111
+ target: number,
112
+ |}>,
113
+ >;
114
+
115
+ export type BlurEvent = TargetEvent;
116
+ export type FocusEvent = TargetEvent;
117
+
118
+ type Selection = $ReadOnly<{|
119
+ start: number,
120
+ end: number,
121
+ |}>;
122
+
123
+ export type SelectionChangeEvent = SyntheticEvent<
124
+ $ReadOnly<{|
125
+ selection: Selection,
126
+ target: number,
127
+ |}>,
128
+ >;
129
+
130
+ export type KeyPressEvent = SyntheticEvent<
131
+ $ReadOnly<{|
132
+ key: string,
133
+ target?: ?number,
134
+ eventCount?: ?number,
135
+ |}>,
136
+ >;
137
+
138
+ export type EditingEvent = SyntheticEvent<
139
+ $ReadOnly<{|
140
+ eventCount: number,
141
+ text: string,
142
+ target: number,
143
+ |}>,
144
+ >;
145
+
146
+ type DataDetectorTypesType =
147
+ | 'phoneNumber'
148
+ | 'link'
149
+ | 'address'
150
+ | 'calendarEvent'
151
+ | 'trackingNumber'
152
+ | 'flightNumber'
153
+ | 'lookupSuggestion'
154
+ | 'none'
155
+ | 'all';
156
+
157
+ export type KeyboardType =
158
+ // Cross Platform
159
+ | 'default'
160
+ | 'email-address'
161
+ | 'numeric'
162
+ | 'phone-pad'
163
+ | 'number-pad'
164
+ | 'decimal-pad'
165
+ | 'url'
166
+ // iOS-only
167
+ | 'ascii-capable'
168
+ | 'numbers-and-punctuation'
169
+ | 'name-phone-pad'
170
+ | 'twitter'
171
+ | 'web-search'
172
+ // iOS 10+ only
173
+ | 'ascii-capable-number-pad'
174
+ // Android-only
175
+ | 'visible-password';
176
+
177
+ export type InputMode =
178
+ | 'none'
179
+ | 'text'
180
+ | 'decimal'
181
+ | 'numeric'
182
+ | 'tel'
183
+ | 'search'
184
+ | 'email'
185
+ | 'url';
186
+
187
+ export type ReturnKeyType =
188
+ // Cross Platform
189
+ | 'done'
190
+ | 'go'
191
+ | 'next'
192
+ | 'search'
193
+ | 'send'
194
+ // Android-only
195
+ | 'none'
196
+ | 'previous'
197
+ // iOS-only
198
+ | 'default'
199
+ | 'emergency-call'
200
+ | 'google'
201
+ | 'join'
202
+ | 'route'
203
+ | 'yahoo';
204
+
205
+ export type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';
206
+
207
+ export type AutoCapitalize = 'none' | 'sentences' | 'words' | 'characters';
208
+
209
+ export type TextContentType =
210
+ | 'none'
211
+ | 'URL'
212
+ | 'addressCity'
213
+ | 'addressCityAndState'
214
+ | 'addressState'
215
+ | 'countryName'
216
+ | 'creditCardNumber'
217
+ | 'creditCardExpiration'
218
+ | 'creditCardExpirationMonth'
219
+ | 'creditCardExpirationYear'
220
+ | 'creditCardSecurityCode'
221
+ | 'creditCardType'
222
+ | 'creditCardName'
223
+ | 'creditCardGivenName'
224
+ | 'creditCardMiddleName'
225
+ | 'creditCardFamilyName'
226
+ | 'emailAddress'
227
+ | 'familyName'
228
+ | 'fullStreetAddress'
229
+ | 'givenName'
230
+ | 'jobTitle'
231
+ | 'location'
232
+ | 'middleName'
233
+ | 'name'
234
+ | 'namePrefix'
235
+ | 'nameSuffix'
236
+ | 'nickname'
237
+ | 'organizationName'
238
+ | 'postalCode'
239
+ | 'streetAddressLine1'
240
+ | 'streetAddressLine2'
241
+ | 'sublocality'
242
+ | 'telephoneNumber'
243
+ | 'username'
244
+ | 'password'
245
+ | 'newPassword'
246
+ | 'oneTimeCode'
247
+ | 'birthdate'
248
+ | 'birthdateDay'
249
+ | 'birthdateMonth'
250
+ | 'birthdateYear';
251
+
252
+ export type enterKeyHintType =
253
+ // Cross Platform
254
+ | 'done'
255
+ | 'go'
256
+ | 'next'
257
+ | 'search'
258
+ | 'send'
259
+ // Android-only
260
+ | 'previous'
261
+ // iOS-only
262
+ | 'enter';
263
+
264
+ type PasswordRules = string;
265
+
266
+ type IOSProps = $ReadOnly<{|
267
+ /**
268
+ * When the clear button should appear on the right side of the text view.
269
+ * This property is supported only for single-line TextInput component.
270
+ * @platform ios
271
+ */
272
+ clearButtonMode?: ?('never' | 'while-editing' | 'unless-editing' | 'always'),
273
+
274
+ /**
275
+ * If `true`, clears the text field automatically when editing begins.
276
+ * @platform ios
277
+ */
278
+ clearTextOnFocus?: ?boolean,
279
+
280
+ /**
281
+ * Determines the types of data converted to clickable URLs in the text input.
282
+ * Only valid if `multiline={true}` and `editable={false}`.
283
+ * By default no data types are detected.
284
+ *
285
+ * You can provide one type or an array of many types.
286
+ *
287
+ * Possible values for `dataDetectorTypes` are:
288
+ *
289
+ * - `'phoneNumber'`
290
+ * - `'link'`
291
+ * - `'address'`
292
+ * - `'calendarEvent'`
293
+ * - `'none'`
294
+ * - `'all'`
295
+ *
296
+ * @platform ios
297
+ */
298
+ dataDetectorTypes?:
299
+ | ?DataDetectorTypesType
300
+ | $ReadOnlyArray<DataDetectorTypesType>,
301
+
302
+ /**
303
+ * If `true`, the keyboard disables the return key when there is no text and
304
+ * automatically enables it when there is text. The default value is `false`.
305
+ * @platform ios
306
+ */
307
+ enablesReturnKeyAutomatically?: ?boolean,
308
+
309
+ /**
310
+ * An optional identifier which links a custom InputAccessoryView to
311
+ * this text input. The InputAccessoryView is rendered above the
312
+ * keyboard when this text input is focused.
313
+ * @platform ios
314
+ */
315
+ inputAccessoryViewID?: ?string,
316
+
317
+ /**
318
+ * Determines the color of the keyboard.
319
+ * @platform ios
320
+ */
321
+ keyboardAppearance?: ?('default' | 'light' | 'dark'),
322
+
323
+ /**
324
+ * Provide rules for your password.
325
+ * For example, say you want to require a password with at least eight characters consisting of a mix of uppercase and lowercase letters, at least one number, and at most two consecutive characters.
326
+ * "required: upper; required: lower; required: digit; max-consecutive: 2; minlength: 8;"
327
+ * @platform ios
328
+ */
329
+ passwordRules?: ?PasswordRules,
330
+
331
+ /*
332
+ * If `true`, allows TextInput to pass touch events to the parent component.
333
+ * This allows components to be swipeable from the TextInput on iOS,
334
+ * as is the case on Android by default.
335
+ * If `false`, TextInput always asks to handle the input (except when disabled).
336
+ * @platform ios
337
+ */
338
+ rejectResponderTermination?: ?boolean,
339
+
340
+ /**
341
+ * If `false`, scrolling of the text view will be disabled.
342
+ * The default value is `true`. Does only work with 'multiline={true}'.
343
+ * @platform ios
344
+ */
345
+ scrollEnabled?: ?boolean,
346
+
347
+ /**
348
+ * If `false`, disables spell-check style (i.e. red underlines).
349
+ * The default value is inherited from `autoCorrect`.
350
+ * @platform ios
351
+ */
352
+ spellCheck?: ?boolean,
353
+
354
+ /**
355
+ * Give the keyboard and the system information about the
356
+ * expected semantic meaning for the content that users enter.
357
+ * @platform ios
358
+ */
359
+ textContentType?: ?TextContentType,
360
+
361
+ /**
362
+ * Set line break strategy on iOS.
363
+ * @platform ios
364
+ */
365
+ lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),
366
+
367
+ /**
368
+ * If `false`, the iOS system will not insert an extra space after a paste operation
369
+ * neither delete one or two spaces after a cut or delete operation.
370
+ *
371
+ * The default value is `true`.
372
+ *
373
+ * @platform ios
374
+ */
375
+ smartInsertDelete?: ?boolean,
376
+ |}>;
377
+
378
+ type AndroidProps = $ReadOnly<{|
379
+ /**
380
+ * When provided it will set the color of the cursor (or "caret") in the component.
381
+ * Unlike the behavior of `selectionColor` the cursor color will be set independently
382
+ * from the color of the text selection box.
383
+ * @platform android
384
+ */
385
+ cursorColor?: ?ColorValue,
386
+
387
+ /**
388
+ * When `false`, if there is a small amount of space available around a text input
389
+ * (e.g. landscape orientation on a phone), the OS may choose to have the user edit
390
+ * the text inside of a full screen text input mode. When `true`, this feature is
391
+ * disabled and users will always edit the text directly inside of the text input.
392
+ * Defaults to `false`.
393
+ * @platform android
394
+ */
395
+ disableFullscreenUI?: ?boolean,
396
+
397
+ importantForAutofill?: ?(
398
+ | 'auto'
399
+ | 'no'
400
+ | 'noExcludeDescendants'
401
+ | 'yes'
402
+ | 'yesExcludeDescendants'
403
+ ),
404
+
405
+ /**
406
+ * If defined, the provided image resource will be rendered on the left.
407
+ * The image resource must be inside `/android/app/src/main/res/drawable` and referenced
408
+ * like
409
+ * ```
410
+ * <TextInput
411
+ * inlineImageLeft='search_icon'
412
+ * />
413
+ * ```
414
+ * @platform android
415
+ */
416
+ inlineImageLeft?: ?string,
417
+
418
+ /**
419
+ * Padding between the inline image, if any, and the text input itself.
420
+ * @platform android
421
+ */
422
+ inlineImagePadding?: ?number,
423
+
424
+ /**
425
+ * Sets the number of lines for a `TextInput`. Use it with multiline set to
426
+ * `true` to be able to fill the lines.
427
+ * @platform android
428
+ */
429
+ numberOfLines?: ?number,
430
+
431
+ /**
432
+ * Sets the return key to the label. Use it instead of `returnKeyType`.
433
+ * @platform android
434
+ */
435
+ returnKeyLabel?: ?string,
436
+
437
+ /**
438
+ * Sets the number of rows for a `TextInput`. Use it with multiline set to
439
+ * `true` to be able to fill the lines.
440
+ * @platform android
441
+ */
442
+ rows?: ?number,
443
+
444
+ /**
445
+ * When `false`, it will prevent the soft keyboard from showing when the field is focused.
446
+ * Defaults to `true`.
447
+ */
448
+ showSoftInputOnFocus?: ?boolean,
449
+
450
+ /**
451
+ * Set text break strategy on Android API Level 23+, possible values are `simple`, `highQuality`, `balanced`
452
+ * The default value is `simple`.
453
+ * @platform android
454
+ */
455
+ textBreakStrategy?: ?('simple' | 'highQuality' | 'balanced'),
456
+
457
+ /**
458
+ * The color of the `TextInput` underline.
459
+ * @platform android
460
+ */
461
+ underlineColorAndroid?: ?ColorValue,
462
+ |}>;
463
+
464
+ // [Windows
465
+
466
+ type SubmitKeyEvent = $ReadOnly<{|
467
+ altKey?: ?boolean,
468
+ ctrlKey?: ?boolean,
469
+ metaKey?: ?boolean,
470
+ shiftKey?: ?boolean,
471
+ code: string,
472
+ |}>;
473
+
474
+ type WindowsProps = $ReadOnly<{|
475
+ /**
476
+ * If `true`, clears the text field synchronously before `onSubmitEditing` is emitted.
477
+ * @platform windows
478
+ */
479
+ clearTextOnSubmit?: ?boolean,
480
+
481
+ /**
482
+ * Configures keys that can be used to submit editing for the TextInput.
483
+ * @platform windows
484
+ */
485
+ submitKeyEvents?: ?$ReadOnlyArray<SubmitKeyEvent>,
486
+ |}>;
487
+
488
+ // Windows]
489
+
490
+ export type Props = $ReadOnly<{|
491
+ ...$Diff<ViewProps, $ReadOnly<{|style: ?ViewStyleProp|}>>,
492
+ ...IOSProps,
493
+ ...AndroidProps,
494
+ ...WindowsProps, // [Windows]
495
+
496
+ /**
497
+ * String to be read by screenreaders to indicate an error state. The acceptable parameters
498
+ * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates
499
+ * the error message. Setting accessibilityInvalid to false removes the error message.
500
+ */
501
+ accessibilityErrorMessage?: ?Stringish,
502
+ accessibilityInvalid?: ?boolean,
503
+
504
+ /**
505
+ * Can tell `TextInput` to automatically capitalize certain characters.
506
+ *
507
+ * - `characters`: all characters.
508
+ * - `words`: first letter of each word.
509
+ * - `sentences`: first letter of each sentence (*default*).
510
+ * - `none`: don't auto capitalize anything.
511
+ */
512
+ autoCapitalize?: ?AutoCapitalize,
513
+
514
+ /**
515
+ * Specifies autocomplete hints for the system, so it can provide autofill.
516
+ * On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.
517
+ * To disable autocomplete, set autoComplete to off.
518
+ *
519
+ * The following values work across platforms:
520
+ *
521
+ * - `additional-name`
522
+ * - `address-line1`
523
+ * - `address-line2`
524
+ * - `birthdate-day` (iOS 17+)
525
+ * - `birthdate-full` (iOS 17+)
526
+ * - `birthdate-month` (iOS 17+)
527
+ * - `birthdate-year` (iOS 17+)
528
+ * - `cc-number`
529
+ * - `cc-csc` (iOS 17+)
530
+ * - `cc-exp` (iOS 17+)
531
+ * - `cc-exp-day` (iOS 17+)
532
+ * - `cc-exp-month` (iOS 17+)
533
+ * - `cc-exp-year` (iOS 17+)
534
+ * - `country`
535
+ * - `current-password`
536
+ * - `email`
537
+ * - `family-name`
538
+ * - `given-name`
539
+ * - `honorific-prefix`
540
+ * - `honorific-suffix`
541
+ * - `name`
542
+ * - `new-password`
543
+ * - `off`
544
+ * - `one-time-code`
545
+ * - `postal-code`
546
+ * - `street-address`
547
+ * - `tel`
548
+ * - `username`
549
+ *
550
+ * The following values work on iOS only:
551
+ *
552
+ * - `cc-name` (iOS 17+)
553
+ * - `cc-given-name` (iOS 17+)
554
+ * - `cc-middle-name` (iOS 17+)
555
+ * - `cc-family-name` (iOS 17+)
556
+ * - `cc-type` (iOS 17+)
557
+ * - `nickname`
558
+ * - `organization`
559
+ * - `organization-title`
560
+ * - `url`
561
+ *
562
+ * The following values work on Android only:
563
+ *
564
+ * - `gender`
565
+ * - `name-family`
566
+ * - `name-given`
567
+ * - `name-middle`
568
+ * - `name-middle-initial`
569
+ * - `name-prefix`
570
+ * - `name-suffix`
571
+ * - `password`
572
+ * - `password-new`
573
+ * - `postal-address`
574
+ * - `postal-address-country`
575
+ * - `postal-address-extended`
576
+ * - `postal-address-extended-postal-code`
577
+ * - `postal-address-locality`
578
+ * - `postal-address-region`
579
+ * - `sms-otp`
580
+ * - `tel-country-code`
581
+ * - `tel-national`
582
+ * - `tel-device`
583
+ * - `username-new`
584
+ */
585
+ autoComplete?: ?(
586
+ | 'additional-name'
587
+ | 'address-line1'
588
+ | 'address-line2'
589
+ | 'birthdate-day'
590
+ | 'birthdate-full'
591
+ | 'birthdate-month'
592
+ | 'birthdate-year'
593
+ | 'cc-csc'
594
+ | 'cc-exp'
595
+ | 'cc-exp-day'
596
+ | 'cc-exp-month'
597
+ | 'cc-exp-year'
598
+ | 'cc-number'
599
+ | 'cc-name'
600
+ | 'cc-given-name'
601
+ | 'cc-middle-name'
602
+ | 'cc-family-name'
603
+ | 'cc-type'
604
+ | 'country'
605
+ | 'current-password'
606
+ | 'email'
607
+ | 'family-name'
608
+ | 'gender'
609
+ | 'given-name'
610
+ | 'honorific-prefix'
611
+ | 'honorific-suffix'
612
+ | 'name'
613
+ | 'name-family'
614
+ | 'name-given'
615
+ | 'name-middle'
616
+ | 'name-middle-initial'
617
+ | 'name-prefix'
618
+ | 'name-suffix'
619
+ | 'new-password'
620
+ | 'nickname'
621
+ | 'one-time-code'
622
+ | 'organization'
623
+ | 'organization-title'
624
+ | 'password'
625
+ | 'password-new'
626
+ | 'postal-address'
627
+ | 'postal-address-country'
628
+ | 'postal-address-extended'
629
+ | 'postal-address-extended-postal-code'
630
+ | 'postal-address-locality'
631
+ | 'postal-address-region'
632
+ | 'postal-code'
633
+ | 'street-address'
634
+ | 'sms-otp'
635
+ | 'tel'
636
+ | 'tel-country-code'
637
+ | 'tel-national'
638
+ | 'tel-device'
639
+ | 'url'
640
+ | 'username'
641
+ | 'username-new'
642
+ | 'off'
643
+ ),
644
+
645
+ /**
646
+ * If `false`, disables auto-correct. The default value is `true`.
647
+ */
648
+ autoCorrect?: ?boolean,
649
+
650
+ /**
651
+ * If `true`, focuses the input on `componentDidMount`.
652
+ * The default value is `false`.
653
+ */
654
+ autoFocus?: ?boolean,
655
+
656
+ /**
657
+ * Specifies whether fonts should scale to respect Text Size accessibility settings. The
658
+ * default is `true`.
659
+ */
660
+ allowFontScaling?: ?boolean,
661
+
662
+ /**
663
+ * If `true`, caret is hidden. The default value is `false`.
664
+ *
665
+ * On Android devices manufactured by Xiaomi with Android Q,
666
+ * when keyboardType equals 'email-address'this will be set
667
+ * in native to 'true' to prevent a system related crash. This
668
+ * will cause cursor to be disabled as a side-effect.
669
+ *
670
+ */
671
+ caretHidden?: ?boolean,
672
+
673
+ /*
674
+ * If `true`, contextMenuHidden is hidden. The default value is `false`.
675
+ */
676
+ contextMenuHidden?: ?boolean,
677
+
678
+ /**
679
+ * Provides an initial value that will change when the user starts typing.
680
+ * Useful for simple use-cases where you do not want to deal with listening
681
+ * to events and updating the value prop to keep the controlled state in sync.
682
+ */
683
+ defaultValue?: ?Stringish,
684
+
685
+ /**
686
+ * If `false`, text is not editable. The default value is `true`.
687
+ */
688
+ editable?: ?boolean,
689
+
690
+ forwardedRef?: ?ReactRefSetter<TextInputInstance>,
691
+
692
+ /**
693
+ * `enterKeyHint` defines what action label (or icon) to present for the enter key on virtual keyboards.
694
+ *
695
+ * The following values is supported:
696
+ *
697
+ * - `enter`
698
+ * - `done`
699
+ * - `go`
700
+ * - `next`
701
+ * - `previous`
702
+ * - `search`
703
+ * - `send`
704
+ */
705
+ enterKeyHint?: ?enterKeyHintType,
706
+
707
+ /**
708
+ * `inputMode` works like the `inputmode` attribute in HTML, it determines which
709
+ * keyboard to open, e.g.`numeric` and has precedence over keyboardType
710
+ *
711
+ * Support the following values:
712
+ *
713
+ * - `none`
714
+ * - `text`
715
+ * - `decimal`
716
+ * - `numeric`
717
+ * - `tel`
718
+ * - `search`
719
+ * - `email`
720
+ * - `url`
721
+ */
722
+ inputMode?: ?InputMode,
723
+
724
+ /**
725
+ * Determines which keyboard to open, e.g.`numeric`.
726
+ *
727
+ * The following values work across platforms:
728
+ *
729
+ * - `default`
730
+ * - `numeric`
731
+ * - `number-pad`
732
+ * - `decimal-pad`
733
+ * - `email-address`
734
+ * - `phone-pad`
735
+ * - `url`
736
+ *
737
+ * *iOS Only*
738
+ *
739
+ * The following values work on iOS only:
740
+ *
741
+ * - `ascii-capable`
742
+ * - `numbers-and-punctuation`
743
+ * - `name-phone-pad`
744
+ * - `twitter`
745
+ * - `web-search`
746
+ *
747
+ * *Android Only*
748
+ *
749
+ * The following values work on Android only:
750
+ *
751
+ * - `visible-password`
752
+ *
753
+ */
754
+ keyboardType?: ?KeyboardType,
755
+
756
+ /**
757
+ * Specifies largest possible scale a font can reach when `allowFontScaling` is enabled.
758
+ * Possible values:
759
+ * `null/undefined` (default): inherit from the parent node or the global default (0)
760
+ * `0`: no max, ignore parent/global default
761
+ * `>= 1`: sets the maxFontSizeMultiplier of this node to this value
762
+ */
763
+ maxFontSizeMultiplier?: ?number,
764
+
765
+ /**
766
+ * Limits the maximum number of characters that can be entered. Use this
767
+ * instead of implementing the logic in JS to avoid flicker.
768
+ */
769
+ maxLength?: ?number,
770
+
771
+ /**
772
+ * If `true`, the text input can be multiple lines.
773
+ * The default value is `false`.
774
+ */
775
+ multiline?: ?boolean,
776
+
777
+ /**
778
+ * Callback that is called when the text input is blurred.
779
+ */
780
+ onBlur?: ?(e: BlurEvent) => mixed,
781
+
782
+ /**
783
+ * Callback that is called when the text input's text changes.
784
+ */
785
+ onChange?: ?(e: ChangeEvent) => mixed,
786
+
787
+ /**
788
+ * Callback that is called when the text input's text changes.
789
+ * Changed text is passed as an argument to the callback handler.
790
+ */
791
+ onChangeText?: ?(text: string) => mixed,
792
+
793
+ /**
794
+ * Callback that is called when the text input's content size changes.
795
+ * This will be called with
796
+ * `{ nativeEvent: { contentSize: { width, height } } }`.
797
+ *
798
+ * Only called for multiline text inputs.
799
+ */
800
+ onContentSizeChange?: ?(e: ContentSizeChangeEvent) => mixed,
801
+
802
+ /**
803
+ * Callback that is called when text input ends.
804
+ */
805
+ onEndEditing?: ?(e: EditingEvent) => mixed,
806
+
807
+ /**
808
+ * Callback that is called when the text input is focused.
809
+ */
810
+ onFocus?: ?(e: FocusEvent) => mixed,
811
+
812
+ /**
813
+ * Callback that is called when a key is pressed.
814
+ * This will be called with `{ nativeEvent: { key: keyValue } }`
815
+ * where `keyValue` is `'Enter'` or `'Backspace'` for respective keys and
816
+ * the typed-in character otherwise including `' '` for space.
817
+ * Fires before `onChange` callbacks.
818
+ */
819
+ onKeyPress?: ?(e: KeyPressEvent) => mixed,
820
+
821
+ /**
822
+ * Called when a single tap gesture is detected.
823
+ */
824
+ onPress?: ?(event: PressEvent) => mixed,
825
+
826
+ /**
827
+ * Called when a touch is engaged.
828
+ */
829
+ onPressIn?: ?(event: PressEvent) => mixed,
830
+
831
+ /**
832
+ * Called when a touch is released.
833
+ */
834
+ onPressOut?: ?(event: PressEvent) => mixed,
835
+
836
+ /**
837
+ * Callback that is called when the text input selection is changed.
838
+ * This will be called with
839
+ * `{ nativeEvent: { selection: { start, end } } }`.
840
+ */
841
+ onSelectionChange?: ?(e: SelectionChangeEvent) => mixed,
842
+
843
+ /**
844
+ * Callback that is called when the text input's submit button is pressed.
845
+ * Invalid if `multiline={true}` is specified.
846
+ */
847
+ onSubmitEditing?: ?(e: EditingEvent) => mixed,
848
+
849
+ /**
850
+ * Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`.
851
+ * May also contain other properties from ScrollEvent but on Android contentSize
852
+ * is not provided for performance reasons.
853
+ */
854
+ onScroll?: ?(e: ScrollEvent) => mixed,
855
+
856
+ /**
857
+ * The string that will be rendered before text input has been entered.
858
+ */
859
+ placeholder?: ?Stringish,
860
+
861
+ /**
862
+ * The text color of the placeholder string.
863
+ */
864
+ placeholderTextColor?: ?ColorValue,
865
+
866
+ /** `readOnly` works like the `readonly` attribute in HTML.
867
+ * If `true`, text is not editable. The default value is `false`.
868
+ * See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonly
869
+ * for more details.
870
+ */
871
+ readOnly?: ?boolean,
872
+
873
+ /**
874
+ * Determines how the return key should look. On Android you can also use
875
+ * `returnKeyLabel`.
876
+ *
877
+ * *Cross platform*
878
+ *
879
+ * The following values work across platforms:
880
+ *
881
+ * - `done`
882
+ * - `go`
883
+ * - `next`
884
+ * - `search`
885
+ * - `send`
886
+ *
887
+ * *Android Only*
888
+ *
889
+ * The following values work on Android only:
890
+ *
891
+ * - `none`
892
+ * - `previous`
893
+ *
894
+ * *iOS Only*
895
+ *
896
+ * The following values work on iOS only:
897
+ *
898
+ * - `default`
899
+ * - `emergency-call`
900
+ * - `google`
901
+ * - `join`
902
+ * - `route`
903
+ * - `yahoo`
904
+ */
905
+ returnKeyType?: ?ReturnKeyType,
906
+
907
+ /**
908
+ * If `true`, the text input obscures the text entered so that sensitive text
909
+ * like passwords stay secure. The default value is `false`. Does not work with 'multiline={true}'.
910
+ */
911
+ secureTextEntry?: ?boolean,
912
+
913
+ /**
914
+ * The start and end of the text input's selection. Set start and end to
915
+ * the same value to position the cursor.
916
+ */
917
+ selection?: ?$ReadOnly<{|
918
+ start: number,
919
+ end?: ?number,
920
+ |}>,
921
+
922
+ /**
923
+ * The highlight and cursor color of the text input.
924
+ */
925
+ selectionColor?: ?ColorValue,
926
+
927
+ /**
928
+ * The text selection handle color.
929
+ * @platform android
930
+ */
931
+ selectionHandleColor?: ?ColorValue,
932
+
933
+ /**
934
+ * If `true`, all text will automatically be selected on focus.
935
+ */
936
+ selectTextOnFocus?: ?boolean,
937
+
938
+ /**
939
+ * If `true`, the text field will blur when submitted.
940
+ * The default value is true for single-line fields and false for
941
+ * multiline fields. Note that for multiline fields, setting `blurOnSubmit`
942
+ * to `true` means that pressing return will blur the field and trigger the
943
+ * `onSubmitEditing` event instead of inserting a newline into the field.
944
+ *
945
+ * @deprecated
946
+ * Note that `submitBehavior` now takes the place of `blurOnSubmit` and will
947
+ * override any behavior defined by `blurOnSubmit`.
948
+ * @see submitBehavior
949
+ */
950
+ blurOnSubmit?: ?boolean,
951
+
952
+ /**
953
+ * When the return key is pressed,
954
+ *
955
+ * For single line inputs:
956
+ *
957
+ * - `'newline`' defaults to `'blurAndSubmit'`
958
+ * - `undefined` defaults to `'blurAndSubmit'`
959
+ *
960
+ * For multiline inputs:
961
+ *
962
+ * - `'newline'` adds a newline
963
+ * - `undefined` defaults to `'newline'`
964
+ *
965
+ * For both single line and multiline inputs:
966
+ *
967
+ * - `'submit'` will only send a submit event and not blur the input
968
+ * - `'blurAndSubmit`' will both blur the input and send a submit event
969
+ */
970
+ submitBehavior?: ?SubmitBehavior,
971
+
972
+ /**
973
+ * Note that not all Text styles are supported, an incomplete list of what is not supported includes:
974
+ *
975
+ * - `borderLeftWidth`
976
+ * - `borderTopWidth`
977
+ * - `borderRightWidth`
978
+ * - `borderBottomWidth`
979
+ * - `borderTopLeftRadius`
980
+ * - `borderTopRightRadius`
981
+ * - `borderBottomRightRadius`
982
+ * - `borderBottomLeftRadius`
983
+ *
984
+ * see [Issue#7070](https://github.com/facebook/react-native/issues/7070)
985
+ * for more detail.
986
+ *
987
+ * [Styles](docs/style.html)
988
+ */
989
+ style?: ?TextStyleProp,
990
+
991
+ /**
992
+ * The value to show for the text input. `TextInput` is a controlled
993
+ * component, which means the native value will be forced to match this
994
+ * value prop if provided. For most uses, this works great, but in some
995
+ * cases this may cause flickering - one common cause is preventing edits
996
+ * by keeping value the same. In addition to simply setting the same value,
997
+ * either set `editable={false}`, or set/update `maxLength` to prevent
998
+ * unwanted edits without flicker.
999
+ */
1000
+ value?: ?Stringish,
1001
+ |}>;
1002
+
1003
+ const emptyFunctionThatReturnsTrue = () => true;
1004
+
1005
+ /**
1006
+ * A foundational component for inputting text into the app via a
1007
+ * keyboard. Props provide configurability for several features, such as
1008
+ * auto-correction, auto-capitalization, placeholder text, and different keyboard
1009
+ * types, such as a numeric keypad.
1010
+ *
1011
+ * The simplest use case is to plop down a `TextInput` and subscribe to the
1012
+ * `onChangeText` events to read the user input. There are also other events,
1013
+ * such as `onSubmitEditing` and `onFocus` that can be subscribed to. A simple
1014
+ * example:
1015
+ *
1016
+ * ```ReactNativeWebPlayer
1017
+ * import React, { Component } from 'react';
1018
+ * import { AppRegistry, TextInput } from 'react-native';
1019
+ *
1020
+ * export default class UselessTextInput extends Component {
1021
+ * constructor(props) {
1022
+ * super(props);
1023
+ * this.state = { text: 'Useless Placeholder' };
1024
+ * }
1025
+ *
1026
+ * render() {
1027
+ * return (
1028
+ * <TextInput
1029
+ * style={{height: 40, borderColor: 'gray', borderWidth: 1}}
1030
+ * onChangeText={(text) => this.setState({text})}
1031
+ * value={this.state.text}
1032
+ * />
1033
+ * );
1034
+ * }
1035
+ * }
1036
+ *
1037
+ * // skip this line if using Create React Native App
1038
+ * AppRegistry.registerComponent('AwesomeProject', () => UselessTextInput);
1039
+ * ```
1040
+ *
1041
+ * Two methods exposed via the native element are .focus() and .blur() that
1042
+ * will focus or blur the TextInput programmatically.
1043
+ *
1044
+ * Note that some props are only available with `multiline={true/false}`.
1045
+ * Additionally, border styles that apply to only one side of the element
1046
+ * (e.g., `borderBottomColor`, `borderLeftWidth`, etc.) will not be applied if
1047
+ * `multiline=false`. To achieve the same effect, you can wrap your `TextInput`
1048
+ * in a `View`:
1049
+ *
1050
+ * ```ReactNativeWebPlayer
1051
+ * import React, { Component } from 'react';
1052
+ * import { AppRegistry, View, TextInput } from 'react-native';
1053
+ *
1054
+ * class UselessTextInput extends Component {
1055
+ * render() {
1056
+ * return (
1057
+ * <TextInput
1058
+ * {...this.props} // Inherit any props passed to it; e.g., multiline, numberOfLines below
1059
+ * editable={true}
1060
+ * maxLength={40}
1061
+ * />
1062
+ * );
1063
+ * }
1064
+ * }
1065
+ *
1066
+ * export default class UselessTextInputMultiline extends Component {
1067
+ * constructor(props) {
1068
+ * super(props);
1069
+ * this.state = {
1070
+ * text: 'Useless Multiline Placeholder',
1071
+ * };
1072
+ * }
1073
+ *
1074
+ * // If you type something in the text box that is a color, the background will change to that
1075
+ * // color.
1076
+ * render() {
1077
+ * return (
1078
+ * <View style={{
1079
+ * backgroundColor: this.state.text,
1080
+ * borderBottomColor: '#000000',
1081
+ * borderBottomWidth: 1 }}
1082
+ * >
1083
+ * <UselessTextInput
1084
+ * multiline={true}
1085
+ * numberOfLines={4}
1086
+ * onChangeText={(text) => this.setState({text})}
1087
+ * value={this.state.text}
1088
+ * />
1089
+ * </View>
1090
+ * );
1091
+ * }
1092
+ * }
1093
+ *
1094
+ * // skip these lines if using Create React Native App
1095
+ * AppRegistry.registerComponent(
1096
+ * 'AwesomeProject',
1097
+ * () => UselessTextInputMultiline
1098
+ * );
1099
+ * ```
1100
+ *
1101
+ * `TextInput` has by default a border at the bottom of its view. This border
1102
+ * has its padding set by the background image provided by the system, and it
1103
+ * cannot be changed. Solutions to avoid this is to either not set height
1104
+ * explicitly, case in which the system will take care of displaying the border
1105
+ * in the correct position, or to not display the border by setting
1106
+ * `underlineColorAndroid` to transparent.
1107
+ *
1108
+ * Note that on Android performing text selection in input can change
1109
+ * app's activity `windowSoftInputMode` param to `adjustResize`.
1110
+ * This may cause issues with components that have position: 'absolute'
1111
+ * while keyboard is active. To avoid this behavior either specify `windowSoftInputMode`
1112
+ * in AndroidManifest.xml ( https://developer.android.com/guide/topics/manifest/activity-element.html )
1113
+ * or control this param programmatically with native code.
1114
+ *
1115
+ */
1116
+ function InternalTextInput(props: Props): React.Node {
1117
+ const {
1118
+ 'aria-busy': ariaBusy,
1119
+ 'aria-checked': ariaChecked,
1120
+ 'aria-disabled': ariaDisabled,
1121
+ 'aria-expanded': ariaExpanded,
1122
+ 'aria-selected': ariaSelected,
1123
+ 'aria-multiselectable': ariaMultiselectable, // Win32
1124
+ 'aria-required': ariaRequired, // Win32
1125
+ accessibilityState,
1126
+ id,
1127
+ tabIndex,
1128
+ selection: propsSelection,
1129
+ selectionColor,
1130
+ selectionHandleColor,
1131
+ cursorColor,
1132
+ ...otherProps
1133
+ } = props;
1134
+
1135
+ const inputRef = useRef<null | React.ElementRef<HostComponent<mixed>>>(null);
1136
+
1137
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1138
+ const selection: ?Selection =
1139
+ propsSelection == null
1140
+ ? null
1141
+ : {
1142
+ start: propsSelection.start,
1143
+ end: propsSelection.end ?? propsSelection.start,
1144
+ };
1145
+
1146
+ const [mostRecentEventCount, setMostRecentEventCount] = useState<number>(0);
1147
+ const [lastNativeText, setLastNativeText] = useState<?Stringish>(props.value);
1148
+ const [lastNativeSelectionState, setLastNativeSelection] = useState<{|
1149
+ selection: Selection,
1150
+ mostRecentEventCount: number,
1151
+ |}>({
1152
+ selection: {start: -1, end: -1},
1153
+ mostRecentEventCount: mostRecentEventCount,
1154
+ });
1155
+
1156
+ const lastNativeSelection = lastNativeSelectionState.selection;
1157
+
1158
+ let viewCommands;
1159
+ if (AndroidTextInputCommands) {
1160
+ viewCommands = AndroidTextInputCommands;
1161
+ }
1162
+ // [Windows
1163
+ else if (WindowsTextInputCommands) {
1164
+ viewCommands = WindowsTextInputCommands;
1165
+ }
1166
+ // Windows]
1167
+ else {
1168
+ viewCommands =
1169
+ props.multiline === true
1170
+ ? RCTMultilineTextInputNativeCommands
1171
+ : RCTSinglelineTextInputNativeCommands;
1172
+ }
1173
+
1174
+ const text =
1175
+ typeof props.value === 'string'
1176
+ ? props.value
1177
+ : typeof props.defaultValue === 'string'
1178
+ ? props.defaultValue
1179
+ : '';
1180
+
1181
+ // This is necessary in case native updates the text and JS decides
1182
+ // that the update should be ignored and we should stick with the value
1183
+ // that we have in JS.
1184
+ useLayoutEffect(() => {
1185
+ const nativeUpdate: {text?: string, selection?: Selection} = {};
1186
+
1187
+ if (lastNativeText !== props.value && typeof props.value === 'string') {
1188
+ nativeUpdate.text = props.value;
1189
+ setLastNativeText(props.value);
1190
+ }
1191
+
1192
+ if (
1193
+ selection &&
1194
+ lastNativeSelection &&
1195
+ (lastNativeSelection.start !== selection.start ||
1196
+ lastNativeSelection.end !== selection.end)
1197
+ ) {
1198
+ nativeUpdate.selection = selection;
1199
+ setLastNativeSelection({selection, mostRecentEventCount});
1200
+ }
1201
+
1202
+ if (Object.keys(nativeUpdate).length === 0) {
1203
+ return;
1204
+ }
1205
+
1206
+ if (inputRef.current != null) {
1207
+ viewCommands.setTextAndSelection(
1208
+ inputRef.current,
1209
+ mostRecentEventCount,
1210
+ text,
1211
+ selection?.start ?? -1,
1212
+ selection?.end ?? -1,
1213
+ );
1214
+ }
1215
+ }, [
1216
+ mostRecentEventCount,
1217
+ inputRef,
1218
+ props.value,
1219
+ props.defaultValue,
1220
+ lastNativeText,
1221
+ selection,
1222
+ lastNativeSelection,
1223
+ text,
1224
+ viewCommands,
1225
+ ]);
1226
+
1227
+ useLayoutEffect(() => {
1228
+ const inputRefValue = inputRef.current;
1229
+
1230
+ if (inputRefValue != null) {
1231
+ TextInputState.registerInput(inputRefValue);
1232
+
1233
+ return () => {
1234
+ TextInputState.unregisterInput(inputRefValue);
1235
+
1236
+ if (TextInputState.currentlyFocusedInput() === inputRefValue) {
1237
+ nullthrows(inputRefValue).blur();
1238
+ }
1239
+ };
1240
+ }
1241
+ }, [inputRef]);
1242
+
1243
+ const setLocalRef = useCallback(
1244
+ (instance: TextInputInstance | null) => {
1245
+ inputRef.current = instance;
1246
+
1247
+ /*
1248
+ Hi reader from the future. I'm sorry for this.
1249
+
1250
+ This is a hack. Ideally we would forwardRef to the underlying
1251
+ host component. However, since TextInput has it's own methods that can be
1252
+ called as well, if we used the standard forwardRef then these
1253
+ methods wouldn't be accessible and thus be a breaking change.
1254
+
1255
+ We have a couple of options of how to handle this:
1256
+ - Return a new ref with everything we methods from both. This is problematic
1257
+ because we need React to also know it is a host component which requires
1258
+ internals of the class implementation of the ref.
1259
+ - Break the API and have some other way to call one set of the methods or
1260
+ the other. This is our long term approach as we want to eventually
1261
+ get the methods on host components off the ref. So instead of calling
1262
+ ref.measure() you might call ReactNative.measure(ref). This would hopefully
1263
+ let the ref for TextInput then have the methods like `.clear`. Or we do it
1264
+ the other way and make it TextInput.clear(textInputRef) which would be fine
1265
+ too. Either way though is a breaking change that is longer term.
1266
+ - Mutate this ref. :( Gross, but accomplishes what we need in the meantime
1267
+ before we can get to the long term breaking change.
1268
+ */
1269
+ if (instance != null) {
1270
+ // $FlowFixMe[incompatible-use] - See the explanation above.
1271
+ Object.assign(instance, {
1272
+ clear(): void {
1273
+ if (inputRef.current != null) {
1274
+ viewCommands.setTextAndSelection(
1275
+ inputRef.current,
1276
+ mostRecentEventCount,
1277
+ '',
1278
+ 0,
1279
+ 0,
1280
+ );
1281
+ }
1282
+ },
1283
+ isFocused(): boolean {
1284
+ const currentlyFocusedInput = TextInputState.currentlyFocusedInput();
1285
+ return currentlyFocusedInput !== null && currentlyFocusedInput === inputRef.current;
1286
+ },
1287
+ getNativeRef(): ?React.ElementRef<HostComponent<mixed>> {
1288
+ return inputRef.current;
1289
+ },
1290
+ setSelection(start: number, end: number): void {
1291
+ if (inputRef.current != null) {
1292
+ viewCommands.setTextAndSelection(
1293
+ inputRef.current,
1294
+ mostRecentEventCount,
1295
+ null,
1296
+ start,
1297
+ end,
1298
+ );
1299
+ }
1300
+ },
1301
+ });
1302
+ }
1303
+ },
1304
+ [mostRecentEventCount, viewCommands],
1305
+ );
1306
+
1307
+ const ref = useMergeRefs<TextInputInstance>(setLocalRef, props.forwardedRef);
1308
+
1309
+ const _onChange = (event: ChangeEvent) => {
1310
+ const currentText = event.nativeEvent.text;
1311
+ props.onChange && props.onChange(event);
1312
+ props.onChangeText && props.onChangeText(currentText);
1313
+
1314
+ if (inputRef.current == null) {
1315
+ // calling `props.onChange` or `props.onChangeText`
1316
+ // may clean up the input itself. Exits here.
1317
+ return;
1318
+ }
1319
+
1320
+ setLastNativeText(currentText);
1321
+ // This must happen last, after we call setLastNativeText.
1322
+ // Different ordering can cause bugs when editing AndroidTextInputs
1323
+ // with multiple Fragments.
1324
+ // We must update this so that controlled input updates work.
1325
+ setMostRecentEventCount(event.nativeEvent.eventCount);
1326
+ };
1327
+
1328
+ const _onSelectionChange = (event: SelectionChangeEvent) => {
1329
+ props.onSelectionChange && props.onSelectionChange(event);
1330
+
1331
+ if (inputRef.current == null) {
1332
+ // calling `props.onSelectionChange`
1333
+ // may clean up the input itself. Exits here.
1334
+ return;
1335
+ }
1336
+
1337
+ setLastNativeSelection({
1338
+ selection: event.nativeEvent.selection,
1339
+ mostRecentEventCount,
1340
+ });
1341
+ };
1342
+
1343
+ const _onFocus = (event: FocusEvent) => {
1344
+ TextInputState.focusInput(inputRef.current);
1345
+ if (props.onFocus) {
1346
+ props.onFocus(event);
1347
+ }
1348
+ };
1349
+
1350
+ const _onBlur = (event: BlurEvent) => {
1351
+ TextInputState.blurInput(inputRef.current);
1352
+ if (props.onBlur) {
1353
+ props.onBlur(event);
1354
+ }
1355
+ };
1356
+
1357
+ const _onScroll = (event: ScrollEvent) => {
1358
+ props.onScroll && props.onScroll(event);
1359
+ };
1360
+
1361
+ let textInput = null;
1362
+
1363
+ const multiline = props.multiline ?? false;
1364
+
1365
+ let submitBehavior: SubmitBehavior;
1366
+ if (props.submitBehavior != null) {
1367
+ // `submitBehavior` is set explicitly
1368
+ if (!multiline && props.submitBehavior === 'newline') {
1369
+ // For single line text inputs, `'newline'` is not a valid option
1370
+ submitBehavior = 'blurAndSubmit';
1371
+ } else {
1372
+ submitBehavior = props.submitBehavior;
1373
+ }
1374
+ } else if (multiline) {
1375
+ if (props.blurOnSubmit === true) {
1376
+ submitBehavior = 'blurAndSubmit';
1377
+ } else {
1378
+ submitBehavior = 'newline';
1379
+ }
1380
+ } else {
1381
+ // Single line
1382
+ if (props.blurOnSubmit !== false) {
1383
+ submitBehavior = 'blurAndSubmit';
1384
+ } else {
1385
+ submitBehavior = 'submit';
1386
+ }
1387
+ }
1388
+
1389
+ const accessible = props.accessible !== false;
1390
+
1391
+ const accessibilityErrorMessage =
1392
+ props.accessibilityInvalid === true
1393
+ ? props.accessibilityErrorMessage
1394
+ : null;
1395
+
1396
+ const focusable = props.focusable !== false;
1397
+
1398
+ const {
1399
+ editable,
1400
+ hitSlop,
1401
+ onPress,
1402
+ onPressIn,
1403
+ onPressOut,
1404
+ rejectResponderTermination,
1405
+ } = props;
1406
+
1407
+ const config = React.useMemo(
1408
+ () => ({
1409
+ hitSlop,
1410
+ onPress: (event: PressEvent) => {
1411
+ onPress?.(event);
1412
+ if (editable !== false) {
1413
+ if (inputRef.current != null) {
1414
+ inputRef.current.focus();
1415
+ }
1416
+ }
1417
+ },
1418
+ onPressIn: onPressIn,
1419
+ onPressOut: onPressOut,
1420
+ cancelable: Platform.OS === 'ios' ? !rejectResponderTermination : null,
1421
+ }),
1422
+ [
1423
+ editable,
1424
+ hitSlop,
1425
+ onPress,
1426
+ onPressIn,
1427
+ onPressOut,
1428
+ rejectResponderTermination,
1429
+ ],
1430
+ );
1431
+
1432
+ // Hide caret during test runs due to a flashing caret
1433
+ // makes screenshot tests flakey
1434
+ let caretHidden = props.caretHidden;
1435
+ if (Platform.isTesting) {
1436
+ caretHidden = true;
1437
+ }
1438
+
1439
+ // TextInput handles onBlur and onFocus events
1440
+ // so omitting onBlur and onFocus pressability handlers here.
1441
+ const {onBlur, onFocus, ...eventHandlers} = usePressability(config) || {};
1442
+ const eventPhase = Object.freeze({Capturing: 1, Bubbling: 3});
1443
+ const _keyDown = (event: KeyEvent) => {
1444
+ if (props.keyDownEvents && event.isPropagationStopped() !== true) {
1445
+ // $FlowFixMe - keyDownEvents was already checked to not be undefined
1446
+ for (const el of props.keyDownEvents) {
1447
+ if (
1448
+ event.nativeEvent.code === el.code &&
1449
+ el.handledEventPhase === eventPhase.Bubbling
1450
+ ) {
1451
+ event.stopPropagation();
1452
+ }
1453
+ }
1454
+ }
1455
+ props.onKeyDown && props.onKeyDown(event);
1456
+ };
1457
+
1458
+ const _keyUp = (event: KeyEvent) => {
1459
+ if (props.keyUpEvents && event.isPropagationStopped() !== true) {
1460
+ // $FlowFixMe - keyDownEvents was already checked to not be undefined
1461
+ for (const el of props.keyUpEvents) {
1462
+ if (event.nativeEvent.code === el.code && el.handledEventPhase === 3) {
1463
+ event.stopPropagation();
1464
+ }
1465
+ }
1466
+ }
1467
+ props.onKeyUp && props.onKeyUp(event);
1468
+ };
1469
+
1470
+ const _keyDownCapture = (event: KeyEvent) => {
1471
+ if (props.keyDownEvents && event.isPropagationStopped() !== true) {
1472
+ // $FlowFixMe - keyDownEvents was already checked to not be undefined
1473
+ for (const el of props.keyDownEvents) {
1474
+ if (event.nativeEvent.code === el.code && el.handledEventPhase === 1) {
1475
+ event.stopPropagation();
1476
+ }
1477
+ }
1478
+ }
1479
+ props.onKeyDownCapture && props.onKeyDownCapture(event);
1480
+ };
1481
+
1482
+ const _keyUpCapture = (event: KeyEvent) => {
1483
+ if (props.keyUpEvents && event.isPropagationStopped() !== true) {
1484
+ // $FlowFixMe - keyDownEvents was already checked to not be undefined
1485
+ for (const el of props.keyUpEvents) {
1486
+ if (event.nativeEvent.code === el.code && el.handledEventPhase === 1) {
1487
+ event.stopPropagation();
1488
+ }
1489
+ }
1490
+ }
1491
+ props.onKeyUpCapture && props.onKeyUpCapture(event);
1492
+ };
1493
+
1494
+ let _accessibilityState;
1495
+ if (
1496
+ accessibilityState != null ||
1497
+ ariaBusy != null ||
1498
+ ariaChecked != null ||
1499
+ ariaDisabled != null ||
1500
+ ariaExpanded != null ||
1501
+ ariaMultiselectable != null ||
1502
+ ariaRequired != null ||
1503
+ ariaSelected != null
1504
+ ) {
1505
+ _accessibilityState = {
1506
+ busy: ariaBusy ?? accessibilityState?.busy,
1507
+ checked: ariaChecked ?? accessibilityState?.checked,
1508
+ disabled: ariaDisabled ?? accessibilityState?.disabled,
1509
+ expanded: ariaExpanded ?? accessibilityState?.expanded,
1510
+ multiselectable:
1511
+ ariaMultiselectable ?? accessibilityState?.multiselectable, // Win32
1512
+ required: ariaRequired ?? accessibilityState?.required, // Win32
1513
+ selected: ariaSelected ?? accessibilityState?.selected,
1514
+ };
1515
+ }
1516
+
1517
+ const style = flattenStyle<TextStyleProp>(props.style);
1518
+
1519
+ if (typeof style?.fontWeight === 'number') {
1520
+ // $FlowFixMe[prop-missing]
1521
+ // $FlowFixMe[cannot-write]
1522
+ style.fontWeight = style?.fontWeight.toString();
1523
+ }
1524
+
1525
+ if (Platform.OS === 'ios') {
1526
+ const RCTTextInputView =
1527
+ props.multiline === true
1528
+ ? RCTMultilineTextInputView
1529
+ : RCTSinglelineTextInputView;
1530
+
1531
+ const useMultilineDefaultStyle =
1532
+ props.multiline === true &&
1533
+ (style == null ||
1534
+ (style.padding == null &&
1535
+ style.paddingVertical == null &&
1536
+ style.paddingTop == null));
1537
+
1538
+ textInput = (
1539
+ <RCTTextInputView
1540
+ // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1541
+ ref={ref}
1542
+ {...otherProps}
1543
+ {...eventHandlers}
1544
+ accessibilityErrorMessage={accessibilityErrorMessage}
1545
+ accessibilityState={_accessibilityState}
1546
+ accessible={accessible}
1547
+ submitBehavior={submitBehavior}
1548
+ caretHidden={caretHidden}
1549
+ dataDetectorTypes={props.dataDetectorTypes}
1550
+ focusable={tabIndex !== undefined ? !tabIndex : focusable}
1551
+ mostRecentEventCount={mostRecentEventCount}
1552
+ nativeID={id ?? props.nativeID}
1553
+ onBlur={_onBlur}
1554
+ onChange={_onChange}
1555
+ onContentSizeChange={props.onContentSizeChange}
1556
+ onFocus={_onFocus}
1557
+ onScroll={_onScroll}
1558
+ onSelectionChange={_onSelectionChange}
1559
+ onSelectionChangeShouldSetResponder={emptyFunctionThatReturnsTrue}
1560
+ selection={selection}
1561
+ selectionColor={selectionColor}
1562
+ style={StyleSheet.compose(
1563
+ useMultilineDefaultStyle ? styles.multilineDefault : null,
1564
+ style,
1565
+ )}
1566
+ text={text}
1567
+ />
1568
+ );
1569
+ } else if (Platform.OS === 'android') {
1570
+ const autoCapitalize = props.autoCapitalize || 'sentences';
1571
+ const _accessibilityLabelledBy =
1572
+ props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;
1573
+ const placeholder = props.placeholder ?? '';
1574
+ let children = props.children;
1575
+ const childCount = React.Children.count(children);
1576
+ invariant(
1577
+ !(props.value != null && childCount),
1578
+ 'Cannot specify both value and children.',
1579
+ );
1580
+ if (childCount > 1) {
1581
+ children = <Text>{children}</Text>;
1582
+ }
1583
+ // For consistency with iOS set cursor/selectionHandle color as selectionColor
1584
+ const colorProps = {
1585
+ selectionColor,
1586
+ selectionHandleColor:
1587
+ selectionHandleColor === undefined
1588
+ ? selectionColor
1589
+ : selectionHandleColor,
1590
+ cursorColor: cursorColor === undefined ? selectionColor : cursorColor,
1591
+ };
1592
+ textInput = (
1593
+ /* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match up
1594
+ * exactly with the props for TextInput. This will need to get fixed */
1595
+ /* $FlowFixMe[incompatible-type] the types for AndroidTextInput don't
1596
+ * match up exactly with the props for TextInput. This will need to get
1597
+ * fixed */
1598
+ /* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput don't
1599
+ * match up exactly with the props for TextInput. This will need to get
1600
+ * fixed */
1601
+ <AndroidTextInput
1602
+ // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1603
+ ref={ref}
1604
+ {...otherProps}
1605
+ {...colorProps}
1606
+ {...eventHandlers}
1607
+ accessibilityErrorMessage={accessibilityErrorMessage}
1608
+ accessibilityState={_accessibilityState}
1609
+ accessibilityLabelledBy={_accessibilityLabelledBy}
1610
+ accessible={accessible}
1611
+ autoCapitalize={autoCapitalize}
1612
+ submitBehavior={submitBehavior}
1613
+ caretHidden={caretHidden}
1614
+ children={children}
1615
+ disableFullscreenUI={props.disableFullscreenUI}
1616
+ focusable={tabIndex !== undefined ? !tabIndex : focusable}
1617
+ mostRecentEventCount={mostRecentEventCount}
1618
+ nativeID={id ?? props.nativeID}
1619
+ numberOfLines={props.rows ?? props.numberOfLines}
1620
+ onBlur={_onBlur}
1621
+ onChange={_onChange}
1622
+ onFocus={_onFocus}
1623
+ /* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match
1624
+ * up exactly with the props for TextInput. This will need to get fixed
1625
+ */
1626
+ /* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput
1627
+ * don't match up exactly with the props for TextInput. This will need
1628
+ * to get fixed */
1629
+ onScroll={_onScroll}
1630
+ onSelectionChange={_onSelectionChange}
1631
+ placeholder={placeholder}
1632
+ style={style}
1633
+ text={text}
1634
+ textBreakStrategy={props.textBreakStrategy}
1635
+ />
1636
+ );
1637
+ } // [Windows
1638
+ else if (Platform.OS === 'win32') {
1639
+ textInput = (
1640
+ <WindowsTextInput
1641
+ // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1642
+ ref={ref}
1643
+ {...props}
1644
+ accessible={accessible}
1645
+ focusable={focusable}
1646
+ dataDetectorTypes={props.dataDetectorTypes}
1647
+ mostRecentEventCount={mostRecentEventCount}
1648
+ onBlur={_onBlur}
1649
+ onChange={_onChange}
1650
+ onContentSizeChange={props.onContentSizeChange}
1651
+ onFocus={_onFocus}
1652
+ onScroll={_onScroll}
1653
+ onSelectionChange={_onSelectionChange}
1654
+ onSelectionChangeShouldSetResponder={emptyFunctionThatReturnsTrue}
1655
+ selection={selection}
1656
+ text={text}
1657
+ onKeyDown={_keyDown}
1658
+ onKeyDownCapture={_keyDownCapture}
1659
+ onKeyUp={_keyUp}
1660
+ onKeyUpCapture={_keyUpCapture}
1661
+ />
1662
+ );
1663
+ } // Windows]
1664
+ return (
1665
+ <TextAncestor.Provider value={true}>{textInput}</TextAncestor.Provider>
1666
+ );
1667
+ }
1668
+
1669
+ const enterKeyHintToReturnTypeMap = {
1670
+ enter: 'default',
1671
+ done: 'done',
1672
+ go: 'go',
1673
+ next: 'next',
1674
+ previous: 'previous',
1675
+ search: 'search',
1676
+ send: 'send',
1677
+ };
1678
+
1679
+ const inputModeToKeyboardTypeMap = {
1680
+ none: 'default',
1681
+ text: 'default',
1682
+ decimal: 'decimal-pad',
1683
+ numeric: 'number-pad',
1684
+ tel: 'phone-pad',
1685
+ search: Platform.OS === 'ios' ? 'web-search' : 'default',
1686
+ email: 'email-address',
1687
+ url: 'url',
1688
+ };
1689
+
1690
+ // Map HTML autocomplete values to Android autoComplete values
1691
+ const autoCompleteWebToAutoCompleteAndroidMap = {
1692
+ 'address-line1': 'postal-address-region',
1693
+ 'address-line2': 'postal-address-locality',
1694
+ bday: 'birthdate-full',
1695
+ 'bday-day': 'birthdate-day',
1696
+ 'bday-month': 'birthdate-month',
1697
+ 'bday-year': 'birthdate-year',
1698
+ 'cc-csc': 'cc-csc',
1699
+ 'cc-exp': 'cc-exp',
1700
+ 'cc-exp-month': 'cc-exp-month',
1701
+ 'cc-exp-year': 'cc-exp-year',
1702
+ 'cc-number': 'cc-number',
1703
+ country: 'postal-address-country',
1704
+ 'current-password': 'password',
1705
+ email: 'email',
1706
+ 'honorific-prefix': 'name-prefix',
1707
+ 'honorific-suffix': 'name-suffix',
1708
+ name: 'name',
1709
+ 'additional-name': 'name-middle',
1710
+ 'family-name': 'name-family',
1711
+ 'given-name': 'name-given',
1712
+ 'new-password': 'password-new',
1713
+ off: 'off',
1714
+ 'one-time-code': 'sms-otp',
1715
+ 'postal-code': 'postal-code',
1716
+ sex: 'gender',
1717
+ 'street-address': 'street-address',
1718
+ tel: 'tel',
1719
+ 'tel-country-code': 'tel-country-code',
1720
+ 'tel-national': 'tel-national',
1721
+ username: 'username',
1722
+ };
1723
+
1724
+ // Map HTML autocomplete values to iOS textContentType values
1725
+ const autoCompleteWebToTextContentTypeMap = {
1726
+ 'address-line1': 'streetAddressLine1',
1727
+ 'address-line2': 'streetAddressLine2',
1728
+ bday: 'birthdate',
1729
+ 'bday-day': 'birthdateDay',
1730
+ 'bday-month': 'birthdateMonth',
1731
+ 'bday-year': 'birthdateYear',
1732
+ 'cc-csc': 'creditCardSecurityCode',
1733
+ 'cc-exp-month': 'creditCardExpirationMonth',
1734
+ 'cc-exp-year': 'creditCardExpirationYear',
1735
+ 'cc-exp': 'creditCardExpiration',
1736
+ 'cc-given-name': 'creditCardGivenName',
1737
+ 'cc-additional-name': 'creditCardMiddleName',
1738
+ 'cc-family-name': 'creditCardFamilyName',
1739
+ 'cc-name': 'creditCardName',
1740
+ 'cc-number': 'creditCardNumber',
1741
+ 'cc-type': 'creditCardType',
1742
+ 'current-password': 'password',
1743
+ country: 'countryName',
1744
+ email: 'emailAddress',
1745
+ name: 'name',
1746
+ 'additional-name': 'middleName',
1747
+ 'family-name': 'familyName',
1748
+ 'given-name': 'givenName',
1749
+ nickname: 'nickname',
1750
+ 'honorific-prefix': 'namePrefix',
1751
+ 'honorific-suffix': 'nameSuffix',
1752
+ 'new-password': 'newPassword',
1753
+ off: 'none',
1754
+ 'one-time-code': 'oneTimeCode',
1755
+ organization: 'organizationName',
1756
+ 'organization-title': 'jobTitle',
1757
+ 'postal-code': 'postalCode',
1758
+ 'street-address': 'fullStreetAddress',
1759
+ tel: 'telephoneNumber',
1760
+ url: 'URL',
1761
+ username: 'username',
1762
+ };
1763
+
1764
+ const ExportedForwardRef: React.AbstractComponent<
1765
+ React.ElementConfig<typeof InternalTextInput>,
1766
+ TextInputInstance,
1767
+ // $FlowFixMe[incompatible-call]
1768
+ > = React.forwardRef(function TextInput(
1769
+ {
1770
+ allowFontScaling = true,
1771
+ rejectResponderTermination = true,
1772
+ underlineColorAndroid = 'transparent',
1773
+ autoComplete,
1774
+ textContentType,
1775
+ readOnly,
1776
+ editable,
1777
+ enterKeyHint,
1778
+ returnKeyType,
1779
+ inputMode,
1780
+ showSoftInputOnFocus,
1781
+ keyboardType,
1782
+ ...restProps
1783
+ },
1784
+ forwardedRef: ReactRefSetter<TextInputInstance>,
1785
+ ) {
1786
+ // $FlowFixMe[underconstrained-implicit-instantiation]
1787
+ let style = flattenStyle(restProps.style);
1788
+
1789
+ if (style?.verticalAlign != null) {
1790
+ // $FlowFixMe[prop-missing]
1791
+ // $FlowFixMe[cannot-write]
1792
+ style.textAlignVertical =
1793
+ // $FlowFixMe[invalid-computed-prop]
1794
+ verticalAlignToTextAlignVerticalMap[style.verticalAlign];
1795
+ // $FlowFixMe[prop-missing]
1796
+ // $FlowFixMe[cannot-write]
1797
+ delete style.verticalAlign;
1798
+ }
1799
+
1800
+ return (
1801
+ <InternalTextInput
1802
+ allowFontScaling={allowFontScaling}
1803
+ rejectResponderTermination={rejectResponderTermination}
1804
+ underlineColorAndroid={underlineColorAndroid}
1805
+ editable={readOnly !== undefined ? !readOnly : editable}
1806
+ returnKeyType={
1807
+ enterKeyHint ? enterKeyHintToReturnTypeMap[enterKeyHint] : returnKeyType
1808
+ }
1809
+ keyboardType={
1810
+ inputMode ? inputModeToKeyboardTypeMap[inputMode] : keyboardType
1811
+ }
1812
+ showSoftInputOnFocus={
1813
+ inputMode == null ? showSoftInputOnFocus : inputMode !== 'none'
1814
+ }
1815
+ autoComplete={
1816
+ Platform.OS === 'android'
1817
+ ? // $FlowFixMe
1818
+ autoCompleteWebToAutoCompleteAndroidMap[autoComplete] ??
1819
+ autoComplete
1820
+ : undefined
1821
+ }
1822
+ textContentType={
1823
+ textContentType != null
1824
+ ? textContentType
1825
+ : Platform.OS === 'ios' &&
1826
+ autoComplete &&
1827
+ autoComplete in autoCompleteWebToTextContentTypeMap
1828
+ ? // $FlowFixMe[invalid-computed-prop]
1829
+ // $FlowFixMe[prop-missing]
1830
+ autoCompleteWebToTextContentTypeMap[autoComplete]
1831
+ : textContentType
1832
+ }
1833
+ {...restProps}
1834
+ forwardedRef={forwardedRef}
1835
+ style={style}
1836
+ />
1837
+ );
1838
+ });
1839
+
1840
+ ExportedForwardRef.displayName = 'TextInput';
1841
+
1842
+ // $FlowFixMe[prop-missing]
1843
+ ExportedForwardRef.State = {
1844
+ currentlyFocusedInput: TextInputState.currentlyFocusedInput,
1845
+
1846
+ currentlyFocusedField: TextInputState.currentlyFocusedField,
1847
+ focusTextInput: TextInputState.focusTextInput,
1848
+ blurTextInput: TextInputState.blurTextInput,
1849
+ };
1850
+
1851
+ export type TextInputComponentStatics = $ReadOnly<{|
1852
+ State: $ReadOnly<{|
1853
+ currentlyFocusedInput: typeof TextInputState.currentlyFocusedInput,
1854
+ currentlyFocusedField: typeof TextInputState.currentlyFocusedField,
1855
+ focusTextInput: typeof TextInputState.focusTextInput,
1856
+ blurTextInput: typeof TextInputState.blurTextInput,
1857
+ |}>,
1858
+ |}>;
1859
+
1860
+ const styles = StyleSheet.create({
1861
+ multilineDefault: {
1862
+ // This default top inset makes RCTMultilineTextInputView seem as close as possible
1863
+ // to single-line RCTSinglelineTextInputView defaults, using the system defaults
1864
+ // of font size 17 and a height of 31 points.
1865
+ paddingTop: 5,
1866
+ },
1867
+ });
1868
+
1869
+ const verticalAlignToTextAlignVerticalMap = {
1870
+ auto: 'auto',
1871
+ top: 'top',
1872
+ bottom: 'bottom',
1873
+ middle: 'center',
1874
+ };
1875
+
1876
+ // $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.
1877
+ module.exports = ((ExportedForwardRef: any): TextInputType);