@office-iss/react-native-win32 0.0.0-canary.297 → 0.0.0-canary.298
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.
- package/.flowconfig +4 -2
- package/CHANGELOG.json +28 -1
- package/CHANGELOG.md +15 -5
- package/IntegrationTests/AccessibilityManagerTest.js +1 -1
- package/IntegrationTests/AppEventsTest.js +1 -1
- package/IntegrationTests/GlobalEvalWithSourceUrlTest.js +1 -1
- package/IntegrationTests/ImageCachePolicyTest.js +2 -2
- package/IntegrationTests/ImageSnapshotTest.js +1 -1
- package/IntegrationTests/IntegrationTestHarnessTest.js +1 -1
- package/IntegrationTests/IntegrationTestsApp.js +1 -1
- package/IntegrationTests/LayoutEventsTest.js +1 -1
- package/IntegrationTests/PromiseTest.js +1 -1
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +1 -1
- package/IntegrationTests/WebSocketTest.js +1 -1
- package/Libraries/Alert/Alert.js +1 -1
- package/Libraries/Alert/Alert.win32.js +1 -1
- package/Libraries/Alert/RCTAlertManager.ios.js +1 -1
- package/Libraries/Alert/RCTAlertManager.js.flow +1 -1
- package/Libraries/Animated/AnimatedExports.js +2 -2
- package/Libraries/Animated/Easing.js +1 -1
- package/Libraries/Animated/SpringConfig.js +1 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
- package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
- package/Libraries/Animated/nodes/AnimatedProps.js +36 -4
- package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
- package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/BlobManager.js +4 -0
- package/Libraries/Blob/URL.js +1 -1
- package/Libraries/Blob/URLSearchParams.js +5 -1
- package/Libraries/Blob/URLSearchParams.js.flow +2 -1
- package/Libraries/BugReporting/BugReporting.js +1 -1
- package/Libraries/BugReporting/dumpReactTree.js +1 -1
- package/Libraries/BugReporting/getReactData.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.ios.js +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.js.flow +1 -1
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.win32.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +1 -1
- package/Libraries/Components/Button.js +1 -1
- package/Libraries/Components/Button.win32.js +1 -1
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.ios.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js.flow +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidFallback.js +1 -1
- package/Libraries/Components/Keyboard/Keyboard.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +1 -1
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +14 -0
- package/Libraries/Components/ScrollView/ScrollView.js +4 -2
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/Sound/SoundManager.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +1 -1
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +1 -1
- package/Libraries/Components/Switch/SwitchNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +0 -12
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
- package/Libraries/Components/TextInput/TextInput.flow.js +11 -9
- package/Libraries/Components/TextInput/TextInput.flow.win32.js +11 -9
- package/Libraries/Components/TextInput/TextInput.js +14 -10
- package/Libraries/Components/TextInput/TextInput.win32.js +14 -10
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.android.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.ios.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.js.flow +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroid.win32.js +1 -1
- package/Libraries/Components/ToastAndroid/ToastAndroidFallback.js +1 -1
- package/Libraries/Components/Touchable/BoundingDimensions.js +1 -1
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Position.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +10 -0
- package/Libraries/Components/Touchable/Touchable.win32.js +10 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
- package/Libraries/Components/View/View.js +1 -1
- package/Libraries/Components/View/View.win32.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.win32.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.d.ts +18 -2
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.win32.js +1 -1
- package/Libraries/Core/Devtools/getDevServer.js +1 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -1
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -1
- package/Libraries/Core/Devtools/parseErrorStack.js +1 -1
- package/Libraries/Core/Devtools/parseHermesStack.js +1 -1
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +1 -1
- package/Libraries/Core/ExceptionsManager.js +1 -1
- package/Libraries/Core/InitializeCore.js +1 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpDeveloperTools.js +13 -11
- package/Libraries/Debugging/DebuggingOverlay.js +6 -6
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +1 -1
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +62 -53
- package/Libraries/Interaction/TaskQueue.js +8 -9
- package/Libraries/Interaction/TouchHistoryMath.js +1 -1
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
- package/Libraries/LogBox/LogBox.js +2 -0
- package/Libraries/Modal/Modal.js +5 -1
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +17 -5
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +4 -4
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +4 -4
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
- package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.js.flow +1 -1
- package/Libraries/Network/RCTNetworking.win32.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +3 -3
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +1 -1
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.win32.js +1 -1
- package/Libraries/Promise.js +1 -1
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -3
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +1 -1
- package/Libraries/ReactNative/RendererProxy.js +1 -1
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +1 -1
- package/Libraries/Settings/Settings.ios.js +1 -1
- package/Libraries/Settings/Settings.js +1 -1
- package/Libraries/Settings/SettingsFallback.js +1 -1
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/EdgeInsetsPropType.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.android.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.js.flow +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.ios.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypesIOS.js +1 -1
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processBackgroundImage.js +1 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processFilter.js +1 -1
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/StyleSheet/processTransform.js +1 -1
- package/Libraries/StyleSheet/processTransformOrigin.js +1 -1
- package/Libraries/StyleSheet/setNormalizedColorAlpha.js +1 -1
- package/Libraries/Text/Text.js +1 -1
- package/Libraries/Text/Text.win32.js +1 -1
- package/Libraries/Text/TextNativeComponent.js +4 -0
- package/Libraries/Text/TextNativeComponent.win32.js +4 -0
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CodegenTypesNamespace.js +1 -1
- package/Libraries/Types/CoreEventTypes.d.ts +4 -0
- package/Libraries/Utilities/Appearance.js +1 -1
- package/Libraries/Utilities/BackHandler.js.flow +1 -1
- package/Libraries/Utilities/DevLoadingView.js +1 -1
- package/Libraries/Utilities/DeviceInfo.js +1 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/Dimensions.win32.js +1 -1
- package/Libraries/Utilities/HMRClient.js +1 -1
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/PixelRatio.js +1 -1
- package/Libraries/Utilities/Platform.android.js +1 -1
- package/Libraries/Utilities/Platform.ios.js +1 -1
- package/Libraries/Utilities/Platform.js +1 -1
- package/Libraries/Utilities/Platform.win32.js +1 -1
- package/Libraries/Utilities/RCTLog.js +1 -1
- package/Libraries/Utilities/SceneTracker.js +1 -1
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +1 -1
- package/Libraries/Utilities/codegenNativeComponent.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +27 -20
- package/Libraries/Utilities/deepFreezeAndThrowOnMutationInDev.js +1 -1
- package/Libraries/Utilities/defineLazyObjectProperty.js +1 -1
- package/Libraries/Utilities/differ/deepDiffer.js +1 -1
- package/Libraries/Utilities/differ/insetsDiffer.js +1 -1
- package/Libraries/Utilities/differ/matricesDiffer.js +1 -1
- package/Libraries/Utilities/differ/pointsDiffer.js +1 -1
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/mapWithSeparator.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +1 -1
- package/Libraries/Utilities/stringifyViewConfig.js +1 -1
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +1 -1
- package/Libraries/Utilities/warnOnce.js +1 -1
- package/Libraries/Vibration/Vibration.js +1 -2
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/WebSocket/WebSocketInterceptor.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/index.js +1 -1
- package/index.win32.js +3 -1
- package/interface.js +1 -1
- package/jest/MockNativeMethods.js +9 -3
- package/jest/RefreshControlMock.js +32 -0
- package/jest/assetFileTransformer.js +1 -0
- package/jest/local-setup.js +4 -3
- package/jest/mock.js +39 -0
- package/jest/mockComponent.js +47 -17
- package/jest/mockNativeComponent.js +24 -14
- package/jest/mocks/AccessibilityInfo.js +62 -0
- package/jest/mocks/ActivityIndicator.js +23 -0
- package/jest/mocks/AppState.js +19 -0
- package/{flow/Stringish.js → jest/mocks/Clipboard.js} +6 -4
- package/jest/mocks/Image.js +23 -0
- package/jest/mocks/InitializeCore.js +9 -0
- package/jest/mocks/Linking.js +28 -0
- package/jest/mocks/Modal.js +33 -0
- package/jest/mocks/NativeComponentRegistry.js +30 -0
- package/jest/mocks/NativeModules.js +239 -0
- package/jest/mocks/RefreshControl.js +31 -0
- package/jest/mocks/RendererProxy.js +45 -0
- package/jest/mocks/ScrollView.js +58 -0
- package/jest/mocks/Text.js +27 -0
- package/jest/mocks/TextInput.js +32 -0
- package/jest/mocks/UIManager.js +60 -0
- package/jest/mocks/Vibration.js +16 -0
- package/jest/mocks/View.js +27 -0
- package/jest/mocks/ViewNativeComponent.js +23 -0
- package/jest/mocks/requireNativeComponent.js +22 -0
- package/{Libraries/Utilities/infoLog.js → jest/mocks/useColorScheme.js} +7 -9
- package/jest/react-native-env.js +1 -0
- package/jest/renderer.js +1 -1
- package/jest/resolver.js +1 -0
- package/jest/setup.js +63 -445
- package/overrides.json +28 -28
- package/package.json +14 -14
- package/src/private/animated/NativeAnimatedHelper.js +2 -0
- package/src/private/animated/NativeAnimatedHelper.win32.js +2 -0
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/NetworkOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/XHRInterceptor.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/getInspectorDataForViewAtPoint.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/perfmonitor/PerformanceOverlay.js +1 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +33 -8
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +6 -1
- package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeFrameRateLogger.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePermissionsAndroid.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS.js +1 -1
- package/src/private/types/HostInstance.js +1 -1
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyText.js +1 -1
- package/src/private/webapis/dom/nodes/internals/NodeInternals.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentElementInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/ReactNativeDocumentInstanceHandle.js +1 -1
- package/src/private/webapis/dom/nodes/internals/Traversal.js +1 -1
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +1 -1
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +1 -1
- package/src/private/webapis/geometry/DOMRectList.js +1 -1
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +7 -12
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +4 -14
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +0 -1
- package/src/private/webapis/mutationobserver/MutationObserver.js +2 -17
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +19 -73
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -7
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/LongTasks.js +1 -1
- package/src/private/webapis/performance/Performance.js +1 -1
- package/src/private/webapis/performance/PerformanceEntry.js +1 -1
- package/src/private/webapis/performance/PerformanceObserver.js +1 -1
- package/src/private/webapis/performance/UserTiming.js +1 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +1 -1
- package/src/private/webapis/performance/internals/Utilities.js +1 -1
- package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +18 -2
- package/types/modules/Devtools.d.ts +23 -9
- package/Libraries/Interaction/JSEventLoopWatchdog.js +0 -88
- package/flow/HermesInternalType.js +0 -114
- package/flow/console.js +0 -49
- package/flow/global.js +0 -88
- package/jest/mockModal.js +0 -32
- package/jest/mockScrollView.js +0 -35
package/jest/mock.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
* @oncall react_native
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Mocks the module referenced by `moduleRef` (expected to begin with `m#`)
|
|
14
|
+
* while enforcing type safety of mock factories.
|
|
15
|
+
*
|
|
16
|
+
* If `factoryRef` is provided, it is expected to reference a module that
|
|
17
|
+
* exports the same type signature as the module referenced by `moduleRef`.
|
|
18
|
+
*/
|
|
19
|
+
export default function mock<TModuleRef: $Flow$ModuleRef<mixed>>(
|
|
20
|
+
moduleRef: TModuleRef,
|
|
21
|
+
factoryRef?: NoInfer<TModuleRef>,
|
|
22
|
+
): void {
|
|
23
|
+
// NOTE: Jest's `babel-plugin-jest-hoist` requires that the second argument to
|
|
24
|
+
// `jest.mock` be an inline function, so structure this code accordingly.
|
|
25
|
+
if (factoryRef === undefined) {
|
|
26
|
+
jest.mock(deref(moduleRef));
|
|
27
|
+
} else {
|
|
28
|
+
// NOTE: Jest's `babel-plugin-jest-hoist` requires that module factories
|
|
29
|
+
// only reference local variables or variables starting with "mock", so be
|
|
30
|
+
// careful when renaming this `mockFactory` variable.
|
|
31
|
+
const mockFactory = deref(factoryRef);
|
|
32
|
+
jest.mock(deref(moduleRef), () => jest.requireActual(mockFactory));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function deref(ref: $Flow$ModuleRef<mixed>): string {
|
|
37
|
+
// $FlowIgnore[incompatible-cast]
|
|
38
|
+
return (ref as string).substring(2);
|
|
39
|
+
}
|
package/jest/mockComponent.js
CHANGED
|
@@ -4,37 +4,62 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
+
* @flow strict
|
|
7
8
|
* @format
|
|
8
9
|
*/
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
import * as React from 'react';
|
|
12
|
+
import {createElement} from 'react';
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
? jest.requireActual(moduleName).default
|
|
15
|
-
: jest.requireActual(moduleName);
|
|
16
|
-
const React = require('react');
|
|
14
|
+
type Modulish<T> = T | $ReadOnly<{default: T}>;
|
|
15
|
+
type ModuleDefault<T> = T['default'];
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
type TComponentType = React.ComponentType<{...}>;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* WARNING: The `moduleName` must be relative to this file's directory, which is
|
|
21
|
+
* a major footgun. Be careful when using this function!
|
|
22
|
+
*/
|
|
23
|
+
export default function mockComponent<
|
|
24
|
+
TComponentModule: Modulish<TComponentType>,
|
|
25
|
+
>(
|
|
26
|
+
moduleName: string,
|
|
27
|
+
instanceMethods: ?interface {},
|
|
28
|
+
isESModule: boolean,
|
|
29
|
+
): typeof isESModule extends true
|
|
30
|
+
? ModuleDefault<TComponentModule & typeof instanceMethods>
|
|
31
|
+
: TComponentModule & typeof instanceMethods {
|
|
32
|
+
const RealComponent: TComponentType = isESModule
|
|
33
|
+
? // $FlowIgnore[prop-missing]
|
|
34
|
+
jest.requireActual<TComponentModule>(moduleName).default
|
|
35
|
+
: // $FlowIgnore[incompatible-type]
|
|
36
|
+
jest.requireActual<TComponentModule>(moduleName);
|
|
37
|
+
|
|
38
|
+
const SuperClass: typeof React.Component<
|
|
39
|
+
React.ElementProps<typeof RealComponent>,
|
|
40
|
+
> =
|
|
19
41
|
typeof RealComponent === 'function' &&
|
|
20
42
|
RealComponent.prototype.constructor instanceof React.Component
|
|
21
43
|
? RealComponent
|
|
22
44
|
: React.Component;
|
|
23
45
|
|
|
24
46
|
const name =
|
|
25
|
-
RealComponent.displayName
|
|
26
|
-
RealComponent.name
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
47
|
+
RealComponent.displayName ??
|
|
48
|
+
RealComponent.name ??
|
|
49
|
+
// $FlowFixMe[prop-missing] - Checking for `forwardRef` values.
|
|
50
|
+
(RealComponent.render == null
|
|
51
|
+
? 'Unknown'
|
|
52
|
+
: // $FlowFixMe[incompatible-use]
|
|
53
|
+
RealComponent.render.displayName ?? RealComponent.render.name);
|
|
30
54
|
|
|
31
55
|
const nameWithoutPrefix = name.replace(/^(RCT|RK)/, '');
|
|
32
56
|
|
|
33
57
|
const Component = class extends SuperClass {
|
|
34
|
-
static displayName = 'Component';
|
|
58
|
+
static displayName: ?string = 'Component';
|
|
35
59
|
|
|
36
|
-
render() {
|
|
37
|
-
|
|
60
|
+
render(): React.Node {
|
|
61
|
+
// $FlowIgnore[prop-missing]
|
|
62
|
+
const props = {...RealComponent.defaultProps};
|
|
38
63
|
|
|
39
64
|
if (this.props) {
|
|
40
65
|
Object.keys(this.props).forEach(prop => {
|
|
@@ -49,7 +74,9 @@ module.exports = (moduleName, instanceMethods, isESModule) => {
|
|
|
49
74
|
});
|
|
50
75
|
}
|
|
51
76
|
|
|
52
|
-
|
|
77
|
+
// $FlowIgnore[not-a-function]
|
|
78
|
+
// $FlowIgnore[prop-missing]
|
|
79
|
+
return createElement(nameWithoutPrefix, props, this.props.children);
|
|
53
80
|
}
|
|
54
81
|
};
|
|
55
82
|
|
|
@@ -62,13 +89,16 @@ module.exports = (moduleName, instanceMethods, isESModule) => {
|
|
|
62
89
|
|
|
63
90
|
Component.displayName = nameWithoutPrefix;
|
|
64
91
|
|
|
92
|
+
// $FlowIgnore[not-an-object]
|
|
65
93
|
Object.keys(RealComponent).forEach(classStatic => {
|
|
66
94
|
Component[classStatic] = RealComponent[classStatic];
|
|
67
95
|
});
|
|
68
96
|
|
|
69
97
|
if (instanceMethods != null) {
|
|
98
|
+
// $FlowIgnore[unsafe-object-assign]
|
|
70
99
|
Object.assign(Component.prototype, instanceMethods);
|
|
71
100
|
}
|
|
72
101
|
|
|
102
|
+
// $FlowIgnore[incompatible-return]
|
|
73
103
|
return Component;
|
|
74
|
-
}
|
|
104
|
+
}
|
|
@@ -4,31 +4,41 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
+
* @flow strict
|
|
7
8
|
* @format
|
|
8
9
|
*/
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
import type {HostInstance} from '../src/private/types/HostInstance';
|
|
11
12
|
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
import * as React from 'react';
|
|
14
|
+
import {createElement} from 'react';
|
|
14
15
|
|
|
15
16
|
let nativeTag = 1;
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
type MockNativeComponent<TProps: {...}> = component(
|
|
19
|
+
ref?: ?React.RefSetter<HostInstance>,
|
|
20
|
+
...props: TProps
|
|
21
|
+
);
|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
export default function mockNativeComponent<TProps: {...}>(
|
|
24
|
+
viewName: string,
|
|
25
|
+
): MockNativeComponent<TProps> {
|
|
26
|
+
const Component = class extends React.Component<TProps> {
|
|
27
|
+
_nativeTag: number = nativeTag++;
|
|
28
|
+
|
|
29
|
+
render(): React.Node {
|
|
30
|
+
// $FlowIgnore[not-a-function]
|
|
31
|
+
// $FlowIgnore[prop-missing]
|
|
22
32
|
return createElement(viewName, this.props, this.props.children);
|
|
23
33
|
}
|
|
24
34
|
|
|
25
35
|
// The methods that exist on host components
|
|
26
|
-
blur = jest.fn();
|
|
27
|
-
focus = jest.fn();
|
|
28
|
-
measure = jest.fn();
|
|
29
|
-
measureInWindow = jest.fn();
|
|
30
|
-
measureLayout = jest.fn();
|
|
31
|
-
setNativeProps = jest.fn();
|
|
36
|
+
blur: () => void = jest.fn();
|
|
37
|
+
focus: () => void = jest.fn();
|
|
38
|
+
measure: () => void = jest.fn();
|
|
39
|
+
measureInWindow: () => void = jest.fn();
|
|
40
|
+
measureLayout: () => void = jest.fn();
|
|
41
|
+
setNativeProps: () => void = jest.fn();
|
|
32
42
|
};
|
|
33
43
|
|
|
34
44
|
if (viewName === 'RCTView') {
|
|
@@ -38,4 +48,4 @@ export default viewName => {
|
|
|
38
48
|
}
|
|
39
49
|
|
|
40
50
|
return Component;
|
|
41
|
-
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const AccessibilityInfo = {
|
|
12
|
+
addEventListener: jest.fn(() => ({
|
|
13
|
+
remove: jest.fn(),
|
|
14
|
+
})) as JestMockFn<$FlowFixMe, {remove: JestMockFn<[], void>}>,
|
|
15
|
+
announceForAccessibility: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
16
|
+
announceForAccessibilityWithOptions: jest.fn() as JestMockFn<
|
|
17
|
+
$FlowFixMe,
|
|
18
|
+
$FlowFixMe,
|
|
19
|
+
>,
|
|
20
|
+
isAccessibilityServiceEnabled: jest.fn(() =>
|
|
21
|
+
Promise.resolve(false),
|
|
22
|
+
) as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
23
|
+
isBoldTextEnabled: jest.fn(() => Promise.resolve(false)) as JestMockFn<
|
|
24
|
+
$FlowFixMe,
|
|
25
|
+
$FlowFixMe,
|
|
26
|
+
>,
|
|
27
|
+
isGrayscaleEnabled: jest.fn(() => Promise.resolve(false)) as JestMockFn<
|
|
28
|
+
$FlowFixMe,
|
|
29
|
+
$FlowFixMe,
|
|
30
|
+
>,
|
|
31
|
+
isInvertColorsEnabled: jest.fn(() => Promise.resolve(false)) as JestMockFn<
|
|
32
|
+
$FlowFixMe,
|
|
33
|
+
$FlowFixMe,
|
|
34
|
+
>,
|
|
35
|
+
isReduceMotionEnabled: jest.fn(() => Promise.resolve(false)) as JestMockFn<
|
|
36
|
+
$FlowFixMe,
|
|
37
|
+
$FlowFixMe,
|
|
38
|
+
>,
|
|
39
|
+
isHighTextContrastEnabled: jest.fn(() =>
|
|
40
|
+
Promise.resolve(false),
|
|
41
|
+
) as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
42
|
+
isDarkerSystemColorsEnabled: jest.fn(() =>
|
|
43
|
+
Promise.resolve(false),
|
|
44
|
+
) as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
45
|
+
prefersCrossFadeTransitions: jest.fn(() =>
|
|
46
|
+
Promise.resolve(false),
|
|
47
|
+
) as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
48
|
+
isReduceTransparencyEnabled: jest.fn(() =>
|
|
49
|
+
Promise.resolve(false),
|
|
50
|
+
) as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
51
|
+
isScreenReaderEnabled: jest.fn(() => Promise.resolve(false)) as JestMockFn<
|
|
52
|
+
$FlowFixMe,
|
|
53
|
+
$FlowFixMe,
|
|
54
|
+
>,
|
|
55
|
+
setAccessibilityFocus: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
56
|
+
sendAccessibilityEvent: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
57
|
+
getRecommendedTimeoutMillis: jest.fn(() =>
|
|
58
|
+
Promise.resolve(false),
|
|
59
|
+
) as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export default AccessibilityInfo;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import typeof TActivityIndicator from '../../Libraries/Components/ActivityIndicator/ActivityIndicator';
|
|
12
|
+
import typeof * as TmockComponent from '../mockComponent';
|
|
13
|
+
|
|
14
|
+
const mockComponent =
|
|
15
|
+
jest.requireActual<TmockComponent>('../mockComponent').default;
|
|
16
|
+
|
|
17
|
+
const ActivityIndicator = mockComponent(
|
|
18
|
+
'../Libraries/Components/ActivityIndicator/ActivityIndicator',
|
|
19
|
+
null, // instanceMethods
|
|
20
|
+
true, // isESModule
|
|
21
|
+
) as TActivityIndicator;
|
|
22
|
+
|
|
23
|
+
export default ActivityIndicator;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const AppState = {
|
|
12
|
+
addEventListener: jest.fn(() => ({
|
|
13
|
+
remove: jest.fn(),
|
|
14
|
+
})) as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
15
|
+
removeEventListener: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
16
|
+
currentState: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default AppState;
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const Clipboard = {
|
|
12
|
+
getString: jest.fn(async () => '') as JestMockFn<[], Promise<string>>,
|
|
13
|
+
setString: jest.fn() as JestMockFn<[string], void>,
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default Clipboard;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import typeof TImage from '../../Libraries/Image/Image';
|
|
12
|
+
import typeof * as TmockComponent from '../mockComponent';
|
|
13
|
+
|
|
14
|
+
const mockComponent =
|
|
15
|
+
jest.requireActual<TmockComponent>('../mockComponent').default;
|
|
16
|
+
|
|
17
|
+
const Image = mockComponent(
|
|
18
|
+
'../Libraries/Image/Image',
|
|
19
|
+
null, // instanceMethods
|
|
20
|
+
true, // isESModule
|
|
21
|
+
) as TImage;
|
|
22
|
+
|
|
23
|
+
export default Image;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const Linking = {
|
|
12
|
+
openURL: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
13
|
+
canOpenURL: jest.fn(() => Promise.resolve(true)) as JestMockFn<
|
|
14
|
+
$FlowFixMe,
|
|
15
|
+
$FlowFixMe,
|
|
16
|
+
>,
|
|
17
|
+
openSettings: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
18
|
+
addEventListener: jest.fn(() => ({
|
|
19
|
+
remove: jest.fn(),
|
|
20
|
+
})) as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
21
|
+
getInitialURL: jest.fn(() => Promise.resolve()) as JestMockFn<
|
|
22
|
+
$FlowFixMe,
|
|
23
|
+
$FlowFixMe,
|
|
24
|
+
>,
|
|
25
|
+
sendIntent: jest.fn() as JestMockFn<$FlowFixMe, $FlowFixMe>,
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default Linking;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import type {ModalProps} from '../../Libraries/Modal/Modal';
|
|
12
|
+
import typeof * as TmockComponent from '../mockComponent';
|
|
13
|
+
|
|
14
|
+
const mockComponent =
|
|
15
|
+
jest.requireActual<TmockComponent>('../mockComponent').default;
|
|
16
|
+
|
|
17
|
+
type TModal = component(...ModalProps);
|
|
18
|
+
|
|
19
|
+
const BaseComponent = mockComponent(
|
|
20
|
+
'../Libraries/Modal/Modal',
|
|
21
|
+
null, // instanceMethods
|
|
22
|
+
true, // isESModule
|
|
23
|
+
) as TModal;
|
|
24
|
+
|
|
25
|
+
// $FlowIgnore[incompatible-use]
|
|
26
|
+
export default class Modal extends BaseComponent {
|
|
27
|
+
render(): React.Node {
|
|
28
|
+
if (this.props.visible === false) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return <BaseComponent {...this.props}>{this.props.children}</BaseComponent>;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import typeof * as TmockNativeComponent from '../mockNativeComponent';
|
|
12
|
+
|
|
13
|
+
const mockNativeComponent = jest.requireActual<TmockNativeComponent>(
|
|
14
|
+
'../mockNativeComponent',
|
|
15
|
+
).default;
|
|
16
|
+
|
|
17
|
+
export const get = jest.fn((name, viewConfigProvider) => {
|
|
18
|
+
return mockNativeComponent(name);
|
|
19
|
+
}) as JestMockFn<$FlowFixMe, $FlowFixMe>;
|
|
20
|
+
|
|
21
|
+
export const getWithFallback_DEPRECATED = jest.fn(
|
|
22
|
+
(name, viewConfigProvider) => {
|
|
23
|
+
return mockNativeComponent(name);
|
|
24
|
+
},
|
|
25
|
+
) as JestMockFn<$FlowFixMe, $FlowFixMe>;
|
|
26
|
+
|
|
27
|
+
export const setRuntimeConfigProvider = jest.fn() as JestMockFn<
|
|
28
|
+
$FlowFixMe,
|
|
29
|
+
$FlowFixMe,
|
|
30
|
+
>;
|