@office-iss/react-native-win32 0.0.0-canary.282 → 0.0.0-canary.284

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 (244) hide show
  1. package/.flowconfig +1 -1
  2. package/CHANGELOG.json +79 -1
  3. package/CHANGELOG.md +28 -4
  4. package/IntegrationTests/AccessibilityManagerTest.js +17 -12
  5. package/IntegrationTests/AppEventsTest.js +47 -32
  6. package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +10 -14
  7. package/IntegrationTests/ImageCachePolicyTest.js +64 -81
  8. package/IntegrationTests/ImageSnapshotTest.js +17 -20
  9. package/IntegrationTests/IntegrationTestHarnessTest.js +34 -52
  10. package/IntegrationTests/IntegrationTestsApp.js +11 -6
  11. package/IntegrationTests/LayoutEventsTest.js +1 -1
  12. package/IntegrationTests/LoggingTestModule.js +2 -1
  13. package/IntegrationTests/PromiseTest.js +51 -43
  14. package/IntegrationTests/SimpleSnapshotTest.js +19 -24
  15. package/IntegrationTests/SyncMethodTest.js +9 -13
  16. package/IntegrationTests/TimersTest.js +3 -3
  17. package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
  18. package/Libraries/Alert/Alert.js +1 -1
  19. package/Libraries/Alert/Alert.win32.js +1 -1
  20. package/Libraries/Alert/RCTAlertManager.android.js +1 -1
  21. package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
  22. package/Libraries/Animated/AnimatedMock.js +1 -1
  23. package/Libraries/Animated/AnimatedWeb.js +27 -9
  24. package/Libraries/Animated/nodes/AnimatedValue.js +35 -13
  25. package/Libraries/Animated/useAnimatedProps.js +47 -85
  26. package/Libraries/AppState/AppState.js +1 -1
  27. package/Libraries/BatchedBridge/BatchedBridge.js +4 -2
  28. package/Libraries/BatchedBridge/MessageQueue.js +2 -2
  29. package/Libraries/BatchedBridge/NativeModules.js +4 -3
  30. package/Libraries/Blob/Blob.js +4 -4
  31. package/Libraries/Blob/BlobManager.js +3 -2
  32. package/Libraries/Blob/BlobRegistry.js +3 -9
  33. package/Libraries/Blob/File.js +3 -2
  34. package/Libraries/Blob/FileReader.js +1 -1
  35. package/Libraries/BugReporting/BugReporting.js +2 -2
  36. package/Libraries/BugReporting/dumpReactTree.js +2 -2
  37. package/Libraries/BugReporting/getReactData.js +1 -1
  38. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
  39. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
  40. package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
  41. package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +5 -5
  42. package/Libraries/Components/Button.js +2 -2
  43. package/Libraries/Components/Button.win32.js +2 -2
  44. package/Libraries/Components/Clipboard/Clipboard.js +1 -1
  45. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +7 -7
  46. package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -2
  47. package/Libraries/Components/Keyboard/Keyboard.js +9 -9
  48. package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +4 -4
  49. package/Libraries/Components/Pressable/Pressable.js +4 -4
  50. package/Libraries/Components/Pressable/Pressable.win32.js +4 -4
  51. package/Libraries/Components/Pressable/useAndroidRippleForView.js +9 -9
  52. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +10 -11
  53. package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
  54. package/Libraries/Components/RefreshControl/RefreshControl.js +9 -9
  55. package/Libraries/Components/ScrollView/ScrollView.js +32 -26
  56. package/Libraries/Components/ScrollView/ScrollViewCommands.js +2 -2
  57. package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +2 -2
  58. package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
  59. package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
  60. package/Libraries/Components/Sound/SoundManager.js +1 -1
  61. package/Libraries/Components/StaticRenderer.js +4 -4
  62. package/Libraries/Components/StatusBar/StatusBar.js +33 -18
  63. package/Libraries/Components/Switch/Switch.js +6 -6
  64. package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +31 -31
  65. package/Libraries/Components/TextInput/InputAccessoryView.js +2 -2
  66. package/Libraries/Components/TextInput/TextInput.flow.js +35 -35
  67. package/Libraries/Components/TextInput/TextInput.js +35 -35
  68. package/Libraries/Components/TextInput/TextInput.win32.js +35 -35
  69. package/Libraries/Components/TextInput/TextInputNativeCommands.js +1 -1
  70. package/Libraries/Components/ToastAndroid/ToastAndroid.d.ts +68 -6
  71. package/Libraries/Components/Touchable/TouchableBounce.js +5 -5
  72. package/Libraries/Components/Touchable/TouchableHighlight.js +11 -11
  73. package/Libraries/Components/Touchable/TouchableNativeFeedback.js +14 -14
  74. package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +6 -6
  75. package/Libraries/Components/Touchable/TouchableOpacity.js +6 -6
  76. package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
  77. package/Libraries/Components/UnimplementedViews/UnimplementedView.js +9 -1
  78. package/Libraries/Components/View/ViewAccessibility.js +2 -2
  79. package/Libraries/Components/View/ViewAccessibility.win32.js +2 -2
  80. package/Libraries/Components/View/ViewPropTypes.js +22 -22
  81. package/Libraries/Components/View/ViewPropTypes.win32.js +22 -22
  82. package/Libraries/Core/RawEventEmitter.js +2 -2
  83. package/Libraries/Core/ReactNativeVersion.js +3 -5
  84. package/Libraries/Core/Timers/JSTimers.js +3 -3
  85. package/Libraries/Core/polyfillPromise.js +1 -1
  86. package/Libraries/Core/registerCallableModule.js +1 -1
  87. package/Libraries/Core/setUpAlert.js +1 -1
  88. package/Libraries/Core/setUpDeveloperTools.js +0 -2
  89. package/Libraries/Core/setUpErrorHandling.js +6 -1
  90. package/Libraries/Core/setUpReactDevTools.js +1 -1
  91. package/Libraries/Core/setUpTimers.js +35 -56
  92. package/Libraries/Core/setUpXHR.js +5 -5
  93. package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +2 -1
  94. package/Libraries/Events/CustomEvent.js +2 -2
  95. package/Libraries/Image/AssetRegistry.js +6 -1
  96. package/Libraries/Image/AssetSourceResolver.js +2 -2
  97. package/Libraries/Image/ImageProps.js +17 -17
  98. package/Libraries/Image/nativeImageSource.js +2 -2
  99. package/Libraries/Inspector/ElementProperties.js +4 -3
  100. package/Libraries/Inspector/Inspector.js +1 -1
  101. package/Libraries/Inspector/Inspector.win32.js +1 -1
  102. package/Libraries/Inspector/InspectorOverlay.js +4 -3
  103. package/Libraries/Inspector/InspectorOverlay.win32.js +3 -3
  104. package/Libraries/Inspector/InspectorPanel.js +6 -6
  105. package/Libraries/Inspector/NetworkOverlay.js +6 -5
  106. package/Libraries/Inspector/PerformanceOverlay.js +2 -1
  107. package/Libraries/Inspector/resolveBoxStyle.js +2 -2
  108. package/Libraries/Interaction/InteractionManager.js +3 -2
  109. package/Libraries/Interaction/PanResponder.js +6 -6
  110. package/Libraries/Interaction/TouchHistoryMath.js +26 -0
  111. package/Libraries/JSInspector/NetworkAgent.js +2 -1
  112. package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
  113. package/Libraries/Linking/Linking.js +0 -1
  114. package/Libraries/Lists/FlatList.js +9 -10
  115. package/Libraries/Lists/SectionList.js +7 -9
  116. package/Libraries/Lists/SectionListModern.js +6 -6
  117. package/Libraries/LogBox/Data/LogBoxData.js +14 -14
  118. package/Libraries/LogBox/Data/LogBoxLog.js +51 -29
  119. package/Libraries/LogBox/Data/parseLogBoxLog.js +10 -10
  120. package/Libraries/LogBox/LogBox.js +13 -1
  121. package/Libraries/LogBox/LogBoxInspectorContainer.js +3 -3
  122. package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -3
  123. package/Libraries/LogBox/UI/LogBoxButton.js +4 -4
  124. package/Libraries/LogBox/UI/LogBoxInspectorBody.js +8 -2
  125. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +50 -31
  126. package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.win32.js +50 -31
  127. package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +2 -2
  128. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -2
  129. package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.win32.js +2 -2
  130. package/Libraries/LogBox/UI/LogBoxInspectorSection.js +2 -2
  131. package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +2 -2
  132. package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -2
  133. package/Libraries/Modal/Modal.js +7 -7
  134. package/Libraries/Network/XMLHttpRequest.js +1 -1
  135. package/Libraries/Network/convertRequestBody.js +3 -1
  136. package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -4
  137. package/Libraries/Pressability/Pressability.js +10 -10
  138. package/Libraries/Pressability/Pressability.win32.js +10 -10
  139. package/Libraries/Pressability/PressabilityDebug.js +2 -2
  140. package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +2 -2
  141. package/Libraries/Promise.js +2 -2
  142. package/Libraries/ReactNative/AppContainer.js +2 -2
  143. package/Libraries/ReactNative/BridgelessUIManager.js +3 -8
  144. package/Libraries/ReactNative/I18nManager.js +3 -2
  145. package/Libraries/ReactNative/PaperUIManager.js +1 -1
  146. package/Libraries/ReactNative/PaperUIManager.win32.js +1 -1
  147. package/Libraries/ReactNative/ReactNativeFeatureFlags.js +2 -2
  148. package/Libraries/ReactNative/ReactNativeRuntimeDiagnostics.js +2 -2
  149. package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +3 -2
  150. package/Libraries/StyleSheet/Rect.js +2 -2
  151. package/Libraries/StyleSheet/StyleSheet.js +1 -1
  152. package/Libraries/StyleSheet/StyleSheet.win32.js +1 -1
  153. package/Libraries/StyleSheet/StyleSheetTypes.d.ts +1 -1
  154. package/Libraries/StyleSheet/private/_TransformStyle.js +18 -18
  155. package/Libraries/StyleSheet/processBackgroundImage.js +138 -136
  156. package/Libraries/Text/TextAncestor.js +1 -2
  157. package/Libraries/TurboModule/TurboModuleRegistry.js +1 -1
  158. package/Libraries/Types/CodegenTypes.js +2 -1
  159. package/Libraries/Types/CoreEventTypes.js +40 -40
  160. package/Libraries/Types/CoreEventTypes.win32.js +40 -40
  161. package/Libraries/UTFSequence.js +2 -2
  162. package/Libraries/Utilities/BackHandler.android.js +2 -2
  163. package/Libraries/Utilities/BackHandler.ios.js +2 -2
  164. package/Libraries/Utilities/BackHandler.win32.js +2 -2
  165. package/Libraries/Utilities/HMRClient.js +2 -2
  166. package/Libraries/Utilities/Platform.android.js +4 -4
  167. package/Libraries/Utilities/Platform.flow.js +8 -8
  168. package/Libraries/Utilities/Platform.flow.win32.js +8 -8
  169. package/Libraries/Utilities/Platform.ios.js +4 -4
  170. package/Libraries/Utilities/Platform.win32.js +2 -2
  171. package/Libraries/Utilities/ReactNativeTestTools.js +3 -2
  172. package/Libraries/Utilities/codegenNativeCommands.js +2 -2
  173. package/Libraries/Utilities/codegenNativeComponent.js +2 -2
  174. package/Libraries/Utilities/differ/deepDiffer.js +3 -3
  175. package/Libraries/Utilities/stringifySafe.js +2 -2
  176. package/Libraries/Vibration/Vibration.js +1 -1
  177. package/Libraries/WebSocket/WebSocketEvent.js +1 -1
  178. package/Libraries/YellowBox/YellowBoxDeprecated.js +4 -3
  179. package/Libraries/vendor/core/ErrorUtils.js +1 -1
  180. package/flow/jest.js +14 -14
  181. package/index.js +16 -13
  182. package/index.win32.js +16 -13
  183. package/jest/setup.js +214 -197
  184. package/overrides.json +26 -26
  185. package/package.json +16 -16
  186. package/src/private/featureflags/ReactNativeFeatureFlags.js +11 -30
  187. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +3 -2
  188. package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +2 -2
  189. package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +6 -6
  190. package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +2 -2
  191. package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
  192. package/src/private/specs/components/AndroidSwitchNativeComponent.js +4 -4
  193. package/src/private/specs/components/DebuggingOverlayNativeComponent.js +2 -2
  194. package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +2 -2
  195. package/src/private/specs/components/PullToRefreshViewNativeComponent.js +2 -2
  196. package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +2 -2
  197. package/src/private/specs/components/RCTModalHostViewNativeComponent.js +4 -4
  198. package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +2 -2
  199. package/src/private/specs/components/SwitchNativeComponent.js +4 -4
  200. package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +2 -2
  201. package/src/private/specs/modules/NativeAccessibilityManager.js +2 -2
  202. package/src/private/specs/modules/NativeActionSheetManager.js +7 -7
  203. package/src/private/specs/modules/NativeAlertManager.js +2 -2
  204. package/src/private/specs/modules/NativeAnimatedModule.js +2 -2
  205. package/src/private/specs/modules/NativeAnimatedTurboModule.js +2 -2
  206. package/src/private/specs/modules/NativeAppState.js +3 -3
  207. package/src/private/specs/modules/NativeBlobModule.js +1 -1
  208. package/src/private/specs/modules/NativeClipboard.js +1 -1
  209. package/src/private/specs/modules/NativeDeviceInfo.js +8 -8
  210. package/src/private/specs/modules/NativeDialogManagerAndroid.js +4 -4
  211. package/src/private/specs/modules/NativeExceptionsManager.js +2 -2
  212. package/src/private/specs/modules/NativeFantom.js +6 -0
  213. package/src/private/specs/modules/NativeFrameRateLogger.js +1 -1
  214. package/src/private/specs/modules/NativeI18nManager.js +2 -2
  215. package/src/private/specs/modules/NativeImageEditor.js +9 -9
  216. package/src/private/specs/modules/NativeImageLoaderAndroid.js +1 -1
  217. package/src/private/specs/modules/NativeImageLoaderIOS.js +1 -1
  218. package/src/private/specs/modules/NativeImageLoaderWin32.js +1 -1
  219. package/src/private/specs/modules/NativeImageStoreAndroid.js +1 -1
  220. package/src/private/specs/modules/NativeImageStoreIOS.js +3 -3
  221. package/src/private/specs/modules/NativeNetworkingIOS.js +2 -2
  222. package/src/private/specs/modules/NativePlatformConstantsAndroid.js +4 -4
  223. package/src/private/specs/modules/NativePlatformConstantsIOS.js +4 -4
  224. package/src/private/specs/modules/NativePlatformConstantsWin.js +5 -10
  225. package/src/private/specs/modules/NativePushNotificationManagerIOS.js +7 -7
  226. package/src/private/specs/modules/NativeSampleTurboModule.js +2 -2
  227. package/src/private/specs/modules/NativeSettingsManager.js +2 -2
  228. package/src/private/specs/modules/NativeShareModule.js +3 -3
  229. package/src/private/specs/modules/NativeSourceCode.js +2 -2
  230. package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +4 -4
  231. package/src/private/specs/modules/NativeStatusBarManagerIOS.js +6 -6
  232. package/src/private/specs/modules/NativeToastAndroid.js +2 -2
  233. package/src/private/specs/modules/NativeVibration.js +1 -1
  234. package/src/private/specs/modules/NativeWebSocketModule.js +1 -1
  235. package/src/private/webapis/intersectionobserver/IntersectionObserver.js +2 -2
  236. package/src/private/webapis/intersectionobserver/{IntersectionObserverManager.js → internals/IntersectionObserverManager.js} +9 -9
  237. package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
  238. package/src/private/webapis/mutationobserver/{MutationObserverManager.js → internals/MutationObserverManager.js} +8 -8
  239. package/src/private/webapis/performance/EventTiming.js +1 -1
  240. package/src/private/webapis/performance/Performance.js +3 -3
  241. package/src/private/webapis/performance/PerformanceObserver.js +2 -2
  242. package/src/private/webapis/performance/{RawPerformanceEntry.js → internals/RawPerformanceEntry.js} +6 -6
  243. package/src/private/webapis/performance/{Utilities.js → internals/Utilities.js} +1 -1
  244. package/src/private/webapis/performance/specs/__mocks__/NativePerformanceMock.js +1 -1
