@office-iss/react-native-win32 0.84.0 → 0.85.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/.eslintignore +1 -0
  2. package/.flowconfig +1 -5
  3. package/CHANGELOG.json +67 -22
  4. package/CHANGELOG.md +14 -17
  5. package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
  6. package/IntegrationTests/LayoutEventsTest.js +1 -1
  7. package/IntegrationTests/TimersTest.js +1 -1
  8. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  9. package/Libraries/Animated/Animated.d.ts +8 -1
  10. package/Libraries/Animated/AnimatedEvent.js +4 -4
  11. package/Libraries/Animated/AnimatedImplementation.js +2 -2
  12. package/Libraries/Animated/animations/Animation.js +3 -3
  13. package/Libraries/Animated/animations/DecayAnimation.js +4 -4
  14. package/Libraries/Animated/animations/SpringAnimation.js +5 -5
  15. package/Libraries/Animated/animations/TimingAnimation.js +5 -5
  16. package/Libraries/Animated/createAnimatedComponent.js +7 -7
  17. package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
  18. package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
  19. package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
  20. package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
  21. package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
  22. package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
  23. package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
  24. package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
  25. package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
  26. package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
  27. package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
  28. package/Libraries/Animated/useAnimatedColor.js +25 -0
  29. package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
  30. package/Libraries/Animated/useAnimatedValueXY.js +26 -0
  31. package/Libraries/AppState/AppState.js +1 -1
  32. package/Libraries/BatchedBridge/MessageQueue.js +3 -3
  33. package/Libraries/BatchedBridge/NativeModules.js +12 -10
  34. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
  35. package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.win32.js +34 -30
  36. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
  37. package/Libraries/Components/Button.js +2 -2
  38. package/Libraries/Components/Button.win32.js +2 -2
  39. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
  40. package/Libraries/Components/EnterString.win32.js +2 -2
  41. package/Libraries/Components/EnterString.win32.js.map +1 -1
  42. package/Libraries/Components/Keyboard/Keyboard.js +6 -6
  43. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
  44. package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
  45. package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
  46. package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
  47. package/Libraries/Components/Pressable/Pressable.js +3 -3
  48. package/Libraries/Components/Pressable/Pressable.win32.js +3 -3
  49. package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
  50. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  51. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
  52. package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
  53. package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
  54. package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
  55. package/Libraries/Components/ScrollView/ScrollView.js +19 -9
  56. package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
  57. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
  58. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  59. package/Libraries/Components/StaticRenderer.js +1 -1
  60. package/Libraries/Components/StatusBar/StatusBar.js +8 -8
  61. package/Libraries/Components/Switch/Switch.js +3 -3
  62. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
  63. package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
  64. package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
  65. package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
  66. package/Libraries/Components/TextInput/TextInput.flow.win32.js +23 -22
  67. package/Libraries/Components/TextInput/TextInput.js +8 -4
  68. package/Libraries/Components/TextInput/TextInput.win32.js +3 -4
  69. package/Libraries/Components/Touchable/PooledClass.js +1 -1
  70. package/Libraries/Components/Touchable/Touchable.js +2 -2
  71. package/Libraries/Components/Touchable/Touchable.win32.js +2 -2
  72. package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
  73. package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
  74. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
  75. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +7 -7
  76. package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
  77. package/Libraries/Components/Touchable/TouchableWin32.js +1 -1
  78. package/Libraries/Components/Touchable/TouchableWin32.js.map +1 -1
  79. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
  80. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
  81. package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
  82. package/Libraries/Components/View/ViewAccessibility.js +7 -7
  83. package/Libraries/Components/View/ViewAccessibility.win32.js +7 -7
  84. package/Libraries/Components/View/ViewPropTypes.js +14 -14
  85. package/Libraries/Components/View/ViewPropTypes.win32.js +16 -16
  86. package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
  87. package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
  88. package/Libraries/Core/ExceptionsManager.js +2 -2
  89. package/Libraries/Core/ExtendedError.js +3 -3
  90. package/Libraries/Core/RawEventEmitter.js +1 -1
  91. package/Libraries/Core/ReactNativeVersion.js +2 -2
  92. package/Libraries/Core/Timers/JSTimers.js +3 -2
  93. package/Libraries/Core/setUpDeveloperTools.js +1 -1
  94. package/Libraries/Core/setUpErrorHandling.js +4 -2
  95. package/Libraries/Core/setUpReactDevTools.js +23 -6
  96. package/Libraries/Core/setUpSegmentFetcher.js +1 -1
  97. package/Libraries/Debugging/DebuggingOverlay.js +2 -2
  98. package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
  99. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
  100. package/Libraries/Image/AssetSourceResolver.js +1 -1
  101. package/Libraries/Image/Image.android.js +172 -306
  102. package/Libraries/Image/ImageProps.js +9 -11
  103. package/Libraries/Image/ImageSource.js +2 -2
  104. package/Libraries/Image/ImageSourceUtils.js +8 -4
  105. package/Libraries/Image/ImageTypes.flow.js +2 -2
  106. package/Libraries/Image/ImageViewNativeComponent.js +7 -16
  107. package/Libraries/Image/nativeImageSource.js +1 -1
  108. package/Libraries/Interaction/InteractionManager.js +5 -4
  109. package/Libraries/Interaction/PanResponder.js +1 -1
  110. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  111. package/Libraries/Linking/Linking.js +1 -1
  112. package/Libraries/Lists/FlatList.js +3 -3
  113. package/Libraries/Lists/SectionList.js +1 -1
  114. package/Libraries/Lists/SectionListModern.js +2 -2
  115. package/Libraries/LogBox/Data/LogBoxData.js +38 -24
  116. package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
  117. package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
  118. package/Libraries/LogBox/LogBox.js +42 -19
  119. package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
  120. package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
  121. package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
  122. package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
  123. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
  124. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +6 -9
  125. package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
  126. package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
  127. package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
  128. package/Libraries/LogBox/UI/LogBoxInspectorHeader.win32.js +1 -1
  129. package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
  130. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
  131. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
  132. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +15 -16
  133. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
  134. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
  135. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.win32.js +11 -13
  136. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
  137. package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.win32.js +3 -5
  138. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
  139. package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
  140. package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
  141. package/Libraries/Modal/Modal.js +3 -3
  142. package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
  143. package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
  144. package/Libraries/NativeComponent/BaseViewConfig.win32.js +16 -16
  145. package/Libraries/Network/RCTNetworking.android.js +1 -1
  146. package/Libraries/Network/RCTNetworking.ios.js +1 -1
  147. package/Libraries/Network/RCTNetworking.js.flow +1 -1
  148. package/Libraries/Network/RCTNetworking.win32.js +1 -1
  149. package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +1 -1
  150. package/Libraries/Network/XMLHttpRequest.js +1 -1
  151. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
  152. package/Libraries/Pressability/Pressability.js +5 -5
  153. package/Libraries/Pressability/Pressability.win32.js +5 -5
  154. package/Libraries/Pressability/PressabilityDebug.js +1 -1
  155. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
  156. package/Libraries/Pressability/usePressability.js +3 -14
  157. package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
  158. package/Libraries/ReactNative/AppContainer-dev.js +18 -1
  159. package/Libraries/ReactNative/AppContainer.js +1 -1
  160. package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
  161. package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
  162. package/Libraries/ReactNative/FabricUIManager.js +1 -1
  163. package/Libraries/ReactNative/RendererImplementation.js +4 -4
  164. package/Libraries/ReactNative/UIManagerProperties.js +1 -1
  165. package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
  166. package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
  167. package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
  168. package/Libraries/Renderer/shims/ReactFabric.js +1 -3
  169. package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
  170. package/Libraries/Renderer/shims/ReactNative.js +3 -2
  171. package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
  172. package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +1 -3
  173. package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
  174. package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
  175. package/Libraries/StyleSheet/PointPropType.js +1 -1
  176. package/Libraries/StyleSheet/Rect.js +1 -1
  177. package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
  178. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  179. package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
  180. package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
  181. package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
  182. package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
  183. package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
  184. package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
  185. package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
  186. package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
  187. package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
  188. package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
  189. package/Libraries/StyleSheet/processBoxShadow.js +44 -4
  190. package/Libraries/StyleSheet/processColorArray.js +2 -2
  191. package/Libraries/StyleSheet/processFilter.js +2 -2
  192. package/Libraries/Text/Text.js +295 -627
  193. package/Libraries/Text/Text.win32.js +360 -744
  194. package/Libraries/Text/TextNativeComponent.js +14 -7
  195. package/Libraries/Text/TextNativeComponent.win32.js +14 -7
  196. package/Libraries/Text/TextProps.js +4 -4
  197. package/Libraries/Text/TextProps.win32.js +4 -4
  198. package/Libraries/Types/CodegenTypes.js +1 -1
  199. package/Libraries/Types/CoreEventTypes.js +21 -21
  200. package/Libraries/Types/CoreEventTypes.win32.js +22 -21
  201. package/Libraries/Types/ReactDevToolsTypes.js +2 -2
  202. package/Libraries/Utilities/Appearance.js +6 -1
  203. package/Libraries/Utilities/Dimensions.js +1 -1
  204. package/Libraries/Utilities/Dimensions.win32.js +1 -1
  205. package/Libraries/Utilities/HMRClient.js +32 -5
  206. package/Libraries/Utilities/IPerformanceLogger.js +4 -4
  207. package/Libraries/Utilities/codegenNativeCommands.js +4 -4
  208. package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
  209. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  210. package/Libraries/Utilities/logError.js +1 -1
  211. package/Libraries/Utilities/stringifySafe.js +3 -3
  212. package/Libraries/Utilities/useMergeRefs.js +2 -2
  213. package/Libraries/vendor/core/ErrorUtils.js +4 -4
  214. package/Libraries/vendor/emitter/EventEmitter.js +16 -20
  215. package/flow/bom.js.flow +18 -17
  216. package/flow/dom.js.flow +12 -5
  217. package/flow/global.js +1 -1
  218. package/index.js +9 -0
  219. package/index.win32.js +9 -0
  220. package/index.win32.js.flow +8 -1
  221. package/jest/RefreshControlMock.js +2 -2
  222. package/jest/assetFileTransformer.js +8 -3
  223. package/jest/mockComponent.js +3 -4
  224. package/jest/mockNativeComponent.js +1 -1
  225. package/jest/mocks/ActivityIndicator.js +2 -2
  226. package/jest/mocks/Image.js +2 -2
  227. package/jest/mocks/Modal.js +2 -2
  228. package/jest/mocks/RefreshControl.js +3 -3
  229. package/jest/mocks/RendererProxy.js +2 -2
  230. package/jest/mocks/ScrollView.js +5 -5
  231. package/jest/mocks/Text.js +2 -2
  232. package/jest/mocks/TextInput.js +2 -2
  233. package/jest/mocks/View.js +2 -2
  234. package/jest/mocks/ViewNativeComponent.js +1 -1
  235. package/jest/mocks/requireNativeComponent.js +1 -1
  236. package/jest/mocks/useColorScheme.js +1 -1
  237. package/jest/setup.js +68 -31
  238. package/overrides.json +30 -36
  239. package/package.json +22 -19
  240. package/src/private/animated/NativeAnimatedHelper.js +2 -2
  241. package/src/private/animated/NativeAnimatedHelper.win32.js +2 -2
  242. package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
  243. package/src/private/components/virtualview/VirtualView.js +14 -21
  244. package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
  245. package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
  246. package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
  247. package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
  248. package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
  249. package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
  250. package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
  251. package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
  252. package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
  253. package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
  254. package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
  255. package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
  256. package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
  257. package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
  258. package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
  259. package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
  260. package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
  261. package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
  262. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
  263. package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
  264. package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
  265. package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
  266. package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
  267. package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  268. package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
  269. package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
  270. package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
  271. package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
  272. package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
  273. package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +3 -3
  274. package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
  275. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
  276. package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
  277. package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
  278. package/src/private/styles/composeStyles.js +1 -1
  279. package/src/private/utilities/toError.js +27 -0
  280. package/src/private/utilities/toExtendedError.js +30 -0
  281. package/src/private/webapis/dom/events/Event.js +1 -1
  282. package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
  283. package/src/private/webapis/dom/events/EventTarget.js +3 -3
  284. package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
  285. package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
  286. package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
  287. package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
  288. package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
  289. package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
  290. package/src/private/webapis/geometry/DOMRectList.js +2 -2
  291. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
  292. package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
  293. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  294. package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
  295. package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
  296. package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
  297. package/src/private/webapis/performance/LongTasks.js +3 -3
  298. package/src/private/webapis/performance/Performance.js +4 -4
  299. package/src/private/webapis/performance/PerformanceEntry.js +1 -1
  300. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  301. package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
  302. package/src/private/webapis/structuredClone/structuredClone.js +2 -2
  303. package/src/types/globals.d.ts +4 -4
  304. package/src-win/Libraries/Components/EnterString.win32.tsx +2 -2
  305. package/src-win/Libraries/Components/Touchable/TouchableWin32.tsx +14 -14
  306. package/src-win/index.win32.js.flow +8 -1
  307. package/types/index.d.ts +2 -0
  308. package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
  309. package/Libraries/Components/View/ReactNativeViewAttributes.win32.js +0 -94
  310. package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
