react-native-windows 0.71.7 → 0.72.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 +13 -3
- package/Directory.Build.props +19 -19
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +1 -1
- package/Libraries/Alert/Alert.d.ts +4 -4
- package/Libraries/Alert/Alert.windows.js +2 -0
- package/Libraries/Alert/NativeDialogManagerWindows.js +1 -0
- package/Libraries/Animated/Animated.d.ts +17 -6
- package/Libraries/Animated/NativeAnimatedHelper.js +18 -6
- package/Libraries/Animated/bezier.js +1 -1
- package/Libraries/Animated/components/AnimatedFlatList.js +8 -3
- package/Libraries/Animated/components/AnimatedScrollView.js +4 -1
- package/Libraries/Animated/components/AnimatedSectionList.js +12 -3
- package/Libraries/Animated/createAnimatedComponent.js +26 -239
- package/Libraries/Animated/nodes/AnimatedColor.js +47 -80
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +167 -121
- package/Libraries/Animated/nodes/AnimatedNode.js +3 -5
- package/Libraries/Animated/nodes/AnimatedProps.js +7 -6
- package/Libraries/Animated/nodes/AnimatedStyle.js +42 -8
- package/Libraries/Animated/nodes/AnimatedTransform.js +1 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +8 -12
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +7 -10
- package/Libraries/AppTheme/AppTheme.js +1 -0
- package/Libraries/AppTheme/AppThemeTypes.d.ts +1 -1
- package/Libraries/BatchedBridge/MessageQueue.js +2 -1
- package/Libraries/BatchedBridge/NativeModules.d.ts +1 -1
- package/Libraries/BatchedBridge/NativeModules.js +1 -0
- package/Libraries/Blob/Blob.js +4 -0
- package/Libraries/Blob/FileReader.js +30 -2
- package/Libraries/Blob/URL.js +3 -1
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.d.ts +2 -2
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.js +2 -3
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.windows.js +2 -3
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +6 -4
- package/Libraries/Components/Button.js +3 -2
- package/Libraries/Components/Button.windows.js +3 -2
- package/Libraries/Components/Clipboard/Clipboard.js +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +4 -0
- package/Libraries/Components/Flyout/Flyout.d.ts +55 -19
- package/Libraries/Components/Flyout/Flyout.js +110 -51
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +45 -0
- package/Libraries/Components/Glyph/Glyph.d.ts +29 -12
- package/Libraries/Components/Glyph/Glyph.js +43 -30
- package/Libraries/Components/Glyph/GlyphNativeComponent.js +31 -0
- package/Libraries/Components/Keyboard/KeyboardAvoidingView.js +1 -0
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +2 -2
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Popup/Popup.d.ts +41 -19
- package/Libraries/Components/Popup/Popup.js +86 -52
- package/Libraries/Components/Popup/PopupNativeComponent.js +49 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -0
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -0
- package/Libraries/Components/SafeAreaView/SafeAreaView.js +1 -2
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +1 -2
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +12 -6
- package/Libraries/Components/ScrollView/ScrollView.d.ts +2 -2
- package/Libraries/Components/ScrollView/ScrollView.js +149 -91
- package/Libraries/Components/ScrollView/ScrollView.windows.js +1939 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +16 -6
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +175 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +5 -7
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -0
- package/Libraries/Components/Switch/Switch.js +3 -1
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +21 -11
- package/Libraries/Components/TextInput/InputAccessoryView.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +11 -5
- package/Libraries/Components/TextInput/TextInput.d.ts +15 -5
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/TextInput/TextInput.js +130 -103
- package/Libraries/Components/TextInput/TextInput.windows.js +152 -115
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/Touchable/Touchable.flow.js +30 -4
- package/Libraries/Components/Touchable/Touchable.js +6 -3
- package/Libraries/Components/Touchable/Touchable.windows.js +6 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +1 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +2 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -0
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +4 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +1 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +2 -2
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +2 -2
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +189 -0
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +43 -0
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +26 -0
- package/Libraries/Components/View/View.js +71 -45
- package/Libraries/Components/View/View.windows.js +40 -16
- package/Libraries/Components/View/ViewAccessibility.d.ts +6 -6
- package/Libraries/Components/View/ViewAccessibility.js +10 -1
- package/Libraries/Components/View/ViewAccessibility.windows.js +9 -0
- package/Libraries/Components/View/ViewNativeComponent.js +32 -8
- package/Libraries/Components/View/ViewPropTypes.d.ts +1 -1
- package/Libraries/Components/View/ViewPropTypes.js +1 -1
- package/Libraries/Components/View/ViewPropTypes.windows.js +3 -1
- package/Libraries/Core/Devtools/openFileInEditor.js +1 -0
- package/Libraries/Core/Devtools/openURLInBrowser.js +1 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +2 -2
- package/Libraries/Core/Devtools/parseHermesStack.js +54 -34
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/InitializeCore.js +2 -1
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/ReactNativeVersionCheck.js +1 -9
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/Timers/immediateShim.js +1 -0
- package/Libraries/Core/Timers/queueMicrotask.js +1 -1
- package/Libraries/Core/setUpAlert.js +1 -1
- package/Libraries/Core/setUpDOM.js +18 -0
- package/Libraries/Core/setUpDeveloperTools.js +1 -1
- package/Libraries/Core/setUpGlobals.js +5 -2
- package/Libraries/Core/setUpNavigator.js +6 -5
- package/Libraries/Core/setUpPerformance.js +23 -13
- package/Libraries/Core/setUpReactDevTools.js +2 -0
- package/Libraries/Core/setUpSegmentFetcher.js +0 -41
- package/Libraries/Core/setUpTimers.js +2 -2
- package/Libraries/DOM/Geometry/DOMRect.js +82 -0
- package/Libraries/DOM/Geometry/DOMRectReadOnly.js +188 -0
- package/Libraries/DOM/Nodes/ReactNativeElement.js +75 -0
- package/Libraries/DOM/Nodes/ReadOnlyElement.js +89 -0
- package/Libraries/DOM/Nodes/ReadOnlyNode.js +167 -0
- package/Libraries/DOM/OldStyleCollections/ArrayLikeUtils.js +46 -0
- package/Libraries/DOM/OldStyleCollections/DOMRectList.js +76 -0
- package/Libraries/DOM/OldStyleCollections/HTMLCollection.js +82 -0
- package/Libraries/DOM/OldStyleCollections/NodeList.js +104 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.android.js +35 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.d.ts +20 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.ios.js +49 -0
- package/Libraries/DevToolsSettings/DevToolsSettingsManager.windows.js +35 -0
- package/Libraries/{Utilities/NativeDevSplitBundleLoader.js → DevToolsSettings/NativeDevToolsSettingsManager.js} +7 -2
- package/Libraries/EventEmitter/NativeEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.d.ts +1 -2
- package/Libraries/EventEmitter/RCTDeviceEventEmitter.js +9 -1
- package/Libraries/Events/EventPolyfill.js +1 -1
- package/Libraries/Image/AssetRegistry.js +1 -1
- package/Libraries/Image/AssetSourceResolver.js +3 -3
- package/Libraries/Image/Image.android.js +4 -1
- package/Libraries/Image/Image.d.ts +63 -2
- package/Libraries/Image/Image.ios.js +3 -0
- package/Libraries/Image/Image.windows.js +3 -0
- package/Libraries/Image/ImageBackground.js +1 -0
- package/Libraries/Image/ImageProps.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +4 -4
- package/Libraries/Image/RelativeImageStub.js +1 -1
- package/Libraries/Image/TextInlineImageNativeComponent.js +1 -1
- package/Libraries/Image/resolveAssetSource.js +1 -1
- package/Libraries/Inspector/DevtoolsOverlay.js +29 -19
- package/Libraries/Inspector/ElementBox.js +4 -1
- package/Libraries/Inspector/Inspector.js +5 -6
- package/Libraries/Inspector/InspectorOverlay.js +3 -3
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/JSEventLoopWatchdog.js +1 -1
- package/Libraries/Interaction/PanResponder.js +5 -6
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -1
- package/Libraries/Linking/Linking.js +1 -4
- package/Libraries/Lists/FillRateHelper.js +4 -238
- package/Libraries/Lists/FlatList.d.ts +15 -22
- package/Libraries/Lists/FlatList.js +9 -6
- package/Libraries/Lists/SectionList.d.ts +10 -6
- package/Libraries/Lists/SectionList.js +5 -3
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/Lists/ViewabilityHelper.js +8 -344
- package/Libraries/Lists/VirtualizeUtils.js +4 -244
- package/Libraries/Lists/VirtualizedList.js +10 -1867
- package/Libraries/Lists/VirtualizedListContext.js +6 -104
- package/Libraries/Lists/VirtualizedSectionList.js +9 -602
- package/Libraries/Lists/__flowtests__/FlatList-flowtest.js +1 -0
- package/Libraries/Lists/__flowtests__/SectionList-flowtest.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +1 -1
- package/Libraries/LogBox/Data/parseLogBoxLog.js +1 -1
- package/Libraries/LogBox/LogBox.js +1 -1
- package/Libraries/LogBox/UI/LogBoxInspector.js +1 -3
- package/Libraries/LogBox/UI/LogBoxInspectorCodeFrame.windows.js +167 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +172 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +193 -0
- package/Libraries/LogBox/UI/LogBoxInspectorSourceMapStatus.js +1 -0
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.js +2 -2
- package/Libraries/LogBox/UI/LogBoxInspectorStackFrame.windows.js +118 -0
- package/Libraries/LogBox/UI/LogBoxMessage.js +87 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +5 -7
- package/Libraries/Modal/Modal.js +2 -2
- package/Libraries/NativeComponent/BaseViewConfig.android.js +32 -12
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +43 -19
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +77 -19
- package/Libraries/NativeComponent/NativeComponentRegistryUnstable.js +4 -1
- package/Libraries/NativeComponent/ViewConfig.js +1 -0
- package/Libraries/NativeComponent/ViewConfigIgnore.js +1 -4
- package/Libraries/Network/RCTNetworking.android.js +2 -2
- package/Libraries/Network/RCTNetworking.ios.js +1 -1
- package/Libraries/Network/RCTNetworking.windows.js +1 -1
- package/Libraries/Network/XMLHttpRequest.js +1 -1
- package/Libraries/Pressability/Pressability.js +11 -5
- package/Libraries/Pressability/Pressability.windows.js +11 -4
- package/Libraries/ReactNative/AppContainer.js +7 -1
- package/Libraries/ReactNative/AppRegistry.d.ts +1 -1
- package/Libraries/ReactNative/AppRegistry.js +10 -13
- package/Libraries/ReactNative/FabricUIManager.js +24 -8
- package/Libraries/ReactNative/NativeUIManager.js +5 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +10 -10
- package/Libraries/ReactNative/UIManager.js +142 -1
- package/Libraries/ReactNative/getCachedComponentWithDebugName.js +5 -5
- package/Libraries/ReactNative/getNativeComponentAttributes.js +1 -1
- package/Libraries/ReactNative/requireNativeComponent.d.ts +1 -1
- package/Libraries/ReactNative/requireNativeComponent.js +1 -1
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +1 -0
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +26 -3
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +13 -1
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +13 -1
- package/Libraries/Renderer/public/ReactFabricPublicInstanceUtils.js +38 -0
- package/Libraries/Renderer/shims/ReactNativeTypes.js +38 -20
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -7
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.js +1 -1
- package/Libraries/StyleSheet/PlatformColorValueTypes.ios.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +115 -76
- package/Libraries/StyleSheet/StyleSheetTypes.js +188 -33
- package/Libraries/StyleSheet/flattenStyle.js +2 -0
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processColor.js +1 -1
- package/Libraries/Text/Text.d.ts +12 -2
- package/Libraries/Text/Text.js +50 -41
- package/Libraries/Text/Text.windows.js +48 -38
- package/Libraries/Text/TextProps.js +3 -4
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +6 -0
- package/Libraries/Types/CodegenTypes.js +1 -0
- package/Libraries/UTFSequence.js +3 -1
- package/Libraries/Utilities/Appearance.d.ts +10 -0
- package/Libraries/Utilities/Appearance.js +13 -0
- package/Libraries/Utilities/Dimensions.js +1 -1
- package/Libraries/Utilities/GlobalPerformanceLogger.js +12 -1
- package/Libraries/Utilities/HMRClient.js +16 -10
- package/Libraries/Utilities/{createPerformanceLogger.d.ts → IPerformanceLogger.d.ts} +4 -4
- package/Libraries/Utilities/IPerformanceLogger.js +49 -0
- package/Libraries/Utilities/LoadingView.android.js +28 -11
- package/Libraries/Utilities/NativeAppearance.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +1 -1
- package/Libraries/Utilities/PixelRatio.js +2 -2
- package/Libraries/Utilities/Platform.windows.js +1 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/__mocks__/PixelRatio.js +1 -1
- package/Libraries/Utilities/codegenNativeCommands.js +2 -0
- package/Libraries/Utilities/createPerformanceLogger.js +55 -43
- package/Libraries/Utilities/stringifySafe.js +2 -7
- package/Libraries/Utilities/useColorScheme.js +1 -1
- package/Libraries/Utilities/useWindowDimensions.js +3 -3
- package/Libraries/WebPerformance/EventCounts.js +78 -0
- package/Libraries/WebPerformance/MemoryInfo.js +54 -0
- package/Libraries/WebPerformance/NativePerformance.js +38 -0
- package/Libraries/WebPerformance/NativePerformanceObserver.js +22 -7
- package/Libraries/WebPerformance/Performance.js +312 -0
- package/Libraries/WebPerformance/PerformanceEntry.js +45 -0
- package/Libraries/WebPerformance/PerformanceEventTiming.js +38 -0
- package/Libraries/WebPerformance/PerformanceObserver.js +196 -101
- package/Libraries/WebPerformance/RawPerformanceEntry.js +87 -0
- package/Libraries/WebPerformance/ReactNativeStartupTiming.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformance.js +65 -0
- package/Libraries/WebPerformance/__mocks__/NativePerformanceObserver.js +101 -0
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/platform-types.d.ts +3 -5
- package/Libraries/vendor/core/ErrorUtils.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.d.ts +2 -2
- package/Libraries/vendor/emitter/EventEmitter.js +9 -1
- package/Microsoft.ReactNative/Base/CoreNativeModules.cpp +0 -15
- package/Microsoft.ReactNative/CompositionHwndHost.idl +6 -0
- package/Microsoft.ReactNative/CompositionRootView.idl +35 -0
- package/Microsoft.ReactNative/CompositionSwitcher.idl +19 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +174 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +91 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +48 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +48 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +19 -2
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +144 -0
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +97 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +227 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +38 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +112 -95
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +0 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +27 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +8 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +147 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +46 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +31 -4
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +37 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +255 -50
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +34 -15
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +127 -47
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +11 -7
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +109 -39
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +10 -7
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +106 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +63 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +116 -0
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +43 -0
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +53 -38
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +12 -8
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +262 -0
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +62 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +35 -30
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +11 -9
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.cpp +9 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +3 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +72 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +16 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +168 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +49 -0
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +19 -53
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +2 -3
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +8 -9
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +100 -0
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +43 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.cpp +61 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/WindowsViewProps.h +34 -0
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/windows/primitives.h +42 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewProps.h +10 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +248 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.cpp +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +135 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +18 -240
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -17
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +13 -2
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +87 -0
- package/Microsoft.ReactNative/IReactContext.cpp +4 -0
- package/Microsoft.ReactNative/IReactContext.h +1 -0
- package/Microsoft.ReactNative/IReactContext.idl +5 -0
- package/Microsoft.ReactNative/IReactDispatcher.cpp +4 -0
- package/Microsoft.ReactNative/IReactDispatcher.h +1 -0
- package/Microsoft.ReactNative/IReactPackageBuilderFabric.idl +23 -0
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +23 -0
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +4 -118
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +1 -7
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +100 -4
- package/Microsoft.ReactNative/Modules/AlertModule.h +4 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.cpp +9 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedModule.h +2 -0
- package/Microsoft.ReactNative/Modules/Animated/NativeAnimatedNodeManager.cpp +7 -5
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +17 -3
- package/Microsoft.ReactNative/Modules/Animated/ValueAnimatedNode.h +1 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +3 -0
- package/Microsoft.ReactNative/Modules/ClipboardModule.cpp +4 -4
- package/Microsoft.ReactNative/Modules/ClipboardModule.h +2 -2
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +27 -7
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +9 -5
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +10 -12
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +4 -4
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +21 -1
- package/Microsoft.ReactNative/QuirkSettings.cpp +17 -0
- package/Microsoft.ReactNative/QuirkSettings.h +5 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactApplication.cpp +8 -0
- package/Microsoft.ReactNative/ReactApplication.h +3 -0
- package/Microsoft.ReactNative/ReactApplication.idl +3 -0
- package/Microsoft.ReactNative/ReactCoreInjection.cpp +29 -0
- package/Microsoft.ReactNative/ReactCoreInjection.h +6 -0
- package/Microsoft.ReactNative/ReactCoreInjection.idl +13 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +7 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +1 -0
- package/Microsoft.ReactNative/ReactHost/React.h +2 -0
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +57 -16
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.h +12 -0
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactNativeHost.cpp +17 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.cpp +18 -0
- package/Microsoft.ReactNative/ReactPackageBuilder.h +24 -1
- package/Microsoft.ReactNative/ReactRootView.cpp +2 -2
- package/Microsoft.ReactNative/RedBox.cpp +2 -1
- package/Microsoft.ReactNative/Utils/Helpers.cpp +0 -32
- package/Microsoft.ReactNative/Utils/Helpers.h +0 -8
- package/Microsoft.ReactNative/Utils/ImageUtils.cpp +69 -6
- package/Microsoft.ReactNative/Utils/ImageUtils.h +3 -1
- package/Microsoft.ReactNative/Utils/KeyboardUtils.cpp +416 -0
- package/Microsoft.ReactNative/Utils/KeyboardUtils.h +15 -0
- package/Microsoft.ReactNative/Utils/TransformableText.h +1 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -9
- package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -2
- package/Microsoft.ReactNative/ViewProps.idl +30 -0
- package/Microsoft.ReactNative/Views/ControlViewManager.cpp +6 -2
- package/Microsoft.ReactNative/Views/DevMenu.cpp +369 -230
- package/Microsoft.ReactNative/Views/DevMenu.h +3 -15
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +6 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +11 -3
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.h +5 -1
- package/Microsoft.ReactNative/Views/Image/ReactImage.cpp +29 -22
- package/Microsoft.ReactNative/Views/Image/ReactImage.h +2 -2
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.cpp +10 -405
- package/Microsoft.ReactNative/Views/KeyboardEventHandler.h +0 -3
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -0
- package/Microsoft.ReactNative/Views/ScrollViewManager.cpp +2 -2
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +7 -0
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -0
- package/Microsoft.ReactNative/Views/Text/TextHitTestUtils.cpp +6 -1
- package/Microsoft.ReactNative/Views/Text/TextPropertyChangedParentVisitor.cpp +1 -0
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +38 -2
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +3 -0
- package/Microsoft.ReactNative/Views/TouchEventHandler.h +0 -4
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +0 -8
- package/Microsoft.ReactNative/Views/ViewPanel.cpp +1 -1
- package/Microsoft.ReactNative/Views/ViewViewManager.cpp +12 -3
- package/Microsoft.ReactNative/XamlHelper.cpp +36 -0
- package/Microsoft.ReactNative/XamlHelper.h +27 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +4 -4
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.cpp +10 -8
- package/Microsoft.ReactNative.Cxx/JSI/NodeApiJsiRuntime.h +3 -3
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +4 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
- package/Microsoft.ReactNative.Cxx/NativeModules.h +16 -1
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
- package/Microsoft.ReactNative.Managed/packages.lock.json +5 -5
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.ProjectReferences.props +3 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +2 -3
- package/PropertySheets/Warnings.props +1 -1
- package/ReactCommon/ReactCommon.vcxproj +2 -4
- package/ReactCommon/ReactCommon.vcxproj.filters +3 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +60 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +63 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.cpp +237 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/TouchEventEmitter.h +59 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.cpp +159 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewEventEmitter.h +94 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.cpp +465 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewProps.h +116 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/ViewShadowNode.cpp +98 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +362 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/primitives.h +326 -0
- package/ReactCommon/Yoga.cpp +60 -127
- package/Scripts/OfficeReact.Win32.nuspec +1 -0
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +1 -0
- package/Scripts/rnw-dependencies.ps1 +12 -4
- package/Shared/Composition/CompositionSwitcher.interop.h +1 -0
- package/Shared/DevServerHelper.h +11 -2
- package/Shared/DevSettings.h +1 -0
- package/Shared/DevSupportManager.cpp +11 -1
- package/Shared/DevSupportManager.h +1 -0
- package/Shared/HermesRuntimeHolder.cpp +53 -30
- package/Shared/HermesRuntimeHolder.h +26 -11
- package/Shared/HermesSamplingProfiler.cpp +61 -8
- package/Shared/HermesSamplingProfiler.h +6 -3
- package/Shared/HermesShim.cpp +86 -82
- package/Shared/HermesShim.h +28 -8
- package/Shared/JSI/ChakraRuntime.cpp +7 -4
- package/Shared/JSI/ChakraRuntime.h +4 -4
- package/Shared/JSI/NapiJsiV8RuntimeHolder.h +2 -0
- package/Shared/JSI/RuntimeHolder.h +2 -2
- package/Shared/Logging.cpp +1 -1
- package/Shared/Modules/BlobModule.cpp +3 -4
- package/Shared/Modules/BlobModule.h +0 -4
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +13 -17
- package/Shared/Networking/OriginPolicyHttpFilter.h +11 -12
- package/Shared/Networking/WinRTWebSocketResource.cpp +59 -45
- package/Shared/OInstance.cpp +9 -2
- package/Shared/Shared.vcxitems +265 -58
- package/Shared/Shared.vcxitems.filters +312 -42
- package/Shared/V8JSIRuntimeHolder.cpp +1 -0
- package/Shared/V8JSIRuntimeHolder.h +7 -2
- package/codegen/NativeAppearanceSpec.g.h +9 -3
- package/codegen/NativeClipboardSpec.g.h +3 -3
- package/codegen/NativeDevToolsSettingsManagerSpec.g.h +51 -0
- package/codegen/NativeDialogManagerWindowsSpec.g.h +2 -0
- package/codegen/NativeFileReaderModuleSpec.g.h +6 -6
- package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +3 -3
- package/codegen/NativeImageLoaderAndroidSpec.g.h +25 -9
- package/codegen/NativeImageLoaderIOSSpec.g.h +20 -12
- package/codegen/NativeIntentAndroidSpec.g.h +15 -15
- package/codegen/NativeLinkingManagerSpec.g.h +12 -12
- package/codegen/NativePerformanceObserverSpec.g.h +48 -10
- package/codegen/NativePerformanceSpec.g.h +63 -0
- package/codegen/NativePermissionsAndroidSpec.g.h +9 -9
- package/codegen/NativePlatformConstantsWinSpec.g.h +1 -1
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +6 -6
- package/codegen/NativeSampleTurboModuleSpec.g.h +25 -19
- package/codegen/NativeShareModuleSpec.g.h +9 -3
- package/codegen/NativeUIManagerSpec.g.h +12 -12
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +1 -2
- package/codegen/react/components/rnwcore/EventEmitters.cpp +21 -29
- package/codegen/react/components/rnwcore/EventEmitters.h +30 -30
- package/codegen/react/components/rnwcore/Props.cpp +47 -48
- package/codegen/react/components/rnwcore/Props.h +59 -166
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +1 -2
- package/codegen/react/components/rnwcore/ShadowNodes.h +11 -22
- package/codegen/react/components/rnwcore/States.h +15 -30
- package/codegen/rnwcoreJSI-generated.cpp +87 -25
- package/codegen/rnwcoreJSI.h +1077 -417
- package/generate.js +6 -1
- package/include/Include.vcxitems +0 -1
- package/include/Include.vcxitems.filters +0 -3
- package/index.js +56 -42
- package/index.windows.js +56 -42
- package/interface.js +1 -1
- package/jest/local-setup.js +33 -0
- package/jest/mockComponent.js +4 -2
- package/jest/mockNativeComponent.js +1 -1
- package/jest/mockScrollView.js +2 -1
- package/jest/react-native-env.js +1 -3
- package/jest/setup.js +11 -8
- package/just-task.js +12 -5
- package/package.json +32 -29
- package/rn-get-polyfills.js +1 -1
- package/template/metro.config.js +2 -0
- package/Libraries/Animated/createAnimatedComponentInjection.js +0 -48
- package/Libraries/Animated/createAnimatedComponent_EXPERIMENTAL.js +0 -48
- package/Libraries/Components/AccessibilityInfo/AccessibilityInfo.flow.js +0 -208
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.flow.js +0 -58
- package/Libraries/Components/DatePicker/DatePickerIOS.android.js +0 -47
- package/Libraries/Components/DatePicker/DatePickerIOS.d.ts +0 -92
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.android.js +0 -14
- package/Libraries/Components/DatePicker/DatePickerIOS.flow.ios.js +0 -113
- package/Libraries/Components/DatePicker/DatePickerIOS.ios.js +0 -242
- package/Libraries/Components/DatePicker/DatePickerIOS.windows.js +0 -47
- package/Libraries/Components/DatePicker/RCTDatePickerNativeComponent.js +0 -60
- package/Libraries/Components/DatePickerAndroid/NativeDatePickerAndroid.js +0 -26
- package/Libraries/Components/Flyout/Flyout.js.map +0 -1
- package/Libraries/Components/Flyout/FlyoutProps.d.ts +0 -25
- package/Libraries/Components/Flyout/FlyoutProps.js +0 -3
- package/Libraries/Components/Flyout/FlyoutProps.js.map +0 -1
- package/Libraries/Components/Glyph/Glyph.js.map +0 -1
- package/Libraries/Components/Glyph/GlyphProps.d.ts +0 -16
- package/Libraries/Components/Glyph/GlyphProps.js +0 -8
- package/Libraries/Components/Glyph/GlyphProps.js.map +0 -1
- package/Libraries/Components/Popup/Popup.js.map +0 -1
- package/Libraries/Components/Popup/PopupProps.d.ts +0 -27
- package/Libraries/Components/Popup/PopupProps.js +0 -8
- package/Libraries/Components/Popup/PopupProps.js.map +0 -1
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.android.js +0 -45
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.d.ts +0 -62
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.ios.js +0 -75
- package/Libraries/Components/ProgressViewIOS/ProgressViewIOS.windows.js +0 -45
- package/Libraries/Components/ProgressViewIOS/RCTProgressViewNativeComponent.js +0 -33
- package/Libraries/Components/SafeAreaView/SafeAreaView.flow.js +0 -19
- package/Libraries/Components/Slider/Slider.d.ts +0 -132
- package/Libraries/Components/Slider/Slider.js +0 -282
- package/Libraries/Components/Slider/SliderNativeComponent.js +0 -56
- package/Libraries/Interaction/Batchinator.js +0 -76
- package/Libraries/Interaction/BridgeSpyStallHandler.js +0 -63
- package/Libraries/Interaction/InteractionStallDebugger.js +0 -23
- package/Libraries/Interaction/PanResponder.flow.js +0 -257
- package/Libraries/Lists/CellRenderMask.js +0 -155
- package/Libraries/Lists/ChildListCollection.js +0 -72
- package/Libraries/Lists/StateSafePureComponent.js +0 -85
- package/Libraries/Lists/VirtualizedList.d.ts +0 -347
- package/Libraries/Lists/VirtualizedListCellRenderer.js +0 -259
- package/Libraries/Lists/VirtualizedListProps.js +0 -279
- package/Libraries/Performance/PureComponentDebug.js +0 -74
- package/Libraries/Reliability/UserFlow.js +0 -158
- package/Libraries/Renderer/implementations/ReactNativeRenderer.d.ts +0 -149
- package/Libraries/Renderer/shims/ReactNativeTypes.d.ts +0 -141
- package/Libraries/Utilities/MatrixMath.js +0 -748
- package/Libraries/Utilities/buildStyleInterpolator.js +0 -209
- package/Libraries/Utilities/clamp.js +0 -23
- package/Libraries/Utilities/deprecatedPropType.js +0 -36
- package/Libraries/Utilities/groupByEveryN.js +0 -51
- package/Libraries/Utilities/mergeIntoFast.js +0 -26
- package/Libraries/Utilities/setAndForwardRef.js +0 -71
- package/Libraries/Utilities/truncate.js +0 -51
- package/Microsoft.ReactNative/Fabric/platform/react/components/image/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ConcreteViewShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/components/view/ViewProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/ConcreteComponentDescriptor.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/PropsParserContext.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/core/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/graphics/Color.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/imagemanager/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputEventEmitter.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputProps.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputShadowNode.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/TextInputState.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/conversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/primitives.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/iostextinput/propsConversions.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/EventEmitters.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/Props.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rncore/States.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/platform/cxx/react/renderer/graphics/Color.h +0 -135
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/ConcreteComponentDescriptor.h +0 -217
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/graphics/RectangleEdges.h +0 -100
- package/Shared/AsyncStorage/AsyncStorageManager.cpp +0 -149
- package/Shared/AsyncStorage/AsyncStorageManager.h +0 -71
- package/Shared/AsyncStorage/FollyDynamicConverter.cpp +0 -51
- package/Shared/AsyncStorage/FollyDynamicConverter.h +0 -24
- package/Shared/AsyncStorage/KeyValueStorage.cpp +0 -248
- package/Shared/AsyncStorage/KeyValueStorage.h +0 -50
- package/Shared/AsyncStorage/StorageFileIO.cpp +0 -160
- package/Shared/AsyncStorage/StorageFileIO.h +0 -40
- package/Shared/AsyncStorageModule.h +0 -25
- package/Shared/Modules/AsyncStorageModule.cpp +0 -87
- package/Shared/Modules/AsyncStorageModuleWin32.cpp +0 -496
- package/Shared/Modules/AsyncStorageModuleWin32.h +0 -75
- package/codegen/NativeDatePickerAndroidSpec.g.h +0 -33
- package/codegen/NativeDevSplitBundleLoaderSpec.g.h +0 -33
- package/include/Shared/AsyncStorageModuleWin32Config.h +0 -15
- package/types/index.d.ts +0 -216
- package/types/modules/BatchedBridge.d.ts +0 -32
- package/types/modules/Codegen.d.ts +0 -74
- package/types/modules/Devtools.d.ts +0 -31
- package/types/modules/LaunchScreen.d.ts +0 -18
- package/types/modules/globals.d.ts +0 -577
- package/types/private/TimerMixin.d.ts +0 -19
- package/types/private/Utilities.d.ts +0 -10
- package/types/public/DeprecatedPropertiesAlias.d.ts +0 -205
- package/types/public/Insets.d.ts +0 -15
- package/types/public/ReactNativeRenderer.d.ts +0 -149
- package/types/public/ReactNativeTypes.d.ts +0 -143
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
|
|
5
|
+
#pragma once
|
|
6
|
+
|
|
7
|
+
#include "AbiCompositionViewComponentView.h"
|
|
8
|
+
|
|
9
|
+
#include <Fabric/DWriteHelpers.h>
|
|
10
|
+
#include "CompositionDynamicAutomationProvider.h"
|
|
11
|
+
#include "Unicode.h"
|
|
12
|
+
|
|
13
|
+
namespace Microsoft::ReactNative {
|
|
14
|
+
|
|
15
|
+
AbiCompositionViewComponentView::AbiCompositionViewComponentView(
|
|
16
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
17
|
+
facebook::react::Tag tag,
|
|
18
|
+
winrt::Microsoft::ReactNative::IReactViewComponentBuilder builder)
|
|
19
|
+
: Super(compContext, tag), m_builder(builder) {
|
|
20
|
+
static auto const defaultProps = std::make_shared<AbiViewProps const>();
|
|
21
|
+
m_props = defaultProps;
|
|
22
|
+
m_handle = Builder().CreateView(compContext);
|
|
23
|
+
m_visual = Builder().CreateVisual(m_handle);
|
|
24
|
+
OuterVisual().InsertAt(m_visual, 0);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
std::shared_ptr<AbiCompositionViewComponentView> AbiCompositionViewComponentView::Create(
|
|
28
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
29
|
+
facebook::react::Tag tag,
|
|
30
|
+
winrt::Microsoft::ReactNative::IReactViewComponentBuilder builder) noexcept {
|
|
31
|
+
return std::shared_ptr<AbiCompositionViewComponentView>(
|
|
32
|
+
new AbiCompositionViewComponentView(compContext, tag, builder));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
winrt::Microsoft::ReactNative::Composition::ReactCompositionViewComponentBuilder &
|
|
36
|
+
AbiCompositionViewComponentView::Builder() noexcept {
|
|
37
|
+
return *winrt::get_self<winrt::Microsoft::ReactNative::Composition::ReactCompositionViewComponentBuilder>(m_builder);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
void AbiCompositionViewComponentView::mountChildComponentView(
|
|
41
|
+
IComponentView &childComponentView,
|
|
42
|
+
uint32_t index) noexcept {
|
|
43
|
+
assert(false);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
void AbiCompositionViewComponentView::unmountChildComponentView(
|
|
47
|
+
IComponentView &childComponentView,
|
|
48
|
+
uint32_t index) noexcept {
|
|
49
|
+
assert(false);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
void AbiCompositionViewComponentView::updateProps(
|
|
53
|
+
facebook::react::Props::Shared const &props,
|
|
54
|
+
facebook::react::Props::Shared const &oldProps) noexcept {
|
|
55
|
+
const auto &oldViewProps = *std::static_pointer_cast<const AbiViewProps>(m_props);
|
|
56
|
+
const auto &newViewProps = *std::static_pointer_cast<const AbiViewProps>(props);
|
|
57
|
+
|
|
58
|
+
updateBorderProps(oldViewProps, newViewProps);
|
|
59
|
+
Builder().UpdateProps(m_handle, newViewProps.UserProps());
|
|
60
|
+
|
|
61
|
+
m_props = std::static_pointer_cast<AbiViewProps const>(props);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
void AbiCompositionViewComponentView::updateLayoutMetrics(
|
|
65
|
+
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
66
|
+
facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept {
|
|
67
|
+
if ((layoutMetrics.displayType != m_layoutMetrics.displayType)) {
|
|
68
|
+
OuterVisual().IsVisible(layoutMetrics.displayType != facebook::react::DisplayType::None);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
updateBorderLayoutMetrics(layoutMetrics, *m_props);
|
|
72
|
+
|
|
73
|
+
winrt::Microsoft::ReactNative::Composition::LayoutMetrics lm;
|
|
74
|
+
Builder().UpdateLayoutMetrics(
|
|
75
|
+
m_handle,
|
|
76
|
+
{{layoutMetrics.frame.origin.x,
|
|
77
|
+
layoutMetrics.frame.origin.y,
|
|
78
|
+
layoutMetrics.frame.size.width,
|
|
79
|
+
layoutMetrics.frame.size.height},
|
|
80
|
+
layoutMetrics.pointScaleFactor});
|
|
81
|
+
|
|
82
|
+
m_layoutMetrics = layoutMetrics;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
void AbiCompositionViewComponentView::updateState(
|
|
86
|
+
facebook::react::State::Shared const &state,
|
|
87
|
+
facebook::react::State::Shared const &oldState) noexcept {}
|
|
88
|
+
|
|
89
|
+
void AbiCompositionViewComponentView::finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept {
|
|
90
|
+
Builder().FinalizeUpdates(m_handle);
|
|
91
|
+
|
|
92
|
+
if (m_needsBorderUpdate) {
|
|
93
|
+
m_needsBorderUpdate = false;
|
|
94
|
+
UpdateSpecialBorderLayers(m_layoutMetrics, *m_props);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
bool AbiCompositionViewComponentView::focusable() const noexcept {
|
|
99
|
+
return m_props->focusable;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
int64_t AbiCompositionViewComponentView::sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept {
|
|
103
|
+
return Builder().SendMessage(m_handle, msg, wParam, lParam);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
std::vector<facebook::react::ComponentDescriptorProvider>
|
|
107
|
+
AbiCompositionViewComponentView::supplementalComponentDescriptorProviders() noexcept {
|
|
108
|
+
return {};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
void AbiCompositionViewComponentView::prepareForRecycle() noexcept {}
|
|
112
|
+
facebook::react::Props::Shared AbiCompositionViewComponentView::props() noexcept {
|
|
113
|
+
return m_props;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
winrt::Microsoft::ReactNative::Composition::IVisual AbiCompositionViewComponentView::Visual() const noexcept {
|
|
117
|
+
return m_visual;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
facebook::react::Tag AbiCompositionViewComponentView::hitTest(
|
|
121
|
+
facebook::react::Point pt,
|
|
122
|
+
facebook::react::Point &localPt) const noexcept {
|
|
123
|
+
facebook::react::Point ptLocal{pt.x - m_layoutMetrics.frame.origin.x, pt.y - m_layoutMetrics.frame.origin.y};
|
|
124
|
+
|
|
125
|
+
if ((m_props->pointerEvents == facebook::react::PointerEventsMode::Auto ||
|
|
126
|
+
m_props->pointerEvents == facebook::react::PointerEventsMode::BoxOnly) &&
|
|
127
|
+
ptLocal.x >= 0 && ptLocal.x <= m_layoutMetrics.frame.size.width && ptLocal.y >= 0 &&
|
|
128
|
+
ptLocal.y <= m_layoutMetrics.frame.size.height) {
|
|
129
|
+
localPt = ptLocal;
|
|
130
|
+
return tag();
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return -1;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
winrt::IInspectable AbiCompositionViewComponentView::EnsureUiaProvider() noexcept {
|
|
137
|
+
if (m_uiaProvider == nullptr) {
|
|
138
|
+
m_uiaProvider = winrt::make<winrt::Microsoft::ReactNative::implementation::CompositionDynamicAutomationProvider>(
|
|
139
|
+
shared_from_this());
|
|
140
|
+
}
|
|
141
|
+
return m_uiaProvider;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT License.
|
|
4
|
+
|
|
5
|
+
#pragma once
|
|
6
|
+
|
|
7
|
+
#include <Fabric/AbiViewProps.h>
|
|
8
|
+
#include <Fabric/ComponentView.h>
|
|
9
|
+
#include <Microsoft.ReactNative.Cxx/ReactContext.h>
|
|
10
|
+
#include "CompositionViewComponentView.h"
|
|
11
|
+
|
|
12
|
+
#include <Fabric/Composition/ReactCompositionViewComponentBuilder.h>
|
|
13
|
+
|
|
14
|
+
#include <react/components/rnwcore/ShadowNodes.h>
|
|
15
|
+
|
|
16
|
+
namespace Microsoft::ReactNative {
|
|
17
|
+
|
|
18
|
+
struct AbiCompositionViewComponentView : CompositionBaseComponentView {
|
|
19
|
+
using Super = CompositionBaseComponentView;
|
|
20
|
+
|
|
21
|
+
[[nodiscard]] static std::shared_ptr<AbiCompositionViewComponentView> Create(
|
|
22
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
23
|
+
facebook::react::Tag tag,
|
|
24
|
+
winrt::Microsoft::ReactNative::IReactViewComponentBuilder builder) noexcept;
|
|
25
|
+
|
|
26
|
+
winrt::IInspectable EnsureUiaProvider() noexcept override;
|
|
27
|
+
|
|
28
|
+
void mountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
29
|
+
void unmountChildComponentView(IComponentView &childComponentView, uint32_t index) noexcept override;
|
|
30
|
+
|
|
31
|
+
void updateState(facebook::react::State::Shared const &state, facebook::react::State::Shared const &oldState) noexcept
|
|
32
|
+
override;
|
|
33
|
+
|
|
34
|
+
void updateProps(facebook::react::Props::Shared const &props, facebook::react::Props::Shared const &oldProps) noexcept
|
|
35
|
+
override;
|
|
36
|
+
void updateLayoutMetrics(
|
|
37
|
+
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
38
|
+
facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept override;
|
|
39
|
+
void finalizeUpdates(RNComponentViewUpdateMask updateMask) noexcept override;
|
|
40
|
+
void prepareForRecycle() noexcept override;
|
|
41
|
+
bool focusable() const noexcept override;
|
|
42
|
+
int64_t sendMessage(uint32_t msg, uint64_t wParam, int64_t lParam) noexcept override;
|
|
43
|
+
std::vector<facebook::react::ComponentDescriptorProvider> supplementalComponentDescriptorProviders() noexcept
|
|
44
|
+
override;
|
|
45
|
+
facebook::react::Props::Shared props() noexcept override;
|
|
46
|
+
facebook::react::Tag hitTest(facebook::react::Point pt, facebook::react::Point &localPt) const noexcept override;
|
|
47
|
+
winrt::Microsoft::ReactNative::Composition::IVisual Visual() const noexcept override;
|
|
48
|
+
|
|
49
|
+
private:
|
|
50
|
+
AbiCompositionViewComponentView(
|
|
51
|
+
const winrt::Microsoft::ReactNative::Composition::ICompositionContext &compContext,
|
|
52
|
+
facebook::react::Tag tag,
|
|
53
|
+
winrt::Microsoft::ReactNative::IReactViewComponentBuilder builder);
|
|
54
|
+
|
|
55
|
+
winrt::Microsoft::ReactNative::Composition::ReactCompositionViewComponentBuilder &Builder() noexcept;
|
|
56
|
+
|
|
57
|
+
winrt::IInspectable m_handle;
|
|
58
|
+
winrt::Microsoft::ReactNative::IReactViewComponentBuilder m_builder;
|
|
59
|
+
std::shared_ptr<AbiViewProps const> m_props;
|
|
60
|
+
winrt::Microsoft::ReactNative::Composition::IVisual m_visual{nullptr};
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
} // namespace Microsoft::ReactNative
|
|
@@ -19,12 +19,17 @@
|
|
|
19
19
|
#include <react/renderer/components/text/TextShadowNode.h>
|
|
20
20
|
#include <react/renderer/components/view/ViewShadowNode.h>
|
|
21
21
|
|
|
22
|
+
#include <Fabric/Composition/AbiCompositionViewComponentView.h>
|
|
22
23
|
#include <Fabric/Composition/CompositionHelpers.h>
|
|
23
24
|
#include <Fabric/Composition/CompositionViewComponentView.h>
|
|
24
25
|
#include <Fabric/Composition/ImageComponentView.h>
|
|
25
26
|
#include <Fabric/Composition/ParagraphComponentView.h>
|
|
27
|
+
#include <Fabric/Composition/RootComponentView.h>
|
|
26
28
|
#include <Fabric/Composition/ScrollViewComponentView.h>
|
|
29
|
+
#include <Fabric/Composition/SwitchComponentView.h>
|
|
27
30
|
#include <Fabric/Composition/TextInput/WindowsTextInputComponentView.h>
|
|
31
|
+
#include <Fabric/Composition/UnimplementedNativeViewComponentView.h>
|
|
32
|
+
#include <Fabric/WindowsComponentDescriptorRegistry.h>
|
|
28
33
|
|
|
29
34
|
namespace Microsoft::ReactNative {
|
|
30
35
|
|
|
@@ -40,16 +45,32 @@ ComponentViewDescriptor const &ComponentViewRegistry::dequeueComponentViewWithCo
|
|
|
40
45
|
|
|
41
46
|
std::shared_ptr<CompositionBaseComponentView> view;
|
|
42
47
|
|
|
43
|
-
if (componentHandle == facebook::react::
|
|
44
|
-
view =
|
|
48
|
+
if (componentHandle == facebook::react::ViewShadowNode::Handle()) {
|
|
49
|
+
view = CompositionViewComponentView::Create(compContext, tag);
|
|
50
|
+
} else if (componentHandle == facebook::react::ParagraphShadowNode::Handle()) {
|
|
51
|
+
view = ParagraphComponentView::Create(compContext, tag);
|
|
45
52
|
} else if (componentHandle == facebook::react::ScrollViewShadowNode::Handle()) {
|
|
46
|
-
view =
|
|
53
|
+
view = ScrollViewComponentView::Create(compContext, tag);
|
|
47
54
|
} else if (componentHandle == facebook::react::ImageShadowNode::Handle()) {
|
|
48
|
-
view =
|
|
55
|
+
view = ImageComponentView::Create(compContext, tag, m_context);
|
|
49
56
|
} else if (componentHandle == facebook::react::WindowsTextInputShadowNode::Handle()) {
|
|
50
|
-
view =
|
|
57
|
+
view = WindowsTextInputComponentView::Create(compContext, tag, m_context);
|
|
58
|
+
} else if (componentHandle == facebook::react::SwitchShadowNode::Handle()) {
|
|
59
|
+
view = SwitchComponentView::Create(compContext, tag, m_context);
|
|
60
|
+
} else if (componentHandle == facebook::react::RootShadowNode::Handle()) {
|
|
61
|
+
view = RootComponentView::Create(compContext, tag);
|
|
62
|
+
} else if (
|
|
63
|
+
componentHandle == facebook::react::RawTextShadowNode::Handle() ||
|
|
64
|
+
componentHandle == facebook::react::TextShadowNode::Handle()) {
|
|
65
|
+
// Review - Why do we get asked for ComponentViews for Text/RawText... do these get used?
|
|
66
|
+
view = CompositionViewComponentView::Create(compContext, tag);
|
|
67
|
+
} else if (componentHandle == facebook::react::UnimplementedNativeViewShadowNode::Handle()) {
|
|
68
|
+
view = UnimplementedNativeViewComponentView::Create(compContext, tag);
|
|
51
69
|
} else {
|
|
52
|
-
|
|
70
|
+
auto descriptor =
|
|
71
|
+
WindowsComponentDescriptorRegistry::FromProperties(m_context.Properties())->GetDescriptor(componentHandle);
|
|
72
|
+
view = AbiCompositionViewComponentView::Create(
|
|
73
|
+
compContext, tag, descriptor.as<winrt::Microsoft::ReactNative::IReactViewComponentBuilder>());
|
|
53
74
|
}
|
|
54
75
|
|
|
55
76
|
auto it = m_registry.insert({tag, ComponentViewDescriptor{view}});
|
|
@@ -192,6 +192,10 @@ struct CompVisual : public winrt::implements<
|
|
|
192
192
|
}
|
|
193
193
|
|
|
194
194
|
void SetClippingPath(ID2D1Geometry *clippingPath) noexcept {
|
|
195
|
+
if (!clippingPath) {
|
|
196
|
+
m_visual.Clip(nullptr);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
195
199
|
auto geometry = winrt::make<GeometrySource>(clippingPath);
|
|
196
200
|
auto path = winrt::Windows::UI::Composition::CompositionPath(geometry);
|
|
197
201
|
auto pathgeo = m_visual.Compositor().CreatePathGeometry(path);
|
|
@@ -241,6 +245,14 @@ struct CompVisual : public winrt::implements<
|
|
|
241
245
|
m_visual.RelativeSizeAdjustment(relativeSizeAdjustment);
|
|
242
246
|
}
|
|
243
247
|
|
|
248
|
+
winrt::Microsoft::ReactNative::Composition::BackfaceVisibility BackfaceVisibility() {
|
|
249
|
+
return static_cast<winrt::Microsoft::ReactNative::Composition::BackfaceVisibility>(m_visual.BackfaceVisibility());
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
void BackfaceVisibility(winrt::Microsoft::ReactNative::Composition::BackfaceVisibility value) {
|
|
253
|
+
m_visual.BackfaceVisibility(static_cast<winrt::Windows::UI::Composition::CompositionBackfaceVisibility>(value));
|
|
254
|
+
}
|
|
255
|
+
|
|
244
256
|
private:
|
|
245
257
|
winrt::Windows::UI::Composition::Visual m_visual;
|
|
246
258
|
};
|
|
@@ -327,6 +339,14 @@ struct CompSpriteVisual : winrt::Microsoft::ReactNative::Composition::implementa
|
|
|
327
339
|
m_visual.RelativeSizeAdjustment(relativeSizeAdjustment);
|
|
328
340
|
}
|
|
329
341
|
|
|
342
|
+
winrt::Microsoft::ReactNative::Composition::BackfaceVisibility BackfaceVisibility() {
|
|
343
|
+
return static_cast<winrt::Microsoft::ReactNative::Composition::BackfaceVisibility>(m_visual.BackfaceVisibility());
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
void BackfaceVisibility(winrt::Microsoft::ReactNative::Composition::BackfaceVisibility value) {
|
|
347
|
+
m_visual.BackfaceVisibility(static_cast<winrt::Windows::UI::Composition::CompositionBackfaceVisibility>(value));
|
|
348
|
+
}
|
|
349
|
+
|
|
330
350
|
void SetClippingPath(ID2D1Geometry *clippingPath) noexcept {
|
|
331
351
|
if (!clippingPath) {
|
|
332
352
|
m_visual.Clip(nullptr);
|
|
@@ -511,7 +531,19 @@ struct CompScrollerVisual : winrt::Microsoft::ReactNative::Composition::implemen
|
|
|
511
531
|
m_visual.RelativeSizeAdjustment(relativeSizeAdjustment);
|
|
512
532
|
}
|
|
513
533
|
|
|
534
|
+
winrt::Microsoft::ReactNative::Composition::BackfaceVisibility BackfaceVisibility() {
|
|
535
|
+
return static_cast<winrt::Microsoft::ReactNative::Composition::BackfaceVisibility>(m_visual.BackfaceVisibility());
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
void BackfaceVisibility(winrt::Microsoft::ReactNative::Composition::BackfaceVisibility value) {
|
|
539
|
+
m_visual.BackfaceVisibility(static_cast<winrt::Windows::UI::Composition::CompositionBackfaceVisibility>(value));
|
|
540
|
+
}
|
|
541
|
+
|
|
514
542
|
void SetClippingPath(ID2D1Geometry *clippingPath) noexcept {
|
|
543
|
+
if (!clippingPath) {
|
|
544
|
+
m_visual.Clip(nullptr);
|
|
545
|
+
return;
|
|
546
|
+
}
|
|
515
547
|
auto geometry = winrt::make<GeometrySource>(clippingPath);
|
|
516
548
|
auto path = winrt::Windows::UI::Composition::CompositionPath(geometry);
|
|
517
549
|
auto pathgeo = m_visual.Compositor().CreatePathGeometry(path);
|
|
@@ -547,6 +579,19 @@ struct CompScrollerVisual : winrt::Microsoft::ReactNative::Composition::implemen
|
|
|
547
579
|
m_interactionTracker.TryUpdatePositionBy(offset);
|
|
548
580
|
};
|
|
549
581
|
|
|
582
|
+
void TryUpdatePosition(winrt::Windows::Foundation::Numerics::float3 const &position, bool animate) noexcept {
|
|
583
|
+
if (animate) {
|
|
584
|
+
auto compositor = m_visual.Compositor();
|
|
585
|
+
auto cubicBezier = compositor.CreateCubicBezierEasingFunction({0.17f, 0.67f}, {1.0f, 1.0f});
|
|
586
|
+
auto kfa = compositor.CreateVector3KeyFrameAnimation();
|
|
587
|
+
kfa.Duration(std::chrono::seconds{1});
|
|
588
|
+
kfa.InsertKeyFrame(1.0f, position, cubicBezier);
|
|
589
|
+
m_interactionTracker.TryUpdatePositionWithAnimation(kfa);
|
|
590
|
+
} else {
|
|
591
|
+
m_interactionTracker.TryUpdatePosition(position);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
|
|
550
595
|
private:
|
|
551
596
|
void FireScrollPositionChanged(winrt::Windows::Foundation::Numerics::float2 position) {
|
|
552
597
|
m_scrollPositionChangedEvent(*this, winrt::make<CompScrollPositionChangedArgs>(position));
|
|
@@ -628,6 +673,54 @@ struct CompCaretVisual : winrt::implements<CompCaretVisual, winrt::Microsoft::Re
|
|
|
628
673
|
winrt::Windows::UI::Composition::Compositor m_compositor{nullptr};
|
|
629
674
|
};
|
|
630
675
|
|
|
676
|
+
struct CompFocusVisual : winrt::implements<CompFocusVisual, winrt::Microsoft::ReactNative::Composition::IFocusVisual> {
|
|
677
|
+
CompFocusVisual(winrt::Windows::UI::Composition::Compositor const &compositor)
|
|
678
|
+
: m_compVisual(compositor.CreateSpriteVisual()), m_brush(compositor.CreateNineGridBrush()) {
|
|
679
|
+
m_visual = winrt::make<Composition::CompSpriteVisual>(m_compVisual);
|
|
680
|
+
|
|
681
|
+
m_compVisual.Opacity(1.0f);
|
|
682
|
+
m_compVisual.RelativeSizeAdjustment({1, 1});
|
|
683
|
+
|
|
684
|
+
m_brush.Source(compositor.CreateColorBrush(winrt::Windows::UI::Colors::Black()));
|
|
685
|
+
m_brush.IsCenterHollow(true);
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
winrt::Microsoft::ReactNative::Composition::IVisual InnerVisual() const noexcept {
|
|
689
|
+
return m_visual;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
bool IsFocused() const noexcept {
|
|
693
|
+
return m_compVisual.Brush() != nullptr;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
void IsFocused(bool value) noexcept {
|
|
697
|
+
if (value) {
|
|
698
|
+
m_compVisual.Brush(m_brush);
|
|
699
|
+
} else {
|
|
700
|
+
m_compVisual.Brush(nullptr);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
float ScaleFactor() const noexcept {
|
|
705
|
+
return m_scaleFactor;
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
void ScaleFactor(float scaleFactor) noexcept {
|
|
709
|
+
if (m_scaleFactor == scaleFactor) {
|
|
710
|
+
return;
|
|
711
|
+
}
|
|
712
|
+
m_scaleFactor = scaleFactor;
|
|
713
|
+
auto inset = 2 * scaleFactor;
|
|
714
|
+
m_brush.SetInsets(inset, inset, inset, inset);
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
private:
|
|
718
|
+
float m_scaleFactor{0};
|
|
719
|
+
const winrt::Windows::UI::Composition::CompositionNineGridBrush m_brush;
|
|
720
|
+
const winrt::Windows::UI::Composition::SpriteVisual m_compVisual;
|
|
721
|
+
winrt::Microsoft::ReactNative::Composition::IVisual m_visual{nullptr};
|
|
722
|
+
};
|
|
723
|
+
|
|
631
724
|
struct CompContext : winrt::implements<
|
|
632
725
|
CompContext,
|
|
633
726
|
winrt::Microsoft::ReactNative::Composition::ICompositionContext,
|
|
@@ -736,6 +829,10 @@ struct CompContext : winrt::implements<
|
|
|
736
829
|
return winrt::make<Composition::CompCaretVisual>(m_compositor);
|
|
737
830
|
}
|
|
738
831
|
|
|
832
|
+
winrt::Microsoft::ReactNative::Composition::IFocusVisual CreateFocusVisual() noexcept {
|
|
833
|
+
return winrt::make<Composition::CompFocusVisual>(m_compositor);
|
|
834
|
+
}
|
|
835
|
+
|
|
739
836
|
winrt::Windows::UI::Composition::CompositionGraphicsDevice CompositionGraphicsDevice() noexcept {
|
|
740
837
|
if (!m_compositionGraphicsDevice) {
|
|
741
838
|
// To create a composition graphics device, we need to QI for another interface
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
#include "pch.h"
|
|
2
|
+
#include "CompositionDynamicAutomationProvider.h"
|
|
3
|
+
#include <Fabric/ComponentView.h>
|
|
4
|
+
#pragma warning(push)
|
|
5
|
+
#pragma warning(disable : 4229)
|
|
6
|
+
#define IN
|
|
7
|
+
#define OUT
|
|
8
|
+
#include <atlsafe.h>
|
|
9
|
+
#pragma warning(pop)
|
|
10
|
+
#include "RootComponentView.h"
|
|
11
|
+
#include "UiaHelpers.h"
|
|
12
|
+
|
|
13
|
+
namespace winrt::Microsoft::ReactNative::implementation {
|
|
14
|
+
|
|
15
|
+
CompositionDynamicAutomationProvider::CompositionDynamicAutomationProvider(
|
|
16
|
+
const std::shared_ptr<::Microsoft::ReactNative::CompositionBaseComponentView> &componentView) noexcept
|
|
17
|
+
: m_view{std::static_pointer_cast<::Microsoft::ReactNative::IComponentView>(componentView)} {}
|
|
18
|
+
|
|
19
|
+
HRESULT __stdcall CompositionDynamicAutomationProvider::Navigate(
|
|
20
|
+
NavigateDirection direction,
|
|
21
|
+
IRawElementProviderFragment **pRetVal) {
|
|
22
|
+
if (pRetVal == nullptr)
|
|
23
|
+
return E_POINTER;
|
|
24
|
+
|
|
25
|
+
return UiaNavigateHelper(m_view, direction, *pRetVal);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Implementations should return NULL for a top-level element that is hosted in a window. Other elements should return
|
|
29
|
+
// an array that contains UiaAppendRuntimeId (defined in Uiautomationcoreapi.h), followed by a value that is unique
|
|
30
|
+
// within an instance of the fragment.
|
|
31
|
+
//
|
|
32
|
+
// We'll use the react tag as our identifier for those situations
|
|
33
|
+
HRESULT __stdcall CompositionDynamicAutomationProvider::GetRuntimeId(SAFEARRAY **pRetVal) {
|
|
34
|
+
if (pRetVal == nullptr)
|
|
35
|
+
return E_POINTER;
|
|
36
|
+
|
|
37
|
+
*pRetVal = nullptr;
|
|
38
|
+
|
|
39
|
+
auto strongView = m_view.view();
|
|
40
|
+
|
|
41
|
+
if (!strongView)
|
|
42
|
+
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
43
|
+
|
|
44
|
+
CComSafeArray<int32_t> runtimeId;
|
|
45
|
+
auto hr = runtimeId.Create(2);
|
|
46
|
+
|
|
47
|
+
if (FAILED(hr))
|
|
48
|
+
return hr;
|
|
49
|
+
|
|
50
|
+
runtimeId[0] = UiaAppendRuntimeId;
|
|
51
|
+
runtimeId[1] = strongView->tag();
|
|
52
|
+
|
|
53
|
+
*pRetVal = runtimeId.Detach();
|
|
54
|
+
|
|
55
|
+
return S_OK;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
HRESULT __stdcall CompositionDynamicAutomationProvider::get_BoundingRectangle(UiaRect *pRetVal) {
|
|
59
|
+
if (pRetVal == nullptr)
|
|
60
|
+
return E_POINTER;
|
|
61
|
+
|
|
62
|
+
return S_OK;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
HRESULT __stdcall CompositionDynamicAutomationProvider::GetEmbeddedFragmentRoots(SAFEARRAY **pRetVal) {
|
|
66
|
+
if (pRetVal == nullptr)
|
|
67
|
+
return E_POINTER;
|
|
68
|
+
|
|
69
|
+
*pRetVal = nullptr;
|
|
70
|
+
|
|
71
|
+
return S_OK;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
HRESULT __stdcall CompositionDynamicAutomationProvider::SetFocus(void) {
|
|
75
|
+
return S_OK;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
HRESULT __stdcall CompositionDynamicAutomationProvider::get_FragmentRoot(IRawElementProviderFragmentRoot **pRetVal) {
|
|
79
|
+
if (pRetVal == nullptr)
|
|
80
|
+
return E_POINTER;
|
|
81
|
+
|
|
82
|
+
auto strongView = m_view.view();
|
|
83
|
+
|
|
84
|
+
if (!strongView)
|
|
85
|
+
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
86
|
+
|
|
87
|
+
auto rootCV = strongView->rootComponentView();
|
|
88
|
+
if (rootCV == nullptr)
|
|
89
|
+
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
90
|
+
|
|
91
|
+
auto uiaProvider = rootCV->EnsureUiaProvider();
|
|
92
|
+
if (uiaProvider != nullptr) {
|
|
93
|
+
winrt::com_ptr<IRawElementProviderFragmentRoot> spReps;
|
|
94
|
+
uiaProvider.as(spReps);
|
|
95
|
+
*pRetVal = spReps.detach();
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
return S_OK;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
HRESULT __stdcall CompositionDynamicAutomationProvider::get_ProviderOptions(ProviderOptions *pRetVal) {
|
|
102
|
+
if (pRetVal == nullptr)
|
|
103
|
+
return E_POINTER;
|
|
104
|
+
|
|
105
|
+
*pRetVal = ProviderOptions_ServerSideProvider | ProviderOptions_UseComThreading;
|
|
106
|
+
return S_OK;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
HRESULT __stdcall CompositionDynamicAutomationProvider::GetPatternProvider(PATTERNID patternId, IUnknown **pRetVal) {
|
|
110
|
+
if (pRetVal == nullptr)
|
|
111
|
+
return E_POINTER;
|
|
112
|
+
|
|
113
|
+
*pRetVal = nullptr;
|
|
114
|
+
|
|
115
|
+
return S_OK;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
long GetControlType(const std::string &role) noexcept {
|
|
119
|
+
if (role == "adjustable") {
|
|
120
|
+
return UIA_SliderControlTypeId;
|
|
121
|
+
} else if (role == "group" || role == "search" || role == "radiogroup" || role == "timer" || role.empty()) {
|
|
122
|
+
return UIA_GroupControlTypeId;
|
|
123
|
+
} else if (role == "button" || role == "imagebutton" || role == "switch" || role == "togglebutton") {
|
|
124
|
+
return UIA_ButtonControlTypeId;
|
|
125
|
+
} else if (role == "checkbox") {
|
|
126
|
+
return UIA_CheckBoxControlTypeId;
|
|
127
|
+
} else if (role == "combobox") {
|
|
128
|
+
return UIA_ComboBoxControlTypeId;
|
|
129
|
+
} else if (role == "alert" || role == "header" || role == "summary" || role == "text") {
|
|
130
|
+
return UIA_TextControlTypeId;
|
|
131
|
+
} else if (role == "image") {
|
|
132
|
+
return UIA_ImageControlTypeId;
|
|
133
|
+
} else if (role == "keyboardkey") {
|
|
134
|
+
return UIA_CustomControlTypeId;
|
|
135
|
+
} else if (role == "link") {
|
|
136
|
+
return UIA_HyperlinkControlTypeId;
|
|
137
|
+
}
|
|
138
|
+
// list and listitem were added by RNW to better support UIA Control Types
|
|
139
|
+
else if (role == "list") {
|
|
140
|
+
return UIA_ListControlTypeId;
|
|
141
|
+
} else if (role == "listitem") {
|
|
142
|
+
return UIA_ListItemControlTypeId;
|
|
143
|
+
} else if (role == "menu") {
|
|
144
|
+
return UIA_MenuControlTypeId;
|
|
145
|
+
} else if (role == "menubar") {
|
|
146
|
+
return UIA_MenuBarControlTypeId;
|
|
147
|
+
} else if (role == "menuitem") {
|
|
148
|
+
return UIA_MenuItemControlTypeId;
|
|
149
|
+
}
|
|
150
|
+
// If role is "none", remove the element from the control tree
|
|
151
|
+
// and expose it as a plain element would in the raw tree.
|
|
152
|
+
else if (role == "none") {
|
|
153
|
+
return UIA_GroupControlTypeId;
|
|
154
|
+
} else if (role == "progressbar") {
|
|
155
|
+
return UIA_ProgressBarControlTypeId;
|
|
156
|
+
} else if (role == "radio") {
|
|
157
|
+
return UIA_RadioButtonControlTypeId;
|
|
158
|
+
} else if (role == "scrollbar") {
|
|
159
|
+
return UIA_ScrollBarControlTypeId;
|
|
160
|
+
} else if (role == "spinbutton") {
|
|
161
|
+
return UIA_SpinnerControlTypeId;
|
|
162
|
+
} else if (role == "splitbutton") {
|
|
163
|
+
return UIA_SplitButtonControlTypeId;
|
|
164
|
+
} else if (role == "tab") {
|
|
165
|
+
return UIA_TabItemControlTypeId;
|
|
166
|
+
} else if (role == "tablist") {
|
|
167
|
+
return UIA_TabControlTypeId;
|
|
168
|
+
} else if (role == "toolbar") {
|
|
169
|
+
return UIA_ToolBarControlTypeId;
|
|
170
|
+
} else if (role == "tree") {
|
|
171
|
+
return UIA_TreeControlTypeId;
|
|
172
|
+
} else if (role == "treeitem") {
|
|
173
|
+
return UIA_TreeItemControlTypeId;
|
|
174
|
+
}
|
|
175
|
+
assert(false);
|
|
176
|
+
return UIA_GroupControlTypeId;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
HRESULT __stdcall CompositionDynamicAutomationProvider::GetPropertyValue(PROPERTYID propertyId, VARIANT *pRetVal) {
|
|
180
|
+
if (pRetVal == nullptr)
|
|
181
|
+
return E_POINTER;
|
|
182
|
+
|
|
183
|
+
auto strongView = m_view.view();
|
|
184
|
+
if (strongView == nullptr)
|
|
185
|
+
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
186
|
+
|
|
187
|
+
auto props = std::static_pointer_cast<const facebook::react::ViewProps>(strongView->props());
|
|
188
|
+
if (props == nullptr)
|
|
189
|
+
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
190
|
+
|
|
191
|
+
switch (propertyId) {
|
|
192
|
+
case UIA_ControlTypePropertyId: {
|
|
193
|
+
pRetVal->vt = VT_I4;
|
|
194
|
+
auto role = props->accessibilityRole;
|
|
195
|
+
pRetVal->lVal = GetControlType(role);
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
case UIA_AutomationIdPropertyId: {
|
|
199
|
+
pRetVal->vt = VT_BSTR;
|
|
200
|
+
auto testId = props->testId;
|
|
201
|
+
CComBSTR temp(testId.c_str());
|
|
202
|
+
pRetVal->bstrVal = temp.Detach();
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
case UIA_NamePropertyId: {
|
|
206
|
+
pRetVal->vt = VT_BSTR;
|
|
207
|
+
auto name = props->accessibilityLabel;
|
|
208
|
+
CComBSTR temp(name.c_str());
|
|
209
|
+
pRetVal->bstrVal = temp.Detach();
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
return S_OK;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
HRESULT __stdcall CompositionDynamicAutomationProvider::get_HostRawElementProvider(
|
|
218
|
+
IRawElementProviderSimple **pRetVal) {
|
|
219
|
+
if (pRetVal == nullptr)
|
|
220
|
+
return E_POINTER;
|
|
221
|
+
|
|
222
|
+
*pRetVal = nullptr;
|
|
223
|
+
|
|
224
|
+
return S_OK;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
} // namespace winrt::Microsoft::ReactNative::implementation
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
|
|
3
|
+
#include <Fabric/Composition/CompositionViewComponentView.h>
|
|
4
|
+
#include <Fabric/ReactTaggedView.h>
|
|
5
|
+
#include <UIAutomation.h>
|
|
6
|
+
#include <inspectable.h>
|
|
7
|
+
|
|
8
|
+
namespace winrt::Microsoft::ReactNative::implementation {
|
|
9
|
+
|
|
10
|
+
class CompositionDynamicAutomationProvider : public winrt::implements<
|
|
11
|
+
CompositionDynamicAutomationProvider,
|
|
12
|
+
IInspectable,
|
|
13
|
+
IRawElementProviderFragment,
|
|
14
|
+
IRawElementProviderSimple> {
|
|
15
|
+
public:
|
|
16
|
+
CompositionDynamicAutomationProvider(
|
|
17
|
+
const std::shared_ptr<::Microsoft::ReactNative::CompositionBaseComponentView> &componentView) noexcept;
|
|
18
|
+
|
|
19
|
+
// inherited via IRawElementProviderFragment
|
|
20
|
+
virtual HRESULT __stdcall Navigate(NavigateDirection direction, IRawElementProviderFragment **pRetVal) override;
|
|
21
|
+
virtual HRESULT __stdcall GetRuntimeId(SAFEARRAY **pRetVal) override;
|
|
22
|
+
virtual HRESULT __stdcall get_BoundingRectangle(UiaRect *pRetVal) override;
|
|
23
|
+
virtual HRESULT __stdcall GetEmbeddedFragmentRoots(SAFEARRAY **pRetVal) override;
|
|
24
|
+
virtual HRESULT __stdcall SetFocus(void) override;
|
|
25
|
+
virtual HRESULT __stdcall get_FragmentRoot(IRawElementProviderFragmentRoot **pRetVal) override;
|
|
26
|
+
|
|
27
|
+
// inherited via IRawElementProviderSimple2
|
|
28
|
+
virtual HRESULT __stdcall get_ProviderOptions(ProviderOptions *pRetVal) override;
|
|
29
|
+
virtual HRESULT __stdcall GetPatternProvider(PATTERNID patternId, IUnknown **pRetVal) override;
|
|
30
|
+
virtual HRESULT __stdcall GetPropertyValue(PROPERTYID propertyId, VARIANT *pRetVal) override;
|
|
31
|
+
virtual HRESULT __stdcall get_HostRawElementProvider(IRawElementProviderSimple **pRetVal) override;
|
|
32
|
+
// virtual HRESULT __stdcall ShowContextMenu() noexcept override;
|
|
33
|
+
|
|
34
|
+
private:
|
|
35
|
+
::Microsoft::ReactNative::ReactTaggedView m_view;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
} // namespace winrt::Microsoft::ReactNative::implementation
|