react-native-windows 0.80.1 → 0.81.0-preview.4
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 +10 -5
- package/Directory.Build.props +1 -1
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +1 -0
- package/Libraries/Alert/Alert.js +3 -3
- package/Libraries/Alert/Alert.windows.js +5 -2
- 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/Animated.js +0 -1
- package/Libraries/Animated/Animated.js.flow +0 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -3
- package/Libraries/Animated/AnimatedExports.js +0 -1
- package/Libraries/Animated/AnimatedExports.js.flow +5 -1
- 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 +10 -2
- package/Libraries/Animated/components/AnimatedScrollView.js +58 -56
- package/Libraries/Animated/components/AnimatedText.js +2 -5
- package/Libraries/Animated/components/AnimatedView.js +2 -1
- package/Libraries/Animated/createAnimatedComponent.js +39 -37
- package/Libraries/Animated/nodes/AnimatedObject.js +2 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +31 -4
- package/Libraries/Animated/nodes/AnimatedStyle.js +35 -34
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +6 -1
- package/Libraries/AppState/NativeAppState.js +1 -0
- package/Libraries/AppTheme/AppTheme.js +1 -1
- 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/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.windows.js +1 -1
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +19 -19
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +2 -3
- package/Libraries/Components/Button.js +10 -7
- package/Libraries/Components/Button.windows.js +4 -4
- 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 +3 -4
- 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/Flyout/FlyoutNativeComponent.js +1 -1
- package/Libraries/Components/Glyph/GlyphNativeComponent.js +1 -1
- package/Libraries/Components/Keyboard/Keyboard.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +3 -2
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +1 -2
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +0 -1
- package/Libraries/Components/Popup/PopupNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.js +17 -8
- package/Libraries/Components/Pressable/Pressable.windows.js +17 -14
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.android.js +14 -13
- 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/RefreshControl/RefreshControl.windows.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/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +2 -3
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +33 -6
- package/Libraries/Components/ScrollView/ScrollView.js +25 -15
- package/Libraries/Components/ScrollView/ScrollView.windows.js +25 -14
- package/Libraries/Components/ScrollView/ScrollViewCommands.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewContext.js +2 -1
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -1
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +19 -6
- 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 +10 -3
- package/Libraries/Components/Switch/Switch.windows.js +10 -3
- package/Libraries/Components/Switch/SwitchNativeComponent.js +2 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +9 -24
- 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 +13 -15
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +12 -15
- package/Libraries/Components/TextInput/TextInput.js +42 -39
- package/Libraries/Components/TextInput/TextInput.windows.js +69 -38
- package/Libraries/Components/TextInput/TextInputState.js +1 -1
- package/Libraries/Components/TextInput/TextInputState.windows.js +1 -1
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -17
- 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/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.windows.js +17 -3
- package/Libraries/Components/Touchable/TouchableBounce.js +9 -3
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +9 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +14 -5
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +14 -5
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +5 -3
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +5 -3
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +1 -0
- package/Libraries/Components/Touchable/TouchableOpacity.js +10 -5
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +10 -5
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +3 -3
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +3 -3
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +2 -3
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +7 -16
- package/Libraries/Components/View/View.js +114 -29
- package/Libraries/Components/View/View.windows.js +261 -217
- package/Libraries/Components/View/ViewAccessibility.js +1 -8
- package/Libraries/Components/View/ViewAccessibility.windows.js +1 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +21 -1
- package/Libraries/Components/View/ViewPropTypes.js +9 -1
- package/Libraries/Components/View/ViewPropTypes.windows.js +9 -1
- package/Libraries/Core/Devtools/getDevServer.js +1 -1
- package/Libraries/Core/Devtools/loadBundleFromServer.js +49 -7
- package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +49 -7
- 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 +27 -16
- package/Libraries/Core/InitializeCore.js +2 -23
- package/Libraries/Core/NativeExceptionsManager.js +1 -0
- package/Libraries/Core/ReactFiberErrorDialog.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -2
- 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 +12 -14
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +2 -1
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +0 -1
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +0 -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/AssetRegistry.js +4 -10
- package/Libraries/Image/Image.android.js +113 -107
- package/Libraries/Image/Image.ios.js +10 -2
- package/Libraries/Image/Image.windows.js +30 -20
- package/Libraries/Image/ImageAnalyticsTagContext.js +2 -2
- 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/NativeImageStoreAndroid.js +1 -0
- package/Libraries/Image/NativeImageStoreIOS.js +1 -0
- package/Libraries/Image/RelativeImageStub.js +2 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +4 -4
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Image/resolveAssetSource.windows.js +1 -1
- package/Libraries/Interaction/FrameRateLogger.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +64 -54
- package/Libraries/Interaction/NativeFrameRateLogger.js +1 -0
- package/Libraries/Interaction/TaskQueue.js +8 -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.d.ts +9 -5
- package/Libraries/Lists/FlatList.js +6 -7
- package/Libraries/Lists/SectionList.js +4 -4
- package/Libraries/Lists/SectionListModern.js +9 -3
- 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/LogBox/UI/LogBoxButton.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +2 -1
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +2 -1
- package/Libraries/Modal/Modal.d.ts +8 -2
- package/Libraries/Modal/Modal.js +24 -3
- package/Libraries/Modal/Modal.windows.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.windows.js +9 -18
- 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/NativeDialogManagerWindows.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.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +3 -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.windows.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-dev.js +4 -4
- package/Libraries/ReactNative/AppContainer-prod.js +0 -1
- 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/RootTag.js +2 -2
- package/Libraries/ReactNative/renderApplication.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInitializeCore.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +2 -1
- 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 +23 -36
- package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +261 -0
- 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/StyleSheetTypes.js +0 -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/processBoxShadow.js +0 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/StyleSheet/processColorArray.js +1 -1
- package/Libraries/StyleSheet/processFilter.js +1 -2
- 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.d.ts +1 -2
- package/Libraries/Text/Text.js +255 -246
- package/Libraries/Text/Text.windows.js +282 -301
- package/Libraries/Text/TextAncestor.js +3 -9
- package/Libraries/Text/TextAncestorContext.js +23 -0
- package/Libraries/Text/TextNativeComponent.js +4 -0
- package/Libraries/Text/TextProps.js +2 -5
- package/Libraries/Text/TextProps.windows.js +2 -6
- 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/Types/ReactDevToolsTypes.js +0 -1
- 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/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/PerformanceLoggerContext.js +2 -2
- 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.windows.js +2 -5
- package/Libraries/Utilities/PlatformTypes.js +2 -2
- 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 +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/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/Microsoft.ReactNative/CompositionSwitcher.idl +163 -162
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +3 -3
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +3 -3
- package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +2 -1
- package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +2 -2
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +3 -3
- package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +2 -1
- package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +104 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +18 -7
- package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.cpp +169 -0
- package/Microsoft.ReactNative/Fabric/Composition/DebuggerUIIsland.h +42 -0
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +41 -33
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +68 -1
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +19 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +3 -3
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +108 -24
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +21 -17
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +4 -4
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +19 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +76 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +12 -1
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +6 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +62 -39
- package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.cpp +75 -24
- package/Microsoft.ReactNative/Fabric/platform/react/threading/TaskDispatchThread.h +4 -25
- package/Microsoft.ReactNative/JsiApi.cpp +1 -1
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +3 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.h +0 -2
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -1
- package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -3
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +27 -11
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +19 -2
- package/Microsoft.ReactNative/QuirkSettings.cpp +16 -0
- package/Microsoft.ReactNative/QuirkSettings.h +3 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +5 -0
- package/Microsoft.ReactNative/ReactHost/DebuggerNotifications.h +54 -0
- package/Microsoft.ReactNative/ReactHost/React.h +11 -4
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +199 -29
- package/Microsoft.ReactNative/ReactHost/ReactHost.h +22 -4
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +68 -52
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +108 -0
- package/Microsoft.ReactNative/ReactRootView.h +6 -0
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +1 -0
- package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -1
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +36 -8
- package/Microsoft.ReactNative/Views/ShadowNodeRegistry.cpp +6 -2
- package/Microsoft.ReactNative/Views/ViewManager.h +0 -1
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +9 -1
- package/Microsoft.ReactNative.Cxx/JSI/decorator.h +41 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi-inl.h +16 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.cpp +125 -0
- package/Microsoft.ReactNative.Cxx/JSI/jsi.h +167 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +2 -2
- package/Microsoft.ReactNative.Cxx/NodeApiJsiRuntime.cpp +110 -38
- package/Microsoft.ReactNative.Cxx/ReactCommon/CallInvoker.h +5 -5
- package/Microsoft.ReactNative.Cxx/ReactCommon/SchedulerPriority.h +0 -2
- package/Microsoft.ReactNative.Cxx/ReactCommon/TurboModuleUtils.h +0 -19
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Base.h +45 -34
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bool.h +1 -1
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Bridging.h +1 -0
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Class.h +36 -33
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Number.h +10 -10
- package/Microsoft.ReactNative.Cxx/ReactCommon/react/bridging/Promise.h +14 -8
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api.h +44 -31
- package/Microsoft.ReactNative.Cxx/node-api/js_native_api_types.h +13 -14
- package/Microsoft.ReactNative.Cxx/node-api/js_runtime_api.h +19 -4
- package/Microsoft.ReactNative.Cxx/node-api/node_api.h +270 -0
- package/Microsoft.ReactNative.Cxx/node-api/node_api_types.h +52 -0
- package/Mso/src/dispatchQueue/threadPoolScheduler_win.cpp +13 -4
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +10 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/React.Cpp.props +6 -4
- package/README.md +1 -1
- package/ReactCommon/ReactCommon.vcxproj +29 -21
- package/ReactCommon/ReactCommon.vcxproj.filters +36 -13
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +5 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +6 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +111 -7
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +57 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +17 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/network/HttpUtils.cpp +175 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +1 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.cpp +69 -56
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/dom/NativeDOM.h +35 -18
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +445 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +92 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +35 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityProps.cpp +37 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +250 -80
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ShadowNode.cpp +528 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +1 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +9 -12
- package/ReactCommon/cgmanifest.json +1 -1
- package/Scripts/Analyze-Crash.ps1 +87 -3
- package/Scripts/OfficeReact.Win32.nuspec +0 -1
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -0
- package/Scripts/Tfs/Start-TestServers.ps1 +2 -1
- package/Scripts/creaternwapp.cmd +10 -6
- package/Scripts/rnw-dependencies.ps1 +33 -4
- package/Shared/CreateModules.h +0 -35
- package/Shared/DevServerHelper.h +13 -3
- package/Shared/DevSettings.h +6 -5
- package/Shared/DevSupportManager.cpp +79 -20
- package/Shared/DevSupportManager.h +7 -19
- package/Shared/Hermes/HermesRuntimeAgentDelegate.cpp +99 -0
- package/Shared/Hermes/HermesRuntimeAgentDelegate.h +81 -0
- package/Shared/Hermes/HermesRuntimeTargetDelegate.cpp +274 -0
- package/Shared/Hermes/HermesRuntimeTargetDelegate.h +77 -0
- package/Shared/HermesRuntimeHolder.cpp +29 -111
- package/Shared/HermesRuntimeHolder.h +214 -32
- package/Shared/IDevSupportManager.h +5 -2
- package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.cpp +108 -0
- package/Shared/Inspector/ReactInspectorPackagerConnectionDelegate.h +19 -0
- package/Shared/Inspector/ReactInspectorThread.h +18 -0
- package/Shared/JSI/RuntimeHolder.h +5 -2
- package/Shared/Modules/BlobModule.cpp +0 -90
- package/Shared/Modules/BlobModule.h +0 -40
- package/Shared/Modules/FileReaderModule.cpp +0 -104
- package/Shared/Modules/FileReaderModule.h +0 -38
- package/Shared/Modules/HttpModule.cpp +0 -172
- package/Shared/Modules/HttpModule.h +0 -47
- package/Shared/Modules/WebSocketModule.cpp +0 -287
- package/Shared/Modules/WebSocketModule.h +1 -94
- package/Shared/OInstance.cpp +45 -139
- package/Shared/OInstance.h +0 -1
- package/Shared/Shared.vcxitems +33 -32
- package/Shared/Shared.vcxitems.filters +38 -51
- package/Shared/TurboModuleManager.cpp +0 -1
- package/codegen/NativeDOMSpec.g.h +6 -0
- package/codegen/NativeDeviceInfoSpec.g.h +2 -0
- package/codegen/NativeIntersectionObserverSpec.g.h +19 -5
- package/codegen/NativeMutationObserverSpec.g.h +4 -4
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +159 -93
- package/codegen/react/components/rnwcore/EventEmitters.cpp +25 -0
- package/codegen/react/components/rnwcore/EventEmitters.h +25 -0
- package/codegen/react/components/rnwcore/ModalHostView.g.h +4 -0
- package/codegen/react/components/rnwcore/Props.cpp +535 -24
- package/codegen/react/components/rnwcore/Props.h +138 -0
- package/codegen/react/components/rnwcore/States.h +9 -78
- package/codegen/react/components/rnwcore/VirtualView.g.h +226 -0
- package/codegen/rnwcoreJSI-generated.cpp +101 -31
- package/codegen/rnwcoreJSI.h +169 -88
- package/include/Shared/II18nModule.h +0 -1
- package/index.js +22 -2
- package/index.windows.js +131 -221
- 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 +26 -15
- package/jest/mocks/AccessibilityInfo.js +62 -0
- package/jest/mocks/ActivityIndicator.js +23 -0
- package/jest/mocks/AppState.js +19 -0
- package/jest/mocks/Clipboard.js +16 -0
- 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 -2
- package/jest/resolver.js +1 -0
- package/jest/setup.js +64 -449
- package/package.json +24 -24
- package/src/private/animated/NativeAnimatedHelper.js +8 -1
- package/src/private/animated/createAnimatedPropsHook.js +14 -4
- package/src/private/animated/createAnimatedPropsMemoHook.js +2 -3
- package/src/private/components/safeareaview/SafeAreaView_INTERNAL_DO_NOT_USE.js +0 -1
- package/src/private/components/scrollview/HScrollViewNativeComponents.js +0 -1
- package/src/private/components/scrollview/VScrollViewNativeComponents.js +0 -1
- 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/devsupport/rndevtools/FuseboxSessionObserver.js +0 -1
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.android.js +8 -9
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.ios.js +12 -15
- package/src/private/devsupport/rndevtools/ReactDevToolsSettingsManager.windows.js +8 -9
- package/src/private/devsupport/rndevtools/setUpFuseboxReactDevToolsDispatcher.js +0 -1
- package/src/private/devsupport/rndevtools/specs/NativeReactDevToolsRuntimeSettingsModule.js +0 -1
- package/src/private/featureflags/ReactNativeFeatureFlags.js +88 -8
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -0
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +15 -3
- package/src/private/renderer/errorhandling/ErrorHandlers.js +1 -1
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +44 -0
- 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/events/Event.js +3 -0
- package/src/private/webapis/dom/events/EventTarget.js +3 -0
- package/src/private/webapis/dom/nodes/ReactNativeDocument.js +1 -1
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +7 -24
- 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 +4 -2
- 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/nodes/specs/NativeDOM.js +38 -0
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -1
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +4 -1
- package/src/private/webapis/errors/DOMException.js +166 -0
- package/src/private/webapis/geometry/DOMRect.js +5 -0
- package/src/private/webapis/geometry/DOMRectList.js +4 -1
- package/src/private/webapis/geometry/DOMRectReadOnly.js +6 -0
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +4 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +15 -7
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +3 -0
- package/src/private/webapis/intersectionobserver/internals/IntersectionObserverManager.js +83 -18
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +12 -0
- package/src/private/webapis/mutationobserver/MutationObserver.js +13 -38
- package/src/private/webapis/mutationobserver/MutationRecord.js +3 -0
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +7 -29
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +1 -4
- package/src/private/webapis/performance/EventTiming.js +1 -1
- package/src/private/webapis/performance/LongTasks.js +1 -1
- package/src/private/webapis/performance/MemoryInfo.js +4 -1
- package/src/private/webapis/performance/Performance.js +20 -9
- package/src/private/webapis/performance/PerformanceEntry.js +5 -1
- package/src/private/webapis/performance/PerformanceObserver.js +32 -28
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +4 -1
- package/src/private/webapis/performance/ResourceTiming.js +108 -0
- package/src/private/webapis/performance/UserTiming.js +1 -1
- package/src/private/webapis/performance/internals/RawPerformanceEntry.js +50 -33
- package/src/private/webapis/performance/internals/Utilities.js +1 -1
- package/src/private/webapis/performance/specs/NativePerformance.js +1 -1
- package/src/private/webapis/structuredClone/structuredClone.js +233 -0
- package/src/private/webapis/utils/ArrayLikeUtils.js +1 -1
- package/src/private/webapis/webidl/PlatformObjects.js +59 -0
- package/template/metro.config.js +2 -4
- package/templates/cpp-app/metro.config.js +2 -4
- package/templates/cpp-lib/example/metro.config.js +2 -3
- package/templates/cpp-lib/template.config.js +24 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.h +20 -1
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +0 -1
- 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/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +0 -78
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +0 -196
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jserrorhandler/JsErrorHandler.cpp +0 -429
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.cpp +0 -45
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsitooling/react/runtime/JSRuntimeFactory.h +0 -91
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/CullingContext.cpp +0 -49
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/internal/sliceChildShadowNodeViewPairs.cpp +0 -191
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +0 -670
- package/Shared/InspectorPackagerConnection.cpp +0 -232
- package/Shared/InspectorPackagerConnection.h +0 -61
- package/Shared/Modules/ExceptionsManagerModule.cpp +0 -209
- package/Shared/Modules/ExceptionsManagerModule.h +0 -32
- package/Shared/Modules/I18nModule.cpp +0 -36
- package/Shared/Modules/I18nModule.h +0 -28
- package/Shared/Modules/NetworkingModule.cpp +0 -432
- package/Shared/Modules/NetworkingModule.h +0 -34
- package/Shared/Modules/PlatformConstantsModule.cpp +0 -60
- package/Shared/Modules/PlatformConstantsModule.h +0 -23
- package/Shared/Modules/SourceCodeModule.cpp +0 -35
- package/Shared/Modules/SourceCodeModule.h +0 -27
- package/Shared/Modules/StatusBarManagerModule.cpp +0 -25
- package/Shared/Modules/StatusBarManagerModule.h +0 -19
- package/codegen/NativeBugReportingSpec.g.h +0 -41
- package/jest/mockModal.js +0 -32
- package/jest/mockScrollView.js +0 -35
- package/src/private/specs_DEPRECATED/modules/NativeBugReporting.js +0 -20
- /package/Shared/{HermesSamplingProfiler.cpp → Hermes/HermesSamplingProfiler.cpp} +0 -0
- /package/Shared/{HermesSamplingProfiler.h → Hermes/HermesSamplingProfiler.h} +0 -0
|
@@ -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
|
},
|
|
@@ -17,6 +17,7 @@ import View from '../../Components/View/View';
|
|
|
17
17
|
import StyleSheet from '../../StyleSheet/StyleSheet';
|
|
18
18
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
19
19
|
import * as React from 'react';
|
|
20
|
+
import {useState} from 'react';
|
|
20
21
|
|
|
21
22
|
type Props = $ReadOnly<{
|
|
22
23
|
id?: string,
|
|
@@ -31,7 +32,7 @@ type Props = $ReadOnly<{
|
|
|
31
32
|
}>;
|
|
32
33
|
|
|
33
34
|
function LogBoxButton(props: Props): React.Node {
|
|
34
|
-
const [pressed, setPressed] =
|
|
35
|
+
const [pressed, setPressed] = useState(false);
|
|
35
36
|
|
|
36
37
|
let backgroundColor = props.backgroundColor;
|
|
37
38
|
if (!backgroundColor) {
|
|
@@ -19,6 +19,7 @@ import LogBoxButton from './LogBoxButton';
|
|
|
19
19
|
import LogBoxInspectorSection from './LogBoxInspectorSection';
|
|
20
20
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
21
21
|
import * as React from 'react';
|
|
22
|
+
import {useState} from 'react';
|
|
22
23
|
|
|
23
24
|
type Props = $ReadOnly<{
|
|
24
25
|
log: LogBoxLog,
|
|
@@ -49,7 +50,7 @@ function getPrettyFileName(path: string) {
|
|
|
49
50
|
return fileName;
|
|
50
51
|
}
|
|
51
52
|
function LogBoxInspectorReactFrames(props: Props): React.Node {
|
|
52
|
-
const [collapsed, setCollapsed] =
|
|
53
|
+
const [collapsed, setCollapsed] = useState(true);
|
|
53
54
|
if (
|
|
54
55
|
props.log.getAvailableComponentStack() == null ||
|
|
55
56
|
props.log.getAvailableComponentStack().length < 1
|
|
@@ -19,6 +19,7 @@ import LogBoxButton from './LogBoxButton';
|
|
|
19
19
|
import LogBoxInspectorSection from './LogBoxInspectorSection';
|
|
20
20
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
21
21
|
import * as React from 'react';
|
|
22
|
+
import {useState} from 'react';
|
|
22
23
|
|
|
23
24
|
type Props = $ReadOnly<{
|
|
24
25
|
log: LogBoxLog,
|
|
@@ -49,7 +50,7 @@ function getPrettyFileName(path: string) {
|
|
|
49
50
|
return fileName;
|
|
50
51
|
}
|
|
51
52
|
function LogBoxInspectorReactFrames(props: Props): React.Node {
|
|
52
|
-
const [collapsed, setCollapsed] =
|
|
53
|
+
const [collapsed, setCollapsed] = useState(true);
|
|
53
54
|
if (
|
|
54
55
|
props.log.getAvailableComponentStack() == null ||
|
|
55
56
|
props.log.getAvailableComponentStack().length < 1
|
|
@@ -17,6 +17,7 @@ import Text from '../../Text/Text';
|
|
|
17
17
|
import LogBoxButton from './LogBoxButton';
|
|
18
18
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
19
19
|
import * as React from 'react';
|
|
20
|
+
import {useEffect, useState} from 'react';
|
|
20
21
|
|
|
21
22
|
type Props = $ReadOnly<{
|
|
22
23
|
onPress?: ?(event: GestureResponderEvent) => void,
|
|
@@ -24,12 +25,12 @@ type Props = $ReadOnly<{
|
|
|
24
25
|
}>;
|
|
25
26
|
|
|
26
27
|
function LogBoxInspectorSourceMapStatus(props: Props): React.Node {
|
|
27
|
-
const [state, setState] =
|
|
28
|
+
const [state, setState] = useState({
|
|
28
29
|
animation: null,
|
|
29
30
|
rotate: null,
|
|
30
31
|
});
|
|
31
32
|
|
|
32
|
-
|
|
33
|
+
useEffect(() => {
|
|
33
34
|
if (props.status === 'PENDING') {
|
|
34
35
|
if (state.animation == null) {
|
|
35
36
|
const animated = new Animated.Value(0);
|
|
@@ -22,6 +22,7 @@ import LogBoxInspectorSourceMapStatus from './LogBoxInspectorSourceMapStatus';
|
|
|
22
22
|
import LogBoxInspectorStackFrame from './LogBoxInspectorStackFrame';
|
|
23
23
|
import * as LogBoxStyle from './LogBoxStyle';
|
|
24
24
|
import * as React from 'react';
|
|
25
|
+
import {useState} from 'react';
|
|
25
26
|
|
|
26
27
|
type Props = $ReadOnly<{
|
|
27
28
|
log: LogBoxLog,
|
|
@@ -65,7 +66,7 @@ export function getCollapseMessage(
|
|
|
65
66
|
}
|
|
66
67
|
|
|
67
68
|
function LogBoxInspectorStackFrames(props: Props): React.Node {
|
|
68
|
-
const [collapsed, setCollapsed] =
|
|
69
|
+
const [collapsed, setCollapsed] = useState(() => {
|
|
69
70
|
// Only collapse frames initially if some frames are not collapsed.
|
|
70
71
|
return props.log.getAvailableStack().some(({collapse}) => !collapse);
|
|
71
72
|
});
|
|
@@ -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,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';
|
|
@@ -89,9 +89,9 @@ export type ModalBaseProps = {
|
|
|
89
89
|
*/
|
|
90
90
|
visible?: ?boolean,
|
|
91
91
|
/**
|
|
92
|
-
* The `onRequestClose` callback is called when the user taps the hardware back button on Android or the menu button on Apple TV.
|
|
92
|
+
* 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.
|
|
93
93
|
*
|
|
94
|
-
* This is required on
|
|
94
|
+
* This is required on iOS and Android.
|
|
95
95
|
*/
|
|
96
96
|
// onRequestClose?: (event: NativeSyntheticEvent<any>) => void;
|
|
97
97
|
onRequestClose?: ?DirectEventHandler<null>,
|
|
@@ -150,6 +150,12 @@ export type ModalPropsIOS = {
|
|
|
150
150
|
// | ((event: NativeSyntheticEvent<any>) => void)
|
|
151
151
|
// | undefined;
|
|
152
152
|
onOrientationChange?: ?DirectEventHandler<OrientationChangeEvent>,
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Controls whether the modal can be dismissed by swiping down on iOS.
|
|
156
|
+
* This requires you to implement the `onRequestClose` prop to handle the dismissal.
|
|
157
|
+
*/
|
|
158
|
+
allowSwipeDismissal?: ?boolean,
|
|
153
159
|
};
|
|
154
160
|
|
|
155
161
|
export type ModalPropsAndroid = {
|
|
@@ -203,6 +209,16 @@ function confirmProps(props: ModalProps) {
|
|
|
203
209
|
'Modal with translucent navigation bar and without translucent status bar is not supported.',
|
|
204
210
|
);
|
|
205
211
|
}
|
|
212
|
+
|
|
213
|
+
if (
|
|
214
|
+
Platform.OS === 'ios' &&
|
|
215
|
+
props.allowSwipeDismissal === true &&
|
|
216
|
+
!props.onRequestClose
|
|
217
|
+
) {
|
|
218
|
+
console.warn(
|
|
219
|
+
'Modal requires the onRequestClose prop when used with `allowSwipeDismissal`. This is necessary to prevent state corruption.',
|
|
220
|
+
);
|
|
221
|
+
}
|
|
206
222
|
}
|
|
207
223
|
}
|
|
208
224
|
|
|
@@ -321,6 +337,8 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
321
337
|
|
|
322
338
|
return (
|
|
323
339
|
<RCTModalHostView
|
|
340
|
+
/* $FlowFixMe[incompatible-type] Natural Inference rollout. See
|
|
341
|
+
* https://fburl.com/workplace/6291gfvu */
|
|
324
342
|
animationType={animationType}
|
|
325
343
|
presentationStyle={presentationStyle}
|
|
326
344
|
transparent={this.props.transparent}
|
|
@@ -338,6 +356,7 @@ class Modal extends React.Component<ModalProps, ModalState> {
|
|
|
338
356
|
onStartShouldSetResponder={this._shouldSetResponder}
|
|
339
357
|
supportedOrientations={this.props.supportedOrientations}
|
|
340
358
|
onOrientationChange={this.props.onOrientationChange}
|
|
359
|
+
allowSwipeDismissal={this.props.allowSwipeDismissal}
|
|
341
360
|
testID={this.props.testID}
|
|
342
361
|
title={this.props.title}>
|
|
343
362
|
<VirtualizedListContextResetter>
|
|
@@ -365,6 +384,8 @@ const styles = StyleSheet.create({
|
|
|
365
384
|
modal: {
|
|
366
385
|
position: 'absolute',
|
|
367
386
|
},
|
|
387
|
+
/* $FlowFixMe[incompatible-call] Natural Inference rollout. See
|
|
388
|
+
* https://fburl.com/workplace/6291gfvu */
|
|
368
389
|
container: {
|
|
369
390
|
/* $FlowFixMe[invalid-computed-prop] (>=0.111.0 site=react_native_fb) This
|
|
370
391
|
* 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.
|
|
@@ -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 {
|
|
17
16
|
ConditionallyIgnoredEventHandlers,
|
|
@@ -229,20 +228,12 @@ const validAttributesForNonEventProps = {
|
|
|
229
228
|
hitSlop: {diff: require('../Utilities/differ/insetsDiffer').default},
|
|
230
229
|
collapsable: true,
|
|
231
230
|
collapsableChildren: true,
|
|
232
|
-
filter:
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
},
|
|
239
|
-
boxShadow:
|
|
240
|
-
NativeReactNativeFeatureFlags != null &&
|
|
241
|
-
ReactNativeFeatureFlags.enableNativeCSSParsing()
|
|
242
|
-
? true
|
|
243
|
-
: {
|
|
244
|
-
process: require('../StyleSheet/processBoxShadow').default,
|
|
245
|
-
},
|
|
231
|
+
filter: ReactNativeFeatureFlags.enableNativeCSSParsing()
|
|
232
|
+
? (true as const)
|
|
233
|
+
: {process: require('../StyleSheet/processFilter').default},
|
|
234
|
+
boxShadow: ReactNativeFeatureFlags.enableNativeCSSParsing()
|
|
235
|
+
? (true as const)
|
|
236
|
+
: {process: require('../StyleSheet/processBoxShadow').default},
|
|
246
237
|
mixBlendMode: true,
|
|
247
238
|
isolation: true,
|
|
248
239
|
|
|
@@ -369,7 +360,7 @@ const validAttributesForNonEventProps = {
|
|
|
369
360
|
direction: true,
|
|
370
361
|
|
|
371
362
|
style: ReactNativeStyleAttributes,
|
|
372
|
-
};
|
|
363
|
+
} as const;
|
|
373
364
|
|
|
374
365
|
// Props for bubbling and direct events
|
|
375
366
|
const validAttributesForEventProps = ConditionallyIgnoredEventHandlers({
|
|
@@ -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 {PartialViewConfigWithoutName} from './PlatformBaseViewConfig';
|