@@ -24,6 +24,7 @@ import type {TextInputNativeCommands} from './TextInputNativeCommands';
24
24
 
25
25
  import * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';
26
26
  import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
27
+ import {colorAttribute} from '../View/ReactNativeStyleAttributes';
27
28
 
28
29
  export type KeyboardType =
29
30
  // Cross Platform
@@ -63,7 +64,7 @@ export type ReturnKeyType =
63
64
 
64
65
  export type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';
65
66
 
66
- export type AndroidTextInputNativeProps = $ReadOnly<{
67
+ export type AndroidTextInputNativeProps = Readonly<{
67
68
  // This allows us to inherit everything from ViewProps except for style (see below)
68
69
  // This must be commented for Fabric codegen to work.
69
70
  ...Omit<ViewProps, 'style'>,
@@ -339,13 +340,13 @@ export type AndroidTextInputNativeProps = $ReadOnly<{
339
340
  * Callback that is called when the text input is blurred.
340
341
  * `target` is the reactTag of the element
341
342
  */
342
- onBlur?: ?BubblingEventHandler<$ReadOnly<{target: Int32}>>,
343
+ onBlur?: ?BubblingEventHandler<Readonly<{target: Int32}>>,
343
344
 
344
345
  /**
345
346
  * Callback that is called when the text input is focused.
346
347
  * `target` is the reactTag of the element
347
348
  */
348
- onFocus?: ?BubblingEventHandler<$ReadOnly<{target: Int32}>>,
349
+ onFocus?: ?BubblingEventHandler<Readonly<{target: Int32}>>,
349
350
 
350
351
  /**
351
352
  * Callback that is called when the text input's text changes.
@@ -353,7 +354,7 @@ export type AndroidTextInputNativeProps = $ReadOnly<{
353
354
  * TODO: differentiate between onChange and onChangeText
354
355
  */
355
356
  onChange?: ?BubblingEventHandler<
356
- $ReadOnly<{target: Int32, eventCount: Int32, text: string}>,
357
+ Readonly<{target: Int32, eventCount: Int32, text: string}>,
357
358
  >,
358
359
 
359
360
  /**
@@ -362,7 +363,7 @@ export type AndroidTextInputNativeProps = $ReadOnly<{
362
363
  * TODO: differentiate between onChange and onChangeText
363
364
  */
364
365
  onChangeText?: ?BubblingEventHandler<
365
- $ReadOnly<{target: Int32, eventCount: Int32, text: string}>,
366
+ Readonly<{target: Int32, eventCount: Int32, text: string}>,
366
367
  >,
367
368
 
368
369
  /**
@@ -373,18 +374,16 @@ export type AndroidTextInputNativeProps = $ReadOnly<{
373
374
  * Only called for multiline text inputs.
374
375
  */
375
376
  onContentSizeChange?: ?DirectEventHandler<
376
- $ReadOnly<{
377
+ Readonly<{
377
378
  target: Int32,
378
- contentSize: $ReadOnly<{width: Double, height: Double}>,
379
+ contentSize: Readonly<{width: Double, height: Double}>,
379
380
  }>,
380
381
  >,
381
382
 
382
383
  /**
383
384
  * Callback that is called when text input ends.
384
385
  */
385
- onEndEditing?: ?BubblingEventHandler<
386
- $ReadOnly<{target: Int32, text: string}>,
387
- >,
386
+ onEndEditing?: ?BubblingEventHandler<Readonly<{target: Int32, text: string}>>,
388
387
 
389
388
  /**
390
389
  * Callback that is called when the text input selection is changed.
@@ -392,9 +391,9 @@ export type AndroidTextInputNativeProps = $ReadOnly<{
392
391
  * `{ nativeEvent: { selection: { start, end } } }`.
393
392
  */
394
393
  onSelectionChange?: ?DirectEventHandler<
395
- $ReadOnly<{
394
+ Readonly<{
396
395
  target: Int32,
397
- selection: $ReadOnly<{start: Double, end: Double}>,
396
+ selection: Readonly<{start: Double, end: Double}>,
398
397
  }>,
399
398
  >,
400
399
 
@@ -403,7 +402,7 @@ export type AndroidTextInputNativeProps = $ReadOnly<{
403
402
  * Invalid if `multiline={true}` is specified.
404
403
  */
405
404
  onSubmitEditing?: ?BubblingEventHandler<
406
- $ReadOnly<{target: Int32, text: string}>,
405
+ Readonly<{target: Int32, text: string}>,
407
406
  >,
408
407
 
409
408
  /**
@@ -413,7 +412,7 @@ export type AndroidTextInputNativeProps = $ReadOnly<{
413
412
  * the typed-in character otherwise including `' '` for space.
414
413
  * Fires before `onChange` callbacks.
415
414
  */
416
- onKeyPress?: ?BubblingEventHandler<$ReadOnly<{target: Int32, key: string}>>,
415
+ onKeyPress?: ?BubblingEventHandler<Readonly<{target: Int32, key: string}>>,
417
416
 
418
417
  /**
419
418
  * Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`.
@@ -421,28 +420,28 @@ export type AndroidTextInputNativeProps = $ReadOnly<{
421
420
  * is not provided for performance reasons.
422
421
  */
423
422
  onScroll?: ?DirectEventHandler<
424
- $ReadOnly<{
423
+ Readonly<{
425
424
  target: Int32,
426
425
  responderIgnoreScroll: boolean,
427
- contentInset: $ReadOnly<{
426
+ contentInset: Readonly<{
428
427
  top: Double, // always 0 on Android
429
428
  bottom: Double, // always 0 on Android
430
429
  left: Double, // always 0 on Android
431
430
  right: Double, // always 0 on Android
432
431
  }>,
433
- contentOffset: $ReadOnly<{
432
+ contentOffset: Readonly<{
434
433
  x: Double,
435
434
  y: Double,
436
435
  }>,
437
- contentSize: $ReadOnly<{
436
+ contentSize: Readonly<{
438
437
  width: Double, // always 0 on Android
439
438
  height: Double, // always 0 on Android
440
439
  }>,
441
- layoutMeasurement: $ReadOnly<{
440
+ layoutMeasurement: Readonly<{
442
441
  width: Double,
443
442
  height: Double,
444
443
  }>,
445
- velocity: $ReadOnly<{
444
+ velocity: Readonly<{
446
445
  x: Double, // always 0 on Android
447
446
  y: Double, // always 0 on Android
448
447
  }>,
@@ -479,7 +478,7 @@ export type AndroidTextInputNativeProps = $ReadOnly<{
479
478
  * The start and end of the text input's selection. Set start and end to
480
479
  * the same value to position the cursor.
481
480
  */
482
- selection?: ?$ReadOnly<{
481
+ selection?: ?Readonly<{
483
482
  start: Int32,
484
483
  end?: ?Int32,
485
484
  }>,
@@ -582,7 +581,7 @@ export type AndroidTextInputNativeProps = $ReadOnly<{
582
581
  textShadowRadius?: ?Float,
583
582
  textDecorationLine?: ?string,
584
583
  fontStyle?: ?string,
585
- textShadowOffset?: ?$ReadOnly<{width?: ?Double, height?: ?Double}>,
584
+ textShadowOffset?: ?Readonly<{width?: ?Double, height?: ?Double}>,
586
585
  lineHeight?: ?Float,
587
586
  textTransform?: ?string,
588
587
  color?: ?Int32,
@@ -650,41 +649,33 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
650
649
  placeholder: true,
651
650
  inlineImagePadding: true,
652
651
  contextMenuHidden: true,
653
- textShadowColor: {
654
- process: require('../../StyleSheet/processColor').default,
655
- },
652
+ textShadowColor: colorAttribute,
656
653
  maxLength: true,
657
654
  selectTextOnFocus: true,
658
655
  textShadowRadius: true,
659
- underlineColorAndroid: {
660
- process: require('../../StyleSheet/processColor').default,
661
- },
656
+ underlineColorAndroid: colorAttribute,
662
657
  textDecorationLine: true,
663
658
  submitBehavior: true,
664
659
  textAlignVertical: true,
665
660
  fontStyle: true,
666
661
  textShadowOffset: true,
667
- selectionColor: {process: require('../../StyleSheet/processColor').default},
668
- selectionHandleColor: {
669
- process: require('../../StyleSheet/processColor').default,
670
- },
671
- placeholderTextColor: {
672
- process: require('../../StyleSheet/processColor').default,
673
- },
662
+ selectionColor: colorAttribute,
663
+ selectionHandleColor: colorAttribute,
664
+ placeholderTextColor: colorAttribute,
674
665
  importantForAutofill: true,
675
666
  lineHeight: true,
676
667
  textTransform: true,
677
668
  returnKeyType: true,
678
669
  keyboardType: true,
679
670
  multiline: true,
680
- color: {process: require('../../StyleSheet/processColor').default},
671
+ color: colorAttribute,
681
672
  autoComplete: true,
682
673
  numberOfLines: true,
683
674
  letterSpacing: true,
684
675
  returnKeyLabel: true,
685
676
  fontSize: true,
686
677
  onKeyPress: true,
687
- cursorColor: {process: require('../../StyleSheet/processColor').default},
678
+ cursorColor: colorAttribute,
688
679
  text: true,
689
680
  showSoftInputOnFocus: true,
690
681
  textAlign: true,
@@ -706,22 +697,16 @@ export const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {
706
697
  editable: true,
707
698
  fontVariant: true,
708
699
  borderBottomRightRadius: true,
709
- borderBottomColor: {
710
- process: require('../../StyleSheet/processColor').default,
711
- },
700
+ borderBottomColor: colorAttribute,
712
701
  borderRadius: true,
713
- borderRightColor: {
714
- process: require('../../StyleSheet/processColor').default,
715
- },
716
- borderColor: {process: require('../../StyleSheet/processColor').default},
702
+ borderRightColor: colorAttribute,
703
+ borderColor: colorAttribute,
717
704
  borderTopRightRadius: true,
718
705
  borderStyle: true,
719
706
  borderBottomLeftRadius: true,
720
- borderLeftColor: {
721
- process: require('../../StyleSheet/processColor').default,
722
- },
707
+ borderLeftColor: colorAttribute,
723
708
  borderTopLeftRadius: true,
724
- borderTopColor: {process: require('../../StyleSheet/processColor').default},
709
+ borderTopColor: colorAttribute,
725
710
  },
726
711
  };
727
712
 
@@ -76,7 +76,7 @@ import * as React from 'react';
76
76
  * For an example, look at InputAccessoryViewExample.js in RNTester.
77
77
  */
78
78
 
79
- export type InputAccessoryViewProps = $ReadOnly<{
79
+ export type InputAccessoryViewProps = Readonly<{
80
80
  +children: React.Node,
81
81
  /**
82
82
  * An ID which is used to associate this `InputAccessoryView` to
@@ -11,6 +11,7 @@
11
11
  import type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';
12
12
 
13
13
  import {ConditionallyIgnoredEventHandlers} from '../../NativeComponent/ViewConfigIgnore';
14
+ import {colorAttribute} from '../View/ReactNativeStyleAttributes';
14
15
 
15
16
  type PartialViewConfigWithoutName = Omit<PartialViewConfig, 'uiViewClassName'>;
16
17
 
@@ -111,22 +112,16 @@ const RCTTextInputViewConfig: PartialViewConfigWithoutName = {
111
112
  textShadowRadius: true,
112
113
  letterSpacing: true,
113
114
  textDecorationStyle: true,
114
- textDecorationColor: {
115
- process: require('../../StyleSheet/processColor').default,
116
- },
117
- color: {process: require('../../StyleSheet/processColor').default},
115
+ textDecorationColor: colorAttribute,
116
+ color: colorAttribute,
118
117
  maxFontSizeMultiplier: true,
119
- textShadowColor: {
120
- process: require('../../StyleSheet/processColor').default,
121
- },
118
+ textShadowColor: colorAttribute,
122
119
  editable: true,
123
120
  inputAccessoryViewID: true,
124
121
  inputAccessoryViewButtonLabel: true,
125
122
  caretHidden: true,
126
123
  enablesReturnKeyAutomatically: true,
127
- placeholderTextColor: {
128
- process: require('../../StyleSheet/processColor').default,
129
- },
124
+ placeholderTextColor: colorAttribute,
130
125
  clearButtonMode: true,
131
126
  keyboardType: true,
132
127
  selection: true,
@@ -134,7 +129,7 @@ const RCTTextInputViewConfig: PartialViewConfigWithoutName = {
134
129
  submitBehavior: true,
135
130
  mostRecentEventCount: true,
136
131
  scrollEnabled: true,
137
- selectionColor: {process: require('../../StyleSheet/processColor').default},
132
+ selectionColor: colorAttribute,
138
133
  contextMenuHidden: true,
139
134
  secureTextEntry: true,
140
135
  placeholder: true,
@@ -25,20 +25,21 @@ import * as React from 'react';
25
25
  /**
26
26
  * @see TextInputProps.onChange
27
27
  */
28
- type TextInputChangeEventData = $ReadOnly<{
28
+ type TextInputChangeEventData = Readonly<{
29
29
  eventCount: number,
30
30
  target: number,
31
31
  text: string,
32
+ selection?: Selection,
32
33
  }>;
33
34
 
34
35
  export type TextInputChangeEvent =
35
36
  NativeSyntheticEvent<TextInputChangeEventData>;
36
37
 
37
38
  export type TextInputEvent = NativeSyntheticEvent<
38
- $ReadOnly<{
39
+ Readonly<{
39
40
  eventCount: number,
40
41
  previousText: string,
41
- range: $ReadOnly<{
42
+ range: Readonly<{
42
43
  start: number,
43
44
  end: number,
44
45
  }>,
@@ -47,9 +48,9 @@ export type TextInputEvent = NativeSyntheticEvent<
47
48
  }>,
48
49
  >;
49
50
 
50
- type TextInputContentSizeChangeEventData = $ReadOnly<{
51
+ type TextInputContentSizeChangeEventData = Readonly<{
51
52
  target: number,
52
- contentSize: $ReadOnly<{
53
+ contentSize: Readonly<{
53
54
  width: number,
54
55
  height: number,
55
56
  }>,
@@ -73,17 +74,17 @@ export type TextInputBlurEvent = BlurEvent;
73
74
  */
74
75
  export type TextInputFocusEvent = FocusEvent;
75
76
 
76
- type TargetEvent = $ReadOnly<{
77
+ type TargetEvent = Readonly<{
77
78
  target: number,
78
79
  ...
79
80
  }>;
80
81
 
81
- export type Selection = $ReadOnly<{
82
+ export type Selection = Readonly<{
82
83
  start: number,
83
84
  end: number,
84
85
  }>;
85
86
 
86
- type TextInputSelectionChangeEventData = $ReadOnly<{
87
+ type TextInputSelectionChangeEventData = Readonly<{
87
88
  ...TargetEvent,
88
89
  selection: Selection,
89
90
  ...
@@ -95,7 +96,7 @@ type TextInputSelectionChangeEventData = $ReadOnly<{
95
96
  export type TextInputSelectionChangeEvent =
96
97
  NativeSyntheticEvent<TextInputSelectionChangeEventData>;
97
98
 
98
- type TextInputKeyPressEventData = $ReadOnly<{
99
+ type TextInputKeyPressEventData = Readonly<{
99
100
  ...TargetEvent,
100
101
  key: string,
101
102
  target?: ?number,
@@ -109,7 +110,7 @@ type TextInputKeyPressEventData = $ReadOnly<{
109
110
  export type TextInputKeyPressEvent =
110
111
  NativeSyntheticEvent<TextInputKeyPressEventData>;
111
112
 
112
- type TextInputEndEditingEventData = $ReadOnly<{
113
+ type TextInputEndEditingEventData = Readonly<{
113
114
  ...TargetEvent,
114
115
  eventCount: number,
115
116
  text: string,
@@ -122,7 +123,7 @@ type TextInputEndEditingEventData = $ReadOnly<{
122
123
  export type TextInputEndEditingEvent =
123
124
  NativeSyntheticEvent<TextInputEndEditingEventData>;
124
125
 
125
- type TextInputSubmitEditingEventData = $ReadOnly<{
126
+ type TextInputSubmitEditingEventData = Readonly<{
126
127
  ...TargetEvent,
127
128
  eventCount: number,
128
129
  text: string,
@@ -266,7 +267,7 @@ export type EnterKeyHintTypeOptions =
266
267
 
267
268
  type PasswordRules = string;
268
269
 
269
- export type TextInputIOSProps = $ReadOnly<{
270
+ export type TextInputIOSProps = Readonly<{
270
271
  /**
271
272
  * If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false.
272
273
  * @platform ios
@@ -306,7 +307,7 @@ export type TextInputIOSProps = $ReadOnly<{
306
307
  */
307
308
  dataDetectorTypes?:
308
309
  | ?DataDetectorTypesType
309
- | $ReadOnlyArray<DataDetectorTypesType>,
310
+ | ReadonlyArray<DataDetectorTypesType>,
310
311
 
311
312
  /**
312
313
  * If `true`, the keyboard disables the return key when there is no text and
@@ -403,7 +404,7 @@ export type TextInputIOSProps = $ReadOnly<{
403
404
  smartInsertDelete?: ?boolean,
404
405
  }>;
405
406
 
406
- export type TextInputAndroidProps = $ReadOnly<{
407
+ export type TextInputAndroidProps = Readonly<{
407
408
  /**
408
409
  * When provided it will set the color of the cursor (or "caret") in the component.
409
410
  * Unlike the behavior of `selectionColor` the cursor color will be set independently
@@ -512,7 +513,7 @@ export type TextInputAndroidProps = $ReadOnly<{
512
513
  underlineColorAndroid?: ?ColorValue,
513
514
  }>;
514
515
 
515
- type TextInputBaseProps = $ReadOnly<{
516
+ type TextInputBaseProps = Readonly<{
516
517
  /**
517
518
  * When provided, the text input will only accept drag and drop events for the specified
518
519
  * types. If null or not provided, the text input will accept all types of drag and drop events.
@@ -531,7 +532,7 @@ type TextInputBaseProps = $ReadOnly<{
531
532
  *
532
533
  * @see https://developer.android.com/reference/android/content/ClipData for more information on MIME types
533
534
  */
534
- experimental_acceptDragAndDropTypes?: ?$ReadOnlyArray<string>,
535
+ experimental_acceptDragAndDropTypes?: ?ReadonlyArray<string>,
535
536
 
536
537
  /**
537
538
  * Can tell `TextInput` to automatically capitalize certain characters.
@@ -946,7 +947,7 @@ type TextInputBaseProps = $ReadOnly<{
946
947
  * The start and end of the text input's selection. Set start and end to
947
948
  * the same value to position the cursor.
948
949
  */
949
- selection?: ?$ReadOnly<{
950
+ selection?: ?Readonly<{
950
951
  start: number,
951
952
  end?: ?number,
952
953
  }>,
@@ -1031,7 +1032,7 @@ type TextInputBaseProps = $ReadOnly<{
1031
1032
  textAlign?: ?('left' | 'center' | 'right'),
1032
1033
  }>;
1033
1034
 
1034
- export type TextInputProps = $ReadOnly<{
1035
+ export type TextInputProps = Readonly<{
1035
1036
  ...Omit<ViewProps, 'style' | 'experimental_accessibilityOrder'>,
1036
1037
  ...TextInputIOSProps,
1037
1038
  ...TextInputAndroidProps,
@@ -1167,8 +1168,8 @@ type InternalTextInput = component(
1167
1168
  ...TextInputProps
1168
1169
  );
1169
1170
 
1170
- export type TextInputComponentStatics = $ReadOnly<{
1171
- State: $ReadOnly<{
1171
+ export type TextInputComponentStatics = Readonly<{
1172
+ State: Readonly<{
1172
1173
  currentlyFocusedInput: () => ?HostInstance,
1173
1174
  currentlyFocusedField: () => ?number,
1174
1175
  focusTextInput: (textField: ?HostInstance) => void,
@@ -25,20 +25,21 @@ import * as React from 'react';
25
25
  /**
26
26
  * @see TextInputProps.onChange
27
27
  */
28
- type TextInputChangeEventData = $ReadOnly<{
28
+ type TextInputChangeEventData = Readonly<{
29
29
  eventCount: number,
30
30
  target: number,
31
31
  text: string,
32
+ selection?: Selection,
32
33
  }>;
33
34
 
34
35
  export type TextInputChangeEvent =
35
36
  NativeSyntheticEvent<TextInputChangeEventData>;
36
37
 
37
38
  export type TextInputEvent = NativeSyntheticEvent<
38
- $ReadOnly<{
39
+ Readonly<{
39
40
  eventCount: number,
40
41
  previousText: string,
41
- range: $ReadOnly<{
42
+ range: Readonly<{
42
43
  start: number,
43
44
  end: number,
44
45
  }>,
@@ -47,9 +48,9 @@ export type TextInputEvent = NativeSyntheticEvent<
47
48
  }>,
48
49
  >;
49
50
 
50
- type TextInputContentSizeChangeEventData = $ReadOnly<{
51
+ type TextInputContentSizeChangeEventData = Readonly<{
51
52
  target: number,
52
- contentSize: $ReadOnly<{
53
+ contentSize: Readonly<{
53
54
  width: number,
54
55
  height: number,
55
56
  }>,
@@ -73,17 +74,17 @@ export type TextInputBlurEvent = BlurEvent;
73
74
  */
74
75
  export type TextInputFocusEvent = FocusEvent;
75
76
 
76
- type TargetEvent = $ReadOnly<{
77
+ type TargetEvent = Readonly<{
77
78
  target: number,
78
79
  ...
79
80
  }>;
80
81
 
81
- export type Selection = $ReadOnly<{
82
+ export type Selection = Readonly<{
82
83
  start: number,
83
84
  end: number,
84
85
  }>;
85
86
 
86
- type TextInputSelectionChangeEventData = $ReadOnly<{
87
+ type TextInputSelectionChangeEventData = Readonly<{
87
88
  ...TargetEvent,
88
89
  selection: Selection,
89
90
  ...
@@ -95,7 +96,7 @@ type TextInputSelectionChangeEventData = $ReadOnly<{
95
96
  export type TextInputSelectionChangeEvent =
96
97
  NativeSyntheticEvent<TextInputSelectionChangeEventData>;
97
98
 
98
- type TextInputKeyPressEventData = $ReadOnly<{
99
+ type TextInputKeyPressEventData = Readonly<{
99
100
  ...TargetEvent,
100
101
  key: string,
101
102
  target?: ?number,
@@ -109,7 +110,7 @@ type TextInputKeyPressEventData = $ReadOnly<{
109
110
  export type TextInputKeyPressEvent =
110
111
  NativeSyntheticEvent<TextInputKeyPressEventData>;
111
112
 
112
- type TextInputEndEditingEventData = $ReadOnly<{
113
+ type TextInputEndEditingEventData = Readonly<{
113
114
  ...TargetEvent,
114
115
  eventCount: number,
115
116
  text: string,
@@ -122,7 +123,7 @@ type TextInputEndEditingEventData = $ReadOnly<{
122
123
  export type TextInputEndEditingEvent =
123
124
  NativeSyntheticEvent<TextInputEndEditingEventData>;
124
125
 
125
- type TextInputSubmitEditingEventData = $ReadOnly<{
126
+ type TextInputSubmitEditingEventData = Readonly<{
126
127
  ...TargetEvent,
127
128
  eventCount: number,
128
129
  text: string,
@@ -266,7 +267,7 @@ export type EnterKeyHintTypeOptions =
266
267
 
267
268
  type PasswordRules = string;
268
269
 
269
- export type TextInputIOSProps = $ReadOnly<{
270
+ export type TextInputIOSProps = Readonly<{
270
271
  /**
271
272
  * If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false.
272
273
  * @platform ios
@@ -306,7 +307,7 @@ export type TextInputIOSProps = $ReadOnly<{
306
307
  */
307
308
  dataDetectorTypes?:
308
309
  | ?DataDetectorTypesType
309
- | $ReadOnlyArray<DataDetectorTypesType>,
310
+ | ReadonlyArray<DataDetectorTypesType>,
310
311
 
311
312
  /**
312
313
  * If `true`, the keyboard disables the return key when there is no text and
@@ -403,7 +404,7 @@ export type TextInputIOSProps = $ReadOnly<{
403
404
  smartInsertDelete?: ?boolean,
404
405
  }>;
405
406
 
406
- export type TextInputAndroidProps = $ReadOnly<{
407
+ export type TextInputAndroidProps = Readonly<{
407
408
  /**
408
409
  * When provided it will set the color of the cursor (or "caret") in the component.
409
410
  * Unlike the behavior of `selectionColor` the cursor color will be set independently
@@ -514,7 +515,7 @@ export type TextInputAndroidProps = $ReadOnly<{
514
515
 
515
516
  // [Windows
516
517
 
517
- type SubmitKeyEvent = $ReadOnly<{|
518
+ type SubmitKeyEvent = Readonly<{|
518
519
  altKey?: ?boolean,
519
520
  ctrlKey?: ?boolean,
520
521
  metaKey?: ?boolean,
@@ -522,7 +523,7 @@ type SubmitKeyEvent = $ReadOnly<{|
522
523
  code: string,
523
524
  |}>;
524
525
 
525
- export type TextInputWindowsProps = $ReadOnly<{|
526
+ export type TextInputWindowsProps = Readonly<{|
526
527
  /**
527
528
  * If `true`, clears the text field synchronously before `onSubmitEditing` is emitted.
528
529
  * @platform windows
@@ -538,7 +539,7 @@ export type TextInputWindowsProps = $ReadOnly<{|
538
539
 
539
540
  // Windows]
540
541
 
541
- type TextInputBaseProps = $ReadOnly<{
542
+ type TextInputBaseProps = Readonly<{
542
543
  /**
543
544
  * When provided, the text input will only accept drag and drop events for the specified
544
545
  * types. If null or not provided, the text input will accept all types of drag and drop events.
@@ -557,7 +558,7 @@ type TextInputBaseProps = $ReadOnly<{
557
558
  *
558
559
  * @see https://developer.android.com/reference/android/content/ClipData for more information on MIME types
559
560
  */
560
- experimental_acceptDragAndDropTypes?: ?$ReadOnlyArray<string>,
561
+ experimental_acceptDragAndDropTypes?: ?ReadonlyArray<string>,
561
562
  /**
562
563
  * String to be read by screenreaders to indicate an error state. The acceptable parameters
563
564
  * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates
@@ -979,7 +980,7 @@ type TextInputBaseProps = $ReadOnly<{
979
980
  * The start and end of the text input's selection. Set start and end to
980
981
  * the same value to position the cursor.
981
982
  */
982
- selection?: ?$ReadOnly<{
983
+ selection?: ?Readonly<{
983
984
  start: number,
984
985
  end?: ?number,
985
986
  }>,
@@ -1064,7 +1065,7 @@ type TextInputBaseProps = $ReadOnly<{
1064
1065
  textAlign?: ?('left' | 'center' | 'right'),
1065
1066
  }>;
1066
1067
 
1067
- export type TextInputProps = $ReadOnly<{
1068
+ export type TextInputProps = Readonly<{
1068
1069
  ...Omit<ViewProps, 'style'>,
1069
1070
  ...TextInputIOSProps,
1070
1071
  ...TextInputAndroidProps,
@@ -1201,8 +1202,8 @@ type InternalTextInput = component(
1201
1202
  ...TextInputProps
1202
1203
  );
1203
1204
 
1204
- export type TextInputComponentStatics = $ReadOnly<{
1205
- State: $ReadOnly<{
1205
+ export type TextInputComponentStatics = Readonly<{
1206
+ State: Readonly<{
1206
1207
  currentlyFocusedInput: () => ?HostInstance,
1207
1208
  currentlyFocusedField: () => ?number,
1208
1209
  focusTextInput: (textField: ?HostInstance) => void,
@@ -120,7 +120,7 @@ export type {
120
120
  TextInputSubmitEditingEvent,
121
121
  };
122
122
 
123
- type TextInputStateType = $ReadOnly<{
123
+ type TextInputStateType = Readonly<{
124
124
  /**
125
125
  * @deprecated Use currentlyFocusedInput
126
126
  * Returns the ID of the currently focused text field, if one exists
@@ -472,9 +472,13 @@ function InternalTextInput(props: TextInputProps): React.Node {
472
472
  getNativeRef(): ?TextInputInstance {
473
473
  return inputRef.current;
474
474
  },
475
- // TODO: Fix this returning true on null === null, when no input is focused
476
475
  isFocused(): boolean {
477
- return TextInputState.currentlyFocusedInput() === inputRef.current;
476
+ const currentlyFocusedInput =
477
+ TextInputState.currentlyFocusedInput();
478
+ return (
479
+ currentlyFocusedInput != null &&
480
+ currentlyFocusedInput === inputRef.current
481
+ );
478
482
  },
479
483
  setSelection(start: number, end: number): void {
480
484
  if (inputRef.current != null) {
@@ -965,7 +969,7 @@ TextInput.State = {
965
969
  focusTextInput: TextInputState.focusTextInput,
966
970
  };
967
971
 
968
- export type TextInputComponentStatics = $ReadOnly<{
972
+ export type TextInputComponentStatics = Readonly<{
969
973
  State: TextInputStateType,
970
974
  }>;
971
975
 
@@ -133,7 +133,7 @@ export type {
133
133
  TextInputWindowsProps, // [Windows]
134
134
  };
135
135
 
136
- type TextInputStateType = $ReadOnly<{
136
+ type TextInputStateType = Readonly<{
137
137
  /**
138
138
  * @deprecated Use currentlyFocusedInput
139
139
  * Returns the ID of the currently focused text field, if one exists
@@ -489,12 +489,11 @@ function InternalTextInput(props: TextInputProps): React.Node {
489
489
  getNativeRef(): ?TextInputInstance {
490
490
  return inputRef.current;
491
491
  },
492
- // TODO: Fix this returning true on null === null, when no input is focused
493
492
  isFocused(): boolean {
494
493
  const currentlyFocusedInput =
495
494
  TextInputState.currentlyFocusedInput();
496
495
  return (
497
- currentlyFocusedInput !== null &&
496
+ currentlyFocusedInput != null &&
498
497
  currentlyFocusedInput === inputRef.current
499
498
  );
500
499
  },
@@ -1102,7 +1101,7 @@ TextInput.State = {
1102
1101
  focusTextInput: TextInputState.focusTextInput,
1103
1102
  };
1104
1103
 
1105
- export type TextInputComponentStatics = $ReadOnly<{
1104
+ export type TextInputComponentStatics = Readonly<{
1106
1105
  State: TextInputStateType,
1107
1106
  }>;
1108
1107
 
@@ -105,7 +105,7 @@ const addPoolingTo = function <T>(
105
105
  pooler: Pooler,
106
106
  ): Class<T> & {
107
107
  getPooled(
108
- ...args: $ReadOnlyArray<unknown>
108
+ ...args: ReadonlyArray<unknown>
109
109
  ): /* arguments of the constructor */ T,
110
110
  release(instance: unknown): void,
111
111
  ...