@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
@@ -12,7 +12,7 @@ import type {ImageURISource} from './ImageSource';
12
12
 
13
13
  import Platform from '../Utilities/Platform';
14
14
 
15
- type NativeImageSourceSpec = $ReadOnly<{|
15
+ type NativeImageSourceSpec = $ReadOnly<{
16
16
  android?: string,
17
17
  ios?: string,
18
18
  default?: string,
@@ -21,7 +21,7 @@ type NativeImageSourceSpec = $ReadOnly<{|
21
21
  // https://reactnative.dev/docs/images#why-not-automatically-size-everything
22
22
  height: number,
23
23
  width: number,
24
- |}>;
24
+ }>;
25
25
 
26
26
  /**
27
27
  * In hybrid apps, use `nativeImageSource` to access images that are already
@@ -13,6 +13,8 @@
13
13
  import type {InspectorData} from '../Renderer/shims/ReactNativeTypes';
14
14
  import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
15
15
 
16
+ import React from 'react';
17
+
16
18
  const TouchableHighlight = require('../Components/Touchable/TouchableHighlight');
17
19
  const TouchableWithoutFeedback = require('../Components/Touchable/TouchableWithoutFeedback');
18
20
  const View = require('../Components/View/View');
@@ -22,15 +24,14 @@ const Text = require('../Text/Text');
22
24
  const mapWithSeparator = require('../Utilities/mapWithSeparator');
23
25
  const BoxInspector = require('./BoxInspector');
24
26
  const StyleInspector = require('./StyleInspector');
25
- const React = require('react');
26
27
 
27
- type Props = $ReadOnly<{|
28
+ type Props = $ReadOnly<{
28
29
  hierarchy: ?InspectorData['hierarchy'],
29
30
  style?: ?ViewStyleProp,
30
31
  frame?: ?Object,
31
32
  selection?: ?number,
32
33
  setSelection?: number => mixed,
33
- |}>;
34
+ }>;
34
35
 
35
36
  class ElementProperties extends React.Component<Props> {
36
37
  render(): React.Node {
@@ -19,6 +19,7 @@ import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
19
19
  import type {ReactDevToolsAgent} from '../Types/ReactDevToolsTypes';
20
20
 
21
21
  import SafeAreaView from '../../src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE';
22
+ import React from 'react';
22
23
 
23
24
  const View = require('../Components/View/View');
24
25
  const PressabilityDebug = require('../Pressability/PressabilityDebug');
@@ -29,7 +30,6 @@ const Platform = require('../Utilities/Platform');
29
30
  const getInspectorDataForViewAtPoint = require('./getInspectorDataForViewAtPoint');
30
31
  const InspectorOverlay = require('./InspectorOverlay');
31
32
  const InspectorPanel = require('./InspectorPanel');
32
- const React = require('react');
33
33
 
34
34
  const {useState} = React;
35
35
 
@@ -19,6 +19,7 @@ import type {ViewStyleProp} from '../StyleSheet/StyleSheet';
19
19
  import type {ReactDevToolsAgent} from '../Types/ReactDevToolsTypes';
20
20
 
21
21
  import SafeAreaView from '../../src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE';
22
+ import React from 'react';
22
23
 
23
24
  const PressabilityDebug = require('../Pressability/PressabilityDebug');
24
25
  const ReactNative = require('../Renderer/shims/ReactNative').default;
@@ -29,7 +30,6 @@ const View = require('../Components/View/View');
29
30
  const getInspectorDataForViewAtPoint = require('./getInspectorDataForViewAtPoint');
30
31
  const InspectorOverlay = require('./InspectorOverlay');
31
32
  const InspectorPanel = require('./InspectorPanel');
32
- const React = require('react');
33
33
 
34
34
  const {useState} = React;
35
35
 
@@ -13,15 +13,16 @@
13
13
  import type {PressEvent} from '../Types/CoreEventTypes';
14
14
  import type {InspectedElement} from './Inspector';
15
15
 
16
+ import React from 'react';
17
+
16
18
  const View = require('../Components/View/View');
17
19
  const StyleSheet = require('../StyleSheet/StyleSheet');
18
20
  const ElementBox = require('./ElementBox');
19
- const React = require('react');
20
21
 
21
- type Props = $ReadOnly<{|
22
+ type Props = $ReadOnly<{
22
23
  inspected?: ?InspectedElement,
23
24
  onTouchPoint: (locationX: number, locationY: number) => void,
24
- |}>;
25
+ }>;
25
26
 
26
27
  function InspectorOverlay({inspected, onTouchPoint}: Props): React.Node {
27
28
  const findViewForTouchEvent = (e: PressEvent) => {
@@ -13,17 +13,17 @@
13
13
  import type {PressEvent} from '../Types/CoreEventTypes';
14
14
  import type {InspectedElement} from './Inspector';
15
15
 
16
+ import React from 'react';
16
17
  // import Dimensions from '../Utilities/Dimensions'; [Win32]
17
18
 
18
19
  const View = require('../Components/View/View');
19
20
  const StyleSheet = require('../StyleSheet/StyleSheet');
20
21
  const ElementBox = require('./ElementBox');
21
- const React = require('react');
22
22
 
23
- type Props = $ReadOnly<{|
23
+ type Props = $ReadOnly<{
24
24
  inspected?: ?InspectedElement,
25
25
  onTouchPoint: (locationX: number, locationY: number) => void,
26
- |}>;
26
+ }>;
27
27
 
28
28
  function InspectorOverlay({inspected, onTouchPoint}: Props): React.Node {
29
29
  const findViewForTouchEvent = (e: PressEvent) => {
@@ -13,8 +13,9 @@
13
13
  import type {ElementsHierarchy, InspectedElement} from './Inspector';
14
14
 
15
15
  import SafeAreaView from '../Components/SafeAreaView/SafeAreaView';
16
+ import React from 'react';
16
17
 
17
- const ScrollView = require('../Components/ScrollView/ScrollView');
18
+ const ScrollView = require('../Components/ScrollView/ScrollView').default;
18
19
  const TouchableHighlight = require('../Components/Touchable/TouchableHighlight');
19
20
  const View = require('../Components/View/View');
20
21
  const StyleSheet = require('../StyleSheet/StyleSheet');
@@ -22,9 +23,8 @@ const Text = require('../Text/Text');
22
23
  const ElementProperties = require('./ElementProperties');
23
24
  const NetworkOverlay = require('./NetworkOverlay');
24
25
  const PerformanceOverlay = require('./PerformanceOverlay');
25
- const React = require('react');
26
26
 
27
- type Props = $ReadOnly<{|
27
+ type Props = $ReadOnly<{
28
28
  devtoolsIsOpen: boolean,
29
29
  inspecting: boolean,
30
30
  setInspecting: (val: boolean) => void,
@@ -38,7 +38,7 @@ type Props = $ReadOnly<{|
38
38
  selection?: ?number,
39
39
  setSelection: number => mixed,
40
40
  inspected?: ?InspectedElement,
41
- |}>;
41
+ }>;
42
42
 
43
43
  class InspectorPanel extends React.Component<Props> {
44
44
  renderWaiting(): React.Node {
@@ -107,11 +107,11 @@ class InspectorPanel extends React.Component<Props> {
107
107
  }
108
108
  }
109
109
 
110
- type InspectorPanelButtonProps = $ReadOnly<{|
110
+ type InspectorPanelButtonProps = $ReadOnly<{
111
111
  onClick: (val: boolean) => void,
112
112
  pressed: boolean,
113
113
  title: string,
114
- |}>;
114
+ }>;
115
115
 
116
116
  class InspectorPanelButton extends React.Component<InspectorPanelButtonProps> {
117
117
  render(): React.Node {
@@ -12,7 +12,9 @@
12
12
 
13
13
  import type {RenderItemProps} from '@react-native/virtualized-lists';
14
14
 
15
- const ScrollView = require('../Components/ScrollView/ScrollView');
15
+ import ScrollView from '../Components/ScrollView/ScrollView';
16
+ import React from 'react';
17
+
16
18
  const TouchableHighlight = require('../Components/Touchable/TouchableHighlight');
17
19
  const View = require('../Components/View/View');
18
20
  const FlatList = require('../Lists/FlatList');
@@ -20,7 +22,6 @@ const XHRInterceptor = require('../Network/XHRInterceptor');
20
22
  const StyleSheet = require('../StyleSheet/StyleSheet');
21
23
  const Text = require('../Text/Text');
22
24
  const WebSocketInterceptor = require('../WebSocket/WebSocketInterceptor');
23
- const React = require('react');
24
25
 
25
26
  const LISTVIEW_CELL_HEIGHT = 15;
26
27
 
@@ -49,11 +50,11 @@ type NetworkRequestInfo = {
49
50
  ...
50
51
  };
51
52
 
52
- type Props = $ReadOnly<{||}>;
53
- type State = {|
53
+ type Props = $ReadOnly<{}>;
54
+ type State = {
54
55
  detailRowId: ?number,
55
56
  requests: Array<NetworkRequestInfo>,
56
- |};
57
+ };
57
58
 
58
59
  function getStringByValue(value: any): string {
59
60
  if (value === undefined) {
@@ -10,11 +10,12 @@
10
10
 
11
11
  'use strict';
12
12
 
13
+ import React from 'react';
14
+
13
15
  const View = require('../Components/View/View');
14
16
  const StyleSheet = require('../StyleSheet/StyleSheet');
15
17
  const Text = require('../Text/Text');
16
18
  const PerformanceLogger = require('../Utilities/GlobalPerformanceLogger');
17
- const React = require('react');
18
19
 
19
20
  class PerformanceOverlay extends React.Component<{...}> {
20
21
  render(): React.Node {
@@ -25,12 +25,12 @@ const I18nManager = require('../ReactNative/I18nManager');
25
25
  function resolveBoxStyle(
26
26
  prefix: string,
27
27
  style: Object,
28
- ): ?$ReadOnly<{|
28
+ ): ?$ReadOnly<{
29
29
  bottom: number,
30
30
  left: number,
31
31
  right: number,
32
32
  top: number,
33
- |}> {
33
+ }> {
34
34
  let hasParts = false;
35
35
  const result = {
36
36
  bottom: 0,
@@ -13,7 +13,7 @@ import type {Task} from './TaskQueue';
13
13
  import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
14
14
  import EventEmitter from '../vendor/emitter/EventEmitter';
15
15
 
16
- const BatchedBridge = require('../BatchedBridge/BatchedBridge');
16
+ const BatchedBridge = require('../BatchedBridge/BatchedBridge').default;
17
17
  const infoLog = require('../Utilities/infoLog');
18
18
  const TaskQueue = require('./TaskQueue');
19
19
  const invariant = require('invariant');
@@ -138,8 +138,9 @@ const InteractionManager = {
138
138
  _deleteInteractionSet.add(handle);
139
139
  },
140
140
 
141
+ // $FlowFixMe[unclear-type] unclear type of _emitter
141
142
  // $FlowFixMe[method-unbinding] added when improving typing for this parameters
142
- addListener: (_emitter.addListener.bind(_emitter): $FlowFixMe),
143
+ addListener: _emitter.addListener.bind(_emitter) as Function,
143
144
 
144
145
  /**
145
146
  * A positive number will use setTimeout to schedule any tasks after the
@@ -124,7 +124,7 @@ const currentCentroidY = TouchHistoryMath.currentCentroidY;
124
124
  * [PanResponder example in RNTester](https://github.com/facebook/react-native/blob/HEAD/packages/rn-tester/js/examples/PanResponder/PanResponderExample.js)
125
125
  */
126
126
 
127
- export type GestureState = {|
127
+ export type GestureState = {
128
128
  /**
129
129
  * ID of the gestureState - persisted as long as there at least one touch on screen
130
130
  */
@@ -181,7 +181,7 @@ export type GestureState = {|
181
181
  * @private
182
182
  */
183
183
  _accountsForMovesUpTo: number,
184
- |};
184
+ };
185
185
 
186
186
  type ActiveCallback = (
187
187
  event: PressEvent,
@@ -190,7 +190,7 @@ type ActiveCallback = (
190
190
 
191
191
  type PassiveCallback = (event: PressEvent, gestureState: GestureState) => mixed;
192
192
 
193
- export type PanHandlers = {|
193
+ export type PanHandlers = {
194
194
  onMoveShouldSetResponder: (event: PressEvent) => boolean,
195
195
  onMoveShouldSetResponderCapture: (event: PressEvent) => boolean,
196
196
  onResponderEnd: (event: PressEvent) => void,
@@ -203,9 +203,9 @@ export type PanHandlers = {|
203
203
  onResponderTerminationRequest: (event: PressEvent) => boolean,
204
204
  onStartShouldSetResponder: (event: PressEvent) => boolean,
205
205
  onStartShouldSetResponderCapture: (event: PressEvent) => boolean,
206
- |};
206
+ };
207
207
 
208
- type PanResponderConfig = $ReadOnly<{|
208
+ type PanResponderConfig = $ReadOnly<{
209
209
  onMoveShouldSetPanResponder?: ?ActiveCallback,
210
210
  onMoveShouldSetPanResponderCapture?: ?ActiveCallback,
211
211
  onStartShouldSetPanResponder?: ?ActiveCallback,
@@ -224,7 +224,7 @@ type PanResponderConfig = $ReadOnly<{|
224
224
  onPanResponderTerminate?: ?PassiveCallback,
225
225
  onPanResponderTerminationRequest?: ?ActiveCallback,
226
226
  onShouldBlockNativeResponder?: ?ActiveCallback,
227
- |}>;
227
+ }>;
228
228
 
229
229
  const PanResponder = {
230
230
  /**
@@ -151,6 +151,32 @@ const TouchHistoryMath = {
151
151
  },
152
152
 
153
153
  noCentroid: -1,
154
+ } as {
155
+ centroidDimension: (
156
+ touchHistory: TouchHistoryMath,
157
+ touchesChangedAfter: number,
158
+ isXAxis: boolean,
159
+ ofCurrent: boolean,
160
+ ) => number,
161
+ currentCentroidXOfTouchesChangedAfter: (
162
+ touchHistory: TouchHistoryMath,
163
+ touchesChangedAfter: number,
164
+ ) => number,
165
+ currentCentroidYOfTouchesChangedAfter: (
166
+ touchHistory: TouchHistoryMath,
167
+ touchesChangedAfter: number,
168
+ ) => number,
169
+ previousCentroidXOfTouchesChangedAfter: (
170
+ touchHistory: TouchHistoryMath,
171
+ touchesChangedAfter: number,
172
+ ) => number,
173
+ previousCentroidYOfTouchesChangedAfter: (
174
+ touchHistory: TouchHistoryMath,
175
+ touchesChangedAfter: number,
176
+ ) => number,
177
+ currentCentroidX: (touchHistory: TouchHistoryMath) => number,
178
+ currentCentroidY: (touchHistory: TouchHistoryMath) => number,
179
+ noCentroid: number,
154
180
  };
155
181
 
156
182
  module.exports = TouchHistoryMath;
@@ -12,8 +12,9 @@
12
12
 
13
13
  import type EventSender from './InspectorAgent';
14
14
 
15
+ import InspectorAgent from './InspectorAgent';
16
+
15
17
  const XMLHttpRequest = require('../Network/XMLHttpRequest');
16
- const InspectorAgent = require('./InspectorAgent');
17
18
  const JSInspector = require('./JSInspector');
18
19
 
19
20
  type RequestId = string;
@@ -174,13 +174,13 @@ const LayoutAnimation = {
174
174
  easeIn: 'easeIn',
175
175
  easeOut: 'easeOut',
176
176
  keyboard: 'keyboard',
177
- }),
177
+ }) as $ReadOnly<{[K in LayoutAnimationType]: K}>,
178
178
  Properties: Object.freeze({
179
179
  opacity: 'opacity',
180
180
  scaleX: 'scaleX',
181
181
  scaleY: 'scaleY',
182
182
  scaleXY: 'scaleXY',
183
- }),
183
+ }) as $ReadOnly<{[K in LayoutAnimationProperty]: K}>,
184
184
  checkConfig(...args: Array<mixed>) {
185
185
  console.error('LayoutAnimation.checkConfig(...) has been disabled.');
186
186
  },
@@ -41,7 +41,6 @@ class Linking extends NativeEventEmitter<LinkingEventDefinitions> {
41
41
  addEventListener<K: $Keys<LinkingEventDefinitions>>(
42
42
  eventType: K,
43
43
  listener: (...$ElementType<LinkingEventDefinitions, K>) => mixed,
44
- context: $FlowFixMe,
45
44
  ): EventSubscription {
46
45
  return this.addListener(eventType, listener);
47
46
  }
@@ -19,27 +19,27 @@ import type {
19
19
 
20
20
  import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
21
21
  import {type ScrollResponderType} from '../Components/ScrollView/ScrollView';
22
+ import View from '../Components/View/View';
22
23
  import {
23
24
  VirtualizedList,
24
25
  keyExtractor as defaultKeyExtractor,
25
26
  } from '@react-native/virtualized-lists';
26
27
  import memoizeOne from 'memoize-one';
28
+ import React from 'react';
27
29
 
28
- const View = require('../Components/View/View');
29
30
  const StyleSheet = require('../StyleSheet/StyleSheet');
30
31
  const deepDiffer = require('../Utilities/differ/deepDiffer');
31
32
  const Platform = require('../Utilities/Platform');
32
33
  const invariant = require('invariant');
33
- const React = require('react');
34
34
 
35
- type RequiredProps<ItemT> = {|
35
+ type RequiredProps<ItemT> = {
36
36
  /**
37
37
  * An array (or array-like list) of items to render. Other data types can be
38
38
  * used by targeting VirtualizedList directly.
39
39
  */
40
40
  data: ?$ReadOnly<$ArrayLike<ItemT>>,
41
- |};
42
- type OptionalProps<ItemT> = {|
41
+ };
42
+ type OptionalProps<ItemT> = {
43
43
  /**
44
44
  * Takes an item from `data` and renders it into the list. Example usage:
45
45
  *
@@ -150,7 +150,7 @@ type OptionalProps<ItemT> = {|
150
150
  * Enable an optimization to memoize the item renderer to prevent unnecessary rerenders.
151
151
  */
152
152
  strictMode?: boolean,
153
- |};
153
+ };
154
154
 
155
155
  /**
156
156
  * Default Props Helper Functions
@@ -176,10 +176,10 @@ function isArrayLike(data: mixed): boolean {
176
176
  return typeof Object(data).length === 'number';
177
177
  }
178
178
 
179
- type FlatListProps<ItemT> = {|
179
+ type FlatListProps<ItemT> = {
180
180
  ...RequiredProps<ItemT>,
181
181
  ...OptionalProps<ItemT>,
182
- |};
182
+ };
183
183
 
184
184
  type VirtualizedListProps = React.ElementConfig<typeof VirtualizedList>;
185
185
 
@@ -672,8 +672,7 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
672
672
  : {renderItem: renderProp};
673
673
  };
674
674
 
675
- // $FlowFixMe[missing-local-annot]
676
- _memoizedRenderer = memoizeOne(this._renderer);
675
+ _memoizedRenderer: ReturnType<typeof memoizeOne> = memoizeOne(this._renderer);
677
676
 
678
677
  render(): React.Node {
679
678
  const {
@@ -25,7 +25,7 @@ type Item = any;
25
25
 
26
26
  export type SectionBase<SectionItemT> = _SectionBase<SectionItemT>;
27
27
 
28
- type RequiredProps<SectionT: SectionBase<any>> = {|
28
+ type RequiredProps<SectionT: SectionBase<any>> = {
29
29
  /**
30
30
  * The actual data to render, akin to the `data` prop in [`<FlatList>`](https://reactnative.dev/docs/flatlist).
31
31
  *
@@ -38,9 +38,9 @@ type RequiredProps<SectionT: SectionBase<any>> = {|
38
38
  * }>
39
39
  */
40
40
  sections: $ReadOnlyArray<SectionT>,
41
- |};
41
+ };
42
42
 
43
- type OptionalProps<SectionT: SectionBase<any>> = {|
43
+ type OptionalProps<SectionT: SectionBase<any>> = {
44
44
  /**
45
45
  * Default renderer for every item in every section. Can be over-ridden on a per-section basis.
46
46
  */
@@ -90,9 +90,9 @@ type OptionalProps<SectionT: SectionBase<any>> = {|
90
90
  * This may improve scroll performance for large lists.
91
91
  */
92
92
  removeClippedSubviews?: boolean,
93
- |};
93
+ };
94
94
 
95
- export type Props<SectionT> = {|
95
+ export type Props<SectionT> = {
96
96
  ...$Diff<
97
97
  VirtualizedSectionListProps<SectionT>,
98
98
  {
@@ -114,7 +114,7 @@ export type Props<SectionT> = {|
114
114
  >,
115
115
  ...RequiredProps<SectionT>,
116
116
  ...OptionalProps<SectionT>,
117
- |};
117
+ };
118
118
 
119
119
  /**
120
120
  * A performant interface for rendering sectioned lists, supporting the most handy features:
@@ -261,9 +261,7 @@ export default class SectionList<
261
261
  }
262
262
 
263
263
  _wrapperListRef: ?React.ElementRef<typeof VirtualizedSectionList>;
264
- /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's
265
- * LTI update could not be added via codemod */
266
- _captureRef = ref => {
264
+ _captureRef = (ref: ?React.RefOf<VirtualizedSectionList>) => {
267
265
  this._wrapperListRef = ref;
268
266
  };
269
267
  }
@@ -26,7 +26,7 @@ type Item = any;
26
26
 
27
27
  export type SectionBase<SectionItemT> = _SectionBase<SectionItemT>;
28
28
 
29
- type RequiredProps<SectionT: SectionBase<any>> = {|
29
+ type RequiredProps<SectionT: SectionBase<any>> = {
30
30
  /**
31
31
  * The actual data to render, akin to the `data` prop in [`<FlatList>`](https://reactnative.dev/docs/flatlist).
32
32
  *
@@ -39,9 +39,9 @@ type RequiredProps<SectionT: SectionBase<any>> = {|
39
39
  * }>
40
40
  */
41
41
  sections: $ReadOnlyArray<SectionT>,
42
- |};
42
+ };
43
43
 
44
- type OptionalProps<SectionT: SectionBase<any>> = {|
44
+ type OptionalProps<SectionT: SectionBase<any>> = {
45
45
  /**
46
46
  * Default renderer for every item in every section. Can be over-ridden on a per-section basis.
47
47
  */
@@ -91,9 +91,9 @@ type OptionalProps<SectionT: SectionBase<any>> = {|
91
91
  * This may improve scroll performance for large lists.
92
92
  */
93
93
  removeClippedSubviews?: boolean,
94
- |};
94
+ };
95
95
 
96
- export type Props<SectionT: SectionBase<any>> = $ReadOnly<{|
96
+ export type Props<SectionT: SectionBase<any>> = $ReadOnly<{
97
97
  ...$Diff<
98
98
  VirtualizedSectionListProps<SectionT>,
99
99
  {
@@ -115,7 +115,7 @@ export type Props<SectionT: SectionBase<any>> = $ReadOnly<{|
115
115
  >,
116
116
  ...RequiredProps<SectionT>,
117
117
  ...OptionalProps<SectionT>,
118
- |}>;
118
+ }>;
119
119
 
120
120
  /**
121
121
  * A performant interface for rendering sectioned lists, supporting the most handy features:
@@ -37,20 +37,20 @@ export type LogData = $ReadOnly<{
37
37
  }>;
38
38
 
39
39
  export type Observer = (
40
- $ReadOnly<{|
40
+ $ReadOnly<{
41
41
  logs: LogBoxLogs,
42
42
  isDisabled: boolean,
43
43
  selectedLogIndex: number,
44
- |}>,
44
+ }>,
45
45
  ) => void;
46
46
 
47
47
  export type IgnorePattern = string | RegExp;
48
48
 
49
- export type Subscription = $ReadOnly<{|
49
+ export type Subscription = $ReadOnly<{
50
50
  unsubscribe: () => void,
51
- |}>;
51
+ }>;
52
52
 
53
- export type WarningInfo = {|
53
+ export type WarningInfo = {
54
54
  finalFormat: string,
55
55
  forceDialogImmediately: boolean,
56
56
  suppressDialog_LEGACY: boolean,
@@ -58,15 +58,15 @@ export type WarningInfo = {|
58
58
  monitorEvent: string | null,
59
59
  monitorListVersion: number,
60
60
  monitorSampleRate: number,
61
- |};
61
+ };
62
62
 
63
63
  export type WarningFilter = (format: string) => WarningInfo;
64
64
 
65
- type AppInfo = $ReadOnly<{|
65
+ type AppInfo = $ReadOnly<{
66
66
  appVersion: string,
67
67
  engine: string,
68
68
  onPress?: ?() => void,
69
- |}>;
69
+ }>;
70
70
 
71
71
  const observers: Set<{observer: Observer, ...}> = new Set();
72
72
  const ignorePatterns: Set<IgnorePattern> = new Set();
@@ -413,25 +413,25 @@ export function observe(observer: Observer): Subscription {
413
413
  };
414
414
  }
415
415
 
416
- type Props = $ReadOnly<{||}>;
417
- type State = $ReadOnly<{|
416
+ type Props = $ReadOnly<{}>;
417
+ type State = $ReadOnly<{
418
418
  logs: LogBoxLogs,
419
419
  isDisabled: boolean,
420
420
  hasError: boolean,
421
421
  selectedLogIndex: number,
422
- |}>;
422
+ }>;
423
423
 
424
424
  type SubscribedComponent = React.ComponentType<
425
- $ReadOnly<{|
425
+ $ReadOnly<{
426
426
  logs: $ReadOnlyArray<LogBoxLog>,
427
427
  isDisabled: boolean,
428
428
  selectedLogIndex: number,
429
- |}>,
429
+ }>,
430
430
  >;
431
431
 
432
432
  export function withSubscription(
433
433
  WrappedComponent: SubscribedComponent,
434
- ): React.ComponentType<{||}> {
434
+ ): React.ComponentType<{}> {
435
435
  class LogBoxStateSubscription extends React.Component<Props, State> {
436
436
  static getDerivedStateFromError(): {hasError: boolean} {
437
437
  return {hasError: true};