@office-iss/react-native-win32 0.0.0-canary.29 → 0.0.0-canary.291

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