react-native-windows 0.84.0-preview.9 → 0.85.0-preview.1
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 +1 -5
- package/Common/unicode.cpp +36 -0
- package/Common/unicode.h +8 -0
- package/Directory.Build.props +1 -16
- package/Directory.Build.targets +12 -4
- package/Folly/ThreadNameStub.cpp +4 -6
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +3 -3
- package/Libraries/Animated/Animated.d.ts +8 -1
- package/Libraries/Animated/AnimatedEvent.js +4 -4
- package/Libraries/Animated/AnimatedImplementation.js +2 -2
- package/Libraries/Animated/animations/Animation.js +3 -3
- package/Libraries/Animated/animations/DecayAnimation.js +4 -4
- package/Libraries/Animated/animations/SpringAnimation.js +5 -5
- package/Libraries/Animated/animations/TimingAnimation.js +5 -5
- package/Libraries/Animated/createAnimatedComponent.js +7 -7
- package/Libraries/Animated/nodes/AnimatedColor.js +2 -2
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +12 -12
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -3
- package/Libraries/Animated/nodes/AnimatedObject.js +3 -3
- package/Libraries/Animated/nodes/AnimatedProps.js +6 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +7 -7
- package/Libraries/Animated/nodes/AnimatedTransform.js +13 -13
- package/Libraries/Animated/nodes/AnimatedValue.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValueXY.js +1 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedColor.d.ts +15 -0
- package/Libraries/Animated/useAnimatedColor.js +25 -0
- package/Libraries/Animated/useAnimatedValueXY.d.ts +15 -0
- package/Libraries/Animated/useAnimatedValueXY.js +26 -0
- package/Libraries/AppState/AppState.js +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +3 -3
- package/Libraries/BatchedBridge/NativeModules.js +12 -10
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +30 -26
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +34 -30
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +2 -2
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/Button.windows.js +2 -2
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroidTypes.js +2 -2
- package/Libraries/Components/Keyboard/Keyboard.js +6 -6
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +1 -1
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +1 -1
- package/Libraries/Components/Pressable/Pressable.d.ts +5 -0
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/Pressable/Pressable.windows.js +3 -3
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +4 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.js +1 -1
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidTypes.js +3 -3
- package/Libraries/Components/RefreshControl/RefreshControl.js +5 -5
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +5 -5
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +8 -12
- package/Libraries/Components/ScrollView/ScrollView.d.ts +9 -0
- package/Libraries/Components/ScrollView/ScrollView.js +19 -9
- package/Libraries/Components/ScrollView/ScrollView.windows.js +19 -9
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +8 -18
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +4 -3
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StaticRenderer.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +8 -8
- package/Libraries/Components/Switch/Switch.js +3 -3
- package/Libraries/Components/Switch/Switch.windows.js +3 -3
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +33 -48
- package/Libraries/Components/TextInput/InputAccessoryView.js +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +6 -11
- package/Libraries/Components/TextInput/TextInput.flow.js +21 -20
- package/Libraries/Components/TextInput/TextInput.flow.windows.js +23 -22
- package/Libraries/Components/TextInput/TextInput.js +8 -4
- package/Libraries/Components/TextInput/TextInput.windows.js +3 -4
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +33 -48
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/Touchable.windows.js +2 -2
- package/Libraries/Components/Touchable/TouchableBounce.js +4 -4
- package/Libraries/Components/Touchable/TouchableBounce.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableHighlight.js +8 -8
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +9 -9
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +7 -7
- package/Libraries/Components/Touchable/TouchableNativeFeedback.windows.js +7 -7
- package/Libraries/Components/Touchable/TouchableOpacity.js +4 -4
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +1 -1
- package/Libraries/Components/UnimplementedViews/UnimplementedView.js +1 -1
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +68 -31
- package/Libraries/Components/View/View.windows.js +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +7 -7
- package/Libraries/Components/View/ViewAccessibility.windows.js +7 -7
- package/Libraries/Components/View/ViewPropTypes.js +14 -14
- package/Libraries/Components/View/ViewPropTypes.windows.js +18 -16
- package/Libraries/Core/Devtools/parseHermesStack.js +8 -8
- package/Libraries/Core/Devtools/symbolicateStackTrace.js +2 -2
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ExtendedError.js +3 -3
- package/Libraries/Core/RawEventEmitter.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/Timers/JSTimers.js +3 -2
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpErrorHandling.js +4 -2
- package/Libraries/Core/setUpReactDevTools.js +23 -6
- package/Libraries/Core/setUpSegmentFetcher.js +1 -1
- package/Libraries/Debugging/DebuggingOverlay.js +2 -2
- package/Libraries/EventEmitter/NativeEventEmitter.js +7 -9
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +1 -1
- package/Libraries/Image/AssetSourceResolver.windows.js +1 -1
- package/Libraries/Image/Image.android.js +172 -306
- package/Libraries/Image/ImageProps.js +9 -11
- package/Libraries/Image/ImageSource.js +2 -2
- package/Libraries/Image/ImageSourceUtils.js +8 -4
- package/Libraries/Image/ImageTypes.flow.js +2 -2
- package/Libraries/Image/ImageViewNativeComponent.js +7 -16
- package/Libraries/Image/nativeImageSource.js +1 -1
- package/Libraries/Interaction/InteractionManager.js +5 -4
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Linking/Linking.js +1 -1
- package/Libraries/Lists/FlatList.js +3 -3
- package/Libraries/Lists/SectionList.js +1 -1
- package/Libraries/Lists/SectionListModern.js +2 -2
- package/Libraries/LogBox/Data/LogBoxData.js +38 -24
- package/Libraries/LogBox/Data/LogBoxLog.js +43 -112
- package/Libraries/LogBox/Data/parseLogBoxLog.js +21 -117
- package/Libraries/LogBox/LogBox.js +42 -19
- package/Libraries/LogBox/LogBoxInspectorContainer.js +2 -2
- package/Libraries/LogBox/LogBoxNotificationContainer.js +2 -2
- package/Libraries/LogBox/UI/LogBoxButton.js +14 -16
- package/Libraries/LogBox/UI/LogBoxInspector.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +6 -9
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspectorMessageHeader.js +10 -15
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +25 -18
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +15 -16
- package/Libraries/LogBox/UI/LogBoxInspectorSection.js +5 -7
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +8 -10
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +8 -6
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +3 -5
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrames.js +17 -29
- package/Libraries/LogBox/UI/LogBoxMessage.js +28 -37
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Modal/Modal.d.ts +4 -0
- package/Libraries/Modal/Modal.js +3 -3
- package/Libraries/Modal/Modal.windows.js +7 -3
- package/Libraries/NativeComponent/BaseViewConfig.android.js +28 -52
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +19 -21
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +26 -17
- package/Libraries/Network/RCTNetworking.android.js +1 -1
- 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/RCTNetworkingEventDefinitions.flow.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
- package/Libraries/Pressability/Pressability.js +5 -5
- package/Libraries/Pressability/Pressability.windows.js +5 -5
- package/Libraries/Pressability/PressabilityDebug.js +1 -1
- package/Libraries/Pressability/PressabilityPerformanceEventEmitter.js +1 -1
- package/Libraries/Pressability/usePressability.js +3 -14
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +2 -2
- package/Libraries/ReactNative/AppContainer-dev.js +18 -1
- package/Libraries/ReactNative/AppContainer.js +1 -1
- package/Libraries/ReactNative/AppRegistry.flow.js +2 -2
- package/Libraries/ReactNative/AppRegistryImpl.js +2 -2
- package/Libraries/ReactNative/FabricUIManager.js +1 -1
- package/Libraries/ReactNative/RendererImplementation.js +4 -4
- package/Libraries/ReactNative/UIManagerProperties.js +1 -1
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3 -2
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3 -2
- package/Libraries/Renderer/shims/ReactFabric.js +1 -3
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +1 -3
- package/Libraries/Renderer/shims/ReactNative.js +3 -2
- package/Libraries/Renderer/shims/ReactNativeTypes.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.windows.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +1 -3
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +1 -3
- package/Libraries/StyleSheet/PointPropType.js +1 -1
- package/Libraries/StyleSheet/Rect.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +0 -5
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js.flow +1 -1
- package/Libraries/StyleSheet/StyleSheetExports.js +16 -25
- package/Libraries/StyleSheet/StyleSheetExports.js.flow +2 -7
- package/Libraries/StyleSheet/StyleSheetTypes.js +33 -35
- package/Libraries/StyleSheet/private/_StyleSheetTypesOverrides.js +5 -5
- package/Libraries/StyleSheet/private/_TransformStyle.js +7 -7
- package/Libraries/StyleSheet/processBackgroundImage.js +7 -7
- package/Libraries/StyleSheet/processBackgroundPosition.js +4 -4
- package/Libraries/StyleSheet/processBackgroundRepeat.js +4 -4
- package/Libraries/StyleSheet/processBackgroundSize.js +4 -4
- package/Libraries/StyleSheet/processBoxShadow.js +44 -4
- package/Libraries/StyleSheet/processColorArray.js +2 -2
- package/Libraries/StyleSheet/processFilter.js +2 -2
- package/Libraries/Text/Text.js +295 -627
- package/Libraries/Text/Text.windows.js +342 -717
- package/Libraries/Text/TextNativeComponent.js +14 -7
- package/Libraries/Text/TextProps.js +4 -4
- package/Libraries/Text/TextProps.windows.js +4 -4
- package/Libraries/Types/CodegenTypes.js +1 -1
- package/Libraries/Types/CoreEventTypes.js +21 -21
- package/Libraries/Types/CoreEventTypes.windows.js +21 -21
- package/Libraries/Types/ReactDevToolsTypes.js +2 -2
- package/Libraries/Utilities/Appearance.js +6 -1
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/HMRClient.js +32 -5
- package/Libraries/Utilities/IPerformanceLogger.js +4 -4
- package/Libraries/Utilities/codegenNativeCommands.js +4 -4
- package/Libraries/Utilities/codegenNativeComponent.d.ts +2 -0
- package/Libraries/Utilities/codegenNativeComponent.js +2 -2
- package/Libraries/Utilities/logError.js +1 -1
- package/Libraries/Utilities/stringifySafe.js +3 -3
- package/Libraries/Utilities/useMergeRefs.js +2 -2
- package/Libraries/vendor/core/ErrorUtils.js +4 -4
- package/Libraries/vendor/emitter/EventEmitter.js +16 -20
- package/Microsoft.ReactNative/CallInvoker.cpp +14 -4
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/AbiPortalShadowNode.cpp +2 -2
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +73 -97
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.h +4 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +0 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +5 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +94 -26
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +11 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +135 -18
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +10 -0
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +7 -2
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +63 -15
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +9 -5
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +28 -6
- package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +80 -0
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.h +17 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +3 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.cpp +0 -3
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +3 -8
- package/Microsoft.ReactNative/IReactPackageBuilder.idl +6 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -63
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -26
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +2 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.cpp +2 -17
- package/Microsoft.ReactNative/Modules/AppStateModule.h +0 -4
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +0 -2
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +16 -15
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +5 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +2 -7
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +0 -1
- package/Microsoft.ReactNative/Modules/I18nManagerModule.h +4 -4
- package/Microsoft.ReactNative/QuirkSettings.cpp +0 -133
- package/Microsoft.ReactNative/QuirkSettings.h +0 -43
- package/Microsoft.ReactNative/QuirkSettings.idl +0 -41
- package/Microsoft.ReactNative/ReactHost/CrashManager.cpp +0 -4
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -2
- package/Microsoft.ReactNative/ReactHost/React.h +0 -5
- package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +0 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +3 -26
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +0 -5
- package/Microsoft.ReactNative/ReactHost/React_Win.h +0 -2
- package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +3 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +7 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +1 -0
- package/Microsoft.ReactNative/RedBox.cpp +0 -9
- package/Microsoft.ReactNative/RedBoxHandler.cpp +0 -4
- package/Microsoft.ReactNative/TurboModulesProvider.cpp +5 -10
- package/Microsoft.ReactNative/TurboModulesProvider.h +2 -0
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +33 -25
- package/Microsoft.ReactNative/Utils/LocalBundleReader.h +5 -3
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -7
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +0 -22
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +8 -2
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +36 -20
- package/Microsoft.ReactNative.Cxx/NamespaceRedirect.h +0 -3
- package/Microsoft.ReactNative.Cxx/NativeModules.h +8 -2
- package/Microsoft.ReactNative.Cxx/XamlUtils.h +0 -9
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +3 -3
- package/Microsoft.ReactNative.Managed/ReactContext.cs +0 -9
- package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +10 -10
- package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Debug.pubxml +1 -1
- package/Microsoft.ReactNative.Managed.CodeGen/Properties/PublishProfiles/DeployAsTool-Release.pubxml +1 -1
- package/PropertySheets/Autolink.props +1 -1
- package/PropertySheets/Bundle.props +1 -1
- package/PropertySheets/Codegen.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/JSEngine.props +1 -1
- package/PropertySheets/NuGet.LockFile.props +8 -0
- package/PropertySheets/React.Cpp.props +8 -7
- package/PropertySheets/ReactNativeArchitecture.props +6 -24
- package/PropertySheets/WinUI.props +2 -2
- package/ReactCommon/ReactCommon.vcxproj +5 -6
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +15 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +13 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/defaults/DefaultTurboModules.cpp +69 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/animationbackend/AnimatedPropSerializer.cpp +717 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/ParagraphShadowNode.cpp +10 -10
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/AccessibilityPrimitives.h +2 -21
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +151 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +50 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBuffer.cpp +178 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManager.cpp +69 -39
- package/Scripts/JustMyXaml.ps1 +8 -8
- package/Scripts/OfficeReact.Win32.nuspec +0 -1
- package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -39
- package/Scripts/UnitTest.ps1 +3 -1
- package/Scripts/creaternwapp.cmd +1 -9
- package/Scripts/creaternwlib.cmd +4 -24
- package/Scripts/rnw-dependencies.ps1 +15 -16
- package/Shared/DevSettings.h +0 -3
- package/Shared/DevSupportManager.cpp +55 -48
- package/Shared/DevSupportManager.h +0 -1
- package/Shared/Modules/IWebSocketModuleContentHandler.h +15 -0
- package/Shared/Modules/WebSocketModule.cpp +8 -3
- package/Shared/Networking/DefaultBlobResource.cpp +37 -0
- package/Shared/Networking/DefaultBlobResource.h +12 -0
- package/Shared/Networking/WinRTWebSocketResource.cpp +23 -408
- package/Shared/Networking/WinRTWebSocketResource.h +8 -120
- package/Shared/Shared.vcxitems +63 -38
- package/Shared/Shared.vcxitems.filters +54 -0
- package/Shared/Utils.cpp +0 -88
- package/Shared/Utils.h +0 -14
- package/Shared/WebSocketResourceFactory.cpp +28 -0
- package/Shared/tracing/fbsystrace.h +1 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +172 -160
- package/codegen/react/components/rnwcore/ModalHostView.g.h +8 -0
- package/codegen/react/components/rnwcore/Props.cpp +17 -7
- package/codegen/react/components/rnwcore/Props.h +3 -1
- package/codegen/react/components/rnwcore/VirtualViewExperimental.g.h +4 -4
- package/codegen/rnwcoreJSI.h +93 -77
- package/index.js +9 -0
- package/index.windows.js +9 -0
- package/jest/RefreshControlMock.js +2 -2
- package/jest/assetFileTransformer.js +8 -3
- package/jest/mockComponent.js +3 -4
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mocks/ActivityIndicator.js +2 -2
- package/jest/mocks/Image.js +2 -2
- package/jest/mocks/Modal.js +2 -2
- package/jest/mocks/RefreshControl.js +3 -3
- package/jest/mocks/RendererProxy.js +2 -2
- package/jest/mocks/ScrollView.js +5 -5
- package/jest/mocks/Text.js +2 -2
- package/jest/mocks/TextInput.js +2 -2
- package/jest/mocks/View.js +2 -2
- package/jest/mocks/ViewNativeComponent.js +1 -1
- package/jest/mocks/requireNativeComponent.js +1 -1
- package/jest/mocks/useColorScheme.js +1 -1
- package/jest/setup.js +68 -31
- package/just-task.js +13 -2
- package/package.json +25 -20
- package/src/private/animated/NativeAnimatedHelper.js +2 -2
- package/src/private/animated/createAnimatedPropsMemoHook.js +19 -19
- package/src/private/components/virtualview/VirtualView.js +14 -21
- package/src/private/components/virtualview/VirtualViewExperimentalNativeComponent.js +11 -10
- package/src/private/components/virtualview/VirtualViewNativeComponent.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/BorderBox.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/BoxInspector.js +3 -3
- package/src/private/devsupport/devmenu/elementinspector/ElementBox.js +4 -4
- package/src/private/devsupport/devmenu/elementinspector/ElementProperties.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/Inspector.js +39 -17
- package/src/private/devsupport/devmenu/elementinspector/InspectorOverlay.js +15 -3
- package/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js +2 -2
- package/src/private/devsupport/devmenu/elementinspector/ReactDevToolsOverlay.js +2 -8
- package/src/private/devsupport/devmenu/elementinspector/StyleInspector.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/resolveBoxStyle.js +1 -1
- package/src/private/devsupport/devmenu/elementinspector/useExternalInspection.js +102 -0
- package/src/private/devsupport/rndevtools/FuseboxSessionObserver.js +12 -25
- package/src/private/devsupport/rndevtools/GlobalStateObserver.js +56 -0
- package/src/private/devsupport/rndevtools/TracingStateObserver.js +28 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +71 -79
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +2 -2
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +14 -12
- package/src/private/setup/setUpDefaultReactNativeEnvironment.js +6 -0
- package/src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidDrawerLayoutNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/DebuggingOverlayNativeComponent.js +3 -3
- package/src/private/specs_DEPRECATED/components/ProgressBarAndroidNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent.js +7 -3
- package/src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +2 -2
- package/src/private/specs_DEPRECATED/components/UnimplementedNativeViewNativeComponent.js +1 -1
- package/src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS.js +1 -1
- package/src/private/styles/composeStyles.js +1 -1
- package/src/private/utilities/toError.js +27 -0
- package/src/private/utilities/toExtendedError.js +30 -0
- package/src/private/webapis/dom/events/Event.js +1 -1
- package/src/private/webapis/dom/events/EventHandlerAttributes.js +2 -2
- package/src/private/webapis/dom/events/EventTarget.js +3 -3
- package/src/private/webapis/dom/events/internals/EventInternals.js +2 -2
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +1 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +2 -2
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +14 -14
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +2 -2
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +2 -2
- package/src/private/webapis/geometry/DOMRectList.js +2 -2
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +8 -8
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +6 -6
- package/src/private/webapis/mutationobserver/MutationObserver.js +2 -2
- package/src/private/webapis/mutationobserver/MutationRecord.js +2 -2
- package/src/private/webapis/mutationobserver/internals/MutationObserverManager.js +1 -1
- package/src/private/webapis/mutationobserver/specs/NativeMutationObserver.js +3 -3
- package/src/private/webapis/performance/LongTasks.js +3 -3
- package/src/private/webapis/performance/Performance.js +4 -4
- package/src/private/webapis/performance/PerformanceEntry.js +1 -1
- package/src/private/webapis/performance/PerformanceObserver.js +2 -2
- package/src/private/webapis/performance/specs/NativePerformance.js +8 -8
- package/src/private/webapis/structuredClone/structuredClone.js +2 -2
- package/src/types/globals.d.ts +4 -4
- package/template/cpp-lib/proj/MyLib.sln +0 -33
- package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
- package/template/cs-lib/proj/MyLib.sln +0 -33
- package/template/metro.config.js +12 -2
- package/templates/cpp-app/metro.config.js +12 -2
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +9 -6
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +2 -2
- package/templates/cpp-app/windows/MyApp.sln +0 -33
- package/templates/cpp-lib/example/metro.config.js +12 -2
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +2 -2
- package/templates/cpp-lib/windows/MyLib.sln +0 -33
- package/types/index.d.ts +2 -0
- package/Folly/.clang-format +0 -2
- package/Folly/Folly.natvis +0 -25
- package/Folly/Folly.vcxproj +0 -378
- package/Folly/Folly.vcxproj.filters +0 -558
- package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +0 -978
- package/Folly/TEMP_UntilFollyUpdate/Conv.cpp +0 -1205
- package/Folly/TEMP_UntilFollyUpdate/chrono/Hardware.h +0 -155
- package/Folly/TEMP_UntilFollyUpdate/concurrency/CacheLocality.cpp +0 -633
- package/Folly/TEMP_UntilFollyUpdate/json/dynamic-inl.h +0 -1438
- package/Folly/TEMP_UntilFollyUpdate/json/json.cpp +0 -1118
- package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +0 -188
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +0 -348
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.h +0 -182
- package/Folly/TEMP_UntilFollyUpdate/portability/Unistd.cpp +0 -33
- package/Folly/cgmanifest.json +0 -25
- package/Libraries/Components/View/ReactNativeViewAttributes.js +0 -60
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +0 -64
- package/Libraries/Image/TextInlineImageNativeComponent.js +0 -49
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +0 -75
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService_emptyimpl.cpp +0 -27
- package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +0 -81
- package/Microsoft.ReactNative/Modules/CreateModules.cpp +0 -24
- package/Microsoft.ReactNative/ReactSupport.cpp +0 -221
- package/Microsoft.ReactNative/ReactSupport.h +0 -13
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.cpp +0 -107
- package/Microsoft.ReactNative/Utils/UwpPreparedScriptStore.h +0 -62
- package/Microsoft.ReactNative/Utils/UwpScriptStore.cpp +0 -56
- package/Microsoft.ReactNative/Utils/UwpScriptStore.h +0 -22
- package/Microsoft.ReactNative/XamlUIService.cpp +0 -68
- package/Microsoft.ReactNative/XamlUIService.h +0 -37
- package/Microsoft.ReactNative/XamlUIService.idl +0 -53
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/CxxNativeModule.cpp +0 -259
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/Instance.cpp +0 -381
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSIndexedRAMBundle.cpp +0 -145
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/MethodCall.cpp +0 -100
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ModuleRegistry.cpp +0 -256
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +0 -363
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/RAMBundleRegistry.cpp +0 -93
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/ReactMarker.cpp +0 -148
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/TraceSection.h +0 -190
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsiexecutor/jsireact/JSINativeModules.cpp +0 -123
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleWithJSIBindings.cpp +0 -27
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/webperformance/NativePerformance.cpp +0 -414
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/text/platform/android/react/renderer/components/text/ParagraphState.h +0 -91
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventDispatcher.cpp +0 -80
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/EventQueueProcessor.cpp +0 -138
- package/fmt/.clang-format +0 -2
- package/fmt/cgmanifest.json +0 -15
- package/fmt/fmt.vcxproj +0 -153
- package/fmt/fmt.vcxproj.filters +0 -59
- package/fmt/pch.cpp +0 -4
- package/fmt/pch.h +0 -2
|
@@ -18,7 +18,7 @@ import type {HostComponent} from '../../types/HostComponent';
|
|
|
18
18
|
|
|
19
19
|
import codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';
|
|
20
20
|
|
|
21
|
-
export type NativeModeChangeEvent =
|
|
21
|
+
export type NativeModeChangeEvent = Readonly<{
|
|
22
22
|
/**
|
|
23
23
|
* Virtualization mode of the target view.
|
|
24
24
|
*
|
|
@@ -34,7 +34,7 @@ export type NativeModeChangeEvent = $ReadOnly<{
|
|
|
34
34
|
/**
|
|
35
35
|
* Rect of the target view, relative to the nearest ancestor scroll container.
|
|
36
36
|
*/
|
|
37
|
-
targetRect:
|
|
37
|
+
targetRect: Readonly<{
|
|
38
38
|
x: Double,
|
|
39
39
|
y: Double,
|
|
40
40
|
width: Double,
|
|
@@ -51,7 +51,7 @@ export type NativeModeChangeEvent = $ReadOnly<{
|
|
|
51
51
|
*
|
|
52
52
|
* This can be used to determine whether and how much new content to render.
|
|
53
53
|
*/
|
|
54
|
-
thresholdRect:
|
|
54
|
+
thresholdRect: Readonly<{
|
|
55
55
|
x: Double,
|
|
56
56
|
y: Double,
|
|
57
57
|
width: Double,
|
|
@@ -59,7 +59,7 @@ export type NativeModeChangeEvent = $ReadOnly<{
|
|
|
59
59
|
}>,
|
|
60
60
|
}>;
|
|
61
61
|
|
|
62
|
-
type VirtualViewExperimentalNativeProps =
|
|
62
|
+
type VirtualViewExperimentalNativeProps = Readonly<{
|
|
63
63
|
...ViewProps,
|
|
64
64
|
|
|
65
65
|
/**
|
|
@@ -67,6 +67,12 @@ type VirtualViewExperimentalNativeProps = $ReadOnly<{
|
|
|
67
67
|
*/
|
|
68
68
|
initialHidden?: boolean,
|
|
69
69
|
|
|
70
|
+
/**
|
|
71
|
+
* This was needed to get VirtualViewManagerDelegate to set this property.
|
|
72
|
+
* TODO: Investigate why spread ViewProps doesn't call setter
|
|
73
|
+
*/
|
|
74
|
+
removeClippedSubviews?: boolean,
|
|
75
|
+
|
|
70
76
|
/**
|
|
71
77
|
* Render state of children.
|
|
72
78
|
*
|
|
@@ -79,18 +85,13 @@ type VirtualViewExperimentalNativeProps = $ReadOnly<{
|
|
|
79
85
|
*/
|
|
80
86
|
renderState: Int32,
|
|
81
87
|
|
|
82
|
-
/**
|
|
83
|
-
* This was needed to get VirtualViewManagerDelegate to set this property.
|
|
84
|
-
* TODO: Investigate why spread ViewProps doesn't call setter
|
|
85
|
-
*/
|
|
86
|
-
removeClippedSubviews?: boolean,
|
|
87
|
-
|
|
88
88
|
/**
|
|
89
89
|
* See `NativeModeChangeEvent`.
|
|
90
90
|
*/
|
|
91
91
|
onModeChange?: ?DirectEventHandler<NativeModeChangeEvent>,
|
|
92
92
|
}>;
|
|
93
93
|
|
|
94
|
+
// TODO: Rename to eliminate "Experimental" suffix in the name.
|
|
94
95
|
export default codegenNativeComponent<VirtualViewExperimentalNativeProps>(
|
|
95
96
|
'VirtualViewExperimental',
|
|
96
97
|
{
|
|
@@ -18,7 +18,7 @@ import type {HostComponent} from '../../types/HostComponent';
|
|
|
18
18
|
|
|
19
19
|
import codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';
|
|
20
20
|
|
|
21
|
-
export type NativeModeChangeEvent =
|
|
21
|
+
export type NativeModeChangeEvent = Readonly<{
|
|
22
22
|
/**
|
|
23
23
|
* Virtualization mode of the target view.
|
|
24
24
|
*
|
|
@@ -34,7 +34,7 @@ export type NativeModeChangeEvent = $ReadOnly<{
|
|
|
34
34
|
/**
|
|
35
35
|
* Rect of the target view, relative to the nearest ancestor scroll container.
|
|
36
36
|
*/
|
|
37
|
-
targetRect:
|
|
37
|
+
targetRect: Readonly<{
|
|
38
38
|
x: Double,
|
|
39
39
|
y: Double,
|
|
40
40
|
width: Double,
|
|
@@ -51,7 +51,7 @@ export type NativeModeChangeEvent = $ReadOnly<{
|
|
|
51
51
|
*
|
|
52
52
|
* This can be used to determine whether and how much new content to render.
|
|
53
53
|
*/
|
|
54
|
-
thresholdRect:
|
|
54
|
+
thresholdRect: Readonly<{
|
|
55
55
|
x: Double,
|
|
56
56
|
y: Double,
|
|
57
57
|
width: Double,
|
|
@@ -59,7 +59,7 @@ export type NativeModeChangeEvent = $ReadOnly<{
|
|
|
59
59
|
}>,
|
|
60
60
|
}>;
|
|
61
61
|
|
|
62
|
-
type VirtualViewNativeProps =
|
|
62
|
+
type VirtualViewNativeProps = Readonly<{
|
|
63
63
|
...ViewProps,
|
|
64
64
|
|
|
65
65
|
/**
|
|
@@ -16,9 +16,9 @@ import * as React from 'react';
|
|
|
16
16
|
|
|
17
17
|
const View = require('../../../../../Libraries/Components/View/View').default;
|
|
18
18
|
|
|
19
|
-
type Props =
|
|
19
|
+
type Props = Readonly<{
|
|
20
20
|
children: React.Node,
|
|
21
|
-
box?:
|
|
21
|
+
box?: ?Readonly<{
|
|
22
22
|
top: number,
|
|
23
23
|
right: number,
|
|
24
24
|
bottom: number,
|
|
@@ -31,7 +31,7 @@ const blank = {
|
|
|
31
31
|
bottom: 0,
|
|
32
32
|
};
|
|
33
33
|
|
|
34
|
-
type BoxInspectorProps =
|
|
34
|
+
type BoxInspectorProps = Readonly<{
|
|
35
35
|
style: ViewStyleProp,
|
|
36
36
|
frame: ?InspectedElementFrame,
|
|
37
37
|
}>;
|
|
@@ -57,10 +57,10 @@ function BoxInspector({style, frame}: BoxInspectorProps): React.Node {
|
|
|
57
57
|
);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
type BoxContainerProps =
|
|
60
|
+
type BoxContainerProps = Readonly<{
|
|
61
61
|
title: string,
|
|
62
62
|
titleStyle?: TextStyleProp,
|
|
63
|
-
box:
|
|
63
|
+
box: Readonly<{
|
|
64
64
|
top: number,
|
|
65
65
|
left: number,
|
|
66
66
|
right: number,
|
|
@@ -25,15 +25,15 @@ const Dimensions =
|
|
|
25
25
|
const BorderBox = require('./BorderBox').default;
|
|
26
26
|
const resolveBoxStyle = require('./resolveBoxStyle').default;
|
|
27
27
|
|
|
28
|
-
type Props =
|
|
28
|
+
type Props = Readonly<{
|
|
29
29
|
frame: InspectedElementFrame,
|
|
30
30
|
style?: ?ViewStyleProp,
|
|
31
31
|
}>;
|
|
32
32
|
|
|
33
33
|
function ElementBox({frame, style}: Props): React.Node {
|
|
34
34
|
const flattenedStyle = flattenStyle(style) || {};
|
|
35
|
-
let margin:
|
|
36
|
-
let padding:
|
|
35
|
+
let margin: ?Readonly<Style> = resolveBoxStyle('margin', flattenedStyle);
|
|
36
|
+
let padding: ?Readonly<Style> = resolveBoxStyle('padding', flattenedStyle);
|
|
37
37
|
|
|
38
38
|
const frameStyle = {...frame};
|
|
39
39
|
const contentStyle: {width: number, height: number} = {
|
|
@@ -110,7 +110,7 @@ type Style = {
|
|
|
110
110
|
* @param style the style to resolve
|
|
111
111
|
* @return a modified copy
|
|
112
112
|
*/
|
|
113
|
-
function resolveRelativeSizes(style:
|
|
113
|
+
function resolveRelativeSizes(style: Readonly<Style>): Style {
|
|
114
114
|
let resolvedStyle = {...style};
|
|
115
115
|
resolveSizeInPlace(resolvedStyle, 'top', 'height');
|
|
116
116
|
resolveSizeInPlace(resolvedStyle, 'right', 'width');
|
|
@@ -30,7 +30,7 @@ const mapWithSeparator =
|
|
|
30
30
|
const BoxInspector = require('./BoxInspector').default;
|
|
31
31
|
const StyleInspector = require('./StyleInspector').default;
|
|
32
32
|
|
|
33
|
-
type Props =
|
|
33
|
+
type Props = Readonly<{
|
|
34
34
|
hierarchy: ?InspectorData['hierarchy'],
|
|
35
35
|
style?: ?ViewStyleProp,
|
|
36
36
|
frame?: ?Object,
|
|
@@ -41,24 +41,35 @@ const {useState} = React;
|
|
|
41
41
|
type PanelPosition = 'top' | 'bottom';
|
|
42
42
|
|
|
43
43
|
export type InspectedElementFrame = TouchedViewDataAtPoint['frame'];
|
|
44
|
-
export type InspectedElement =
|
|
44
|
+
export type InspectedElement = Readonly<{
|
|
45
45
|
frame: InspectedElementFrame,
|
|
46
46
|
style?: ViewStyleProp,
|
|
47
47
|
}>;
|
|
48
48
|
export type ElementsHierarchy = InspectorData['hierarchy'];
|
|
49
49
|
|
|
50
|
+
type ExternalInspection = {
|
|
51
|
+
externalInspectingEnabled: boolean,
|
|
52
|
+
+reportToExternalInspection: (viewData: TouchedViewDataAtPoint) => void,
|
|
53
|
+
};
|
|
54
|
+
|
|
50
55
|
type Props = {
|
|
51
56
|
inspectedViewRef: InspectedViewRef,
|
|
52
57
|
onRequestRerenderApp: () => void,
|
|
53
58
|
reactDevToolsAgent?: ReactDevToolsAgent,
|
|
59
|
+
devMenuInspectorOpen: boolean,
|
|
60
|
+
externalInspection: ExternalInspection,
|
|
54
61
|
};
|
|
55
62
|
|
|
56
63
|
function Inspector({
|
|
57
64
|
inspectedViewRef,
|
|
58
65
|
onRequestRerenderApp,
|
|
59
66
|
reactDevToolsAgent,
|
|
67
|
+
devMenuInspectorOpen,
|
|
68
|
+
externalInspection,
|
|
60
69
|
}: Props): React.Node {
|
|
61
|
-
const [
|
|
70
|
+
const [inspectingEnabled, setInspectingEnabled] = useState<boolean>(true);
|
|
71
|
+
const {externalInspectingEnabled, reportToExternalInspection} =
|
|
72
|
+
externalInspection;
|
|
62
73
|
|
|
63
74
|
const [panelPosition, setPanelPosition] = useState<PanelPosition>('bottom');
|
|
64
75
|
const [inspectedElement, setInspectedElement] =
|
|
@@ -67,6 +78,9 @@ function Inspector({
|
|
|
67
78
|
const [elementsHierarchy, setElementsHierarchy] =
|
|
68
79
|
useState<?ElementsHierarchy>(null);
|
|
69
80
|
|
|
81
|
+
// Derive inspecting state: external inspection forces it on, otherwise use local state
|
|
82
|
+
const isInspecting = externalInspectingEnabled || inspectingEnabled;
|
|
83
|
+
|
|
70
84
|
const setSelection = (i: number) => {
|
|
71
85
|
const hierarchyItem = elementsHierarchy?.[i];
|
|
72
86
|
if (hierarchyItem == null) {
|
|
@@ -99,6 +113,11 @@ function Inspector({
|
|
|
99
113
|
closestInstance,
|
|
100
114
|
} = viewData;
|
|
101
115
|
|
|
116
|
+
// Report to external inspection if in external inspection mode
|
|
117
|
+
if (externalInspectingEnabled) {
|
|
118
|
+
reportToExternalInspection(viewData);
|
|
119
|
+
}
|
|
120
|
+
|
|
102
121
|
// Sync the touched view with React DevTools.
|
|
103
122
|
// Note: This is Paper only. To support Fabric,
|
|
104
123
|
// DevTools needs to be updated to not rely on view tags.
|
|
@@ -133,7 +152,7 @@ function Inspector({
|
|
|
133
152
|
};
|
|
134
153
|
|
|
135
154
|
const handleSetInspecting = (enabled: boolean) => {
|
|
136
|
-
|
|
155
|
+
setInspectingEnabled(enabled);
|
|
137
156
|
setInspectedElement(null);
|
|
138
157
|
};
|
|
139
158
|
|
|
@@ -149,26 +168,29 @@ function Inspector({
|
|
|
149
168
|
|
|
150
169
|
return (
|
|
151
170
|
<View style={styles.container} pointerEvents="box-none">
|
|
152
|
-
{
|
|
171
|
+
{isInspecting && (
|
|
153
172
|
<InspectorOverlay
|
|
154
173
|
inspected={inspectedElement}
|
|
155
174
|
onTouchPoint={onTouchPoint}
|
|
175
|
+
externalInspectionActive={externalInspectingEnabled}
|
|
156
176
|
/>
|
|
157
177
|
)}
|
|
158
178
|
|
|
159
|
-
|
|
160
|
-
<
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
179
|
+
{!externalInspectingEnabled && (
|
|
180
|
+
<SafeAreaView style={[styles.panelContainer, panelContainerStyle]}>
|
|
181
|
+
<InspectorPanel
|
|
182
|
+
devtoolsIsOpen={!!reactDevToolsAgent}
|
|
183
|
+
inspecting={inspectingEnabled}
|
|
184
|
+
setInspecting={handleSetInspecting}
|
|
185
|
+
inspected={inspectedElement}
|
|
186
|
+
hierarchy={elementsHierarchy}
|
|
187
|
+
selection={selectionIndex}
|
|
188
|
+
setSelection={setSelection}
|
|
189
|
+
touchTargeting={PressabilityDebug.isEnabled()}
|
|
190
|
+
setTouchTargeting={setTouchTargeting}
|
|
191
|
+
/>
|
|
192
|
+
</SafeAreaView>
|
|
193
|
+
)}
|
|
172
194
|
</View>
|
|
173
195
|
);
|
|
174
196
|
}
|
|
@@ -20,12 +20,17 @@ const StyleSheet =
|
|
|
20
20
|
require('../../../../../Libraries/StyleSheet/StyleSheet').default;
|
|
21
21
|
const ElementBox = require('./ElementBox').default;
|
|
22
22
|
|
|
23
|
-
type Props =
|
|
23
|
+
type Props = Readonly<{
|
|
24
24
|
inspected?: ?InspectedElement,
|
|
25
25
|
onTouchPoint: (locationX: number, locationY: number) => void,
|
|
26
|
+
externalInspectionActive?: boolean,
|
|
26
27
|
}>;
|
|
27
28
|
|
|
28
|
-
function InspectorOverlay({
|
|
29
|
+
function InspectorOverlay({
|
|
30
|
+
inspected,
|
|
31
|
+
onTouchPoint,
|
|
32
|
+
externalInspectionActive,
|
|
33
|
+
}: Props): React.Node {
|
|
29
34
|
const findViewForTouchEvent = (e: GestureResponderEvent) => {
|
|
30
35
|
const {locationX, locationY} = e.nativeEvent.touches[0];
|
|
31
36
|
|
|
@@ -47,7 +52,10 @@ function InspectorOverlay({inspected, onTouchPoint}: Props): React.Node {
|
|
|
47
52
|
onStartShouldSetResponder={handleStartShouldSetResponder}
|
|
48
53
|
onResponderMove={findViewForTouchEvent}
|
|
49
54
|
nativeID="inspectorOverlay" /* TODO: T68258846. */
|
|
50
|
-
style={
|
|
55
|
+
style={[
|
|
56
|
+
styles.inspector,
|
|
57
|
+
externalInspectionActive === true && styles.externalInspectionIndicator,
|
|
58
|
+
]}>
|
|
51
59
|
{content}
|
|
52
60
|
</View>
|
|
53
61
|
);
|
|
@@ -62,6 +70,10 @@ const styles = StyleSheet.create({
|
|
|
62
70
|
right: 0,
|
|
63
71
|
bottom: 0,
|
|
64
72
|
},
|
|
73
|
+
externalInspectionIndicator: {
|
|
74
|
+
borderWidth: 4,
|
|
75
|
+
borderColor: 'rgba(255, 0, 0, 0.8)',
|
|
76
|
+
},
|
|
65
77
|
});
|
|
66
78
|
|
|
67
79
|
export default InspectorOverlay;
|
|
@@ -25,7 +25,7 @@ const StyleSheet =
|
|
|
25
25
|
const Text = require('../../../../../Libraries/Text/Text').default;
|
|
26
26
|
const ElementProperties = require('./ElementProperties').default;
|
|
27
27
|
|
|
28
|
-
type Props =
|
|
28
|
+
type Props = Readonly<{
|
|
29
29
|
devtoolsIsOpen: boolean,
|
|
30
30
|
inspecting: boolean,
|
|
31
31
|
setInspecting: (val: boolean) => void,
|
|
@@ -84,7 +84,7 @@ class InspectorPanel extends React.Component<Props> {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
type InspectorPanelButtonProps =
|
|
87
|
+
type InspectorPanelButtonProps = Readonly<{
|
|
88
88
|
onClick: (val: boolean) => void,
|
|
89
89
|
pressed: boolean,
|
|
90
90
|
title: string,
|
|
@@ -52,10 +52,12 @@ export default function ReactDevToolsOverlay({
|
|
|
52
52
|
|
|
53
53
|
function onStartInspectingNative() {
|
|
54
54
|
setIsInspecting(true);
|
|
55
|
+
setInspected(null);
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
function onStopInspectingNative() {
|
|
58
59
|
setIsInspecting(false);
|
|
60
|
+
setInspected(null);
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
reactDevToolsAgent.addListener('shutdown', cleanup);
|
|
@@ -93,12 +95,6 @@ export default function ReactDevToolsOverlay({
|
|
|
93
95
|
[inspectedViewRef, reactDevToolsAgent],
|
|
94
96
|
);
|
|
95
97
|
|
|
96
|
-
const stopInspecting = useCallback(() => {
|
|
97
|
-
reactDevToolsAgent.stopInspectingNative(true);
|
|
98
|
-
setIsInspecting(false);
|
|
99
|
-
setInspected(null);
|
|
100
|
-
}, [reactDevToolsAgent]);
|
|
101
|
-
|
|
102
98
|
const onPointerMove = useCallback(
|
|
103
99
|
(e: PointerEvent) => {
|
|
104
100
|
findViewForLocation(e.nativeEvent.x, e.nativeEvent.y);
|
|
@@ -133,12 +129,10 @@ export default function ReactDevToolsOverlay({
|
|
|
133
129
|
? {
|
|
134
130
|
onPointerMove,
|
|
135
131
|
onPointerDown: onPointerMove,
|
|
136
|
-
onPointerUp: stopInspecting,
|
|
137
132
|
}
|
|
138
133
|
: {
|
|
139
134
|
onStartShouldSetResponder: shouldSetResponder,
|
|
140
135
|
onResponderMove: onResponderMove,
|
|
141
|
-
onResponderRelease: stopInspecting,
|
|
142
136
|
};
|
|
143
137
|
|
|
144
138
|
return (
|
|
@@ -20,7 +20,7 @@ const StyleSheet =
|
|
|
20
20
|
require('../../../../../Libraries/StyleSheet/StyleSheet').default;
|
|
21
21
|
const Text = require('../../../../../Libraries/Text/Text').default;
|
|
22
22
|
|
|
23
|
-
type Props =
|
|
23
|
+
type Props = Readonly<{
|
|
24
24
|
style?: ?____FlattenStyleProp_Internal<ViewStyleProp>,
|
|
25
25
|
}>;
|
|
26
26
|
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict-local
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
'use strict';
|
|
12
|
+
|
|
13
|
+
import type {TouchedViewDataAtPoint} from '../../../../../Libraries/Renderer/shims/ReactNativeTypes';
|
|
14
|
+
|
|
15
|
+
import * as ReactNativeFeatureFlags from '../../../../../src/private/featureflags/ReactNativeFeatureFlags';
|
|
16
|
+
import {useCallback, useEffect, useState} from 'react';
|
|
17
|
+
|
|
18
|
+
type ExternalInspectionAPI = {
|
|
19
|
+
enable: () => void,
|
|
20
|
+
disable: () => void,
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
declare var __EXTERNAL_INSPECTION__: ?ExternalInspectionAPI;
|
|
24
|
+
declare var __EXTERNAL_INSPECTION_SELECT__: ?(payload: string) => void;
|
|
25
|
+
|
|
26
|
+
type UseExternalInspectionResult = {
|
|
27
|
+
externalInspectingEnabled: boolean,
|
|
28
|
+
reportToExternalInspection: (viewData: TouchedViewDataAtPoint) => void,
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Initializes the __EXTERNAL_INSPECTION__ API on the device.
|
|
33
|
+
*/
|
|
34
|
+
function ensureExternalInspectionAPI(
|
|
35
|
+
onEnable: () => void,
|
|
36
|
+
onDisable: () => void,
|
|
37
|
+
): ExternalInspectionAPI {
|
|
38
|
+
if (
|
|
39
|
+
typeof __EXTERNAL_INSPECTION__ === 'undefined' ||
|
|
40
|
+
__EXTERNAL_INSPECTION__ == null
|
|
41
|
+
) {
|
|
42
|
+
const api: ExternalInspectionAPI = {
|
|
43
|
+
enable: onEnable,
|
|
44
|
+
disable: onDisable,
|
|
45
|
+
};
|
|
46
|
+
// $FlowFixMe[prop-missing] Initializing global API for DevTools communication
|
|
47
|
+
(global: $FlowFixMe).__EXTERNAL_INSPECTION__ = api;
|
|
48
|
+
return api;
|
|
49
|
+
}
|
|
50
|
+
__EXTERNAL_INSPECTION__.enable = onEnable;
|
|
51
|
+
__EXTERNAL_INSPECTION__.disable = onDisable;
|
|
52
|
+
return __EXTERNAL_INSPECTION__;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export default function useExternalInspection(): UseExternalInspectionResult {
|
|
56
|
+
const [externalInspectingEnabled, setExternalInspectingEnabled] =
|
|
57
|
+
useState<boolean>(false);
|
|
58
|
+
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (!ReactNativeFeatureFlags.externalElementInspectionEnabled()) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const handleEnable = () => {
|
|
65
|
+
setExternalInspectingEnabled(true);
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
const handleDisable = () => {
|
|
69
|
+
setExternalInspectingEnabled(false);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
ensureExternalInspectionAPI(handleEnable, handleDisable);
|
|
73
|
+
}, []);
|
|
74
|
+
|
|
75
|
+
const reportToExternalInspection = useCallback(
|
|
76
|
+
(viewData: TouchedViewDataAtPoint) => {
|
|
77
|
+
if (
|
|
78
|
+
typeof __EXTERNAL_INSPECTION_SELECT__ === 'undefined' ||
|
|
79
|
+
__EXTERNAL_INSPECTION_SELECT__ === null ||
|
|
80
|
+
!externalInspectingEnabled
|
|
81
|
+
) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
__EXTERNAL_INSPECTION_SELECT__(
|
|
86
|
+
JSON.stringify({
|
|
87
|
+
frame: viewData.frame,
|
|
88
|
+
hierarchy: viewData.hierarchy.map(item => ({
|
|
89
|
+
name: item.name,
|
|
90
|
+
})),
|
|
91
|
+
touchedViewTag: viewData.touchedViewTag,
|
|
92
|
+
}),
|
|
93
|
+
);
|
|
94
|
+
},
|
|
95
|
+
[externalInspectingEnabled],
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
return {
|
|
99
|
+
externalInspectingEnabled,
|
|
100
|
+
reportToExternalInspection,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
@@ -8,34 +8,21 @@
|
|
|
8
8
|
* @format
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
#hasNativeSupport: boolean;
|
|
11
|
+
import GlobalStateObserver from './GlobalStateObserver';
|
|
13
12
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}
|
|
13
|
+
const observer = new GlobalStateObserver(
|
|
14
|
+
'__DEBUGGER_SESSION_OBSERVER__',
|
|
15
|
+
'hasActiveSession',
|
|
16
|
+
);
|
|
19
17
|
|
|
18
|
+
const FuseboxSessionObserver = {
|
|
20
19
|
hasActiveSession(): boolean {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return global.__DEBUGGER_SESSION_OBSERVER__.hasActiveSession;
|
|
26
|
-
}
|
|
20
|
+
return observer.getStatus();
|
|
21
|
+
},
|
|
27
22
|
|
|
28
23
|
subscribe(callback: (status: boolean) => void): () => void {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
global.__DEBUGGER_SESSION_OBSERVER__.subscribers.add(callback);
|
|
34
|
-
return () => {
|
|
35
|
-
global.__DEBUGGER_SESSION_OBSERVER__.subscribers.delete(callback);
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
}
|
|
24
|
+
return observer.subscribe(callback);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
39
27
|
|
|
40
|
-
|
|
41
|
-
export default observerInstance;
|
|
28
|
+
export default FuseboxSessionObserver;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Generic observer for a boolean state exposed via a native global object.
|
|
13
|
+
*
|
|
14
|
+
* Native code installs a global object with the following shape:
|
|
15
|
+
* global[globalName] = {
|
|
16
|
+
* [statusProperty]: boolean,
|
|
17
|
+
* subscribers: Set<(status: boolean) => void>,
|
|
18
|
+
* [callbackName]: (status: boolean) => void,
|
|
19
|
+
* }
|
|
20
|
+
*
|
|
21
|
+
* This class provides a JS-friendly API over that global object.
|
|
22
|
+
*/
|
|
23
|
+
class GlobalStateObserver {
|
|
24
|
+
#globalName: string;
|
|
25
|
+
#statusProperty: string;
|
|
26
|
+
|
|
27
|
+
constructor(globalName: string, statusProperty: string) {
|
|
28
|
+
this.#globalName = globalName;
|
|
29
|
+
this.#statusProperty = statusProperty;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
#hasNativeSupport(): boolean {
|
|
33
|
+
return global.hasOwnProperty(this.#globalName);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
getStatus(): boolean {
|
|
37
|
+
if (!this.#hasNativeSupport()) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return global[this.#globalName][this.#statusProperty];
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
subscribe(callback: (status: boolean) => void): () => void {
|
|
45
|
+
if (!this.#hasNativeSupport()) {
|
|
46
|
+
return () => {};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
global[this.#globalName].subscribers.add(callback);
|
|
50
|
+
return () => {
|
|
51
|
+
global[this.#globalName].subscribers.delete(callback);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export default GlobalStateObserver;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
* @flow strict
|
|
8
|
+
* @format
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import GlobalStateObserver from './GlobalStateObserver';
|
|
12
|
+
|
|
13
|
+
const observer = new GlobalStateObserver(
|
|
14
|
+
'__TRACING_STATE_OBSERVER__',
|
|
15
|
+
'isTracing',
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
const TracingStateObserver = {
|
|
19
|
+
isTracing(): boolean {
|
|
20
|
+
return observer.getStatus();
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
subscribe(callback: (isTracing: boolean) => void): () => void {
|
|
24
|
+
return observer.subscribe(callback);
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default TracingStateObserver;
|