@office-iss/react-native-win32 0.73.2 → 0.74.0-preview.2

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 (475) hide show
  1. package/.eslintignore +1 -1
  2. package/.flowconfig +11 -3
  3. package/CHANGELOG.json +426 -54
  4. package/CHANGELOG.md +165 -30
  5. package/IntegrationTests/AccessibilityManagerTest.js +2 -2
  6. package/IntegrationTests/AppEventsTest.js +2 -2
  7. package/IntegrationTests/LayoutEventsTest.js +8 -10
  8. package/IntegrationTests/LoggingTestModule.js +1 -2
  9. package/IntegrationTests/websocket_integration_test_server.js +1 -1
  10. package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
  11. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
  12. package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
  13. package/Libraries/Alert/NativeAlertManager.js +4 -26
  14. package/Libraries/Animated/Animated.js +2 -2
  15. package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
  16. package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
  17. package/Libraries/Animated/NativeAnimatedHelper.win32.js +14 -11
  18. package/Libraries/Animated/NativeAnimatedModule.js +4 -68
  19. package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
  20. package/Libraries/Animated/animations/Animation.js +6 -22
  21. package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
  22. package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
  23. package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
  24. package/Libraries/Animated/createAnimatedComponent.js +45 -40
  25. package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
  26. package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
  27. package/Libraries/Animated/useAnimatedProps.js +21 -1
  28. package/Libraries/AppState/NativeAppState.js +4 -24
  29. package/Libraries/BatchedBridge/NativeModules.js +1 -1
  30. package/Libraries/Blob/Blob.js +1 -4
  31. package/Libraries/Blob/BlobManager.js +6 -8
  32. package/Libraries/Blob/File.js +1 -1
  33. package/Libraries/Blob/NativeBlobModule.js +4 -50
  34. package/Libraries/Blob/NativeFileReaderModule.js +4 -13
  35. package/Libraries/BugReporting/NativeBugReporting.js +4 -12
  36. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +5 -1
  37. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +48 -7
  38. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
  39. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +11 -0
  40. package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
  41. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
  42. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +3 -2
  43. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
  44. package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
  45. package/Libraries/Components/Button/ButtonWin32.Props.d.ts +36 -36
  46. package/Libraries/Components/Button/ButtonWin32.Props.js +2 -2
  47. package/Libraries/Components/Button/ButtonWin32.Props.js.map +1 -1
  48. package/Libraries/Components/Button/ButtonWin32.d.ts +19 -19
  49. package/Libraries/Components/Button/ButtonWin32.js +82 -82
  50. package/Libraries/Components/Button/ButtonWin32.js.map +1 -1
  51. package/Libraries/Components/Button.js +103 -107
  52. package/Libraries/Components/Button.win32.js +297 -301
  53. package/Libraries/Components/Clipboard/NativeClipboard.js +3 -11
  54. package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
  55. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
  56. package/Libraries/Components/EnterString.win32.d.ts +12 -12
  57. package/Libraries/Components/EnterString.win32.js +81 -81
  58. package/Libraries/Components/EnterString.win32.js.map +1 -1
  59. package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
  60. package/Libraries/Components/Pressable/Pressable.js +1 -1
  61. package/Libraries/Components/Pressable/Pressable.win32.js +1 -1
  62. package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
  63. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
  64. package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
  65. package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
  66. package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
  67. package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
  68. package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
  69. package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
  70. package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
  71. package/Libraries/Components/ScrollView/ScrollView.js +12 -38
  72. package/Libraries/Components/ScrollView/ScrollView.win32.js +12 -38
  73. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
  74. package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
  75. package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
  76. package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
  77. package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
  78. package/Libraries/Components/Switch/Switch.js +0 -2
  79. package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
  80. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
  81. package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
  82. package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
  83. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
  84. package/Libraries/Components/TextInput/Tests/TextInputTest.d.ts +8 -8
  85. package/Libraries/Components/TextInput/Tests/TextInputTest.js +127 -127
  86. package/Libraries/Components/TextInput/Tests/TextInputTest.js.map +1 -1
  87. package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
  88. package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
  89. package/Libraries/Components/TextInput/TextInput.js +65 -32
  90. package/Libraries/Components/TextInput/TextInput.win32.js +70 -37
  91. package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
  92. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  93. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.d.ts +8 -8
  94. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js +343 -344
  95. package/Libraries/Components/Touchable/Tests/TouchableWin32Test.js.map +1 -1
  96. package/Libraries/Components/Touchable/Touchable.js +2 -3
  97. package/Libraries/Components/Touchable/Touchable.win32.js +2 -3
  98. package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
  99. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
  100. package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
  101. package/Libraries/Components/Touchable/TouchableWin32.Props.d.ts +37 -37
  102. package/Libraries/Components/Touchable/TouchableWin32.Props.js +2 -2
  103. package/Libraries/Components/Touchable/TouchableWin32.Props.js.map +1 -1
  104. package/Libraries/Components/Touchable/TouchableWin32.Types.d.ts +114 -114
  105. package/Libraries/Components/Touchable/TouchableWin32.Types.js +2 -2
  106. package/Libraries/Components/Touchable/TouchableWin32.Types.js.map +1 -1
  107. package/Libraries/Components/Touchable/TouchableWin32.d.ts +91 -91
  108. package/Libraries/Components/Touchable/TouchableWin32.js +506 -506
  109. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  110. package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
  111. package/Libraries/Components/View/ReactNativeStyleAttributes.js +2 -1
  112. package/Libraries/Components/View/View.js +0 -11
  113. package/Libraries/Components/View/View.win32.js +18 -17
  114. package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  115. package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  116. package/Libraries/Components/View/ViewPropTypes.js +36 -36
  117. package/Libraries/Components/View/ViewPropTypes.win32.js +36 -36
  118. package/Libraries/Core/InitializeCore.js +1 -1
  119. package/Libraries/Core/NativeExceptionsManager.js +3 -93
  120. package/Libraries/Core/ReactNativeVersion.js +12 -6
  121. package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
  122. package/Libraries/Core/ReactNativeVersionCheck.win32.js +6 -6
  123. package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
  124. package/Libraries/Core/Timers/NativeTiming.js +3 -16
  125. package/Libraries/Core/registerCallableModule.d.ts +16 -0
  126. package/Libraries/Core/registerCallableModule.js +42 -0
  127. package/Libraries/Core/setUpPerformance.js +2 -2
  128. package/Libraries/Core/setUpPerformanceObserver.js +3 -1
  129. package/Libraries/Debugging/DebuggingOverlay.js +111 -0
  130. package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
  131. package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
  132. package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
  133. package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
  134. package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
  135. package/Libraries/Image/AssetSourceResolver.js +5 -5
  136. package/Libraries/Image/AssetUtils.js +4 -5
  137. package/Libraries/Image/Image.android.js +146 -174
  138. package/Libraries/Image/Image.d.ts +1 -1
  139. package/Libraries/Image/Image.ios.js +53 -79
  140. package/Libraries/Image/Image.win32.js +52 -74
  141. package/Libraries/Image/ImageBackground.js +2 -2
  142. package/Libraries/Image/ImageInjection.js +76 -18
  143. package/Libraries/Image/ImageTypes.d.ts +25 -25
  144. package/Libraries/Image/ImageTypes.flow.js +71 -0
  145. package/Libraries/Image/ImageTypes.js +7 -7
  146. package/Libraries/Image/ImageTypes.js.map +1 -1
  147. package/Libraries/Image/ImageUtils.js +1 -1
  148. package/Libraries/Image/ImageViewNativeComponent.js +18 -0
  149. package/Libraries/Image/NativeImageEditor.js +3 -42
  150. package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
  151. package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
  152. package/Libraries/Image/NativeImageLoaderWin32.js +4 -36
  153. package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
  154. package/Libraries/Image/NativeImageStoreIOS.js +3 -23
  155. package/Libraries/Image/Tests/ImageWin32Test.d.ts +8 -8
  156. package/Libraries/Image/Tests/ImageWin32Test.js +21 -21
  157. package/Libraries/Image/Tests/ImageWin32Test.js.map +1 -1
  158. package/Libraries/Image/resolveAssetSource.js +59 -26
  159. package/Libraries/Inspector/ElementProperties.js +26 -52
  160. package/Libraries/Inspector/Inspector.js +122 -186
  161. package/Libraries/Inspector/Inspector.win32.js +118 -185
  162. package/Libraries/Inspector/InspectorOverlay.js +21 -33
  163. package/Libraries/Inspector/InspectorOverlay.win32.js +22 -33
  164. package/Libraries/Inspector/InspectorPanel.js +3 -17
  165. package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
  166. package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
  167. package/Libraries/Interaction/FrameRateLogger.js +8 -18
  168. package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
  169. package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
  170. package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
  171. package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
  172. package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
  173. package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
  174. package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
  175. package/Libraries/Linking/NativeIntentAndroid.js +3 -20
  176. package/Libraries/Linking/NativeLinkingManager.js +3 -17
  177. package/Libraries/Lists/FillRateHelper.js +1 -1
  178. package/Libraries/Lists/FlatList.d.ts +2 -2
  179. package/Libraries/Lists/FlatList.js +6 -2
  180. package/Libraries/Lists/SectionList.d.ts +6 -1
  181. package/Libraries/Lists/ViewabilityHelper.js +1 -1
  182. package/Libraries/Lists/VirtualizeUtils.js +1 -1
  183. package/Libraries/Lists/VirtualizedList.js +1 -1
  184. package/Libraries/Lists/VirtualizedListContext.js +1 -1
  185. package/Libraries/Lists/VirtualizedSectionList.js +1 -1
  186. package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
  187. package/Libraries/Modal/Modal.js +43 -11
  188. package/Libraries/Modal/NativeModalManager.js +3 -11
  189. package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
  190. package/Libraries/MutationObserver/MutationObserver.js +1 -1
  191. package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
  192. package/Libraries/MutationObserver/MutationRecord.js +12 -10
  193. package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
  194. package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
  195. package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
  196. package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
  197. package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
  198. package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
  199. package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
  200. package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
  201. package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
  202. package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
  203. package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
  204. package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
  205. package/Libraries/Network/FormData.js +3 -1
  206. package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
  207. package/Libraries/Network/NativeNetworkingIOS.js +4 -28
  208. package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
  209. package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
  210. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  211. package/Libraries/PersonaCoin/PersonaCoin.d.ts +3 -3
  212. package/Libraries/PersonaCoin/PersonaCoin.js +14 -14
  213. package/Libraries/PersonaCoin/PersonaCoin.js.map +1 -1
  214. package/Libraries/PersonaCoin/PersonaCoinPropTypes.d.ts +2 -2
  215. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js +19 -19
  216. package/Libraries/PersonaCoin/PersonaCoinPropTypes.js.map +1 -1
  217. package/Libraries/PersonaCoin/PersonaCoinTypes.d.ts +33 -33
  218. package/Libraries/PersonaCoin/PersonaCoinTypes.js +23 -23
  219. package/Libraries/PersonaCoin/PersonaCoinTypes.js.map +1 -1
  220. package/Libraries/Pressability/Pressability.js +12 -2
  221. package/Libraries/Pressability/Pressability.win32.js +12 -2
  222. package/Libraries/Pressability/usePressability.js +7 -0
  223. package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
  224. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
  225. package/Libraries/ReactNative/AppContainer-dev.js +211 -0
  226. package/Libraries/ReactNative/AppContainer-prod.js +53 -0
  227. package/Libraries/ReactNative/AppContainer.js +6 -149
  228. package/Libraries/ReactNative/AppRegistry.js +3 -1
  229. package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
  230. package/Libraries/ReactNative/FabricUIManager.js +6 -0
  231. package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
  232. package/Libraries/ReactNative/NativeI18nManager.js +3 -18
  233. package/Libraries/ReactNative/NativeUIManager.js +4 -112
  234. package/Libraries/ReactNative/PaperUIManager.js +8 -7
  235. package/Libraries/ReactNative/PaperUIManager.win32.js +26 -7
  236. package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
  237. package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
  238. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
  239. package/Libraries/ReactNative/RendererImplementation.js +11 -0
  240. package/Libraries/ReactNative/UIManager.d.ts +11 -34
  241. package/Libraries/ReactNative/UIManager.js +2 -23
  242. package/Libraries/ReactNative/UIManagerProperties.js +0 -2
  243. package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
  244. package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
  245. package/Libraries/ReactNative/renderApplication.js +9 -6
  246. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
  247. package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
  248. package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
  249. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
  250. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
  251. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
  252. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
  253. package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
  254. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
  255. package/Libraries/Settings/NativeSettingsManager.js +4 -16
  256. package/Libraries/Share/NativeShareModule.js +3 -13
  257. package/Libraries/StyleSheet/PlatformColorValueTypes.win32.js +1 -1
  258. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  259. package/Libraries/StyleSheet/PlatformColorValueTypesWin32.js +1 -1
  260. package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
  261. package/Libraries/StyleSheet/StyleSheet.js +5 -28
  262. package/Libraries/StyleSheet/StyleSheet.win32.js +5 -28
  263. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +51 -7
  264. package/Libraries/StyleSheet/StyleSheetTypes.js +19 -11
  265. package/Libraries/StyleSheet/flattenStyle.js +2 -2
  266. package/Libraries/StyleSheet/normalizeColor.js +1 -1
  267. package/Libraries/StyleSheet/processAspectRatio.js +1 -1
  268. package/Libraries/StyleSheet/processFontVariant.js +1 -1
  269. package/Libraries/Text/Text.d.ts +5 -6
  270. package/Libraries/Text/Text.js +0 -6
  271. package/Libraries/Text/Text.win32.js +0 -6
  272. package/Libraries/Text/TextAncestor.js +2 -3
  273. package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
  274. package/Libraries/Types/ReactDevToolsTypes.js +58 -0
  275. package/Libraries/Types/UIManagerJSInterface.js +16 -0
  276. package/Libraries/Utilities/DebugEnvironment.js +1 -4
  277. package/Libraries/Utilities/Dimensions.js +8 -16
  278. package/Libraries/Utilities/Dimensions.win32.js +8 -16
  279. package/Libraries/Utilities/FocusManager.win32.js +2 -0
  280. package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
  281. package/Libraries/Utilities/NativeAppearance.js +3 -26
  282. package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
  283. package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
  284. package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
  285. package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
  286. package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
  287. package/Libraries/Utilities/PixelRatio.d.ts +4 -4
  288. package/Libraries/Utilities/Platform.android.js +4 -0
  289. package/Libraries/Utilities/Platform.d.ts +3 -0
  290. package/Libraries/Utilities/Platform.flow.js +7 -0
  291. package/Libraries/Utilities/Platform.flow.win32.js +18 -5
  292. package/Libraries/Utilities/Platform.ios.js +11 -0
  293. package/Libraries/Utilities/Platform.win32.js +9 -1
  294. package/Libraries/Utilities/binaryToBase64.js +1 -1
  295. package/Libraries/Utilities/codegenNativeComponent.js +4 -6
  296. package/Libraries/Utilities/createPerformanceLogger.js +2 -74
  297. package/Libraries/Utilities/useMergeRefs.js +5 -9
  298. package/Libraries/Vibration/NativeVibration.js +3 -14
  299. package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
  300. package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
  301. package/Libraries/platform-types.d.ts +2 -3
  302. package/Libraries/vendor/emitter/EventEmitter.js +1 -0
  303. package/babel.config.js +1 -1
  304. package/flow/jest.js +1 -1
  305. package/flow/react.js +15 -0
  306. package/index.js +61 -99
  307. package/index.win32.js +60 -101
  308. package/jest/assetFileTransformer.js +1 -1
  309. package/jest/local-setup.js +0 -5
  310. package/jest/mockModal.js +2 -1
  311. package/jest/mockScrollView.js +1 -2
  312. package/jest/renderer.js +1 -1
  313. package/jest/setup.js +6 -3
  314. package/jest.config.js +2 -1
  315. package/overrides.json +152 -131
  316. package/package.json +27 -26
  317. package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
  318. package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
  319. package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
  320. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
  321. package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
  322. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
  323. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
  324. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
  325. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
  326. package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
  327. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
  328. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
  329. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
  330. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
  331. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
  332. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
  333. package/src/private/specs/components/SwitchNativeComponent.js +61 -0
  334. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
  335. package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
  336. package/src/private/specs/modules/NativeAccessibilityInfoWin32.js +39 -0
  337. package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
  338. package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
  339. package/src/private/specs/modules/NativeAlertManager.js +35 -0
  340. package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
  341. package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
  342. package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
  343. package/src/private/specs/modules/NativeAppState.js +33 -0
  344. package/src/private/specs/modules/NativeAppearance.js +36 -0
  345. package/src/private/specs/modules/NativeBlobModule.js +59 -0
  346. package/src/private/specs/modules/NativeBugReporting.js +20 -0
  347. package/src/private/specs/modules/NativeClipboard.js +21 -0
  348. package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
  349. package/src/private/specs/modules/NativeDevMenu.js +23 -0
  350. package/src/private/specs/modules/NativeDevSettings.js +33 -0
  351. package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
  352. package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
  353. package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
  354. package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
  355. package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
  356. package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
  357. package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
  358. package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
  359. package/src/private/specs/modules/NativeI18nManager.js +28 -0
  360. package/src/private/specs/modules/NativeImageEditor.js +52 -0
  361. package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
  362. package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
  363. package/src/private/specs/modules/NativeImageLoaderWin32.js +45 -0
  364. package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
  365. package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
  366. package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
  367. package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
  368. package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
  369. package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
  370. package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
  371. package/src/private/specs/modules/NativeLinkingManager.js +27 -0
  372. package/src/private/specs/modules/NativeLogBox.js +20 -0
  373. package/src/private/specs/modules/NativeModalManager.js +21 -0
  374. package/src/private/specs/modules/NativeMutationObserver.js +58 -0
  375. package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
  376. package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
  377. package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
  378. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
  379. package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
  380. package/src/private/specs/modules/NativePlatformConstantsWin.js +37 -0
  381. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
  382. package/src/private/specs/modules/NativeRedBox.js +20 -0
  383. package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
  384. package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
  385. package/src/private/specs/modules/NativeSettingsManager.js +25 -0
  386. package/src/private/specs/modules/NativeShareModule.js +23 -0
  387. package/src/private/specs/modules/NativeSoundManager.js +22 -0
  388. package/src/private/specs/modules/NativeSourceCode.js +36 -0
  389. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
  390. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
  391. package/src/private/specs/modules/NativeTiming.js +26 -0
  392. package/src/private/specs/modules/NativeToastAndroid.js +38 -0
  393. package/src/private/specs/modules/NativeUIManager.js +118 -0
  394. package/src/private/specs/modules/NativeVibration.js +24 -0
  395. package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
  396. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
  397. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
  398. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
  399. package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
  400. package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
  401. package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
  402. package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
  403. package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
  404. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
  405. package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
  406. package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
  407. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
  408. package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
  409. package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
  410. package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
  411. package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
  412. package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
  413. package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
  414. package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
  415. package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
  416. package/src-win/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +161 -0
  417. package/{src → src-win}/Libraries/Components/Button/ButtonWin32.tsx +3 -3
  418. package/{src → src-win}/Libraries/Components/Touchable/Tests/TouchableWin32Test.tsx +9 -10
  419. package/{src → src-win}/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
  420. package/{src → src-win}/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
  421. package/{src → src-win}/Libraries/StyleSheet/PlatformColorValueTypesWin32.d.ts +1 -1
  422. package/{src → src-win}/Libraries/Text/Text.d.ts +5 -6
  423. package/{src → src-win}/Libraries/platform-types.d.ts +2 -3
  424. package/types/index.d.ts +1 -0
  425. package/types/modules/globals.d.ts +1 -0
  426. package/Libraries/Components/Button.flow.js +0 -265
  427. package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
  428. package/Libraries/Components/Text/TextWin32.Props.d.ts +0 -63
  429. package/Libraries/Components/Text/TextWin32.Props.js +0 -3
  430. package/Libraries/Components/Text/TextWin32.Props.js.map +0 -1
  431. package/Libraries/Components/Text/TextWin32.d.ts +0 -6
  432. package/Libraries/Components/Text/TextWin32.js +0 -18
  433. package/Libraries/Components/Text/TextWin32.js.map +0 -1
  434. package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
  435. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
  436. package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
  437. package/Libraries/Image/Image.flow.js +0 -64
  438. package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
  439. package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
  440. package/src/Libraries/Components/Text/TextWin32.Props.ts +0 -82
  441. package/src/Libraries/Components/Text/TextWin32.tsx +0 -25
  442. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
  443. /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
  444. /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
  445. /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
  446. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
  447. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
  448. /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
  449. /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
  450. /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
  451. /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
  452. /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
  453. /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
  454. /package/{src → src-win}/Libraries/Components/Button/ButtonWin32.Props.ts +0 -0
  455. /package/{src → src-win}/Libraries/Components/EnterString.win32.tsx +0 -0
  456. /package/{src → src-win}/Libraries/Components/TextInput/Tests/TextInputTest.tsx +0 -0
  457. /package/{src → src-win}/Libraries/Components/Touchable/TouchableNativeFeedback.d.ts +0 -0
  458. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Props.tsx +0 -0
  459. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.Types.tsx +0 -0
  460. /package/{src → src-win}/Libraries/Components/Touchable/TouchableWin32.tsx +0 -0
  461. /package/{src → src-win}/Libraries/Components/View/ViewWin32.d.ts +0 -0
  462. /package/{src → src-win}/Libraries/Image/ImageTypes.ts +0 -0
  463. /package/{src → src-win}/Libraries/Image/Tests/ImageWin32Test.tsx +0 -0
  464. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest.png +0 -0
  465. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@1.5x.png +0 -0
  466. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@2x.png +0 -0
  467. /package/{src → src-win}/Libraries/Image/Tests/img/dpitest@3x.png +0 -0
  468. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest.png +0 -0
  469. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@1.5x.png +0 -0
  470. /package/{src → src-win}/Libraries/Image/Tests/img/en-us/dpitest@3x.png +0 -0
  471. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoin.tsx +0 -0
  472. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinPropTypes.ts +0 -0
  473. /package/{src → src-win}/Libraries/PersonaCoin/PersonaCoinTypes.ts +0 -0
  474. /package/{src → src-win}/Libraries/Utilities/FocusManager.win32.d.ts +0 -0
  475. /package/{src → src-win}/Libraries/__tests__/__snapshots__/ButtonWin32-test.js.snap +0 -0