@@ -34,11 +34,11 @@ import {useMemo, useRef, useState} from 'react';
34
34
 
35
35
  type ViewStyleProp = $ElementType<React.ElementConfig<typeof View>, 'style'>;
36
36
 
37
- export type StateCallbackType = $ReadOnly<{|
37
+ export type StateCallbackType = $ReadOnly<{
38
38
  pressed: boolean,
39
- |}>;
39
+ }>;
40
40
 
41
- type Props = $ReadOnly<{|
41
+ type Props = $ReadOnly<{
42
42
  /**
43
43
  * Accessibility.
44
44
  */
@@ -193,7 +193,7 @@ type Props = $ReadOnly<{|
193
193
  * https://github.com/facebook/react-native/issues/34424
194
194
  */
195
195
  'aria-label'?: ?string,
196
- |}>;
196
+ }>;
197
197
 
198
198
  type Instance = React.ElementRef<typeof View>;
199
199
 
@@ -39,11 +39,11 @@ import View from '../View/View';
39
39
 
40
40
  type ViewStyleProp = $ElementType<React.ElementConfig<typeof View>, 'style'>;
41
41
 
42
- export type StateCallbackType = $ReadOnly<{|
42
+ export type StateCallbackType = $ReadOnly<{
43
43
  pressed: boolean,
44
- |}>;
44
+ }>;
45
45
 
46
- type Props = $ReadOnly<{|
46
+ type Props = $ReadOnly<{
47
47
  /**
48
48
  * Accessibility.
49
49
  */
@@ -240,7 +240,7 @@ type Props = $ReadOnly<{|
240
240
  * https://github.com/facebook/react-native/issues/34424
241
241
  */
242
242
  'aria-label'?: ?string,
243
- |}>;
243
+ }>;
244
244
 
245
245
  type Instance = React.ElementRef<typeof View>;
246
246
 
@@ -19,19 +19,19 @@ import invariant from 'invariant';
19
19
  import * as React from 'react';
20
20
  import {useMemo} from 'react';
21
21
 
22
- type NativeBackgroundProp = $ReadOnly<{|
22
+ type NativeBackgroundProp = $ReadOnly<{
23
23
  type: 'RippleAndroid',
24
24
  color: ?number,
25
25
  borderless: boolean,
26
26
  rippleRadius: ?number,
27
- |}>;
27
+ }>;
28
28
 
29
- export type RippleConfig = {|
29
+ export type RippleConfig = {
30
30
  color?: ColorValue,
31
31
  borderless?: boolean,
32
32
  radius?: number,
33
33
  foreground?: boolean,
34
- |};
34
+ };
35
35
 
36
36
  /**
37
37
  * Provides the event handlers and props for configuring the ripple effect on
@@ -39,15 +39,15 @@ export type RippleConfig = {|
39
39
  */
40
40
  export default function useAndroidRippleForView(
41
41
  rippleConfig: ?RippleConfig,
42
- viewRef: {|current: null | React.ElementRef<typeof View>|},
43
- ): ?$ReadOnly<{|
42
+ viewRef: {current: null | React.ElementRef<typeof View>},
43
+ ): ?$ReadOnly<{
44
44
  onPressIn: (event: PressEvent) => void,
45
45
  onPressMove: (event: PressEvent) => void,
46
46
  onPressOut: (event: PressEvent) => void,
47
47
  viewProps:
48
- | $ReadOnly<{|nativeBackgroundAndroid: NativeBackgroundProp|}>
49
- | $ReadOnly<{|nativeForegroundAndroid: NativeBackgroundProp|}>,
50
- |}> {
48
+ | $ReadOnly<{nativeBackgroundAndroid: NativeBackgroundProp}>
49
+ | $ReadOnly<{nativeForegroundAndroid: NativeBackgroundProp}>,
50
+ }> {
51
51
  const {color, borderless, radius, foreground} = rippleConfig ?? {};
52
52
 
53
53
  return useMemo(() => {
@@ -15,7 +15,7 @@ import ProgressBarAndroidNativeComponent from './ProgressBarAndroidNativeCompone
15
15
 
16
16
  const React = require('react');
17
17
 
18
- export type ProgressBarAndroidProps = $ReadOnly<{|
18
+ export type ProgressBarAndroidProps = $ReadOnly<{
19
19
  ...ViewProps,
20
20
 
21
21
  /**
@@ -25,12 +25,12 @@ export type ProgressBarAndroidProps = $ReadOnly<{|
25
25
  * `progress` value.
26
26
  */
27
27
  ...
28
- | {|
28
+ | {
29
29
  styleAttr: 'Horizontal',
30
30
  indeterminate: false,
31
31
  progress: number,
32
- |}
33
- | {|
32
+ }
33
+ | {
34
34
  typeAttr:
35
35
  | 'Horizontal'
36
36
  | 'Normal'
@@ -40,7 +40,7 @@ export type ProgressBarAndroidProps = $ReadOnly<{|
40
40
  | 'SmallInverse'
41
41
  | 'LargeInverse',
42
42
  indeterminate: true,
43
- |},
43
+ },
44
44
  /**
45
45
  * Whether to show the ProgressBar (true, the default) or hide it (false).
46
46
  */
@@ -53,7 +53,7 @@ export type ProgressBarAndroidProps = $ReadOnly<{|
53
53
  * Used to locate this view in end-to-end tests.
54
54
  */
55
55
  testID?: ?string,
56
- |}>;
56
+ }>;
57
57
 
58
58
  /**
59
59
  * React component that wraps the Android-only `ProgressBar`. This component is
@@ -106,8 +106,7 @@ const ProgressBarAndroidWithForwardedRef: component(
106
106
  );
107
107
  });
108
108
 
109
- module.exports =
110
- /* $FlowFixMe(>=0.89.0 site=react_native_android_fb) This comment suppresses an
111
- * error found when Flow v0.89 was deployed. To see the error, delete this
112
- * comment and run Flow. */
113
- (ProgressBarAndroidWithForwardedRef: typeof ProgressBarAndroidNativeComponent);
109
+ export default /* $FlowFixMe(>=0.89.0 site=react_native_android_fb) This comment suppresses an
110
+ * error found when Flow v0.89 was deployed. To see the error, delete this
111
+ * comment and run Flow. */
112
+ (ProgressBarAndroidWithForwardedRef: typeof ProgressBarAndroidNativeComponent);
@@ -9,4 +9,4 @@
9
9
 
10
10
  'use strict';
11
11
 
12
- module.exports = require('../UnimplementedViews/UnimplementedView');
12
+ export default require('../UnimplementedViews/UnimplementedView');
@@ -17,11 +17,11 @@ import AndroidSwipeRefreshLayoutNativeComponent, {
17
17
  import PullToRefreshViewNativeComponent, {
18
18
  Commands as PullToRefreshCommands,
19
19
  } from './PullToRefreshViewNativeComponent';
20
+ import React from 'react';
20
21
 
21
22
  const Platform = require('../../Utilities/Platform');
22
- const React = require('react');
23
23
 
24
- type IOSProps = $ReadOnly<{|
24
+ type IOSProps = $ReadOnly<{
25
25
  /**
26
26
  * The color of the refresh indicator.
27
27
  */
@@ -34,9 +34,9 @@ type IOSProps = $ReadOnly<{|
34
34
  * The title displayed under the refresh indicator.
35
35
  */
36
36
  title?: ?string,
37
- |}>;
37
+ }>;
38
38
 
39
- type AndroidProps = $ReadOnly<{|
39
+ type AndroidProps = $ReadOnly<{
40
40
  /**
41
41
  * Whether the pull to refresh functionality is enabled.
42
42
  */
@@ -53,9 +53,9 @@ type AndroidProps = $ReadOnly<{|
53
53
  * Size of the refresh indicator.
54
54
  */
55
55
  size?: ?('default' | 'large'),
56
- |}>;
56
+ }>;
57
57
 
58
- export type RefreshControlProps = $ReadOnly<{|
58
+ export type RefreshControlProps = $ReadOnly<{
59
59
  ...ViewProps,
60
60
  ...IOSProps,
61
61
  ...AndroidProps,
@@ -74,7 +74,7 @@ export type RefreshControlProps = $ReadOnly<{|
74
74
  * Progress view top offset
75
75
  */
76
76
  progressViewOffset?: ?number,
77
- |}>;
77
+ }>;
78
78
 
79
79
  /**
80
80
  * This component is used inside a ScrollView or ListView to add pull to refresh
@@ -126,7 +126,7 @@ class RefreshControl extends React.Component<RefreshControlProps> {
126
126
  | typeof PullToRefreshViewNativeComponent
127
127
  | typeof AndroidSwipeRefreshLayoutNativeComponent,
128
128
  >;
129
- _lastNativeRefreshing = false;
129
+ _lastNativeRefreshing: boolean = false;
130
130
 
131
131
  componentDidMount() {
132
132
  this._lastNativeRefreshing = this.props.refreshing;
@@ -201,4 +201,4 @@ class RefreshControl extends React.Component<RefreshControlProps> {
201
201
  };
202
202
  }
203
203
 
204
- module.exports = RefreshControl;
204
+ export default RefreshControl;
@@ -127,7 +127,7 @@ import * as React from 'react';
127
127
  */
128
128
 
129
129
  // Public methods for ScrollView
130
- export type ScrollViewImperativeMethods = $ReadOnly<{|
130
+ export type ScrollViewImperativeMethods = $ReadOnly<{
131
131
  getScrollResponder: $PropertyType<ScrollView, 'getScrollResponder'>,
132
132
  getScrollableNode: $PropertyType<ScrollView, 'getScrollableNode'>,
133
133
  getInnerViewNode: $PropertyType<ScrollView, 'getInnerViewNode'>,
@@ -141,19 +141,19 @@ export type ScrollViewImperativeMethods = $ReadOnly<{|
141
141
  ScrollView,
142
142
  'scrollResponderScrollNativeHandleToKeyboard',
143
143
  >,
144
- |}>;
144
+ }>;
145
145
 
146
146
  export type DecelerationRateType = 'fast' | 'normal' | number;
147
147
  export type ScrollResponderType = ScrollViewImperativeMethods;
148
148
 
149
- type PublicScrollViewInstance = $ReadOnly<{|
149
+ type PublicScrollViewInstance = $ReadOnly<{
150
150
  ...HostInstance,
151
151
  ...ScrollViewImperativeMethods,
152
- |}>;
152
+ }>;
153
153
 
154
154
  type InnerViewInstance = React.ElementRef<View>;
155
155
 
156
- type IOSProps = $ReadOnly<{|
156
+ type IOSProps = $ReadOnly<{
157
157
  /**
158
158
  * Controls whether iOS should automatically adjust the content inset
159
159
  * for scroll views that are placed behind a navigation bar or
@@ -307,9 +307,9 @@ type IOSProps = $ReadOnly<{|
307
307
  | 'never'
308
308
  | 'always'
309
309
  ),
310
- |}>;
310
+ }>;
311
311
 
312
- type AndroidProps = $ReadOnly<{|
312
+ type AndroidProps = $ReadOnly<{
313
313
  /**
314
314
  * Enables nested scrolling for Android API level 21+.
315
315
  * Nested scrolling is supported by default on iOS
@@ -364,14 +364,14 @@ type AndroidProps = $ReadOnly<{|
364
364
  * @platform android
365
365
  */
366
366
  fadingEdgeLength?: ?number,
367
- |}>;
367
+ }>;
368
368
 
369
369
  type StickyHeaderComponentType = component(
370
370
  ref?: React.RefSetter<$ReadOnly<interface {setNextHeaderY: number => void}>>,
371
371
  ...ScrollViewStickyHeaderProps
372
372
  );
373
373
 
374
- export type Props = $ReadOnly<{|
374
+ export type Props = $ReadOnly<{
375
375
  ...ViewProps,
376
376
  ...IOSProps,
377
377
  ...AndroidProps,
@@ -494,10 +494,10 @@ export type Props = $ReadOnly<{|
494
494
  * whether content is "visible" or not.
495
495
  *
496
496
  */
497
- maintainVisibleContentPosition?: ?$ReadOnly<{|
497
+ maintainVisibleContentPosition?: ?$ReadOnly<{
498
498
  minIndexForVisible: number,
499
499
  autoscrollToTopThreshold?: ?number,
500
- |}>,
500
+ }>,
501
501
  /**
502
502
  * Called when the momentum scroll starts (scroll which occurs as the ScrollView glides to a stop).
503
503
  */
@@ -651,17 +651,17 @@ export type Props = $ReadOnly<{|
651
651
  * measure, measureLayout, etc.
652
652
  */
653
653
  scrollViewRef?: React.RefSetter<PublicScrollViewInstance>,
654
- |}>;
654
+ }>;
655
655
 
656
- type State = {|
656
+ type State = {
657
657
  layoutHeight: ?number,
658
- |};
658
+ };
659
659
 
660
660
  const IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;
661
661
 
662
- export type ScrollViewComponentStatics = $ReadOnly<{|
662
+ export type ScrollViewComponentStatics = $ReadOnly<{
663
663
  Context: typeof ScrollViewContext,
664
- |}>;
664
+ }>;
665
665
 
666
666
  /**
667
667
  * Component that wraps platform ScrollView while providing
@@ -712,9 +712,11 @@ class ScrollView extends React.Component<Props, State> {
712
712
 
713
713
  _scrollAnimatedValue: AnimatedImplementation.Value;
714
714
  _scrollAnimatedValueAttachment: ?{detach: () => void, ...} = null;
715
- _stickyHeaderRefs: Map<string, React.ElementRef<StickyHeaderComponentType>> =
716
- new Map();
717
- _headerLayoutYs: Map<string, number> = new Map();
715
+ _stickyHeaderRefs: Map<
716
+ React.Key,
717
+ React.ElementRef<StickyHeaderComponentType>,
718
+ > = new Map();
719
+ _headerLayoutYs: Map<React.Key, number> = new Map();
718
720
 
719
721
  _keyboardMetrics: ?KeyboardMetrics = null;
720
722
  _additionalScrollOffset: number = 0;
@@ -976,22 +978,22 @@ class ScrollView extends React.Component<Props, State> {
976
978
  * @platform ios
977
979
  */
978
980
  scrollResponderZoomTo: (
979
- rect: {|
981
+ rect: {
980
982
  x: number,
981
983
  y: number,
982
984
  width: number,
983
985
  height: number,
984
986
  animated?: boolean,
985
- |},
987
+ },
986
988
  animated?: boolean, // deprecated, put this inside the rect argument instead
987
989
  ) => void = (
988
- rect: {|
990
+ rect: {
989
991
  x: number,
990
992
  y: number,
991
993
  width: number,
992
994
  height: number,
993
995
  animated?: boolean,
994
- |},
996
+ },
995
997
  animated?: boolean, // deprecated, put this inside the rect argument instead
996
998
  ) => {
997
999
  invariant(Platform.OS === 'ios', 'zoomToRect is not implemented');
@@ -1066,7 +1068,11 @@ class ScrollView extends React.Component<Props, State> {
1066
1068
  }
1067
1069
  };
1068
1070
 
1069
- _getKeyForIndex(index: $FlowFixMe, childArray: $FlowFixMe): $FlowFixMe {
1071
+ _getKeyForIndex(
1072
+ index: number,
1073
+ // $FlowFixMe[unclear-type] - The children and its key is unknown.
1074
+ childArray: any,
1075
+ ): React.Key {
1070
1076
  const child = childArray[index];
1071
1077
  return child && child.key;
1072
1078
  }
@@ -1099,7 +1105,7 @@ class ScrollView extends React.Component<Props, State> {
1099
1105
  }
1100
1106
  }
1101
1107
 
1102
- _onStickyHeaderLayout(index: $FlowFixMe, event: $FlowFixMe, key: $FlowFixMe) {
1108
+ _onStickyHeaderLayout(index: number, event: LayoutEvent, key: React.Key) {
1103
1109
  const {stickyHeaderIndices} = this.props;
1104
1110
  if (!stickyHeaderIndices) {
1105
1111
  return;
@@ -1913,5 +1919,5 @@ Wrapper.displayName = 'ScrollView';
1913
1919
  // $FlowExpectedError[prop-missing]
1914
1920
  Wrapper.Context = ScrollViewContext;
1915
1921
 
1916
- module.exports = ((Wrapper: $FlowFixMe): typeof Wrapper &
1922
+ export default ((Wrapper: $FlowFixMe): typeof Wrapper &
1917
1923
  ScrollViewComponentStatics);
@@ -31,13 +31,13 @@ interface NativeCommands {
31
31
  ) => void;
32
32
  +zoomToRect: (
33
33
  viewRef: React.ElementRef<ScrollViewNativeComponentType>,
34
- rect: {|
34
+ rect: {
35
35
  x: Double,
36
36
  y: Double,
37
37
  width: Double,
38
38
  height: Double,
39
39
  animated?: boolean,
40
- |},
40
+ },
41
41
  animated?: boolean,
42
42
  ) => void;
43
43
  }
@@ -13,7 +13,7 @@
13
13
  import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
14
14
  import type {PointProp} from '../../StyleSheet/PointPropType';
15
15
  import type {ColorValue} from '../../StyleSheet/StyleSheet';
16
- import type {ScrollEvent} from '../../Types/CoreEventTypes';
16
+ import type {PressEvent, ScrollEvent} from '../../Types/CoreEventTypes';
17
17
  import type {ViewProps} from '../View/ViewPropTypes';
18
18
 
19
19
  export type ScrollViewNativeProps = $ReadOnly<{
@@ -76,6 +76,6 @@ export type ScrollViewNativeProps = $ReadOnly<{
76
76
  snapToStart?: ?boolean,
77
77
  zoomScale?: ?number,
78
78
  // Overrides
79
- onResponderGrant?: ?(e: $FlowFixMe) => void | boolean,
79
+ onResponderGrant?: ?(e: PressEvent) => void | boolean,
80
80
  ...
81
81
  }>;
@@ -19,7 +19,7 @@ import * as React from 'react';
19
19
  import {useCallback, useEffect, useMemo, useRef, useState} from 'react';
20
20
 
21
21
  export type Props = $ReadOnly<{
22
- children?: ExactReactElement_DEPRECATED<$FlowFixMe>,
22
+ children?: React.Node,
23
23
  nextHeaderLayoutY: ?number,
24
24
  onLayout: (event: LayoutEvent) => void,
25
25
  scrollAnimatedValue: Animated.Value,
@@ -27,4 +27,4 @@ function processDecelerationRate(
27
27
  return decelerationRate;
28
28
  }
29
29
 
30
- module.exports = processDecelerationRate;
30
+ export default processDecelerationRate;
@@ -18,4 +18,4 @@ const SoundManager = {
18
18
  },
19
19
  };
20
20
 
21
- module.exports = SoundManager;
21
+ export default SoundManager;
@@ -10,9 +10,9 @@
10
10
 
11
11
  'use strict';
12
12
 
13
- const React = require('react');
13
+ import React from 'react';
14
14
 
15
- type Props = $ReadOnly<{|
15
+ type Props = $ReadOnly<{
16
16
  /**
17
17
  * Indicates whether the render function needs to be called again
18
18
  */
@@ -22,7 +22,7 @@ type Props = $ReadOnly<{|
22
22
  * A function that returns a renderable component
23
23
  */
24
24
  render: () => React.Node,
25
- |}>;
25
+ }>;
26
26
 
27
27
  class StaticRenderer extends React.Component<Props> {
28
28
  shouldComponentUpdate(nextProps: Props): boolean {
@@ -34,4 +34,4 @@ class StaticRenderer extends React.Component<Props> {
34
34
  }
35
35
  }
36
36
 
37
- module.exports = StaticRenderer;
37
+ export default StaticRenderer;
@@ -55,7 +55,7 @@ export type StatusBarAnimation = $Keys<{
55
55
  ...
56
56
  }>;
57
57
 
58
- type AndroidProps = $ReadOnly<{|
58
+ type AndroidProps = $ReadOnly<{
59
59
  /**
60
60
  * The background color of the status bar.
61
61
  * @platform android
@@ -69,9 +69,9 @@ type AndroidProps = $ReadOnly<{|
69
69
  * @platform android
70
70
  */
71
71
  translucent?: ?boolean,
72
- |}>;
72
+ }>;
73
73
 
74
- type IOSProps = $ReadOnly<{|
74
+ type IOSProps = $ReadOnly<{
75
75
  /**
76
76
  * If the network activity indicator should be visible.
77
77
  *
@@ -85,9 +85,9 @@ type IOSProps = $ReadOnly<{|
85
85
  * @platform ios
86
86
  */
87
87
  showHideTransition?: ?('fade' | 'slide' | 'none'),
88
- |}>;
88
+ }>;
89
89
 
90
- type Props = $ReadOnly<{|
90
+ type Props = $ReadOnly<{
91
91
  ...AndroidProps,
92
92
  ...IOSProps,
93
93
  /**
@@ -103,7 +103,25 @@ type Props = $ReadOnly<{|
103
103
  * Sets the color of the status bar text.
104
104
  */
105
105
  barStyle?: ?('default' | 'light-content' | 'dark-content'),
106
- |}>;
106
+ }>;
107
+
108
+ type StackProps = {
109
+ backgroundColor: ?{
110
+ value: Props['backgroundColor'],
111
+ animated: boolean,
112
+ },
113
+ barStyle: ?{
114
+ value: Props['barStyle'],
115
+ animated: boolean,
116
+ },
117
+ translucent: Props['translucent'],
118
+ hidden: ?{
119
+ value: boolean,
120
+ animated: boolean,
121
+ transition: Props['showHideTransition'],
122
+ },
123
+ networkActivityIndicatorVisible: Props['networkActivityIndicatorVisible'],
124
+ };
107
125
 
108
126
  /**
109
127
  * Merges the prop stack with the default values.
@@ -129,7 +147,7 @@ function mergePropsStack(
129
147
  * Returns an object to insert in the props stack from the props
130
148
  * and the transition/animation info.
131
149
  */
132
- function createStackEntry(props: any): any {
150
+ function createStackEntry(props: Props): StackProps {
133
151
  const animated = props.animated ?? false;
134
152
  const showHideTransition = props.showHideTransition ?? 'fade';
135
153
  return {
@@ -203,7 +221,7 @@ function createStackEntry(props: any): any {
203
221
  * `currentHeight` (Android only) The height of the status bar.
204
222
  */
205
223
  class StatusBar extends React.Component<Props> {
206
- static _propsStack: Array<any> = [];
224
+ static _propsStack: Array<StackProps> = [];
207
225
 
208
226
  static _defaultProps: any = createStackEntry({
209
227
  backgroundColor:
@@ -218,12 +236,10 @@ class StatusBar extends React.Component<Props> {
218
236
  });
219
237
 
220
238
  // Timer for updating the native module values at the end of the frame.
221
- // $FlowFixMe[missing-local-annot]
222
- static _updateImmediate = null;
239
+ static _updateImmediate: ?number = null;
223
240
 
224
241
  // The current merged values from the props stack.
225
- // $FlowFixMe[missing-local-annot]
226
- static _currentValues = null;
242
+ static _currentValues: ?StackProps = null;
227
243
 
228
244
  // TODO(janic): Provide a real API to deal with status bar height. See the
229
245
  // discussion in #6195.
@@ -371,8 +387,7 @@ class StatusBar extends React.Component<Props> {
371
387
  return newEntry;
372
388
  }
373
389
 
374
- // $FlowFixMe[missing-local-annot]
375
- _stackEntry = null;
390
+ _stackEntry: ?StackProps = null;
376
391
 
377
392
  componentDidMount() {
378
393
  // Every time a StatusBar component is mounted, we push it's prop to a stack
@@ -412,14 +427,14 @@ class StatusBar extends React.Component<Props> {
412
427
  if (Platform.OS === 'ios') {
413
428
  if (
414
429
  !oldProps ||
415
- oldProps.barStyle.value !== mergedProps.barStyle.value
430
+ oldProps.barStyle?.value !== mergedProps.barStyle.value
416
431
  ) {
417
432
  NativeStatusBarManagerIOS.setStyle(
418
433
  mergedProps.barStyle.value,
419
434
  mergedProps.barStyle.animated || false,
420
435
  );
421
436
  }
422
- if (!oldProps || oldProps.hidden.value !== mergedProps.hidden.value) {
437
+ if (!oldProps || oldProps.hidden?.value !== mergedProps.hidden.value) {
423
438
  NativeStatusBarManagerIOS.setHidden(
424
439
  mergedProps.hidden.value,
425
440
  mergedProps.hidden.animated
@@ -456,7 +471,7 @@ class StatusBar extends React.Component<Props> {
456
471
  mergedProps.backgroundColor.animated,
457
472
  );
458
473
  }
459
- if (!oldProps || oldProps.hidden.value !== mergedProps.hidden.value) {
474
+ if (!oldProps || oldProps.hidden?.value !== mergedProps.hidden.value) {
460
475
  NativeStatusBarManagerAndroid.setHidden(mergedProps.hidden.value);
461
476
  }
462
477
  // Activities are not translucent by default, so always set if true.
@@ -478,4 +493,4 @@ class StatusBar extends React.Component<Props> {
478
493
  }
479
494
  }
480
495
 
481
- module.exports = StatusBar;
496
+ export default StatusBar;
@@ -24,13 +24,13 @@ import SwitchNativeComponent, {
24
24
  import * as React from 'react';
25
25
 
26
26
  type SwitchChangeEvent = SyntheticEvent<
27
- $ReadOnly<{|
27
+ $ReadOnly<{
28
28
  value: boolean,
29
29
  target: number,
30
- |}>,
30
+ }>,
31
31
  >;
32
32
 
33
- export type Props = $ReadOnly<{|
33
+ export type Props = $ReadOnly<{
34
34
  ...ViewProps,
35
35
 
36
36
  /**
@@ -59,10 +59,10 @@ export type Props = $ReadOnly<{|
59
59
  color of the background exposed by the shrunken track, use
60
60
  [`ios_backgroundColor`](https://reactnative.dev/docs/switch#ios_backgroundColor).
61
61
  */
62
- trackColor?: ?$ReadOnly<{|
62
+ trackColor?: ?$ReadOnly<{
63
63
  false?: ?ColorValue,
64
64
  true?: ?ColorValue,
65
- |}>,
65
+ }>,
66
66
 
67
67
  /**
68
68
  On iOS, custom color for the background. This background color can be
@@ -84,7 +84,7 @@ export type Props = $ReadOnly<{|
84
84
  use `onChange`.
85
85
  */
86
86
  onValueChange?: ?(value: boolean) => Promise<void> | void,
87
- |}>;
87
+ }>;
88
88
  const returnsFalse = () => false;
89
89
  const returnsTrue = () => true;
90
90