@office-iss/react-native-win32 0.0.0-canary.297 → 0.0.0-canary.299
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 +8 -4
- package/CHANGELOG.json +55 -1
- package/CHANGELOG.md +25 -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 +2 -1
- package/IntegrationTests/LayoutEventsTest.js +1 -1
- package/IntegrationTests/LoggingTestModule.js +16 -20
- package/IntegrationTests/PromiseTest.js +1 -1
- package/IntegrationTests/SimpleSnapshotTest.js +1 -1
- package/IntegrationTests/SyncMethodTest.js +1 -1
- package/IntegrationTests/TimersTest.js +2 -1
- package/IntegrationTests/WebSocketTest.js +2 -1
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.js +3 -3
- package/Libraries/Alert/Alert.win32.js +1 -1
- package/Libraries/Alert/NativeAlertManager.js +1 -0
- package/Libraries/Alert/RCTAlertManager.android.js +19 -13
- package/Libraries/Alert/RCTAlertManager.ios.js +10 -12
- package/Libraries/Alert/RCTAlertManager.js +1 -3
- package/Libraries/Alert/RCTAlertManager.js.flow +5 -7
- package/Libraries/Animated/AnimatedEvent.js +4 -3
- package/Libraries/Animated/AnimatedExports.js +2 -2
- package/Libraries/Animated/AnimatedExports.js.flow +5 -0
- package/Libraries/Animated/AnimatedImplementation.js +44 -44
- package/Libraries/Animated/AnimatedMock.js +2 -2
- package/Libraries/Animated/Easing.js +1 -1
- package/Libraries/Animated/NativeAnimatedModule.js +1 -0
- package/Libraries/Animated/NativeAnimatedTurboModule.js +1 -0
- package/Libraries/Animated/SpringConfig.js +1 -1
- package/Libraries/Animated/animations/Animation.js +6 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +7 -6
- package/Libraries/Animated/components/AnimatedScrollView.js +6 -5
- package/Libraries/Animated/components/AnimatedSectionList.js +11 -7
- package/Libraries/Animated/components/AnimatedText.js +2 -5
- package/Libraries/Animated/components/AnimatedView.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +2 -4
- package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
- package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/BatchedBridge/BatchedBridge.js +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/BlobManager.js +4 -0
- package/Libraries/Blob/NativeBlobModule.js +1 -0
- package/Libraries/Blob/NativeFileReaderModule.js +1 -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/Components/AccessibilityInfo/NativeAccessibilityInfo.js +1 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfoWin32.js +1 -2
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +1 -2
- 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 +2 -3
- package/Libraries/Components/Button.js +8 -5
- package/Libraries/Components/Button.win32.js +8 -5
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/Clipboard/NativeClipboard.js +1 -2
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +2 -3
- 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/Keyboard/NativeKeyboardObserver.js +1 -2
- package/Libraries/Components/Pressable/Pressable.js +8 -2
- package/Libraries/Components/Pressable/Pressable.win32.js +8 -8
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +2 -3
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +2 -3
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +2 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +2 -3
- package/Libraries/Components/SafeAreaView/SafeAreaView.d.ts +9 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +3 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.win32.js +3 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +24 -1
- package/Libraries/Components/ScrollView/ScrollView.js +7 -3
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/processDecelerationRate.js +1 -1
- package/Libraries/Components/Sound/NativeSoundManager.js +1 -2
- package/Libraries/Components/Sound/SoundManager.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +1 -2
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +1 -2
- package/Libraries/Components/StatusBar/StatusBar.d.ts +4 -0
- package/Libraries/Components/StatusBar/StatusBar.js +6 -1
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +2 -3
- package/Libraries/Components/Switch/Switch.js +2 -1
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -19
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +2 -3
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +9 -3
- package/Libraries/Components/TextInput/TextInput.flow.js +12 -10
- package/Libraries/Components/TextInput/TextInput.flow.win32.js +11 -9
- package/Libraries/Components/TextInput/TextInput.js +16 -14
- package/Libraries/Components/TextInput/TextInput.win32.js +42 -13
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.win32.js +1 -1
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +1 -2
- 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 +17 -3
- package/Libraries/Components/Touchable/Touchable.win32.js +17 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +5 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +3 -2
- package/Libraries/Components/Touchable/TouchableNativeFeedback.win32.js +3 -2
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
- package/Libraries/Components/View/View.js +18 -19
- package/Libraries/Components/View/View.win32.js +17 -3
- package/Libraries/Components/View/ViewAccessibility.js +1 -8
- package/Libraries/Components/View/ViewAccessibility.win32.js +1 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
- package/Libraries/Components/View/ViewPropTypes.js +9 -1
- package/Libraries/Components/View/ViewPropTypes.win32.js +9 -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 +29 -16
- package/Libraries/Core/InitializeCore.js +1 -1
- package/Libraries/Core/NativeExceptionsManager.js +1 -0
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +1 -0
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/NativeTiming.js +1 -0
- package/Libraries/Core/Timers/immediateShim.js +1 -1
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/checkNativeVersion.js +1 -0
- package/Libraries/Core/setUpDeveloperTools.js +13 -11
- package/Libraries/Core/setUpReactDevTools.js +21 -4
- package/Libraries/Debugging/DebuggingOverlay.js +6 -6
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
- package/Libraries/EventEmitter/NativeEventEmitter.js +3 -3
- package/Libraries/EventEmitter/RCTEventEmitter.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.js +1 -1
- package/Libraries/Image/Image.android.js +3 -3
- package/Libraries/Image/ImageInjection.js +1 -1
- package/Libraries/Image/ImageSource.d.ts +5 -0
- package/Libraries/Image/ImageViewNativeComponent.js +3 -3
- package/Libraries/Image/NativeImageEditor.js +1 -0
- package/Libraries/Image/NativeImageLoaderAndroid.js +1 -0
- package/Libraries/Image/NativeImageLoaderIOS.js +1 -0
- package/Libraries/Image/NativeImageLoaderWin32.js +1 -0
- package/Libraries/Image/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/RelativeImageStub.js +2 -2
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +68 -54
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/TaskQueue.js +22 -9
- package/Libraries/Interaction/TouchHistoryMath.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +12 -8
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Linking/NativeIntentAndroid.js +1 -0
- package/Libraries/Linking/NativeLinkingManager.js +1 -0
- package/Libraries/Lists/FlatList.js +5 -6
- package/Libraries/Lists/SectionList.js +4 -4
- package/Libraries/Lists/VirtualizedList.js +3 -2
- package/Libraries/LogBox/Data/LogBoxData.js +7 -4
- package/Libraries/LogBox/Data/parseLogBoxLog.js +2 -0
- package/Libraries/LogBox/LogBox.js +72 -99
- package/Libraries/Modal/Modal.d.ts +8 -2
- package/Libraries/Modal/Modal.js +24 -3
- package/Libraries/Modal/NativeModalManager.js +1 -0
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +2 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +21 -18
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +8 -17
- package/Libraries/NativeComponent/BaseViewConfig.js.flow +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.win32.js +8 -17
- package/Libraries/NativeComponent/PlatformBaseViewConfig.js +1 -1
- package/Libraries/NativeComponent/ViewConfigIgnore.js +3 -3
- package/Libraries/NativeModules/specs/NativeDevMenu.js +1 -0
- package/Libraries/NativeModules/specs/NativeDevSettings.js +1 -0
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +1 -0
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +1 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeRedBox.js +1 -0
- package/Libraries/NativeModules/specs/NativeSourceCode.js +1 -0
- package/Libraries/Network/FormData.js +1 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +1 -0
- package/Libraries/Network/NativeNetworkingIOS.js +1 -0
- 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 +5 -3
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +1 -0
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +4 -3
- package/Libraries/Pressability/Pressability.js +1 -1
- package/Libraries/Pressability/Pressability.win32.js +1 -1
- package/Libraries/Promise.js +1 -1
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +1 -0
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +3 -2
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -13
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -1
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +1 -0
- package/Libraries/ReactNative/NativeI18nManager.js +1 -0
- package/Libraries/ReactNative/NativeUIManager.js +1 -0
- 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 +81 -62
- 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 +2 -2
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js.flow +3 -3
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3 -1
- package/Libraries/Renderer/shims/ReactNativeTypes.js +3 -12
- package/Libraries/Renderer/shims/ReactNativeTypes.win32.js +3 -12
- package/Libraries/Settings/NativeSettingsManager.js +1 -0
- 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/NativeShareModule.js +1 -0
- 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/StyleSheet.js +1 -0
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processAspectRatio.js +3 -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 +5 -7
- package/Libraries/Text/Text.win32.js +1 -1
- package/Libraries/Text/TextAncestor.js +3 -10
- package/Libraries/Text/TextAncestorContext.js +23 -0
- package/Libraries/Text/TextNativeComponent.js +4 -0
- package/Libraries/Text/TextNativeComponent.win32.js +4 -0
- package/Libraries/Text/TextProps.js +2 -2
- package/Libraries/Text/TextProps.win32.js +2 -2
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +1 -0
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CodegenTypesNamespace.js +2 -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 +13 -3
- package/Libraries/Utilities/HMRClientProdShim.js +1 -1
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativeDevLoadingView.js +1 -0
- package/Libraries/Utilities/NativeDeviceInfo.js +1 -2
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -0
- package/Libraries/Utilities/PixelRatio.js +1 -1
- package/Libraries/Utilities/Platform.android.js +2 -5
- package/Libraries/Utilities/Platform.ios.js +2 -5
- package/Libraries/Utilities/Platform.js +1 -1
- package/Libraries/Utilities/Platform.js.flow +2 -2
- package/Libraries/Utilities/Platform.win32.js +2 -5
- package/Libraries/Utilities/PlatformTypes.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 +5 -3
- package/Libraries/Utilities/codegenNativeComponent.js +4 -4
- package/Libraries/Utilities/createPerformanceLogger.js +59 -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/NativeVibration.js +1 -0
- package/Libraries/Vibration/Vibration.js +1 -2
- package/Libraries/WebSocket/NativeWebSocketModule.js +1 -0
- 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/Libraries/vendor/emitter/EventEmitter.js +6 -6
- package/index.js +22 -1
- package/index.win32.js +15 -2
- 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 +64 -445
- package/overrides.json +38 -38
- 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/animated/createAnimatedPropsHook.js +4 -1
- package/src/private/animated/createAnimatedPropsMemoHook.js +2 -2
- package/src/private/components/virtualview/VirtualView.js +145 -0
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +90 -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 +75 -30
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -5
- package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
- package/src/private/setup/setUpPerformanceObserver.js +7 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +8 -5
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +10 -7
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +5 -4
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +7 -4
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +10 -7
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +9 -6
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +15 -6
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +9 -6
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +5 -5
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +4 -4
- package/src/private/specs_DEPRECATED/modules/NativeDeviceInfo.js +1 -0
- 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/specs_DEPRECATED/modules/NativeUIManager.js +9 -6
- package/src/private/styles/composeStyles.js +5 -12
- 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/errors/DOMException.js +1 -1
- package/src/private/webapis/geometry/DOMRectList.js +1 -1
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +4 -1
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -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 +165 -62
- package/src/private/webapis/performance/PerformanceEntry.js +21 -17
- package/src/private/webapis/performance/PerformanceObserver.js +32 -28
- package/src/private/webapis/performance/ResourceTiming.js +108 -0
- package/src/private/webapis/performance/UserTiming.js +61 -9
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +48 -33
- package/src/private/webapis/performance/internals/Utilities.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +13 -1
- package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
- package/src-win/Libraries/Components/View/ViewPropTypes.d.ts +22 -2
- package/types/modules/Devtools.d.ts +23 -9
- package/Libraries/BugReporting/BugReporting.js +0 -140
- package/Libraries/BugReporting/NativeBugReporting.js +0 -13
- package/Libraries/BugReporting/dumpReactTree.js +0 -151
- package/Libraries/BugReporting/getReactData.js +0 -187
- 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/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
import type {
|
|
14
|
-
LayoutAnimationConfig
|
|
14
|
+
LayoutAnimationConfig,
|
|
15
15
|
LayoutAnimationProperty,
|
|
16
16
|
LayoutAnimationType,
|
|
17
17
|
} from '../Renderer/shims/ReactNativeTypes';
|
|
@@ -29,7 +29,7 @@ export type {
|
|
|
29
29
|
} from '../Renderer/shims/ReactNativeTypes';
|
|
30
30
|
|
|
31
31
|
// Reexport type
|
|
32
|
-
export type LayoutAnimationConfig
|
|
32
|
+
export type {LayoutAnimationConfig} from '../Renderer/shims/ReactNativeTypes';
|
|
33
33
|
|
|
34
34
|
export type LayoutAnimationTypes = $ReadOnly<{
|
|
35
35
|
[type in LayoutAnimationType]: type,
|
|
@@ -45,7 +45,7 @@ type OnAnimationDidFailCallback = () => void;
|
|
|
45
45
|
let isLayoutAnimationEnabled: boolean =
|
|
46
46
|
ReactNativeFeatureFlags.isLayoutAnimationEnabled();
|
|
47
47
|
|
|
48
|
-
function
|
|
48
|
+
function setLayoutAnimationEnabled(value: boolean) {
|
|
49
49
|
isLayoutAnimationEnabled = isLayoutAnimationEnabled;
|
|
50
50
|
}
|
|
51
51
|
|
|
@@ -115,7 +115,7 @@ function configureNext(
|
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
function
|
|
118
|
+
function createLayoutAnimation(
|
|
119
119
|
duration: number,
|
|
120
120
|
type?: LayoutAnimationType,
|
|
121
121
|
property?: LayoutAnimationProperty,
|
|
@@ -129,12 +129,16 @@ function create(
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
const Presets = {
|
|
132
|
-
easeInEaseOut: (
|
|
132
|
+
easeInEaseOut: (createLayoutAnimation(
|
|
133
133
|
300,
|
|
134
134
|
'easeInEaseOut',
|
|
135
135
|
'opacity',
|
|
136
136
|
): LayoutAnimationConfig),
|
|
137
|
-
linear: (
|
|
137
|
+
linear: (createLayoutAnimation(
|
|
138
|
+
500,
|
|
139
|
+
'linear',
|
|
140
|
+
'opacity',
|
|
141
|
+
): LayoutAnimationConfig),
|
|
138
142
|
spring: ({
|
|
139
143
|
duration: 700,
|
|
140
144
|
create: {
|
|
@@ -180,7 +184,7 @@ const LayoutAnimation = {
|
|
|
180
184
|
/**
|
|
181
185
|
* Helper for creating a config for `configureNext`.
|
|
182
186
|
*/
|
|
183
|
-
create,
|
|
187
|
+
create: createLayoutAnimation,
|
|
184
188
|
Types: Object.freeze({
|
|
185
189
|
spring: 'spring',
|
|
186
190
|
linear: 'linear',
|
|
@@ -208,7 +212,7 @@ const LayoutAnimation = {
|
|
|
208
212
|
spring: (configureNext.bind(null, Presets.spring): (
|
|
209
213
|
onAnimationDidEnd?: OnAnimationDidEndCallback,
|
|
210
214
|
) => void),
|
|
211
|
-
setEnabled,
|
|
215
|
+
setEnabled: setLayoutAnimationEnabled,
|
|
212
216
|
};
|
|
213
217
|
|
|
214
218
|
export default LayoutAnimation;
|
|
@@ -15,6 +15,7 @@ import type {
|
|
|
15
15
|
ListRenderItemInfo,
|
|
16
16
|
ViewabilityConfigCallbackPair,
|
|
17
17
|
ViewToken,
|
|
18
|
+
VirtualizedListProps,
|
|
18
19
|
} from '@react-native/virtualized-lists';
|
|
19
20
|
|
|
20
21
|
import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
|
|
@@ -32,14 +33,14 @@ const invariant = require('invariant');
|
|
|
32
33
|
const VirtualizedList = VirtualizedLists.VirtualizedList;
|
|
33
34
|
const defaultKeyExtractor = VirtualizedLists.keyExtractor;
|
|
34
35
|
|
|
35
|
-
type
|
|
36
|
+
type RequiredFlatListProps<ItemT> = {
|
|
36
37
|
/**
|
|
37
38
|
* An array (or array-like list) of items to render. Other data types can be
|
|
38
39
|
* used by targeting VirtualizedList directly.
|
|
39
40
|
*/
|
|
40
41
|
data: ?$ReadOnly<$ArrayLike<ItemT>>,
|
|
41
42
|
};
|
|
42
|
-
type
|
|
43
|
+
type OptionalFlatListProps<ItemT> = {
|
|
43
44
|
/**
|
|
44
45
|
* Takes an item from `data` and renders it into the list. Example usage:
|
|
45
46
|
*
|
|
@@ -177,12 +178,10 @@ function isArrayLike(data: mixed): boolean {
|
|
|
177
178
|
}
|
|
178
179
|
|
|
179
180
|
type FlatListBaseProps<ItemT> = {
|
|
180
|
-
...
|
|
181
|
-
...
|
|
181
|
+
...RequiredFlatListProps<ItemT>,
|
|
182
|
+
...OptionalFlatListProps<ItemT>,
|
|
182
183
|
};
|
|
183
184
|
|
|
184
|
-
type VirtualizedListProps = React.ElementConfig<typeof VirtualizedList>;
|
|
185
|
-
|
|
186
185
|
export type FlatListProps<ItemT> = {
|
|
187
186
|
...Omit<
|
|
188
187
|
VirtualizedListProps,
|
|
@@ -39,7 +39,7 @@ export type {
|
|
|
39
39
|
ScrollToLocationParamsType as SectionListScrollParams,
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
-
type
|
|
42
|
+
type RequiredSectionListProps<ItemT, SectionT = DefaultSectionT> = {
|
|
43
43
|
/**
|
|
44
44
|
* The actual data to render, akin to the `data` prop in [`<FlatList>`](https://reactnative.dev/docs/flatlist).
|
|
45
45
|
*
|
|
@@ -64,7 +64,7 @@ export type SectionListRenderItem<ItemT, SectionT = DefaultSectionT> = (
|
|
|
64
64
|
info: SectionListRenderItemInfo<ItemT, SectionT>,
|
|
65
65
|
) => React.Node | null;
|
|
66
66
|
|
|
67
|
-
type
|
|
67
|
+
type OptionalSectionListProps<ItemT, SectionT = DefaultSectionT> = {
|
|
68
68
|
/**
|
|
69
69
|
* Default renderer for every item in every section. Can be over-ridden on a per-section basis.
|
|
70
70
|
*/
|
|
@@ -110,8 +110,8 @@ export type SectionListProps<ItemT, SectionT = DefaultSectionT> = {
|
|
|
110
110
|
VirtualizedSectionListProps<ItemT, SectionT>,
|
|
111
111
|
'getItem' | 'getItemCount' | 'renderItem' | 'keyExtractor',
|
|
112
112
|
>,
|
|
113
|
-
...
|
|
114
|
-
...
|
|
113
|
+
...RequiredSectionListProps<ItemT, SectionT>,
|
|
114
|
+
...OptionalSectionListProps<ItemT, SectionT>,
|
|
115
115
|
};
|
|
116
116
|
|
|
117
117
|
/**
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
import VirtualizedLists from '@react-native/virtualized-lists';
|
|
14
14
|
|
|
15
15
|
type VirtualizedListType = typeof VirtualizedLists.VirtualizedList;
|
|
16
|
-
const
|
|
16
|
+
const VirtualizedListComponent: VirtualizedListType =
|
|
17
|
+
VirtualizedLists.VirtualizedList;
|
|
17
18
|
|
|
18
19
|
export type {
|
|
19
20
|
ListRenderItemInfo,
|
|
@@ -21,4 +22,4 @@ export type {
|
|
|
21
22
|
Separators,
|
|
22
23
|
VirtualizedListProps,
|
|
23
24
|
} from '@react-native/virtualized-lists';
|
|
24
|
-
export default
|
|
25
|
+
export default VirtualizedListComponent;
|
|
@@ -413,8 +413,8 @@ export function observe(observer: Observer): Subscription {
|
|
|
413
413
|
};
|
|
414
414
|
}
|
|
415
415
|
|
|
416
|
-
type
|
|
417
|
-
type
|
|
416
|
+
type LogBoxStateSubscriptionProps = $ReadOnly<{}>;
|
|
417
|
+
type LogBoxStateSubscriptionState = $ReadOnly<{
|
|
418
418
|
logs: LogBoxLogs,
|
|
419
419
|
isDisabled: boolean,
|
|
420
420
|
hasError: boolean,
|
|
@@ -432,7 +432,10 @@ type SubscribedComponent = React.ComponentType<
|
|
|
432
432
|
export function withSubscription(
|
|
433
433
|
WrappedComponent: SubscribedComponent,
|
|
434
434
|
): React.ComponentType<{}> {
|
|
435
|
-
class LogBoxStateSubscription extends React.Component<
|
|
435
|
+
class LogBoxStateSubscription extends React.Component<
|
|
436
|
+
LogBoxStateSubscriptionProps,
|
|
437
|
+
LogBoxStateSubscriptionState,
|
|
438
|
+
> {
|
|
436
439
|
static getDerivedStateFromError(): {hasError: boolean} {
|
|
437
440
|
return {hasError: true};
|
|
438
441
|
}
|
|
@@ -446,7 +449,7 @@ export function withSubscription(
|
|
|
446
449
|
|
|
447
450
|
_subscription: ?Subscription;
|
|
448
451
|
|
|
449
|
-
state:
|
|
452
|
+
state: LogBoxStateSubscriptionState = {
|
|
450
453
|
logs: new Set(),
|
|
451
454
|
isDisabled: false,
|
|
452
455
|
hasError: false,
|
|
@@ -509,6 +509,8 @@ export function parseLogBoxLog(args: $ReadOnlyArray<mixed>): {
|
|
|
509
509
|
return {
|
|
510
510
|
...parseInterpolation(argsWithoutComponentStack),
|
|
511
511
|
componentStack,
|
|
512
|
+
/* $FlowFixMe[incompatible-return] Natural Inference rollout. See
|
|
513
|
+
* https://fburl.com/workplace/6291gfvu */
|
|
512
514
|
componentStackType,
|
|
513
515
|
};
|
|
514
516
|
}
|
|
@@ -13,7 +13,6 @@ import type {ExtendedExceptionData} from './Data/parseLogBoxLog';
|
|
|
13
13
|
|
|
14
14
|
import Platform from '../Utilities/Platform';
|
|
15
15
|
import RCTLog from '../Utilities/RCTLog';
|
|
16
|
-
import {hasComponentStack} from './Data/parseLogBoxLog';
|
|
17
16
|
import * as React from 'react';
|
|
18
17
|
|
|
19
18
|
export type {LogData, ExtendedExceptionData, IgnorePattern};
|
|
@@ -28,6 +27,7 @@ interface ILogBox {
|
|
|
28
27
|
ignoreAllLogs(value?: boolean): void;
|
|
29
28
|
clearAllLogs(): void;
|
|
30
29
|
addLog(log: LogData): void;
|
|
30
|
+
addConsoleLog(level: 'warn' | 'error', ...args: Array<mixed>): void;
|
|
31
31
|
addException(error: ExtendedExceptionData): void;
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -36,11 +36,12 @@ interface ILogBox {
|
|
|
36
36
|
*/
|
|
37
37
|
if (__DEV__) {
|
|
38
38
|
const LogBoxData = require('./Data/LogBoxData');
|
|
39
|
-
const {
|
|
39
|
+
const {
|
|
40
|
+
parseLogBoxLog,
|
|
41
|
+
parseComponentStack,
|
|
42
|
+
} = require('./Data/parseLogBoxLog');
|
|
40
43
|
|
|
41
|
-
let originalConsoleError;
|
|
42
44
|
let originalConsoleWarn;
|
|
43
|
-
let consoleErrorImpl;
|
|
44
45
|
let consoleWarnImpl: (...args: Array<mixed>) => void;
|
|
45
46
|
|
|
46
47
|
let isLogBoxInstalled: boolean = false;
|
|
@@ -70,22 +71,20 @@ if (__DEV__) {
|
|
|
70
71
|
// IMPORTANT: we only overwrite `console.error` and `console.warn` once.
|
|
71
72
|
// When we uninstall we keep the same reference and only change its
|
|
72
73
|
// internal implementation
|
|
73
|
-
const isFirstInstall =
|
|
74
|
+
const isFirstInstall = originalConsoleWarn == null;
|
|
74
75
|
if (isFirstInstall) {
|
|
75
|
-
|
|
76
|
+
// We only patch warning for legacy reasons.
|
|
77
|
+
// This will be removed in the future, once warnings
|
|
78
|
+
// are fully moved to fusebox. Error handling is done
|
|
79
|
+
// via the ExceptionManager.
|
|
76
80
|
originalConsoleWarn = console.warn.bind(console);
|
|
77
81
|
|
|
78
|
-
// $FlowExpectedError[cannot-write]
|
|
79
|
-
console.error = (...args) => {
|
|
80
|
-
consoleErrorImpl(...args);
|
|
81
|
-
};
|
|
82
82
|
// $FlowExpectedError[cannot-write]
|
|
83
83
|
console.warn = (...args) => {
|
|
84
84
|
consoleWarnImpl(...args);
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
consoleErrorImpl = registerError;
|
|
89
88
|
consoleWarnImpl = registerWarning;
|
|
90
89
|
|
|
91
90
|
if (Platform.isTesting) {
|
|
@@ -108,7 +107,6 @@ if (__DEV__) {
|
|
|
108
107
|
// decorated again after installing LogBox. E.g.:
|
|
109
108
|
// Before uninstalling: original > LogBox > OtherErrorHandler
|
|
110
109
|
// After uninstalling: original > LogBox (noop) > OtherErrorHandler
|
|
111
|
-
consoleErrorImpl = originalConsoleError;
|
|
112
110
|
consoleWarnImpl = originalConsoleWarn;
|
|
113
111
|
},
|
|
114
112
|
|
|
@@ -142,6 +140,64 @@ if (__DEV__) {
|
|
|
142
140
|
}
|
|
143
141
|
},
|
|
144
142
|
|
|
143
|
+
addConsoleLog(level: 'warn' | 'error', ...args: Array<mixed>) {
|
|
144
|
+
if (isLogBoxInstalled) {
|
|
145
|
+
let filteredLevel: 'warn' | 'error' | 'fatal' = level;
|
|
146
|
+
try {
|
|
147
|
+
let format = args[0];
|
|
148
|
+
if (typeof format === 'string') {
|
|
149
|
+
const filterResult =
|
|
150
|
+
require('../LogBox/Data/LogBoxData').checkWarningFilter(
|
|
151
|
+
// For legacy reasons, we strip the warning prefix from the message.
|
|
152
|
+
// Can remove this once we remove the warning module altogether.
|
|
153
|
+
format.replace(/^Warning: /, ''),
|
|
154
|
+
);
|
|
155
|
+
if (filterResult.monitorEvent !== 'warning_unhandled') {
|
|
156
|
+
if (filterResult.suppressCompletely) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
if (filterResult.suppressDialog_LEGACY === true) {
|
|
161
|
+
filteredLevel = 'warn';
|
|
162
|
+
} else if (filterResult.forceDialogImmediately === true) {
|
|
163
|
+
filteredLevel = 'fatal'; // Do not downgrade. These are real bugs with same severity as throws.
|
|
164
|
+
}
|
|
165
|
+
args[0] = filterResult.finalFormat;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
const result = parseLogBoxLog(args);
|
|
170
|
+
const category = result.category;
|
|
171
|
+
const message = result.message;
|
|
172
|
+
let componentStackType = result.componentStackType;
|
|
173
|
+
let componentStack = result.componentStack;
|
|
174
|
+
if (
|
|
175
|
+
(!componentStack || componentStack.length === 0) &&
|
|
176
|
+
// $FlowExpectedError[prop-missing]
|
|
177
|
+
React.captureOwnerStack
|
|
178
|
+
) {
|
|
179
|
+
const ownerStack = React.captureOwnerStack();
|
|
180
|
+
if (ownerStack != null && ownerStack.length > 0) {
|
|
181
|
+
const parsedComponentStack = parseComponentStack(ownerStack);
|
|
182
|
+
componentStack = parsedComponentStack.stack;
|
|
183
|
+
componentStackType = parsedComponentStack.type;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
if (!LogBoxData.isMessageIgnored(message.content)) {
|
|
187
|
+
LogBoxData.addLog({
|
|
188
|
+
level: filteredLevel,
|
|
189
|
+
category,
|
|
190
|
+
message,
|
|
191
|
+
componentStack,
|
|
192
|
+
componentStackType,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
} catch (err) {
|
|
196
|
+
LogBoxData.reportLogBoxError(err);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
|
|
145
201
|
addException,
|
|
146
202
|
};
|
|
147
203
|
|
|
@@ -157,14 +213,9 @@ if (__DEV__) {
|
|
|
157
213
|
return typeof args[0] === 'string' && args[0].startsWith('(ADVICE)');
|
|
158
214
|
};
|
|
159
215
|
|
|
160
|
-
const isWarningModuleWarning = (...args: Array<mixed>) => {
|
|
161
|
-
return typeof args[0] === 'string' && args[0].startsWith('Warning: ');
|
|
162
|
-
};
|
|
163
|
-
|
|
164
216
|
const registerWarning = (...args: Array<mixed>): void => {
|
|
165
217
|
// Let warnings within LogBox itself fall through.
|
|
166
218
|
if (LogBoxData.isLogBoxErrorMessage(String(args[0]))) {
|
|
167
|
-
originalConsoleError(...args);
|
|
168
219
|
return;
|
|
169
220
|
} else {
|
|
170
221
|
// Be sure to pass LogBox warnings through.
|
|
@@ -190,88 +241,6 @@ if (__DEV__) {
|
|
|
190
241
|
LogBoxData.reportLogBoxError(err);
|
|
191
242
|
}
|
|
192
243
|
};
|
|
193
|
-
|
|
194
|
-
/* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's
|
|
195
|
-
* LTI update could not be added via codemod */
|
|
196
|
-
const registerError = (...args): void => {
|
|
197
|
-
// Let errors within LogBox itself fall through.
|
|
198
|
-
if (LogBoxData.isLogBoxErrorMessage(args[0])) {
|
|
199
|
-
originalConsoleError(...args);
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
try {
|
|
204
|
-
let stack;
|
|
205
|
-
// $FlowFixMe[prop-missing] Not added to flow types yet.
|
|
206
|
-
if (!hasComponentStack(args) && React.captureOwnerStack != null) {
|
|
207
|
-
stack = React.captureOwnerStack();
|
|
208
|
-
if (!hasComponentStack(args)) {
|
|
209
|
-
if (stack != null && stack !== '') {
|
|
210
|
-
args[0] = args[0] += '%s';
|
|
211
|
-
args.push(stack);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
if (!isWarningModuleWarning(...args) && !hasComponentStack(args)) {
|
|
216
|
-
// Only show LogBox for the 'warning' module, or React errors with
|
|
217
|
-
// component stacks, otherwise pass the error through.
|
|
218
|
-
//
|
|
219
|
-
// By passing through, this will get picked up by the React console override,
|
|
220
|
-
// potentially adding the component stack. React then passes it back to the
|
|
221
|
-
// React Native ExceptionsManager, which reports it to LogBox as an error.
|
|
222
|
-
//
|
|
223
|
-
// Ideally, we refactor all RN error handling so that LogBox patching
|
|
224
|
-
// errors is not necessary, and they are reported the same as a framework.
|
|
225
|
-
// The blocker to this is that the ExceptionManager console.error override
|
|
226
|
-
// strigifys all of the args before passing it through to LogBox, which
|
|
227
|
-
// would lose all of the interpolation information.
|
|
228
|
-
//
|
|
229
|
-
// The 'warning' module needs to be handled here because React internally calls
|
|
230
|
-
// `console.error('Warning: ')` with the component stack already included.
|
|
231
|
-
originalConsoleError(...args);
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
const format = args[0].replace('Warning: ', '');
|
|
236
|
-
const filterResult = LogBoxData.checkWarningFilter(format);
|
|
237
|
-
let level = 'error';
|
|
238
|
-
if (filterResult.monitorEvent !== 'warning_unhandled') {
|
|
239
|
-
if (filterResult.suppressCompletely) {
|
|
240
|
-
return;
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
if (filterResult.suppressDialog_LEGACY === true) {
|
|
244
|
-
level = 'warn';
|
|
245
|
-
} else if (filterResult.forceDialogImmediately === true) {
|
|
246
|
-
level = 'fatal'; // Do not downgrade. These are real bugs with same severity as throws.
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
// Unfortunately, we need to add the Warning: prefix back for downstream dependencies.
|
|
251
|
-
// Downstream, we check for this prefix to know that LogBox already handled it, so
|
|
252
|
-
// it doesn't get reported back to LogBox. It's an absolute mess.
|
|
253
|
-
args[0] = `Warning: ${filterResult.finalFormat}`;
|
|
254
|
-
const {category, message, componentStack, componentStackType} =
|
|
255
|
-
parseLogBoxLog(args);
|
|
256
|
-
|
|
257
|
-
// Interpolate the message so they are formatted for adb and other CLIs.
|
|
258
|
-
// This is different than the message.content above because it includes component stacks.
|
|
259
|
-
const interpolated = parseInterpolation(args);
|
|
260
|
-
originalConsoleError(interpolated.message.content);
|
|
261
|
-
|
|
262
|
-
if (!LogBoxData.isMessageIgnored(message.content)) {
|
|
263
|
-
LogBoxData.addLog({
|
|
264
|
-
level,
|
|
265
|
-
category,
|
|
266
|
-
message,
|
|
267
|
-
componentStack,
|
|
268
|
-
componentStackType,
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
} catch (err) {
|
|
272
|
-
LogBoxData.reportLogBoxError(err);
|
|
273
|
-
}
|
|
274
|
-
};
|
|
275
244
|
} else {
|
|
276
245
|
LogBox = {
|
|
277
246
|
install(): void {
|
|
@@ -302,6 +271,10 @@ if (__DEV__) {
|
|
|
302
271
|
// Do nothing.
|
|
303
272
|
},
|
|
304
273
|
|
|
274
|
+
addConsoleLog(level: 'warn' | 'error', ...args: Array<mixed>): void {
|
|
275
|
+
// Do nothing.
|
|
276
|
+
},
|
|
277
|
+
|
|
305
278
|
addException(error: ExtendedExceptionData): void {
|
|
306
279
|
// Do nothing.
|
|
307
280
|
},
|
|
@@ -35,9 +35,9 @@ export interface ModalBaseProps {
|
|
|
35
35
|
*/
|
|
36
36
|
visible?: boolean | undefined;
|
|
37
37
|
/**
|
|
38
|
-
* The `onRequestClose` callback is called when the user taps the hardware back button on Android or the menu button on Apple TV.
|
|
38
|
+
* The `onRequestClose` callback is called when the user taps the hardware back button on Android, dismisses the sheet using a gesture on iOS (when `allowSwipeDismissal` is set to true) or the menu button on Apple TV.
|
|
39
39
|
*
|
|
40
|
-
* This is required on
|
|
40
|
+
* This is required on iOS and Android.
|
|
41
41
|
*/
|
|
42
42
|
onRequestClose?: ((event: NativeSyntheticEvent<any>) => void) | undefined;
|
|
43
43
|
/**
|
|
@@ -89,6 +89,12 @@ export interface ModalPropsIOS {
|
|
|
89
89
|
onOrientationChange?:
|
|
90
90
|
| ((event: NativeSyntheticEvent<any>) => void)
|
|
91
91
|
| undefined;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Controls whether the modal can be dismissed by swiping down on iOS.
|
|
95
|
+
* This requires you to implement the `onRequestClose` prop to handle the dismissal.
|
|
96
|
+
*/
|
|
97
|
+
allowSwipeDismissal?: boolean | undefined;
|
|
92
98
|
}
|
|
93
99
|
|
|
94
100
|
export interface ModalPropsAndroid {
|
package/Libraries/Modal/Modal.js
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
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
|
-
* @format
|
|
8
7
|
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {HostInstance} from '../../src/private/types/HostInstance';
|
|
@@ -86,9 +86,9 @@ export type ModalBaseProps = {
|
|
|
86
86
|
*/
|
|
87
87
|
visible?: ?boolean,
|
|
88
88
|
/**
|
|
89
|
-
* The `onRequestClose` callback is called when the user taps the hardware back button on Android or the menu button on Apple TV.
|
|
89
|
+
* The `onRequestClose` callback is called when the user taps the hardware back button on Android, dismisses the sheet using a gesture on iOS (when `allowSwipeDismissal` is set to true) or the menu button on Apple TV.
|
|
90
90
|
*
|
|
91
|
-
* This is required on
|
|
91
|
+
* This is required on iOS and Android.
|
|
92
92
|
*/
|
|
93
93
|
// onRequestClose?: (event: NativeSyntheticEvent<any>) => void;
|
|
94
94
|
onRequestClose?: ?DirectEventHandler<null>,
|
|
@@ -147,6 +147,12 @@ export type ModalPropsIOS = {
|
|
|
147
147
|
// | ((event: NativeSyntheticEvent<any>) => void)
|
|
148
148
|
// | undefined;
|
|
149
149
|
onOrientationChange?: ?DirectEventHandler<OrientationChangeEvent>,
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Controls whether the modal can be dismissed by swiping down on iOS.
|
|
153
|
+
* This requires you to implement the `onRequestClose` prop to handle the dismissal.
|
|
154
|
+
*/
|
|
155
|
+
allowSwipeDismissal?: ?boolean,
|
|
150
156
|
};
|
|
151
157
|
|
|
152
158
|
export type ModalPropsAndroid = {
|
|
@@ -192,6 +198,16 @@ function confirmProps(props: ModalProps) {
|
|
|
192
198
|
'Modal with translucent navigation bar and without translucent status bar is not supported.',
|
|
193
199
|
);
|
|
194
200
|
}
|
|
201
|
+
|
|
202
|
+
if (
|
|
203
|
+
Platform.OS === 'ios' &&
|
|
204
|
+
props.allowSwipeDismissal === true &&
|
|
205
|
+
!props.onRequestClose
|
|
206
|
+
) {
|
|
207
|
+
console.warn(
|
|
208
|
+
'Modal requires the onRequestClose prop when used with `allowSwipeDismissal`. This is necessary to prevent state corruption.',
|
|
209
|
+
);
|
|
210
|
+
}
|
|
195
211
|
}
|
|
196
212
|
}
|
|
197
213
|
|
|
@@ -308,6 +324,8 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
308
324
|
|
|
309
325
|
return (
|
|
310
326
|
<RCTModalHostView
|
|
327
|
+
/* $FlowFixMe[incompatible-type] Natural Inference rollout. See
|
|
328
|
+
* https://fburl.com/workplace/6291gfvu */
|
|
311
329
|
animationType={animationType}
|
|
312
330
|
presentationStyle={presentationStyle}
|
|
313
331
|
transparent={this.props.transparent}
|
|
@@ -325,6 +343,7 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
325
343
|
onStartShouldSetResponder={this._shouldSetResponder}
|
|
326
344
|
supportedOrientations={this.props.supportedOrientations}
|
|
327
345
|
onOrientationChange={this.props.onOrientationChange}
|
|
346
|
+
allowSwipeDismissal={this.props.allowSwipeDismissal}
|
|
328
347
|
testID={this.props.testID}>
|
|
329
348
|
<VirtualizedListContextResetter>
|
|
330
349
|
<ScrollView.Context.Provider value={null}>
|
|
@@ -351,6 +370,8 @@ const styles = StyleSheet.create({
|
|
|
351
370
|
modal: {
|
|
352
371
|
position: 'absolute',
|
|
353
372
|
},
|
|
373
|
+
/* $FlowFixMe[incompatible-call] Natural Inference rollout. See
|
|
374
|
+
* https://fburl.com/workplace/6291gfvu */
|
|
354
375
|
container: {
|
|
355
376
|
/* $FlowFixMe[invalid-computed-prop] (>=0.111.0 site=react_native_fb) This
|
|
356
377
|
* comment suppresses an error found when Flow v0.111 was deployed. To see
|
|
@@ -4,10 +4,11 @@
|
|
|
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
|
-
* @format
|
|
8
7
|
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
export * from '../../src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent';
|
|
12
12
|
import RCTModalHostViewNativeComponent from '../../src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent';
|
|
13
|
+
|
|
13
14
|
export default RCTModalHostViewNativeComponent;
|
|
@@ -4,14 +4,13 @@
|
|
|
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
|
-
* @format
|
|
8
7
|
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type {PartialViewConfigWithoutName} from './PlatformBaseViewConfig';
|
|
12
12
|
|
|
13
13
|
import * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';
|
|
14
|
-
import NativeReactNativeFeatureFlags from '../../src/private/featureflags/specs/NativeReactNativeFeatureFlags';
|
|
15
14
|
import ReactNativeStyleAttributes from '../Components/View/ReactNativeStyleAttributes';
|
|
16
15
|
import {DynamicallyInjectedByGestureHandler} from './ViewConfigIgnore';
|
|
17
16
|
|
|
@@ -111,6 +110,18 @@ const bubblingEventTypes = {
|
|
|
111
110
|
bubbled: 'onClick',
|
|
112
111
|
},
|
|
113
112
|
},
|
|
113
|
+
topBlur: {
|
|
114
|
+
phasedRegistrationNames: {
|
|
115
|
+
captured: 'onBlurCapture',
|
|
116
|
+
bubbled: 'onBlur',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
topFocus: {
|
|
120
|
+
phasedRegistrationNames: {
|
|
121
|
+
captured: 'onFocusCapture',
|
|
122
|
+
bubbled: 'onFocus',
|
|
123
|
+
},
|
|
124
|
+
},
|
|
114
125
|
};
|
|
115
126
|
|
|
116
127
|
const directEventTypes = {
|
|
@@ -171,20 +182,12 @@ const validAttributesForNonEventProps = {
|
|
|
171
182
|
experimental_backgroundImage: {
|
|
172
183
|
process: require('../StyleSheet/processBackgroundImage').default,
|
|
173
184
|
},
|
|
174
|
-
boxShadow:
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
},
|
|
181
|
-
filter:
|
|
182
|
-
NativeReactNativeFeatureFlags != null &&
|
|
183
|
-
ReactNativeFeatureFlags.enableNativeCSSParsing()
|
|
184
|
-
? true
|
|
185
|
-
: {
|
|
186
|
-
process: require('../StyleSheet/processFilter').default,
|
|
187
|
-
},
|
|
185
|
+
boxShadow: ReactNativeFeatureFlags.enableNativeCSSParsing()
|
|
186
|
+
? (true as const)
|
|
187
|
+
: {process: require('../StyleSheet/processBoxShadow').default},
|
|
188
|
+
filter: ReactNativeFeatureFlags.enableNativeCSSParsing()
|
|
189
|
+
? (true as const)
|
|
190
|
+
: {process: require('../StyleSheet/processFilter').default},
|
|
188
191
|
mixBlendMode: true,
|
|
189
192
|
isolation: true,
|
|
190
193
|
opacity: true,
|
|
@@ -369,7 +372,7 @@ const validAttributesForNonEventProps = {
|
|
|
369
372
|
},
|
|
370
373
|
focusable: true,
|
|
371
374
|
backfaceVisibility: true,
|
|
372
|
-
};
|
|
375
|
+
} as const;
|
|
373
376
|
|
|
374
377
|
// Props for bubbling and direct events
|
|
375
378
|
const validAttributesForEventProps = {
|
|
@@ -409,7 +412,7 @@ const validAttributesForEventProps = {
|
|
|
409
412
|
onPointerOutCapture: true,
|
|
410
413
|
onPointerOver: true,
|
|
411
414
|
onPointerOverCapture: true,
|
|
412
|
-
};
|
|
415
|
+
} as const;
|
|
413
416
|
|
|
414
417
|
/**
|
|
415
418
|
* On Android, Props are derived from a ViewManager and its ShadowNode.
|