@@ -4,23 +4,10 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  *
7
- * @flow strict-local
8
7
  * @format
8
+ * @flow strict-local
9
9
  */
10
10
 
11
- import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
12
- import type {ColorValue} from '../../StyleSheet/StyleSheet';
13
- import type {ViewProps} from '../View/ViewPropTypes';
14
-
15
- import codegenNativeComponent from '../../Utilities/codegenNativeComponent';
16
-
17
- type NativeProps = $ReadOnly<{|
18
- ...ViewProps,
19
- backgroundColor?: ?ColorValue,
20
- |}>;
21
-
22
- export default (codegenNativeComponent<NativeProps>('InputAccessory', {
23
- interfaceOnly: true,
24
- paperComponentName: 'RCTInputAccessoryView',
25
- excludedPlatforms: ['android'],
26
- }): HostComponent<NativeProps>);
11
+ export * from '../../../src/private/specs/components/RCTInputAccessoryViewNativeComponent';
12
+ import RCTInputAccessoryViewNativeComponent from '../../../src/private/specs/components/RCTInputAccessoryViewNativeComponent';
13
+ export default RCTInputAccessoryViewNativeComponent;
@@ -31,12 +31,6 @@ const RCTTextInputViewConfig = {
31
31
  captured: 'onChangeCapture',
32
32
  },
