@office-iss/react-native-win32 0.0.0-canary.283 → 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 +40 -1
  3. package/CHANGELOG.md +20 -8
  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
@@ -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
 
@@ -69,10 +69,10 @@ export type ReturnKeyType =
69
69
 
70
70
  export type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';
71
71
 
72
- export type NativeProps = $ReadOnly<{|
72
+ export type NativeProps = $ReadOnly<{
73
73
  // This allows us to inherit everything from ViewProps except for style (see below)
74
74
  // This must be commented for Fabric codegen to work.
75
- ...$Diff<ViewProps, $ReadOnly<{|style: ?ViewStyleProp|}>>,
75
+ ...$Diff<ViewProps, $ReadOnly<{style: ?ViewStyleProp}>>,
76
76
 
77
77
  /**
78
78
  * Android props after this
@@ -345,13 +345,13 @@ export type NativeProps = $ReadOnly<{|
345
345
  * Callback that is called when the text input is blurred.
346
346
  * `target` is the reactTag of the element
347
347
  */
348
- onBlur?: ?BubblingEventHandler<$ReadOnly<{|target: Int32|}>>,
348
+ onBlur?: ?BubblingEventHandler<$ReadOnly<{target: Int32}>>,
349
349
 
350
350
  /**
351
351
  * Callback that is called when the text input is focused.
352
352
  * `target` is the reactTag of the element
353
353
  */
354
- onFocus?: ?BubblingEventHandler<$ReadOnly<{|target: Int32|}>>,
354
+ onFocus?: ?BubblingEventHandler<$ReadOnly<{target: Int32}>>,
355
355
 
356
356
  /**
357
357
  * Callback that is called when the text input's text changes.
@@ -359,7 +359,7 @@ export type NativeProps = $ReadOnly<{|
359
359
  * TODO: differentiate between onChange and onChangeText
360
360
  */
361
361
  onChange?: ?BubblingEventHandler<
362
- $ReadOnly<{|target: Int32, eventCount: Int32, text: string|}>,
362
+ $ReadOnly<{target: Int32, eventCount: Int32, text: string}>,
363
363
  >,
364
364
 
365
365
  /**
@@ -368,7 +368,7 @@ export type NativeProps = $ReadOnly<{|
368
368
  * TODO: differentiate between onChange and onChangeText
369
369
  */
370
370
  onChangeText?: ?BubblingEventHandler<
371
- $ReadOnly<{|target: Int32, eventCount: Int32, text: string|}>,
371
+ $ReadOnly<{target: Int32, eventCount: Int32, text: string}>,
372
372
  >,
373
373
 
374
374
  /**
@@ -379,17 +379,17 @@ export type NativeProps = $ReadOnly<{|
379
379
  * Only called for multiline text inputs.
380
380
  */
381
381
  onContentSizeChange?: ?DirectEventHandler<
382
- $ReadOnly<{|
382
+ $ReadOnly<{
383
383
  target: Int32,
384
- contentSize: $ReadOnly<{|width: Double, height: Double|}>,
385
- |}>,
384
+ contentSize: $ReadOnly<{width: Double, height: Double}>,
385
+ }>,
386
386
  >,
387
387
 
388
388
  /**
389
389
  * Callback that is called when text input ends.
390
390
  */
391
391
  onEndEditing?: ?BubblingEventHandler<
392
- $ReadOnly<{|target: Int32, text: string|}>,
392
+ $ReadOnly<{target: Int32, text: string}>,
393
393
  >,
394
394
 
395
395
  /**
@@ -398,10 +398,10 @@ export type NativeProps = $ReadOnly<{|
398
398
  * `{ nativeEvent: { selection: { start, end } } }`.
399
399
  */
400
400
  onSelectionChange?: ?DirectEventHandler<
401
- $ReadOnly<{|
401
+ $ReadOnly<{
402
402
  target: Int32,
403
- selection: $ReadOnly<{|start: Double, end: Double|}>,
404
- |}>,
403
+ selection: $ReadOnly<{start: Double, end: Double}>,
404
+ }>,
405
405
  >,
406
406
 
407
407
  /**
@@ -409,7 +409,7 @@ export type NativeProps = $ReadOnly<{|
409
409
  * Invalid if `multiline={true}` is specified.
410
410
  */
411
411
  onSubmitEditing?: ?BubblingEventHandler<
412
- $ReadOnly<{|target: Int32, text: string|}>,
412
+ $ReadOnly<{target: Int32, text: string}>,
413
413
  >,
414
414
 
415
415
  /**
@@ -419,7 +419,7 @@ export type NativeProps = $ReadOnly<{|
419
419
  * the typed-in character otherwise including `' '` for space.
420
420
  * Fires before `onChange` callbacks.
421
421
  */
422
- onKeyPress?: ?BubblingEventHandler<$ReadOnly<{|target: Int32, key: string|}>>,
422
+ onKeyPress?: ?BubblingEventHandler<$ReadOnly<{target: Int32, key: string}>>,
423
423
 
424
424
  /**
425
425
  * Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`.
@@ -427,32 +427,32 @@ export type NativeProps = $ReadOnly<{|
427
427
  * is not provided for performance reasons.
428
428
  */
429
429
  onScroll?: ?DirectEventHandler<
430
- $ReadOnly<{|
430
+ $ReadOnly<{
431
431
  target: Int32,
432
432
  responderIgnoreScroll: boolean,
433
- contentInset: $ReadOnly<{|
433
+ contentInset: $ReadOnly<{
434
434
  top: Double, // always 0 on Android
435
435
  bottom: Double, // always 0 on Android
436
436
  left: Double, // always 0 on Android
437
437
  right: Double, // always 0 on Android
438
- |}>,
439
- contentOffset: $ReadOnly<{|
438
+ }>,
439
+ contentOffset: $ReadOnly<{
440
440
  x: Double,
441
441
  y: Double,
442
- |}>,
443
- contentSize: $ReadOnly<{|
442
+ }>,
443
+ contentSize: $ReadOnly<{
444
444
  width: Double, // always 0 on Android
445
445
  height: Double, // always 0 on Android
446
- |}>,
447
- layoutMeasurement: $ReadOnly<{|
446
+ }>,
447
+ layoutMeasurement: $ReadOnly<{
448
448
  width: Double,
449
449
  height: Double,
450
- |}>,
451
- velocity: $ReadOnly<{|
450
+ }>,
451
+ velocity: $ReadOnly<{
452
452
  x: Double, // always 0 on Android
453
453
  y: Double, // always 0 on Android
454
- |}>,
455
- |}>,
454
+ }>,
455
+ }>,
456
456
  >,
457
457
 
458
458
  /**
@@ -485,10 +485,10 @@ export type NativeProps = $ReadOnly<{|
485
485
  * The start and end of the text input's selection. Set start and end to
486
486
  * the same value to position the cursor.
487
487
  */
488
- selection?: ?$ReadOnly<{|
488
+ selection?: ?$ReadOnly<{
489
489
  start: Int32,
490
490
  end?: ?Int32,
491
- |}>,
491
+ }>,
492
492
 
493
493
  /**
494
494
  * The value to show for the text input. `TextInput` is a controlled
@@ -588,7 +588,7 @@ export type NativeProps = $ReadOnly<{|
588
588
  textShadowRadius?: ?Float,
589
589
  textDecorationLine?: ?string,
590
590
  fontStyle?: ?string,
591
- textShadowOffset?: ?$ReadOnly<{|width?: ?Double, height?: ?Double|}>,
591
+ textShadowOffset?: ?$ReadOnly<{width?: ?Double, height?: ?Double}>,
592
592
  lineHeight?: ?Float,
593
593
  textTransform?: ?string,
594
594
  color?: ?Int32,
@@ -610,7 +610,7 @@ export type NativeProps = $ReadOnly<{|
610
610
  */
611
611
  mostRecentEventCount: Int32,
612
612
  text?: ?string,
613
- |}>;
613
+ }>;
614
614
 
615
615
  type NativeType = HostComponent<NativeProps>;
616
616
 
@@ -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
- type Props = $ReadOnly<{|
79
+ type Props = $ReadOnly<{
80
80
  +children: React.Node,
81
81
  /**
82
82
  * An ID which is used to associate this `InputAccessoryView` to
@@ -85,7 +85,7 @@ type Props = $ReadOnly<{|
85
85
  nativeID?: ?string,
86
86
  style?: ?ViewStyleProp,
87
87
  backgroundColor?: ?ColorValue,
88
- |}>;
88
+ }>;
89
89
 
90
90
  const InputAccessoryView: React.ComponentType<Props> = (props: Props) => {
91
91
  const {width} = useWindowDimensions();