33
33
  },
34
- topContentSizeChange: {
35
- phasedRegistrationNames: {
36
- captured: 'onContentSizeChangeCapture',
37
- bubbled: 'onContentSizeChange',
38
- },
39
- },
40
34
  topEndEditing: {
41
35
  phasedRegistrationNames: {
42
36
  bubbled: 'onEndEditing',
@@ -97,6 +91,9 @@ const RCTTextInputViewConfig = {
97
91
  topChangeSync: {
98
92
  registrationName: 'onChangeSync',
99
93
  },
94
+ topContentSizeChange: {
95
+ registrationName: 'onContentSizeChange',
96
+ },
100
97
  },
101
98
  validAttributes: {
102
99
  fontSize: true,
@@ -1,8 +1,8 @@
1
- export declare const title = "TextInput";
2
- export declare const displayName = "TextInput";
3
- export declare const description = "TextInput Examples and Tests";
4
- export declare const examples: {
5
- title: string;
6
- description: string;
7
- render(): JSX.Element;
8
- }[];
1
+ export declare const title = "TextInput";
2
+ export declare const displayName = "TextInput";
3
+ export declare const description = "TextInput Examples and Tests";
4
+ export declare const examples: {
5
+ title: string;
6
+ description: string;
7
+ render(): JSX.Element;
8
+ }[];
@@ -1,128 +1,128 @@
1
- 'use strict';
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.examples = exports.description = exports.displayName = exports.title = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const react_native_1 = require("react-native");
9
- // Disabling no-jsx-lambda so functional components are more convenient to use
10
- const AutoFocusingTextInputTest = () => {
11
- return (react_1.default.createElement(react_native_1.View, null,
12
- react_1.default.createElement(react_native_1.Text, null, "This TextInput auto focuses"),
13
- react_1.default.createElement(react_native_1.TextInput, { autoFocus: true, maxLength: 140, multiline: true, style: styles.input })));
14
- };
15
- const PlaceholderTextInputTest = () => {
16
- return (react_1.default.createElement(react_native_1.View, null,
17
- react_1.default.createElement(react_native_1.Text, null, "This TextInput demonstrates placeholders"),
18
- react_1.default.createElement(react_native_1.TextInput, { maxLength: 140, multiline: true, placeholder: "I am a blue placeholder, type in me for something magical", placeholderTextColor: "blue", style: styles.green })));
19
- };
20
- const ControllingTextInputTest = () => {
21
- const [value, setValue] = react_1.default.useState('');
22
- return (react_1.default.createElement(react_native_1.View, null,
23
- react_1.default.createElement(react_native_1.Text, null, "This TextInput inserts spaces between characters"),
24
- react_1.default.createElement(react_native_1.TextInput, { multiline: true, onChangeText: (text) => setValue(text.endsWith(' ') ? value : (text + ' ')), style: styles.blue, value: value })));
25
- };
26
- const BlurringAndFocusingTextInputTest = () => {
27
- const [isFocused, setIsFocused] = react_1.default.useState(false);
28
- return (react_1.default.createElement(react_native_1.View, null,
29
- react_1.default.createElement(react_native_1.Text, null,
30
- "This TextInput is currently focused: + ",
31
- isFocused ? 'true' : 'false'),
32
- react_1.default.createElement(react_native_1.TextInput, { multiline: true, onBlur: () => setIsFocused(false), onFocus: () => setIsFocused(true), style: styles.input })));
33
- };
34
- const LayoutListeningTextInputTest = () => {
35
- const [eventCounter, setEventCounter] = react_1.default.useState(0);
36
- return (react_1.default.createElement(react_native_1.View, null,
37
- react_1.default.createElement(react_native_1.Text, null,
38
- "The number of onContentSizeChanges is listed here + ",
39
- eventCounter),
40
- react_1.default.createElement(react_native_1.TextInput, { multiline: true, onContentSizeChange: () => setEventCounter(eventCounter + 1), style: styles.input })));
41
- };
42
- const KeyPressListeningTextInputTest = () => {
43
- const [value, setValue] = react_1.default.useState('');
44
- return (react_1.default.createElement(react_native_1.View, null,
45
- react_1.default.createElement(react_native_1.Text, null, "This TextInput uses onKeyPress to maintain state: it is slow"),
46
- react_1.default.createElement(react_native_1.TextInput, { multiline: true, onKeyPress: (e) => setValue(value + e.nativeEvent.key), style: styles.input, value: value })));
47
- };
48
- const StyleTextInputTest = () => {
49
- return (react_1.default.createElement(react_native_1.View, null,
50
- react_1.default.createElement(react_native_1.Text, null, "This TextInput is styled differently"),
51
- react_1.default.createElement(react_native_1.TextInput, { multiline: true, style: styles.superInput })));
52
- };
53
- exports.title = 'TextInput';
54
- exports.displayName = 'TextInput';
55
- exports.description = 'TextInput Examples and Tests';
56
- exports.examples = [
57
- {
58
- title: 'Autofocus Example',
59
- description: 'autoFocus in action',
60
- render() {
61
- return (react_1.default.createElement(AutoFocusingTextInputTest, null));
62
- },
63
- },
64
- {
65
- title: 'Placeholders Example',
66
- description: 'placeholder in action',
67
- render() {
68
- return (react_1.default.createElement(PlaceholderTextInputTest, null));
69
- },
70
- },
71
- {
72
- title: 'Controlled Example',
73
- description: 'Controlling inputs in action',
74
- render() {
75
- return (react_1.default.createElement(ControllingTextInputTest, null));
76
- },
77
- },
78
- {
79
- title: 'Focus and Blur Example',
80
- description: 'onFocus/onBlur in action',
81
- render() {
82
- return (react_1.default.createElement(BlurringAndFocusingTextInputTest, null));
83
- },
84
- },
85
- {
86
- title: 'ContentSizeChange Example',
87
- description: 'onContentSizeChange in action',
88
- render() {
89
- return (react_1.default.createElement(LayoutListeningTextInputTest, null));
90
- },
91
- },
92
- {
93
- title: 'Control via onKeyPress Example',
94
- description: 'onKeyPress in action',
95
- render() {
96
- return (react_1.default.createElement(KeyPressListeningTextInputTest, null));
97
- },
98
- },
99
- {
100
- title: 'Super Styling Example',
101
- description: 'Styling in action',
102
- render() {
103
- return (react_1.default.createElement(StyleTextInputTest, null));
104
- },
105
- },
106
- ];
107
- const styles = react_native_1.StyleSheet.create({
108
- input: {
109
- height: 20,
110
- },
111
- blue: {
112
- color: 'blue',
113
- height: 20,
114
- },
115
- green: {
116
- color: 'green',
117
- height: 20,
118
- },
119
- superInput: {
120
- color: 'purple',
121
- fontSize: 24,
122
- fontStyle: 'italic',
123
- fontWeight: 'bold',
124
- fontFamily: 'times-new-roman',
125
- height: 100,
126
- },
127
- });
1
+ 'use strict';
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.examples = exports.description = exports.displayName = exports.title = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const react_native_1 = require("react-native");
9
+ // Disabling no-jsx-lambda so functional components are more convenient to use
10
+ const AutoFocusingTextInputTest = () => {
11
+ return (react_1.default.createElement(react_native_1.View, null,
12
+ react_1.default.createElement(react_native_1.Text, null, "This TextInput auto focuses"),
13
+ react_1.default.createElement(react_native_1.TextInput, { autoFocus: true, maxLength: 140, multiline: true, style: styles.input })));
14
+ };
15
+ const PlaceholderTextInputTest = () => {
16
+ return (react_1.default.createElement(react_native_1.View, null,
17
+ react_1.default.createElement(react_native_1.Text, null, "This TextInput demonstrates placeholders"),
18
+ react_1.default.createElement(react_native_1.TextInput, { maxLength: 140, multiline: true, placeholder: "I am a blue placeholder, type in me for something magical", placeholderTextColor: "blue", style: styles.green })));
19
+ };
20
+ const ControllingTextInputTest = () => {
21
+ const [value, setValue] = react_1.default.useState('');
22
+ return (react_1.default.createElement(react_native_1.View, null,
23
+ react_1.default.createElement(react_native_1.Text, null, "This TextInput inserts spaces between characters"),
24
+ react_1.default.createElement(react_native_1.TextInput, { multiline: true, onChangeText: (text) => setValue(text.endsWith(' ') ? value : (text + ' ')), style: styles.blue, value: value })));
25
+ };
26
+ const BlurringAndFocusingTextInputTest = () => {
27
+ const [isFocused, setIsFocused] = react_1.default.useState(false);
28
+ return (react_1.default.createElement(react_native_1.View, null,
29
+ react_1.default.createElement(react_native_1.Text, null,
30
+ "This TextInput is currently focused: + ",
31
+ isFocused ? 'true' : 'false'),
32
+ react_1.default.createElement(react_native_1.TextInput, { multiline: true, onBlur: () => setIsFocused(false), onFocus: () => setIsFocused(true), style: styles.input })));
33
+ };
34
+ const LayoutListeningTextInputTest = () => {
35
+ const [eventCounter, setEventCounter] = react_1.default.useState(0);
36
+ return (react_1.default.createElement(react_native_1.View, null,
37
+ react_1.default.createElement(react_native_1.Text, null,
38
+ "The number of onContentSizeChanges is listed here + ",
39
+ eventCounter),
40
+ react_1.default.createElement(react_native_1.TextInput, { multiline: true, onContentSizeChange: () => setEventCounter(eventCounter + 1), style: styles.input })));
41
+ };
42
+ const KeyPressListeningTextInputTest = () => {
43
+ const [value, setValue] = react_1.default.useState('');
44
+ return (react_1.default.createElement(react_native_1.View, null,
45
+ react_1.default.createElement(react_native_1.Text, null, "This TextInput uses onKeyPress to maintain state: it is slow"),
46
+ react_1.default.createElement(react_native_1.TextInput, { multiline: true, onKeyPress: (e) => setValue(value + e.nativeEvent.key), style: styles.input, value: value })));
47
+ };
48
+ const StyleTextInputTest = () => {
49
+ return (react_1.default.createElement(react_native_1.View, null,
50
+ react_1.default.createElement(react_native_1.Text, null, "This TextInput is styled differently"),
51
+ react_1.default.createElement(react_native_1.TextInput, { multiline: true, style: styles.superInput })));
52
+ };
53
+ exports.title = 'TextInput';
54
+ exports.displayName = 'TextInput';
55
+ exports.description = 'TextInput Examples and Tests';
56
+ exports.examples = [
57
+ {
58
+ title: 'Autofocus Example',
59
+ description: 'autoFocus in action',
60
+ render() {
61
+ return (react_1.default.createElement(AutoFocusingTextInputTest, null));
62
+ },
63
+ },
64
+ {
65
+ title: 'Placeholders Example',
66
+ description: 'placeholder in action',
67
+ render() {
68
+ return (react_1.default.createElement(PlaceholderTextInputTest, null));
69
+ },
70
+ },
71
+ {
72
+ title: 'Controlled Example',
73
+ description: 'Controlling inputs in action',
74
+ render() {
75
+ return (react_1.default.createElement(ControllingTextInputTest, null));
76
+ },
77
+ },
78
+ {
79
+ title: 'Focus and Blur Example',
80
+ description: 'onFocus/onBlur in action',
81
+ render() {
82
+ return (react_1.default.createElement(BlurringAndFocusingTextInputTest, null));
83
+ },
84
+ },
85
+ {
86
+ title: 'ContentSizeChange Example',
87
+ description: 'onContentSizeChange in action',
88
+ render() {
89
+ return (react_1.default.createElement(LayoutListeningTextInputTest, null));
90
+ },
91
+ },
92
+ {
93
+ title: 'Control via onKeyPress Example',
94
+ description: 'onKeyPress in action',
95
+ render() {
96
+ return (react_1.default.createElement(KeyPressListeningTextInputTest, null));
97
+ },
98
+ },
99
+ {
100
+ title: 'Super Styling Example',
101
+ description: 'Styling in action',
102
+ render() {
103
+ return (react_1.default.createElement(StyleTextInputTest, null));
104
+ },
105
+ },
106
+ ];
107
+ const styles = react_native_1.StyleSheet.create({
108
+ input: {
109
+ height: 20,
110
+ },
111
+ blue: {
112
+ color: 'blue',
113
+ height: 20,
114
+ },
115
+ green: {
116
+ color: 'green',
117
+ height: 20,
118
+ },
119
+ superInput: {
120
+ color: 'purple',
121
+ fontSize: 24,
122
+ fontStyle: 'italic',
123
+ fontWeight: 'bold',
124
+ fontFamily: 'times-new-roman',
125
+ height: 100,
126
+ },
127
+ });
128
128
  //# sourceMappingURL=TextInputTest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextInputTest.js","sourceRoot":"","sources":["../../../../src/Libraries/Components/TextInput/Tests/TextInputTest.tsx"],"names":[],"mappings":"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","sourcesContent":["'use strict';\nimport React from 'react'\nimport { StyleSheet, Text, TextInput, View } from 'react-native';\n\n// Disabling no-jsx-lambda so functional components are more convenient to use\n\nconst AutoFocusingTextInputTest: React.FC<{}> = () => {\n return (\n <View>\n <Text>This TextInput auto focuses</Text>\n <TextInput\n autoFocus\n maxLength={140}\n multiline\n style={styles.input}\n />\n </View>\n );\n};\n\nconst PlaceholderTextInputTest: React.FC<{}> = () => {\n return (\n <View>\n <Text>This TextInput demonstrates placeholders</Text>\n <TextInput\n maxLength={140}\n multiline\n placeholder=\"I am a blue placeholder, type in me for something magical\"\n placeholderTextColor=\"blue\"\n style={styles.green}\n />\n </View>\n );\n};\n\nconst ControllingTextInputTest: React.FC<{}> = () => {\n const [value, setValue] = React.useState('');\n\n return (\n <View>\n <Text>This TextInput inserts spaces between characters</Text>\n <TextInput\n multiline\n onChangeText={(text) => setValue(text.endsWith(' ') ? value : (text + ' '))}\n style={styles.blue}\n value={value}\n />\n </View>\n );\n};\n\nconst BlurringAndFocusingTextInputTest: React.FC<{}> = () => {\n const [isFocused, setIsFocused] = React.useState(false);\n return (\n <View>\n <Text>This TextInput is currently focused: + {isFocused ? 'true' : 'false'}</Text>\n <TextInput\n multiline\n onBlur={() => setIsFocused(false)}\n onFocus={() => setIsFocused(true)}\n style={styles.input}\n />\n </View>\n );\n};\n\nconst LayoutListeningTextInputTest: React.FC<{}> = () => {\n const [eventCounter, setEventCounter] = React.useState(0);\n\n return (\n <View>\n <Text>The number of onContentSizeChanges is listed here + {eventCounter}</Text>\n <TextInput\n multiline\n onContentSizeChange={() => setEventCounter(eventCounter + 1)}\n style={styles.input}\n />\n </View>\n );\n};\n\nconst KeyPressListeningTextInputTest: React.FC<{}> = () => {\n const [value, setValue] = React.useState('');\n\n return (\n <View>\n <Text>This TextInput uses onKeyPress to maintain state: it is slow</Text>\n <TextInput\n multiline\n onKeyPress={(e) => setValue(value + e.nativeEvent.key)}\n style={styles.input}\n value={value}\n />\n </View>\n );\n};\n\nconst StyleTextInputTest: React.FC<{}> = () => {\n return (\n <View>\n <Text>This TextInput is styled differently</Text>\n <TextInput\n multiline\n style={styles.superInput}\n />\n </View>\n );\n};\n\nexport const title = 'TextInput';\nexport const displayName = 'TextInput';\nexport const description = 'TextInput Examples and Tests';\nexport const examples = [\n {\n title: 'Autofocus Example',\n description: 'autoFocus in action',\n render(): JSX.Element {\n return (<AutoFocusingTextInputTest />);\n },\n },\n {\n title: 'Placeholders Example',\n description: 'placeholder in action',\n render(): JSX.Element {\n return (<PlaceholderTextInputTest />);\n },\n },\n {\n title: 'Controlled Example',\n description: 'Controlling inputs in action',\n render(): JSX.Element {\n return (<ControllingTextInputTest />);\n },\n },\n {\n title: 'Focus and Blur Example',\n description: 'onFocus/onBlur in action',\n render(): JSX.Element {\n return (<BlurringAndFocusingTextInputTest />);\n },\n },\n {\n title: 'ContentSizeChange Example',\n description: 'onContentSizeChange in action',\n render(): JSX.Element {\n return (<LayoutListeningTextInputTest />);\n },\n },\n {\n title: 'Control via onKeyPress Example',\n description: 'onKeyPress in action',\n render(): JSX.Element {\n return (<KeyPressListeningTextInputTest />);\n },\n },\n {\n title: 'Super Styling Example',\n description: 'Styling in action',\n render(): JSX.Element {\n return (<StyleTextInputTest />);\n },\n },\n ];\n\nconst styles = StyleSheet.create({\n input: {\n height: 20,\n },\n blue: {\n color: 'blue',\n height: 20,\n },\n green: {\n color: 'green',\n height: 20,\n },\n superInput: {\n color: 'purple',\n fontSize: 24,\n fontStyle: 'italic',\n fontWeight: 'bold',\n fontFamily: 'times-new-roman',\n height: 100,\n },\n});\n"]}
1
+ {"version":3,"file":"TextInputTest.js","sourceRoot":"","sources":["../../../../src-win/Libraries/Components/TextInput/Tests/TextInputTest.tsx"],"names":[],"mappings":"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","sourcesContent":["'use strict';\nimport React from 'react'\nimport { StyleSheet, Text, TextInput, View } from 'react-native';\n\n// Disabling no-jsx-lambda so functional components are more convenient to use\n\nconst AutoFocusingTextInputTest: React.FC<{}> = () => {\n return (\n <View>\n <Text>This TextInput auto focuses</Text>\n <TextInput\n autoFocus\n maxLength={140}\n multiline\n style={styles.input}\n />\n </View>\n );\n};\n\nconst PlaceholderTextInputTest: React.FC<{}> = () => {\n return (\n <View>\n <Text>This TextInput demonstrates placeholders</Text>\n <TextInput\n maxLength={140}\n multiline\n placeholder=\"I am a blue placeholder, type in me for something magical\"\n placeholderTextColor=\"blue\"\n style={styles.green}\n />\n </View>\n );\n};\n\nconst ControllingTextInputTest: React.FC<{}> = () => {\n const [value, setValue] = React.useState('');\n\n return (\n <View>\n <Text>This TextInput inserts spaces between characters</Text>\n <TextInput\n multiline\n onChangeText={(text) => setValue(text.endsWith(' ') ? value : (text + ' '))}\n style={styles.blue}\n value={value}\n />\n </View>\n );\n};\n\nconst BlurringAndFocusingTextInputTest: React.FC<{}> = () => {\n const [isFocused, setIsFocused] = React.useState(false);\n return (\n <View>\n <Text>This TextInput is currently focused: + {isFocused ? 'true' : 'false'}</Text>\n <TextInput\n multiline\n onBlur={() => setIsFocused(false)}\n onFocus={() => setIsFocused(true)}\n style={styles.input}\n />\n </View>\n );\n};\n\nconst LayoutListeningTextInputTest: React.FC<{}> = () => {\n const [eventCounter, setEventCounter] = React.useState(0);\n\n return (\n <View>\n <Text>The number of onContentSizeChanges is listed here + {eventCounter}</Text>\n <TextInput\n multiline\n onContentSizeChange={() => setEventCounter(eventCounter + 1)}\n style={styles.input}\n />\n </View>\n );\n};\n\nconst KeyPressListeningTextInputTest: React.FC<{}> = () => {\n const [value, setValue] = React.useState('');\n\n return (\n <View>\n <Text>This TextInput uses onKeyPress to maintain state: it is slow</Text>\n <TextInput\n multiline\n onKeyPress={(e) => setValue(value + e.nativeEvent.key)}\n style={styles.input}\n value={value}\n />\n </View>\n );\n};\n\nconst StyleTextInputTest: React.FC<{}> = () => {\n return (\n <View>\n <Text>This TextInput is styled differently</Text>\n <TextInput\n multiline\n style={styles.superInput}\n />\n </View>\n );\n};\n\nexport const title = 'TextInput';\nexport const displayName = 'TextInput';\nexport const description = 'TextInput Examples and Tests';\nexport const examples = [\n {\n title: 'Autofocus Example',\n description: 'autoFocus in action',\n render(): JSX.Element {\n return (<AutoFocusingTextInputTest />);\n },\n },\n {\n title: 'Placeholders Example',\n description: 'placeholder in action',\n render(): JSX.Element {\n return (<PlaceholderTextInputTest />);\n },\n },\n {\n title: 'Controlled Example',\n description: 'Controlling inputs in action',\n render(): JSX.Element {\n return (<ControllingTextInputTest />);\n },\n },\n {\n title: 'Focus and Blur Example',\n description: 'onFocus/onBlur in action',\n render(): JSX.Element {\n return (<BlurringAndFocusingTextInputTest />);\n },\n },\n {\n title: 'ContentSizeChange Example',\n description: 'onContentSizeChange in action',\n render(): JSX.Element {\n return (<LayoutListeningTextInputTest />);\n },\n },\n {\n title: 'Control via onKeyPress Example',\n description: 'onKeyPress in action',\n render(): JSX.Element {\n return (<KeyPressListeningTextInputTest />);\n },\n },\n {\n title: 'Super Styling Example',\n description: 'Styling in action',\n render(): JSX.Element {\n return (<StyleTextInputTest />);\n },\n },\n ];\n\nconst styles = StyleSheet.create({\n input: {\n height: 20,\n },\n blue: {\n color: 'blue',\n height: 20,\n },\n green: {\n color: 'green',\n height: 20,\n },\n superInput: {\n color: 'purple',\n fontSize: 24,\n fontStyle: 'italic',\n fontWeight: 'bold',\n fontFamily: 'times-new-roman',\n height: 100,\n },\n});\n"]}
@@ -84,6 +84,9 @@ type DataDetectorTypes =
84
84
  | 'link'
85
85
  | 'address'
86
86
  | 'calendarEvent'
87
+ | 'trackingNumber'
88
+ | 'flightNumber'
89
+ | 'lookupSuggestion'
87
90
  | 'none'
88
91
  | 'all';
89
92
 
@@ -333,6 +336,14 @@ export interface TextInputAndroidProps {
333
336
  */
334
337
  cursorColor?: ColorValue | null | undefined;
335
338
 
339
+ /**
340
+ * When provided it will set the color of the selection handles when highlighting text.
341
+ * Unlike the behavior of `selectionColor` the handle color will be set independently
342
+ * from the color of the text selection box.
343
+ * @platform android
344
+ */
345
+ selectionHandleColor?: ColorValue | null | undefined;
346
+
336
347
  /**
337
348
  * Determines whether the individual fields in your app should be included in a
338
349
  * view structure for autofill purposes on Android API Level 26+. Defaults to auto.
@@ -738,6 +749,11 @@ export interface TextInputProps
738
749
  | ((e: NativeSyntheticEvent<TextInputEndEditingEventData>) => void)
739
750
  | undefined;
740
751
 
752
+ /**
753
+ * Called when a single tap gesture is detected.
754
+ */
755
+ onPress?: ((e: NativeSyntheticEvent<NativeTouchEvent>) => void) | undefined;
756
+
741
757
  /**
742
758
  * Callback that is called when a touch is engaged.
743
759
  */
@@ -99,6 +99,9 @@ type DataDetectorTypesType =
99
99
  | 'link'
100
100
  | 'address'
101
101
  | 'calendarEvent'
102
+ | 'trackingNumber'
103
+ | 'flightNumber'
104
+ | 'lookupSuggestion'
102
105
  | 'none'
103
106
  | 'all';
104
107
 
@@ -329,6 +332,14 @@ type AndroidProps = $ReadOnly<{|
329
332
  */
330
333
  cursorColor?: ?ColorValue,
331
334
 
335
+ /**
336
+ * When provided it will set the color of the selection handles when highlighting text.
337
+ * Unlike the behavior of `selectionColor` the handle color will be set independently
338
+ * from the color of the text selection box.
339
+ * @platform android
340
+ */
341
+ selectionHandleColor?: ?ColorValue,
342
+
332
343
  /**
333
344
  * When `false`, if there is a small amount of space available around a text input
334
345
  * (e.g. landscape orientation on a phone), the OS may choose to have the user edit
@@ -766,6 +777,11 @@ export type Props = $ReadOnly<{|
766
777
  */
767
778
  unstable_onKeyPressSync?: ?(e: KeyPressEvent) => mixed,
768
779
 
780
+ /**
781
+ * Called when a single tap gesture is detected.
782
+ */
783
+ onPress?: ?(event: PressEvent) => mixed,
784
+
769
785
  /**
770
786
  * Called when a touch is engaged.
771
787
  */
@@ -137,6 +137,9 @@ type DataDetectorTypesType =
137
137
  | 'link'
138
138
  | 'address'
139
139
  | 'calendarEvent'
140
+ | 'trackingNumber'
141
+ | 'flightNumber'
142
+ | 'lookupSuggestion'
140
143
  | 'none'
141
144
  | 'all';
142
145
 
@@ -808,6 +811,11 @@ export type Props = $ReadOnly<{|
808
811
  */
809
812
  unstable_onKeyPressSync?: ?(e: KeyPressEvent) => mixed,
810
813
 
814
+ /**
815
+ * Called when a single tap gesture is detected.
816
+ */
817
+ onPress?: ?(event: PressEvent) => mixed,
818
+
811
819
  /**
812
820
  * Called when a touch is engaged.
813
821
  */
@@ -909,6 +917,12 @@ export type Props = $ReadOnly<{|
909
917
  */
910
918
  selectionColor?: ?ColorValue,
911
919
 
920
+ /**
921
+ * The text selection handle color.
922
+ * @platform android
923
+ */
924
+ selectionHandleColor?: ?ColorValue,
925
+
912
926
  /**
913
927
  * If `true`, all text will automatically be selected on focus.
914
928
  */
@@ -1035,8 +1049,8 @@ const emptyFunctionThatReturnsTrue = () => true;
1035
1049
  * return (
1036
1050
  * <TextInput
1037
1051
  * {...this.props} // Inherit any props passed to it; e.g., multiline, numberOfLines below
1038
- * editable = {true}
1039
- * maxLength = {40}
1052
+ * editable={true}
1053
+ * maxLength={40}
1040
1054
  * />
1041
1055
  * );
1042
1056
  * }
@@ -1060,8 +1074,8 @@ const emptyFunctionThatReturnsTrue = () => true;
1060
1074
  * borderBottomWidth: 1 }}
1061
1075
  * >
1062
1076
  * <UselessTextInput
1063
- * multiline = {true}
1064
- * numberOfLines = {4}
1077
+ * multiline={true}
1078
+ * numberOfLines={4}
1065
1079
  * onChangeText={(text) => this.setState({text})}
1066
1080
  * value={this.state.text}
1067
1081
  * />
@@ -1103,6 +1117,9 @@ function InternalTextInput(props: Props): React.Node {
1103
1117
  id,
1104
1118
  tabIndex,
1105
1119
  selection: propsSelection,
1120
+ selectionColor,
1121
+ selectionHandleColor,
1122
+ cursorColor,
1106
1123
  ...otherProps
1107
1124
  } = props;
1108
1125
 
@@ -1270,10 +1287,7 @@ function InternalTextInput(props: Props): React.Node {
1270
1287
  [mostRecentEventCount, viewCommands],
1271
1288
  );
1272
1289
 
1273
- const ref = useMergeRefs<TextInputInstance | null>(
1274
- setLocalRef,
1275
- props.forwardedRef,
1276
- );
1290
+ const ref = useMergeRefs<TextInputInstance>(setLocalRef, props.forwardedRef);
1277
1291
 
1278
1292
  const _onChange = (event: ChangeEvent) => {
1279
1293
  const currentText = event.nativeEvent.text;
@@ -1378,27 +1392,37 @@ function InternalTextInput(props: Props): React.Node {
1378
1392
  const accessible = props.accessible !== false;
1379
1393
  const focusable = props.focusable !== false;
1380
1394
 
1395
+ const {
1396
+ editable,
1397
+ hitSlop,
1398
+ onPress,
1399
+ onPressIn,
1400
+ onPressOut,
1401
+ rejectResponderTermination,
1402
+ } = props;
1403
+
1381
1404
  const config = React.useMemo(
1382
1405
  () => ({
1383
- hitSlop: props.hitSlop,
1406
+ hitSlop,
1384
1407
  onPress: (event: PressEvent) => {
1385
- if (props.editable !== false) {
1408
+ onPress?.(event);
1409
+ if (editable !== false) {
1386
1410
  if (inputRef.current != null) {
1387
1411
  inputRef.current.focus();
1388
1412
  }
1389
1413
  }
1390
1414
  },
1391
- onPressIn: props.onPressIn,
1392
- onPressOut: props.onPressOut,
1393
- cancelable:
1394
- Platform.OS === 'ios' ? !props.rejectResponderTermination : null,
1415
+ onPressIn: onPressIn,
1416
+ onPressOut: onPressOut,
1417
+ cancelable: Platform.OS === 'ios' ? !rejectResponderTermination : null,
1395
1418
  }),
1396
1419
  [
1397
- props.editable,
1398
- props.hitSlop,
1399
- props.onPressIn,
1400
- props.onPressOut,
1401
- props.rejectResponderTermination,
1420
+ editable,
1421
+ hitSlop,
1422
+ onPress,
1423
+ onPressIn,
1424
+ onPressOut,
1425
+ rejectResponderTermination,
1402
1426
  ],
1403
1427
  );
1404
1428
 
@@ -1431,8 +1455,7 @@ function InternalTextInput(props: Props): React.Node {
1431
1455
  };
1432
1456
  }
1433
1457
 
1434
- // $FlowFixMe[underconstrained-implicit-instantiation]
1435
- let style = flattenStyle(props.style);
1458
+ const style = flattenStyle<TextStyleProp>(props.style);
1436
1459
 
1437
1460
  if (Platform.OS === 'ios') {
1438
1461
  const RCTTextInputView =
@@ -1440,7 +1463,12 @@ function InternalTextInput(props: Props): React.Node {
1440
1463
  ? RCTMultilineTextInputView
1441
1464
  : RCTSinglelineTextInputView;
1442
1465
 
1443
- style = props.multiline === true ? [styles.multilineInput, style] : style;
1466
+ const useMultilineDefaultStyle =
1467
+ props.multiline === true &&
1468
+ (style == null ||
1469
+ (style.padding == null &&
1470
+ style.paddingVertical == null &&
1471
+ style.paddingTop == null));
1444
1472
 
1445
1473
  const useOnChangeSync =
1446
1474
  (props.unstable_onChangeSync || props.unstable_onChangeTextSync) &&
@@ -1470,7 +1498,10 @@ function InternalTextInput(props: Props): React.Node {
1470
1498
  onSelectionChange={_onSelectionChange}
1471
1499
  onSelectionChangeShouldSetResponder={emptyFunctionThatReturnsTrue}
1472
1500
  selection={selection}
1473
- style={style}
1501
+ style={StyleSheet.compose(
1502
+ useMultilineDefaultStyle ? styles.multilineDefault : null,
1503
+ style,
1504
+ )}
1474
1505
  text={text}
1475
1506
  />
1476
1507
  );
@@ -1488,7 +1519,15 @@ function InternalTextInput(props: Props): React.Node {
1488
1519
  if (childCount > 1) {
1489
1520
  children = <Text>{children}</Text>;
1490
1521
  }
1491
-
1522
+ // For consistency with iOS set cursor/selectionHandle color as selectionColor
1523
+ const colorProps = {
1524
+ selectionColor,
1525
+ selectionHandleColor:
1526
+ selectionHandleColor === undefined
1527
+ ? selectionColor
1528
+ : selectionHandleColor,
1529
+ cursorColor: cursorColor === undefined ? selectionColor : cursorColor,
1530
+ };
1492
1531
  textInput = (
1493
1532
  /* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match up
1494
1533
  * exactly with the props for TextInput. This will need to get fixed */
@@ -1502,6 +1541,7 @@ function InternalTextInput(props: Props): React.Node {
1502
1541
  // $FlowFixMe[incompatible-type] - Figure out imperative + forward refs.
1503
1542
  ref={ref}
1504
1543
  {...otherProps}
1544
+ {...colorProps}
1505
1545
  {...eventHandlers}
1506
1546
  accessibilityState={_accessibilityState}
1507
1547
  accessibilityLabelledBy={_accessibilityLabelledBy}
@@ -1712,13 +1752,6 @@ const ExportedForwardRef: React.AbstractComponent<
1712
1752
 
1713
1753
  ExportedForwardRef.displayName = 'TextInput';
1714
1754
 
1715
- /**
1716
- * Switch to `deprecated-react-native-prop-types` for compatibility with future
1717
- * releases. This is deprecated and will be removed in the future.
1718
- */
1719
- ExportedForwardRef.propTypes =
1720
- require('deprecated-react-native-prop-types').TextInputPropTypes;
1721
-
1722
1755
  // $FlowFixMe[prop-missing]
1723
1756
  ExportedForwardRef.State = {
1724
1757
  currentlyFocusedInput: TextInputState.currentlyFocusedInput,
@@ -1738,7 +1771,7 @@ export type TextInputComponentStatics = $ReadOnly<{|
1738
1771
  |}>;
1739
1772
 
1740
1773
  const styles = StyleSheet.create({
1741
- multilineInput: {
1774
+ multilineDefault: {
1742
1775
  // This default top inset makes RCTMultilineTextInputView seem as close as possible
1743
1776
  // to single-line RCTSinglelineTextInputView defaults, using the system defaults
1744
1777
  // of font size 17 and a height of 31 points.