react-native-windows 0.75.3 → 0.76.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 +6 -4
- package/Directory.Build.props +4 -0
- package/Directory.Build.targets +5 -0
- package/Libraries/Alert/Alert.js +3 -0
- package/Libraries/Alert/Alert.windows.js +3 -0
- package/Libraries/Animated/AnimatedEvent.js +1 -1
- package/Libraries/Animated/AnimatedImplementation.js +7 -7
- package/Libraries/Animated/NativeAnimatedAllowlist.js +111 -0
- package/Libraries/Animated/animations/Animation.js +11 -1
- package/Libraries/Animated/animations/DecayAnimation.js +1 -1
- package/Libraries/Animated/animations/SpringAnimation.js +1 -1
- package/Libraries/Animated/animations/TimingAnimation.js +2 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +3 -2
- package/Libraries/Animated/createAnimatedComponent.js +10 -9
- package/Libraries/Animated/nodes/AnimatedColor.js +1 -1
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +3 -2
- package/Libraries/Animated/nodes/AnimatedNode.js +42 -33
- package/Libraries/Animated/nodes/AnimatedObject.js +56 -50
- package/Libraries/Animated/nodes/AnimatedProps.js +77 -40
- package/Libraries/Animated/nodes/AnimatedStyle.js +103 -59
- package/Libraries/Animated/nodes/AnimatedTracking.js +1 -1
- package/Libraries/Animated/nodes/AnimatedTransform.js +102 -67
- package/Libraries/Animated/nodes/AnimatedValue.js +2 -1
- package/Libraries/Animated/nodes/AnimatedWithChildren.js +21 -22
- package/Libraries/Animated/useAnimatedProps.js +142 -7
- package/Libraries/BatchedBridge/NativeModules.js +2 -0
- package/Libraries/Blob/FileReader.js +1 -1
- package/Libraries/Blob/URL.js +2 -62
- package/Libraries/Blob/URLSearchParams.js +71 -0
- package/Libraries/Components/Button.windows.js +0 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -1
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/RefreshControl/__mocks__/RefreshControlMock.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.js +131 -169
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -1
- package/Libraries/Components/StatusBar/StatusBar.js +3 -1
- package/Libraries/Components/TextInput/TextInput.d.ts +32 -2
- package/Libraries/Components/TextInput/TextInput.js +230 -94
- package/Libraries/Components/TextInput/TextInput.windows.js +230 -105
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +22 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +2 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +2 -0
- package/Libraries/Components/View/View.windows.js +32 -30
- package/Libraries/Components/View/ViewAccessibility.d.ts +15 -0
- package/Libraries/Components/View/ViewNativeComponent.js +0 -1
- package/Libraries/Components/View/ViewPropTypes.js +14 -0
- package/Libraries/Components/View/ViewPropTypes.windows.js +14 -0
- package/Libraries/Core/ExceptionsManager.js +2 -0
- package/Libraries/Core/InitializeCore.js +3 -1
- package/Libraries/Core/ReactFiberErrorDialog.js +3 -0
- package/Libraries/Core/ReactNativeVersion.js +4 -4
- package/Libraries/Core/setUpErrorHandling.js +7 -1
- package/Libraries/Core/setUpGlobals.js +1 -0
- package/Libraries/Core/setUpReactRefresh.js +0 -4
- package/Libraries/Image/AssetSourceResolver.js +28 -1
- package/Libraries/Image/AssetSourceResolver.windows.js +28 -1
- package/Libraries/Image/Image.android.js +9 -14
- package/Libraries/Image/Image.ios.js +11 -22
- package/Libraries/Image/Image.windows.js +11 -22
- package/Libraries/Image/ImageBackground.js +1 -8
- package/Libraries/Image/ImageUtils.js +9 -9
- package/Libraries/Image/ImageViewNativeComponent.js +1 -0
- package/Libraries/Inspector/Inspector.js +3 -2
- package/Libraries/Inspector/InspectorPanel.js +16 -10
- package/Libraries/Inspector/NetworkOverlay.js +1 -1
- package/Libraries/Interaction/TaskQueue.js +1 -0
- package/Libraries/Lists/FlatList.js +1 -1
- package/Libraries/Lists/SectionList.js +2 -2
- package/Libraries/Lists/SectionListModern.js +3 -3
- package/Libraries/LogBox/Data/LogBoxData.js +24 -3
- package/Libraries/LogBox/LogBoxNotificationContainer.js +3 -2
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +9 -8
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +9 -8
- package/Libraries/Modal/Modal.js +0 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +8 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +7 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +7 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +22 -22
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +0 -21
- package/Libraries/Network/XMLHttpRequest.js +4 -2
- package/Libraries/ReactNative/AppContainer-dev.js +1 -5
- package/Libraries/ReactNative/AppContainer-prod.js +1 -5
- package/Libraries/ReactNative/AppContainer.js +1 -2
- package/Libraries/ReactNative/AppRegistry.d.ts +0 -4
- package/Libraries/ReactNative/AppRegistry.js +1 -7
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -0
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricHostComponent.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +5 -5
- package/Libraries/ReactNative/RendererImplementation.js +26 -4
- package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -0
- package/Libraries/ReactNative/renderApplication.js +1 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +11 -4
- package/Libraries/StyleSheet/StyleSheet.js +1 -1
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +74 -15
- package/Libraries/StyleSheet/StyleSheetTypes.js +60 -5
- package/Libraries/StyleSheet/processBackgroundImage.js +384 -0
- package/Libraries/StyleSheet/processBoxShadow.js +211 -0
- package/Libraries/StyleSheet/processFilter.js +231 -42
- package/Libraries/Text/Text.js +394 -196
- package/Libraries/Text/Text.windows.js +476 -300
- package/Libraries/Text/TextNativeComponent.js +2 -1
- package/Libraries/TurboModule/TurboModuleRegistry.js +13 -50
- package/Libraries/Types/CodegenTypes.js +3 -1
- package/Libraries/Utilities/Appearance.js +108 -84
- package/Libraries/Utilities/DevLoadingView.js +2 -4
- package/Libraries/Utilities/HMRClient.js +2 -1
- package/Libraries/Utilities/ReactNativeTestTools.js +1 -1
- package/Libraries/Utilities/createPerformanceLogger.js +0 -9
- package/Libraries/Utilities/stringifyViewConfig.js +22 -0
- package/Libraries/Utilities/useColorScheme.js +3 -3
- package/Libraries/WebSocket/WebSocket.js +1 -1
- package/Libraries/promiseRejectionTrackingOptions.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +6 -5
- package/Microsoft.ReactNative/ComponentView.idl +11 -0
- package/Microsoft.ReactNative/Composition.Input.idl +1 -0
- package/Microsoft.ReactNative/CompositionSwitcher.idl +3 -0
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +9 -9
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +9 -9
- package/Microsoft.ReactNative/Fabric/ComponentView.cpp +7 -9
- package/Microsoft.ReactNative/Fabric/ComponentView.h +5 -6
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +4 -0
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +44 -13
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +42 -5
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +1 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +81 -63
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +2 -3
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +8 -6
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.h +1 -2
- package/Microsoft.ReactNative/Fabric/Composition/FocusManager.cpp +20 -6
- package/Microsoft.ReactNative/Fabric/Composition/FocusManager.h +13 -6
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +2 -3
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +1 -2
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +72 -54
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +14 -4
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +26 -8
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +5 -2
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +18 -7
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +1 -2
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +6 -6
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +1 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +97 -140
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +8 -4
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +18 -11
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +5 -4
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +0 -13
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +0 -3
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +29 -4
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +1 -2
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +1 -2
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +28 -12
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +33 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +26 -9
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +10 -4
- package/Microsoft.ReactNative/IReactModuleBuilder.cpp +5 -0
- package/Microsoft.ReactNative/IReactModuleBuilder.h +1 -0
- package/Microsoft.ReactNative/IReactModuleBuilder.idl +9 -0
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +8 -1
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +2 -0
- package/Microsoft.ReactNative/Modules/AlertModule.cpp +3 -1
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +1 -1
- package/Microsoft.ReactNative/Modules/AppearanceModule.h +7 -1
- package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +3 -3
- package/Microsoft.ReactNative/Modules/DevSettingsModule.h +1 -1
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +1 -1
- package/Microsoft.ReactNative/Modules/LogBoxModule.cpp +9 -0
- package/Microsoft.ReactNative/Modules/LogBoxModule.h +2 -0
- package/Microsoft.ReactNative/Modules/SampleTurboModule.cpp +121 -0
- package/Microsoft.ReactNative/Modules/SampleTurboModule.h +90 -0
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +0 -7
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.h +0 -5
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +5 -1
- package/Microsoft.ReactNative/ReactInstanceSettingsBuilder.cpp +59 -0
- package/Microsoft.ReactNative/ReactInstanceSettingsBuilder.h +23 -0
- package/Microsoft.ReactNative/ReactNativeAppBuilder.cpp +179 -0
- package/Microsoft.ReactNative/ReactNativeAppBuilder.h +35 -0
- package/Microsoft.ReactNative/ReactNativeAppBuilder.idl +69 -0
- package/Microsoft.ReactNative/ReactNativeIsland.idl +2 -0
- package/Microsoft.ReactNative/ReactNativeWin32App.cpp +82 -0
- package/Microsoft.ReactNative/ReactNativeWin32App.h +38 -0
- package/Microsoft.ReactNative/TurboModulesProvider.cpp +45 -0
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +2 -1
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +25 -16
- package/Microsoft.ReactNative/packages.fabric.lock.json +159 -0
- package/Microsoft.ReactNative/packages.lock.json +11 -12
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +3 -4
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +3 -0
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.cpp +2 -2
- package/Microsoft.ReactNative.Cxx/ModuleRegistration.h +62 -4
- package/Microsoft.ReactNative.Cxx/NativeModules.h +131 -14
- package/Microsoft.ReactNative.Managed/packages.lock.json +9 -9
- package/Microsoft.ReactNative.Managed.CodeGen/ReactNativeNames.cs +10 -2
- package/PropertySheets/Autolink.props +1 -1
- package/PropertySheets/Bundle.props +1 -1
- package/PropertySheets/Codegen.props +1 -1
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/NuGet.LockFile.props +18 -0
- package/README.md +29 -29
- package/ReactCommon/ReactCommon.vcxproj +5 -1
- package/ReactCommon/ReactCommon.vcxproj.filters +11 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +2 -7
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.cpp +441 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/NetworkIOAgent.h +266 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsinspector-modern/Utf8.h +56 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Base.h +3 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Convert.h +172 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/EventEmitter.h +4 -5
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Function.h +2 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +1 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +3 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +9 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/core/LayoutableShadowNode.cpp +363 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.h +22 -2
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +118 -51
- package/ReactCommon/packages.lock.json +2 -2
- package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +8 -1
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +2 -2
- package/Shared/Modules/WebSocketModule.cpp +1 -2
- package/Shared/Networking/WinRTWebSocketResource.cpp +4 -1
- package/Shared/Shared.vcxitems +38 -2
- package/Shared/Shared.vcxitems.filters +6 -1
- package/Shared/TurboModuleManager.cpp +0 -3
- package/codegen/NativeLinkingManagerSpec.g.h +3 -3
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +198 -54
- package/codegen/NativeSampleTurboModuleSpec.g.h +35 -0
- package/codegen/rnwcoreJSI-generated.cpp +245 -101
- package/codegen/rnwcoreJSI.h +847 -548
- package/index.js +3 -1
- package/index.windows.js +3 -1
- package/jest/mockComponent.js +4 -1
- package/jest/mockModal.js +1 -3
- package/jest/mockScrollView.js +1 -1
- package/jest/renderer.js +2 -2
- package/jest/setup.js +16 -13
- package/package.json +26 -25
- package/src/private/animated/NativeAnimatedHelper.js +438 -0
- package/src/private/animated/NativeAnimatedValidation.js +64 -0
- package/src/private/components/HScrollViewNativeComponents.js +56 -0
- package/src/private/components/SafeAreaView_INTERNAL_DO_NOT_USE.js +27 -0
- package/src/private/components/VScrollViewNativeComponents.js +48 -0
- package/src/private/components/useSyncOnScroll.js +48 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +166 -16
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +29 -5
- package/src/private/fusebox/FuseboxSessionObserver.js +42 -0
- package/{Libraries/Core → src/private/renderer/errorhandling}/ErrorHandlers.js +14 -4
- package/src/private/setup/setUpDOM.js +28 -0
- package/src/private/setup/setUpIntersectionObserver.js +27 -0
- package/src/private/setup/setUpMutationObserver.js +26 -0
- package/src/private/setup/setUpPerformanceObserver.js +64 -0
- package/src/private/specs/modules/NativeAppearance.js +3 -3
- package/src/private/specs/modules/NativeLinkingManager.js +1 -1
- package/src/private/specs/modules/NativePlatformConstantsWindows.js +7 -0
- package/src/private/specs/modules/NativeSampleTurboModule.js +14 -1
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +6 -4
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserver.js +5 -3
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverEntry.js +3 -3
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver}/IntersectionObserverManager.js +14 -17
- package/src/private/{specs/modules → webapis/intersectionobserver/specs}/NativeIntersectionObserver.js +2 -2
- package/{Libraries/IntersectionObserver → src/private/webapis/intersectionobserver/specs}/__mocks__/NativeIntersectionObserver.js +4 -4
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserver.js +5 -3
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationObserverManager.js +24 -15
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver}/MutationRecord.js +4 -6
- package/src/private/{specs/modules → webapis/mutationobserver/specs}/NativeMutationObserver.js +2 -2
- package/{Libraries/MutationObserver → src/private/webapis/mutationobserver/specs}/__mocks__/NativeMutationObserver.js +5 -5
- package/src/private/webapis/performance/{EventCounts.js → EventTiming.js} +65 -3
- package/src/private/webapis/performance/LongTasks.js +39 -0
- package/src/private/webapis/performance/Performance.js +22 -9
- package/src/private/webapis/performance/PerformanceEntry.js +36 -18
- package/src/private/webapis/performance/PerformanceObserver.js +29 -43
- package/src/private/webapis/performance/RawPerformanceEntry.js +24 -1
- package/src/private/webapis/performance/UserTiming.js +17 -12
- package/src/private/webapis/performance/specs/NativePerformanceObserver.js +1 -1
- package/template/cpp-app/src/AutolinkedNativeModules.g.cpp +1 -1
- package/template/cpp-app/src/AutolinkedNativeModules.g.h +1 -1
- package/template/cs-app/src/AutolinkedNativeModules.g.cs +1 -1
- package/template/index.windows.bundle +1 -1
- package/template/metro.config.js +2 -2
- package/template/shared-app/src/AutolinkedNativeModules.g.props +1 -1
- package/template/shared-app/src/AutolinkedNativeModules.g.targets +1 -1
- package/templates/cpp-app/metro.config.js +2 -2
- package/templates/cpp-app/template.config.js +5 -5
- package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.cpp +1 -1
- package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.h +1 -1
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +2 -0
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +1 -1
- package/templates/cpp-lib/example/metro.config.js +2 -2
- package/templates/cpp-lib/template.config.js +3 -3
- package/templates/cpp-lib/windows/MyLib/MyLib.h +3 -3
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +1 -1
- package/types/experimental.d.ts +20 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +0 -615
- package/Libraries/Core/setUpIntersectionObserver.js +0 -16
- package/Libraries/Core/setUpMutationObserver.js +0 -16
- package/Libraries/Core/setUpPerformanceObserver.js +0 -18
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +0 -13
- package/Libraries/MutationObserver/NativeMutationObserver.js +0 -13
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +0 -135
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2396
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.cpp +0 -136
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -92
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.cpp +0 -48
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -122
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -388
- package/src/private/core/setUpDOM.js +0 -18
- package/src/private/webapis/performance/PerformanceEventTiming.js +0 -55
- /package/src/private/{core → styles}/composeStyles.js +0 -0
|
@@ -256,16 +256,14 @@ void ComponentView::CustomCommandHandler(const HandleCommandDelegate &handler) n
|
|
|
256
256
|
m_customCommandHandler = handler;
|
|
257
257
|
}
|
|
258
258
|
|
|
259
|
-
void ComponentView::HandleCommand(
|
|
260
|
-
winrt::hstring commandName,
|
|
261
|
-
const winrt::Microsoft::ReactNative::IJSValueReader &args) noexcept {
|
|
259
|
+
void ComponentView::HandleCommand(const winrt::Microsoft::ReactNative::HandleCommandArgs &args) noexcept {
|
|
262
260
|
if (m_customCommandHandler) {
|
|
263
|
-
m_customCommandHandler(*this,
|
|
261
|
+
m_customCommandHandler(*this, args);
|
|
264
262
|
}
|
|
265
263
|
}
|
|
266
264
|
|
|
267
|
-
winrt::Microsoft::ReactNative::Composition::implementation::RootComponentView *
|
|
268
|
-
|
|
265
|
+
winrt::Microsoft::ReactNative::Composition::implementation::RootComponentView *ComponentView::rootComponentView()
|
|
266
|
+
const noexcept {
|
|
269
267
|
if (m_rootView)
|
|
270
268
|
return m_rootView;
|
|
271
269
|
|
|
@@ -285,7 +283,7 @@ void ComponentView::parent(const winrt::Microsoft::ReactNative::ComponentView &p
|
|
|
285
283
|
m_parent = parent;
|
|
286
284
|
if (!parent) {
|
|
287
285
|
if (oldRootView && oldRootView->GetFocusedComponent() == *this) {
|
|
288
|
-
oldRootView->TrySetFocusedComponent(oldParent);
|
|
286
|
+
oldRootView->TrySetFocusedComponent(oldParent, winrt::Microsoft::ReactNative::FocusNavigationDirection::None);
|
|
289
287
|
}
|
|
290
288
|
}
|
|
291
289
|
if (parent) {
|
|
@@ -424,7 +422,7 @@ void ComponentView::GotFocus(winrt::event_token const &token) noexcept {
|
|
|
424
422
|
|
|
425
423
|
bool ComponentView::TryFocus() noexcept {
|
|
426
424
|
if (auto root = rootComponentView()) {
|
|
427
|
-
return root->TrySetFocusedComponent(*get_strong());
|
|
425
|
+
return root->TrySetFocusedComponent(*get_strong(), winrt::Microsoft::ReactNative::FocusNavigationDirection::None);
|
|
428
426
|
}
|
|
429
427
|
|
|
430
428
|
return false;
|
|
@@ -638,7 +636,7 @@ winrt::IInspectable ComponentView::EnsureUiaProvider() noexcept {
|
|
|
638
636
|
return nullptr;
|
|
639
637
|
}
|
|
640
638
|
|
|
641
|
-
std::optional<std::string> ComponentView::
|
|
639
|
+
std::optional<std::string> ComponentView::getAccessiblityValue() noexcept {
|
|
642
640
|
return std::nullopt;
|
|
643
641
|
}
|
|
644
642
|
|
|
@@ -93,7 +93,8 @@ struct ComponentView : public ComponentViewT<ComponentView> {
|
|
|
93
93
|
facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept;
|
|
94
94
|
virtual void prepareForRecycle() noexcept;
|
|
95
95
|
virtual facebook::react::Props::Shared props() noexcept;
|
|
96
|
-
virtual winrt::Microsoft::ReactNative::Composition::implementation::RootComponentView *rootComponentView()
|
|
96
|
+
virtual winrt::Microsoft::ReactNative::Composition::implementation::RootComponentView *rootComponentView()
|
|
97
|
+
const noexcept;
|
|
97
98
|
virtual void parent(const winrt::Microsoft::ReactNative::ComponentView &parent) noexcept;
|
|
98
99
|
virtual winrt::Microsoft::ReactNative::ComponentView Parent() const noexcept;
|
|
99
100
|
virtual winrt::IVectorView<winrt::Microsoft::ReactNative::ComponentView> Children() const noexcept;
|
|
@@ -198,7 +199,7 @@ struct ComponentView : public ComponentViewT<ComponentView> {
|
|
|
198
199
|
virtual facebook::react::Tag
|
|
199
200
|
hitTest(facebook::react::Point pt, facebook::react::Point &localPt, bool ignorePointerEvents = false) const noexcept;
|
|
200
201
|
virtual winrt::IInspectable EnsureUiaProvider() noexcept;
|
|
201
|
-
virtual std::optional<std::string>
|
|
202
|
+
virtual std::optional<std::string> getAccessiblityValue() noexcept;
|
|
202
203
|
virtual void setAcccessiblityValue(std::string &&value) noexcept;
|
|
203
204
|
virtual bool getAcccessiblityIsReadOnly() noexcept;
|
|
204
205
|
virtual ToggleState getToggleState() noexcept;
|
|
@@ -228,9 +229,7 @@ struct ComponentView : public ComponentViewT<ComponentView> {
|
|
|
228
229
|
virtual void UnmountChildComponentView(
|
|
229
230
|
const winrt::Microsoft::ReactNative::ComponentView &childComponentView,
|
|
230
231
|
uint32_t index) noexcept;
|
|
231
|
-
virtual void HandleCommand(
|
|
232
|
-
winrt::hstring commandName,
|
|
233
|
-
const winrt::Microsoft::ReactNative::IJSValueReader &args) noexcept;
|
|
232
|
+
virtual void HandleCommand(const winrt::Microsoft::ReactNative::HandleCommandArgs &args) noexcept;
|
|
234
233
|
virtual void FinalizeUpdates(winrt::Microsoft::ReactNative::ComponentViewUpdateMask updateMask) noexcept;
|
|
235
234
|
virtual void OnPointerEntered(
|
|
236
235
|
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept;
|
|
@@ -255,7 +254,7 @@ struct ComponentView : public ComponentViewT<ComponentView> {
|
|
|
255
254
|
bool m_mounted : 1 {false};
|
|
256
255
|
const facebook::react::Tag m_tag;
|
|
257
256
|
winrt::IInspectable m_userData;
|
|
258
|
-
winrt::Microsoft::ReactNative::Composition::implementation::RootComponentView *m_rootView{nullptr};
|
|
257
|
+
mutable winrt::Microsoft::ReactNative::Composition::implementation::RootComponentView *m_rootView{nullptr};
|
|
259
258
|
mutable winrt::Microsoft::ReactNative::Composition::implementation::Theme *m_theme{nullptr};
|
|
260
259
|
const winrt::Microsoft::ReactNative::ReactContext m_reactContext;
|
|
261
260
|
winrt::Microsoft::ReactNative::ComponentView m_parent{nullptr};
|
|
@@ -637,6 +637,10 @@ bool PointerPoint::IsPointerMessage(uint32_t message) const noexcept {
|
|
|
637
637
|
return (message >= WM_POINTERFIRST && message <= WM_POINTERLAST);
|
|
638
638
|
}
|
|
639
639
|
|
|
640
|
+
winrt::Microsoft::UI::Input::PointerPoint PointerPoint::Inner() const noexcept {
|
|
641
|
+
return m_sysPointerPoint;
|
|
642
|
+
}
|
|
643
|
+
|
|
640
644
|
PointerRoutedEventArgs::PointerRoutedEventArgs(
|
|
641
645
|
const winrt::Microsoft::ReactNative::ReactContext &context,
|
|
642
646
|
facebook::react::Tag tag,
|
|
@@ -198,6 +198,7 @@ struct PointerPoint : PointerPointT<PointerPoint> {
|
|
|
198
198
|
uint64_t Timestamp() const noexcept;
|
|
199
199
|
winrt::Microsoft::ReactNative::Composition::Input::PointerPoint GetOffsetPoint(
|
|
200
200
|
const winrt::Windows::Foundation::Point &offset) const noexcept;
|
|
201
|
+
winrt::Microsoft::UI::Input::PointerPoint Inner() const noexcept;
|
|
201
202
|
|
|
202
203
|
private:
|
|
203
204
|
bool IsPointerMessage(uint32_t message) const noexcept;
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
#include <Windows.Graphics.Interop.h>
|
|
14
14
|
#include <windows.ui.composition.interop.h>
|
|
15
|
+
#include <winrt/Microsoft.ReactNative.Composition.Input.h>
|
|
15
16
|
#include <winrt/Windows.Graphics.DirectX.Direct3D11.h>
|
|
16
17
|
#include <winrt/Windows.UI.Composition.h>
|
|
17
18
|
#include <winrt/Windows.UI.Composition.interactions.h>
|
|
@@ -744,14 +745,9 @@ struct CompScrollerVisual : winrt::implements<
|
|
|
744
745
|
m_interactionTracker.MaxScale(1.0);
|
|
745
746
|
|
|
746
747
|
m_visualInteractionSource = TTypeRedirects::VisualInteractionSource::Create(m_visual);
|
|
747
|
-
|
|
748
|
-
m_visualInteractionSource.PositionXSourceMode(TTypeRedirects::InteractionSourceMode::EnabledWithInertia);
|
|
749
|
-
m_visualInteractionSource.PositionYSourceMode(TTypeRedirects::InteractionSourceMode::EnabledWithInertia);
|
|
750
748
|
m_visualInteractionSource.ScaleSourceMode(TTypeRedirects::InteractionSourceMode::Disabled);
|
|
751
|
-
|
|
752
|
-
m_visualInteractionSource.ManipulationRedirectionMode(
|
|
753
|
-
TTypeRedirects::VisualInteractionSourceRedirectionMode::CapableTouchpadAndPointerWheel);
|
|
754
749
|
m_interactionTracker.InteractionSources().Add(m_visualInteractionSource);
|
|
750
|
+
UpdateInteractionModes();
|
|
755
751
|
|
|
756
752
|
auto positionExpression = compositor.CreateExpressionAnimation(L"-tracker.Position");
|
|
757
753
|
positionExpression.SetReferenceParameter(L"tracker", m_interactionTracker);
|
|
@@ -762,6 +758,44 @@ struct CompScrollerVisual : winrt::implements<
|
|
|
762
758
|
return m_visual;
|
|
763
759
|
}
|
|
764
760
|
|
|
761
|
+
void OnPointerPressed(
|
|
762
|
+
const winrt::Microsoft::ReactNative::Composition::Input::PointerRoutedEventArgs &args) noexcept {
|
|
763
|
+
if constexpr (std::is_same_v<TTypeRedirects, MicrosoftTypeRedirects>) {
|
|
764
|
+
auto pointerDeviceType = args.Pointer().PointerDeviceType();
|
|
765
|
+
if (pointerDeviceType == winrt::Microsoft::ReactNative::Composition::Input::PointerDeviceType::Touch) {
|
|
766
|
+
m_visualInteractionSource.TryRedirectForManipulation(args.GetCurrentPoint(args.OriginalSource()).Inner());
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
bool Horizontal() const noexcept {
|
|
772
|
+
return m_horizontal;
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
void Horizontal(bool value) noexcept {
|
|
776
|
+
m_horizontal = value;
|
|
777
|
+
|
|
778
|
+
UpdateInteractionModes();
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
void UpdateInteractionModes() noexcept {
|
|
782
|
+
if (m_isScrollEnabled) {
|
|
783
|
+
m_visualInteractionSource.PositionXSourceMode(
|
|
784
|
+
m_horizontal ? TTypeRedirects::InteractionSourceMode::EnabledWithInertia
|
|
785
|
+
: TTypeRedirects::InteractionSourceMode::Disabled);
|
|
786
|
+
m_visualInteractionSource.PositionYSourceMode(
|
|
787
|
+
m_horizontal ? TTypeRedirects::InteractionSourceMode::Disabled
|
|
788
|
+
: TTypeRedirects::InteractionSourceMode::EnabledWithInertia);
|
|
789
|
+
m_visualInteractionSource.ManipulationRedirectionMode(
|
|
790
|
+
TTypeRedirects::VisualInteractionSourceRedirectionMode::CapableTouchpadAndPointerWheel);
|
|
791
|
+
} else {
|
|
792
|
+
m_visualInteractionSource.PositionXSourceMode(TTypeRedirects::InteractionSourceMode::Disabled);
|
|
793
|
+
m_visualInteractionSource.PositionYSourceMode(TTypeRedirects::InteractionSourceMode::Disabled);
|
|
794
|
+
m_visualInteractionSource.ManipulationRedirectionMode(
|
|
795
|
+
TTypeRedirects::VisualInteractionSourceRedirectionMode::Off);
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
|
|
765
799
|
void InsertAt(
|
|
766
800
|
const winrt::Microsoft::ReactNative::Composition::Experimental::IVisual &visual,
|
|
767
801
|
uint32_t index) noexcept {
|
|
@@ -796,13 +830,8 @@ struct CompScrollerVisual : winrt::implements<
|
|
|
796
830
|
}
|
|
797
831
|
|
|
798
832
|
void ScrollEnabled(bool isScrollEnabled) noexcept {
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
TTypeRedirects::VisualInteractionSourceRedirectionMode::CapableTouchpadAndPointerWheel);
|
|
802
|
-
} else {
|
|
803
|
-
m_visualInteractionSource.ManipulationRedirectionMode(
|
|
804
|
-
TTypeRedirects::VisualInteractionSourceRedirectionMode::Off);
|
|
805
|
-
}
|
|
833
|
+
m_isScrollEnabled = isScrollEnabled;
|
|
834
|
+
UpdateInteractionModes();
|
|
806
835
|
}
|
|
807
836
|
|
|
808
837
|
void Opacity(float opacity) noexcept {
|
|
@@ -970,6 +999,8 @@ struct CompScrollerVisual : winrt::implements<
|
|
|
970
999
|
0});
|
|
971
1000
|
}
|
|
972
1001
|
|
|
1002
|
+
bool m_isScrollEnabled{true};
|
|
1003
|
+
bool m_horizontal{false};
|
|
973
1004
|
bool m_inertia{false};
|
|
974
1005
|
bool m_custom{false};
|
|
975
1006
|
winrt::Windows::Foundation::Numerics::float3 m_targetPosition;
|
|
@@ -125,6 +125,10 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::get_ProviderOptions(Prov
|
|
|
125
125
|
return S_OK;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
+
bool accessibilityValueHasValue(const facebook::react::AccessibilityValue &value) {
|
|
129
|
+
return (value.min.has_value() && value.max.has_value()) || value.now.has_value() || value.text.has_value();
|
|
130
|
+
}
|
|
131
|
+
|
|
128
132
|
HRESULT __stdcall CompositionDynamicAutomationProvider::GetPatternProvider(PATTERNID patternId, IUnknown **pRetVal) {
|
|
129
133
|
if (pRetVal == nullptr)
|
|
130
134
|
return E_POINTER;
|
|
@@ -135,11 +139,15 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::GetPatternProvider(PATTE
|
|
|
135
139
|
if (strongView == nullptr)
|
|
136
140
|
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
137
141
|
|
|
142
|
+
auto compositionView = strongView.try_as<winrt::Microsoft::ReactNative::Composition::implementation::ComponentView>();
|
|
143
|
+
if (compositionView == nullptr)
|
|
144
|
+
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
138
145
|
auto props = std::static_pointer_cast<const facebook::react::ViewProps>(
|
|
139
146
|
winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(strongView)->props());
|
|
140
147
|
if (props == nullptr)
|
|
141
148
|
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
142
|
-
auto accessibilityRole =
|
|
149
|
+
auto accessibilityRole =
|
|
150
|
+
props->accessibilityRole.empty() ? compositionView->DefaultControlType() : props->accessibilityRole;
|
|
143
151
|
// Invoke control pattern is used to support controls that do not maintain state
|
|
144
152
|
// when activated but rather initiate or perform a single, unambiguous action.
|
|
145
153
|
if (patternId == UIA_InvokePatternId &&
|
|
@@ -155,7 +163,15 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::GetPatternProvider(PATTE
|
|
|
155
163
|
AddRef();
|
|
156
164
|
}
|
|
157
165
|
|
|
158
|
-
if (patternId == UIA_ValuePatternId
|
|
166
|
+
if (patternId == UIA_ValuePatternId &&
|
|
167
|
+
(accessibilityRole == "textinput" || accessibilityRole == "searchbox" ||
|
|
168
|
+
(accessibilityRole == "button" && accessibilityValueHasValue(props->accessibilityValue)) ||
|
|
169
|
+
(accessibilityRole == "combobox" && accessibilityValueHasValue(props->accessibilityValue)) ||
|
|
170
|
+
(accessibilityRole == "link" && accessibilityValueHasValue(props->accessibilityValue)) ||
|
|
171
|
+
(accessibilityRole == "listitem" && accessibilityValueHasValue(props->accessibilityValue)) ||
|
|
172
|
+
(accessibilityRole == "progressbar" && accessibilityValueHasValue(props->accessibilityValue)) ||
|
|
173
|
+
(accessibilityRole == "adjustable" && accessibilityValueHasValue(props->accessibilityValue)) ||
|
|
174
|
+
(accessibilityRole == "spinbutton" && accessibilityValueHasValue(props->accessibilityValue)))) {
|
|
159
175
|
*pRetVal = static_cast<IValueProvider *>(this);
|
|
160
176
|
AddRef();
|
|
161
177
|
}
|
|
@@ -365,6 +381,8 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::Invoke() {
|
|
|
365
381
|
if (spProviderSimple != nullptr) {
|
|
366
382
|
UiaRaiseAutomationEvent(spProviderSimple.get(), UIA_Invoke_InvokedEventId);
|
|
367
383
|
}
|
|
384
|
+
DispatchAccessibilityAction(m_view, "invoke");
|
|
385
|
+
DispatchAccessibilityAction(m_view, "activate");
|
|
368
386
|
|
|
369
387
|
return S_OK;
|
|
370
388
|
}
|
|
@@ -378,6 +396,7 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::ScrollIntoView() {
|
|
|
378
396
|
winrt::Microsoft::ReactNative::implementation::BringIntoViewOptions scrollOptions;
|
|
379
397
|
winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(strongView)
|
|
380
398
|
->StartBringIntoView(std::move(scrollOptions));
|
|
399
|
+
DispatchAccessibilityAction(m_view, "scrollIntoView");
|
|
381
400
|
|
|
382
401
|
return S_OK;
|
|
383
402
|
}
|
|
@@ -406,6 +425,7 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::SetValue(LPCWSTR val) {
|
|
|
406
425
|
|
|
407
426
|
winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(strongView)
|
|
408
427
|
->setAcccessiblityValue(winrt::to_string(val));
|
|
428
|
+
DispatchAccessibilityAction(m_view, "setValue");
|
|
409
429
|
return S_OK;
|
|
410
430
|
}
|
|
411
431
|
|
|
@@ -418,7 +438,7 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::get_Value(BSTR *pRetVal)
|
|
|
418
438
|
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
419
439
|
|
|
420
440
|
*pRetVal = StringToBSTR(winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(strongView)
|
|
421
|
-
->
|
|
441
|
+
->getAccessiblityValue()
|
|
422
442
|
.value_or(""));
|
|
423
443
|
return S_OK;
|
|
424
444
|
}
|
|
@@ -431,8 +451,24 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::get_IsReadOnly(BOOL *pRe
|
|
|
431
451
|
if (!strongView)
|
|
432
452
|
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
433
453
|
|
|
434
|
-
|
|
435
|
-
|
|
454
|
+
auto props = std::static_pointer_cast<const facebook::react::ViewProps>(
|
|
455
|
+
winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(strongView)->props());
|
|
456
|
+
if (props == nullptr)
|
|
457
|
+
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
458
|
+
auto accessibilityRole = props->accessibilityRole;
|
|
459
|
+
if (accessibilityRole.empty()) {
|
|
460
|
+
// Control is using default control type. Use default IsReadOnly value.
|
|
461
|
+
*pRetVal = winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(strongView)
|
|
462
|
+
->getAcccessiblityIsReadOnly();
|
|
463
|
+
} else if (
|
|
464
|
+
accessibilityRole == "textinput" || accessibilityRole == "searchbox" || accessibilityRole == "adjustable" ||
|
|
465
|
+
accessibilityRole == "spinbutton" || accessibilityRole == "combobox") {
|
|
466
|
+
// Control is using customized control type which should not be IsReadOnly for value pattern.
|
|
467
|
+
*pRetVal = false;
|
|
468
|
+
} else {
|
|
469
|
+
// Control is using customized control type which should be IsReadOnly for value pattern.
|
|
470
|
+
*pRetVal = true;
|
|
471
|
+
}
|
|
436
472
|
return S_OK;
|
|
437
473
|
}
|
|
438
474
|
|
|
@@ -456,6 +492,7 @@ HRESULT __stdcall CompositionDynamicAutomationProvider::Toggle() {
|
|
|
456
492
|
return UIA_E_ELEMENTNOTAVAILABLE;
|
|
457
493
|
|
|
458
494
|
winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(strongView)->Toggle();
|
|
495
|
+
DispatchAccessibilityAction(m_view, "toggle");
|
|
459
496
|
return S_OK;
|
|
460
497
|
}
|
|
461
498
|
|
|
@@ -102,6 +102,7 @@ void CompositionHwndHost::UpdateSize() noexcept {
|
|
|
102
102
|
// Do not relayout when minimized
|
|
103
103
|
if (!IsIconic(m_hwnd)) {
|
|
104
104
|
winrt::Microsoft::ReactNative::LayoutConstraints constraints;
|
|
105
|
+
constraints.LayoutDirection = winrt::Microsoft::ReactNative::LayoutDirection::Undefined;
|
|
105
106
|
constraints.MinimumSize = constraints.MaximumSize = size;
|
|
106
107
|
m_compRootView.Arrange(constraints, {0, 0});
|
|
107
108
|
}
|
|
@@ -248,23 +248,26 @@ void ComponentView::updateEventEmitter(facebook::react::EventEmitter::Shared con
|
|
|
248
248
|
base_type::updateEventEmitter(eventEmitter);
|
|
249
249
|
}
|
|
250
250
|
|
|
251
|
-
void ComponentView::HandleCommand(
|
|
252
|
-
|
|
253
|
-
|
|
251
|
+
void ComponentView::HandleCommand(const winrt::Microsoft::ReactNative::HandleCommandArgs &args) noexcept {
|
|
252
|
+
base_type::HandleCommand(args);
|
|
253
|
+
if (args.Handled())
|
|
254
|
+
return;
|
|
255
|
+
|
|
256
|
+
auto commandName = args.CommandName();
|
|
254
257
|
if (commandName == L"focus") {
|
|
255
258
|
if (auto root = rootComponentView()) {
|
|
256
|
-
root->TrySetFocusedComponent(*get_strong());
|
|
259
|
+
root->TrySetFocusedComponent(*get_strong(), winrt::Microsoft::ReactNative::FocusNavigationDirection::None);
|
|
257
260
|
}
|
|
258
261
|
return;
|
|
259
262
|
}
|
|
260
263
|
if (commandName == L"blur") {
|
|
261
264
|
if (auto root = rootComponentView()) {
|
|
262
|
-
root->TrySetFocusedComponent(
|
|
265
|
+
root->TrySetFocusedComponent(
|
|
266
|
+
nullptr, winrt::Microsoft::ReactNative::FocusNavigationDirection::None); // Todo store this component as
|
|
267
|
+
// previously focused element
|
|
263
268
|
}
|
|
264
269
|
return;
|
|
265
270
|
}
|
|
266
|
-
|
|
267
|
-
base_type::HandleCommand(commandName, args);
|
|
268
271
|
}
|
|
269
272
|
|
|
270
273
|
bool ComponentView::CapturePointer(const winrt::Microsoft::ReactNative::Composition::Input::Pointer &pointer) noexcept {
|
|
@@ -518,7 +521,7 @@ static winrt::com_ptr<ID2D1PathGeometry> GenerateRoundedRectPathGeometry(
|
|
|
518
521
|
}
|
|
519
522
|
|
|
520
523
|
RoundedPathParameters GenerateRoundedPathParameters(
|
|
521
|
-
const facebook::react::RectangleCorners<
|
|
524
|
+
const facebook::react::RectangleCorners<facebook::react::CornerRadii> &baseRadius,
|
|
522
525
|
const facebook::react::RectangleEdges<float> &inset,
|
|
523
526
|
const facebook::react::Size &pathSize) noexcept {
|
|
524
527
|
RoundedPathParameters result;
|
|
@@ -527,10 +530,10 @@ RoundedPathParameters GenerateRoundedPathParameters(
|
|
|
527
530
|
return result;
|
|
528
531
|
}
|
|
529
532
|
|
|
530
|
-
float totalTopRadius = baseRadius.topLeft + baseRadius.topRight;
|
|
531
|
-
float totalRightRadius = baseRadius.topRight + baseRadius.bottomRight;
|
|
532
|
-
float totalBottomRadius = baseRadius.bottomRight + baseRadius.bottomLeft;
|
|
533
|
-
float totalLeftRadius = baseRadius.bottomLeft + baseRadius.topLeft;
|
|
533
|
+
float totalTopRadius = baseRadius.topLeft.horizontal + baseRadius.topRight.horizontal;
|
|
534
|
+
float totalRightRadius = baseRadius.topRight.vertical + baseRadius.bottomRight.vertical;
|
|
535
|
+
float totalBottomRadius = baseRadius.bottomRight.horizontal + baseRadius.bottomLeft.horizontal;
|
|
536
|
+
float totalLeftRadius = baseRadius.bottomLeft.vertical + baseRadius.topLeft.vertical;
|
|
534
537
|
|
|
535
538
|
float maxHorizontalRadius = std::max(totalTopRadius, totalBottomRadius);
|
|
536
539
|
float maxVerticalRadius = std::max(totalLeftRadius, totalRightRadius);
|
|
@@ -543,21 +546,21 @@ RoundedPathParameters GenerateRoundedPathParameters(
|
|
|
543
546
|
|
|
544
547
|
float maxScale = std::max(1.0f, std::max(scaleHoriz, scaleVert));
|
|
545
548
|
|
|
546
|
-
result.topLeftRadiusX = std::max(0.0f, baseRadius.topLeft / maxScale - inset.left);
|
|
547
|
-
result.topLeftRadiusY = std::max(0.0f, baseRadius.topLeft / maxScale - inset.top);
|
|
548
|
-
result.topRightRadiusX = std::max(0.0f, baseRadius.topRight / maxScale - inset.right);
|
|
549
|
-
result.topRightRadiusY = std::max(0.0f, baseRadius.topRight / maxScale - inset.top);
|
|
550
|
-
result.bottomRightRadiusX = std::max(0.0f, baseRadius.bottomRight / maxScale - inset.right);
|
|
551
|
-
result.bottomRightRadiusY = std::max(0.0f, baseRadius.bottomRight / maxScale - inset.bottom);
|
|
552
|
-
result.bottomLeftRadiusX = std::max(0.0f, baseRadius.bottomLeft / maxScale - inset.left);
|
|
553
|
-
result.bottomLeftRadiusY = std::max(0.0f, baseRadius.bottomLeft / maxScale - inset.bottom);
|
|
549
|
+
result.topLeftRadiusX = std::max(0.0f, baseRadius.topLeft.horizontal / maxScale - inset.left);
|
|
550
|
+
result.topLeftRadiusY = std::max(0.0f, baseRadius.topLeft.vertical / maxScale - inset.top);
|
|
551
|
+
result.topRightRadiusX = std::max(0.0f, baseRadius.topRight.horizontal / maxScale - inset.right);
|
|
552
|
+
result.topRightRadiusY = std::max(0.0f, baseRadius.topRight.vertical / maxScale - inset.top);
|
|
553
|
+
result.bottomRightRadiusX = std::max(0.0f, baseRadius.bottomRight.horizontal / maxScale - inset.right);
|
|
554
|
+
result.bottomRightRadiusY = std::max(0.0f, baseRadius.bottomRight.vertical / maxScale - inset.bottom);
|
|
555
|
+
result.bottomLeftRadiusX = std::max(0.0f, baseRadius.bottomLeft.horizontal / maxScale - inset.left);
|
|
556
|
+
result.bottomLeftRadiusY = std::max(0.0f, baseRadius.bottomLeft.vertical / maxScale - inset.bottom);
|
|
554
557
|
|
|
555
558
|
return result;
|
|
556
559
|
}
|
|
557
560
|
|
|
558
561
|
static winrt::com_ptr<ID2D1PathGeometry> GenerateRoundedRectPathGeometry(
|
|
559
562
|
winrt::Microsoft::ReactNative::Composition::Experimental::ICompositionContext &compContext,
|
|
560
|
-
const facebook::react::RectangleCorners<
|
|
563
|
+
const facebook::react::RectangleCorners<facebook::react::CornerRadii> &baseRadius,
|
|
561
564
|
const facebook::react::RectangleEdges<float> &inset,
|
|
562
565
|
const facebook::react::RectangleEdges<float> &rectPathGeometry) noexcept {
|
|
563
566
|
RoundedPathParameters params = GenerateRoundedPathParameters(
|
|
@@ -774,11 +777,11 @@ void DrawAllBorderLayers(
|
|
|
774
777
|
spTextures[0], // Target Layer, Source Texture, Target Texture
|
|
775
778
|
{0,
|
|
776
779
|
0,
|
|
777
|
-
borderRadii.topLeft + borderWidths.left,
|
|
778
|
-
borderRadii.topLeft + borderWidths.top}, // Texture Left, Top, Width, Height
|
|
780
|
+
borderRadii.topLeft.vertical + borderWidths.left,
|
|
781
|
+
borderRadii.topLeft.horizontal + borderWidths.top}, // Texture Left, Top, Width, Height
|
|
779
782
|
{AnchorPosition::Left, AnchorPosition::Top}, // Layer Anchor Point
|
|
780
783
|
{0, 0}, // Layer Anchor Offset
|
|
781
|
-
{borderRadii.topLeft + borderWidths.left, borderRadii.topLeft + borderWidths.top}, // size
|
|
784
|
+
{borderRadii.topLeft.vertical + borderWidths.left, borderRadii.topLeft.horizontal + borderWidths.top}, // size
|
|
782
785
|
{0.0f, 0.0f}, // relativeSize
|
|
783
786
|
std::max(borderWidths.left, borderWidths.top),
|
|
784
787
|
borderColors.left ? borderColors.left : borderColors.top,
|
|
@@ -791,13 +794,13 @@ void DrawAllBorderLayers(
|
|
|
791
794
|
spBorderLayers[1],
|
|
792
795
|
shape,
|
|
793
796
|
spTextures[1],
|
|
794
|
-
{borderRadii.topLeft + borderWidths.left,
|
|
797
|
+
{borderRadii.topLeft.vertical + borderWidths.left,
|
|
795
798
|
0,
|
|
796
|
-
textureWidth - (borderRadii.topRight + borderWidths.right),
|
|
799
|
+
textureWidth - (borderRadii.topRight.vertical + borderWidths.right),
|
|
797
800
|
borderWidths.top},
|
|
798
801
|
{AnchorPosition::Left, AnchorPosition::Top},
|
|
799
|
-
{borderRadii.topLeft + borderWidths.left, 0},
|
|
800
|
-
{-(borderRadii.topLeft + borderWidths.left + borderRadii.topRight + borderWidths.right),
|
|
802
|
+
{borderRadii.topLeft.vertical + borderWidths.left, 0},
|
|
803
|
+
{-(borderRadii.topLeft.vertical + borderWidths.left + borderRadii.topRight.vertical + borderWidths.right),
|
|
801
804
|
borderWidths.top}, // size
|
|
802
805
|
{1.0f, 0.0f}, // relativeSize
|
|
803
806
|
borderWidths.top,
|
|
@@ -811,13 +814,13 @@ void DrawAllBorderLayers(
|
|
|
811
814
|
spBorderLayers[2],
|
|
812
815
|
shape,
|
|
813
816
|
spTextures[2],
|
|
814
|
-
{textureWidth - (borderRadii.topRight + borderWidths.right),
|
|
817
|
+
{textureWidth - (borderRadii.topRight.vertical + borderWidths.right),
|
|
815
818
|
0,
|
|
816
819
|
textureWidth,
|
|
817
|
-
borderRadii.topRight + borderWidths.top},
|
|
820
|
+
borderRadii.topRight.horizontal + borderWidths.top},
|
|
818
821
|
{AnchorPosition::Right, AnchorPosition::Top},
|
|
819
|
-
{-(borderRadii.topRight + borderWidths.right), 0},
|
|
820
|
-
{borderRadii.topRight + borderWidths.right, borderRadii.topRight + borderWidths.top},
|
|
822
|
+
{-(borderRadii.topRight.vertical + borderWidths.right), 0},
|
|
823
|
+
{borderRadii.topRight.vertical + borderWidths.right, borderRadii.topRight.horizontal + borderWidths.top},
|
|
821
824
|
{0.0f, 0.0f},
|
|
822
825
|
std::max(borderWidths.right, borderWidths.top),
|
|
823
826
|
borderColors.right ? borderColors.right : borderColors.top,
|
|
@@ -831,13 +834,14 @@ void DrawAllBorderLayers(
|
|
|
831
834
|
shape,
|
|
832
835
|
spTextures[3],
|
|
833
836
|
{textureWidth - borderWidths.right,
|
|
834
|
-
borderWidths.top + borderRadii.topRight,
|
|
837
|
+
borderWidths.top + borderRadii.topRight.horizontal,
|
|
835
838
|
textureWidth,
|
|
836
|
-
textureHeight - (borderWidths.bottom + borderRadii.bottomRight)},
|
|
839
|
+
textureHeight - (borderWidths.bottom + borderRadii.bottomRight.horizontal)},
|
|
837
840
|
{AnchorPosition::Right, AnchorPosition::Top},
|
|
838
|
-
{-borderWidths.right, borderWidths.top + borderRadii.topRight},
|
|
841
|
+
{-borderWidths.right, borderWidths.top + borderRadii.topRight.horizontal},
|
|
839
842
|
{borderWidths.right,
|
|
840
|
-
-(borderWidths.top + borderRadii.topRight + borderWidths.bottom +
|
|
843
|
+
-(borderWidths.top + borderRadii.topRight.horizontal + borderWidths.bottom +
|
|
844
|
+
borderRadii.bottomRight.horizontal)}, // size
|
|
841
845
|
{0.0f, 1.0f},
|
|
842
846
|
borderWidths.right,
|
|
843
847
|
borderColors.right,
|
|
@@ -850,13 +854,14 @@ void DrawAllBorderLayers(
|
|
|
850
854
|
spBorderLayers[4],
|
|
851
855
|
shape,
|
|
852
856
|
spTextures[4],
|
|
853
|
-
{textureWidth - (borderWidths.right + borderRadii.bottomRight),
|
|
854
|
-
textureHeight - (borderWidths.bottom + borderRadii.bottomRight),
|
|
857
|
+
{textureWidth - (borderWidths.right + borderRadii.bottomRight.vertical),
|
|
858
|
+
textureHeight - (borderWidths.bottom + borderRadii.bottomRight.horizontal),
|
|
855
859
|
textureWidth,
|
|
856
860
|
textureHeight},
|
|
857
861
|
{AnchorPosition::Right, AnchorPosition::Bottom},
|
|
858
|
-
{-(borderWidths.right + borderRadii.bottomRight
|
|
859
|
-
|
|
862
|
+
{-(borderWidths.right + borderRadii.bottomRight.vertical),
|
|
863
|
+
-(borderWidths.bottom + borderRadii.bottomRight.horizontal)},
|
|
864
|
+
{borderWidths.right + borderRadii.bottomRight.vertical, borderWidths.bottom + borderRadii.bottomRight.horizontal},
|
|
860
865
|
{0, 0},
|
|
861
866
|
std::max(borderWidths.right, borderWidths.bottom),
|
|
862
867
|
borderColors.right ? borderColors.right : borderColors.bottom,
|
|
@@ -869,13 +874,13 @@ void DrawAllBorderLayers(
|
|
|
869
874
|
spBorderLayers[5],
|
|
870
875
|
shape,
|
|
871
876
|
spTextures[5],
|
|
872
|
-
{borderWidths.left + borderRadii.bottomLeft,
|
|
877
|
+
{borderWidths.left + borderRadii.bottomLeft.vertical,
|
|
873
878
|
textureHeight - borderWidths.bottom,
|
|
874
|
-
textureWidth - (borderWidths.right + borderRadii.bottomRight),
|
|
879
|
+
textureWidth - (borderWidths.right + borderRadii.bottomRight.vertical),
|
|
875
880
|
textureHeight},
|
|
876
881
|
{AnchorPosition::Left, AnchorPosition::Bottom},
|
|
877
|
-
{borderWidths.left + borderRadii.bottomLeft, -borderWidths.bottom},
|
|
878
|
-
{-(borderWidths.right + borderRadii.bottomLeft + borderWidths.left + borderRadii.bottomRight),
|
|
882
|
+
{borderWidths.left + borderRadii.bottomLeft.vertical, -borderWidths.bottom},
|
|
883
|
+
{-(borderWidths.right + borderRadii.bottomLeft.vertical + borderWidths.left + borderRadii.bottomRight.vertical),
|
|
879
884
|
borderWidths.bottom},
|
|
880
885
|
{1.0f, 0.0f},
|
|
881
886
|
borderWidths.bottom,
|
|
@@ -890,12 +895,12 @@ void DrawAllBorderLayers(
|
|
|
890
895
|
shape,
|
|
891
896
|
spTextures[6],
|
|
892
897
|
{0,
|
|
893
|
-
textureHeight - (borderWidths.bottom + borderRadii.bottomLeft),
|
|
894
|
-
borderWidths.left + borderRadii.bottomLeft,
|
|
898
|
+
textureHeight - (borderWidths.bottom + borderRadii.bottomLeft.horizontal),
|
|
899
|
+
borderWidths.left + borderRadii.bottomLeft.vertical,
|
|
895
900
|
textureHeight},
|
|
896
901
|
{AnchorPosition::Left, AnchorPosition::Bottom},
|
|
897
|
-
{0, -(borderWidths.bottom + borderRadii.bottomLeft)},
|
|
898
|
-
{borderWidths.left + borderRadii.bottomLeft, borderWidths.bottom + borderRadii.bottomLeft},
|
|
902
|
+
{0, -(borderWidths.bottom + borderRadii.bottomLeft.horizontal)},
|
|
903
|
+
{borderWidths.left + borderRadii.bottomLeft.vertical, borderWidths.bottom + borderRadii.bottomLeft.horizontal},
|
|
899
904
|
{0, 0},
|
|
900
905
|
std::max(borderWidths.left, borderWidths.bottom),
|
|
901
906
|
borderColors.left ? borderColors.left : borderColors.bottom,
|
|
@@ -909,12 +914,13 @@ void DrawAllBorderLayers(
|
|
|
909
914
|
shape,
|
|
910
915
|
spTextures[7],
|
|
911
916
|
{0,
|
|
912
|
-
borderWidths.top + borderRadii.topLeft,
|
|
917
|
+
borderWidths.top + borderRadii.topLeft.horizontal,
|
|
913
918
|
borderWidths.left,
|
|
914
|
-
textureHeight - (borderWidths.bottom + borderRadii.bottomLeft)},
|
|
919
|
+
textureHeight - (borderWidths.bottom + borderRadii.bottomLeft.horizontal)},
|
|
915
920
|
{AnchorPosition::Left, AnchorPosition::Top},
|
|
916
|
-
{0, borderWidths.top + borderRadii.topLeft},
|
|
917
|
-
{borderWidths.left,
|
|
921
|
+
{0, borderWidths.top + borderRadii.topLeft.horizontal},
|
|
922
|
+
{borderWidths.left,
|
|
923
|
+
-(borderWidths.top + borderRadii.topLeft.horizontal + borderWidths.bottom + borderRadii.bottomLeft.horizontal)},
|
|
918
924
|
{0, 1},
|
|
919
925
|
borderWidths.left,
|
|
920
926
|
borderColors.left,
|
|
@@ -923,7 +929,7 @@ void DrawAllBorderLayers(
|
|
|
923
929
|
|
|
924
930
|
winrt::com_ptr<ID2D1GeometryGroup> GetGeometryForRoundedBorder(
|
|
925
931
|
winrt::Microsoft::ReactNative::Composition::Experimental::ICompositionContext &compContext,
|
|
926
|
-
const facebook::react::RectangleCorners<
|
|
932
|
+
const facebook::react::RectangleCorners<facebook::react::CornerRadii> &radius,
|
|
927
933
|
const facebook::react::RectangleEdges<float> &inset,
|
|
928
934
|
const facebook::react::RectangleEdges<float> &thickness,
|
|
929
935
|
const facebook::react::RectangleEdges<float> &rectPathGeometry) noexcept {
|
|
@@ -993,10 +999,17 @@ winrt::com_ptr<ID2D1GeometryGroup> GetGeometryForRoundedBorder(
|
|
|
993
999
|
// Also apply scale factor to the radii at this point
|
|
994
1000
|
void pixelRoundBorderRadii(facebook::react::BorderRadii &borderRadii, float scaleFactor) noexcept {
|
|
995
1001
|
// Always round radii down to avoid spikey circles
|
|
996
|
-
borderRadii.topLeft =
|
|
997
|
-
|
|
998
|
-
borderRadii.
|
|
999
|
-
|
|
1002
|
+
borderRadii.topLeft = {
|
|
1003
|
+
std::floor(borderRadii.topLeft.horizontal * scaleFactor), std::floor(borderRadii.topLeft.vertical * scaleFactor)};
|
|
1004
|
+
borderRadii.topRight = {
|
|
1005
|
+
std::floor(borderRadii.topRight.horizontal * scaleFactor),
|
|
1006
|
+
std::floor(borderRadii.topRight.vertical * scaleFactor)};
|
|
1007
|
+
borderRadii.bottomLeft = {
|
|
1008
|
+
std::floor(borderRadii.bottomLeft.horizontal * scaleFactor),
|
|
1009
|
+
std::floor(borderRadii.bottomLeft.vertical * scaleFactor)};
|
|
1010
|
+
borderRadii.bottomRight = {
|
|
1011
|
+
std::floor(borderRadii.bottomRight.horizontal * scaleFactor),
|
|
1012
|
+
std::floor(borderRadii.bottomRight.vertical * scaleFactor)};
|
|
1000
1013
|
}
|
|
1001
1014
|
|
|
1002
1015
|
void scaleAndPixelRoundBorderWidths(
|
|
@@ -1084,8 +1097,10 @@ bool ComponentView::TryUpdateSpecialBorderLayers(
|
|
|
1084
1097
|
float extentWidth = layoutMetrics.frame.size.width * layoutMetrics.pointScaleFactor;
|
|
1085
1098
|
float extentHeight = layoutMetrics.frame.size.height * layoutMetrics.pointScaleFactor;
|
|
1086
1099
|
|
|
1087
|
-
if (borderMetrics.borderRadii.topLeft != 0 || borderMetrics.borderRadii.topRight != 0 ||
|
|
1088
|
-
borderMetrics.borderRadii.bottomLeft != 0 || borderMetrics.borderRadii.bottomRight != 0
|
|
1100
|
+
if (borderMetrics.borderRadii.topLeft.horizontal != 0 || borderMetrics.borderRadii.topRight.horizontal != 0 ||
|
|
1101
|
+
borderMetrics.borderRadii.bottomLeft.horizontal != 0 || borderMetrics.borderRadii.bottomRight.horizontal != 0 ||
|
|
1102
|
+
borderMetrics.borderRadii.topLeft.vertical != 0 || borderMetrics.borderRadii.topRight.vertical != 0 ||
|
|
1103
|
+
borderMetrics.borderRadii.bottomLeft.vertical != 0 || borderMetrics.borderRadii.bottomRight.vertical != 0) {
|
|
1089
1104
|
if (borderStyle == facebook::react::BorderStyle::Dotted || borderStyle == facebook::react::BorderStyle::Dashed) {
|
|
1090
1105
|
// Because in DirectX geometry starts at the center of the stroke, we need to deflate
|
|
1091
1106
|
// rectangle by half the stroke width to render correctly.
|
|
@@ -1310,8 +1325,9 @@ void ComponentView::updateAccessibilityProps(
|
|
|
1310
1325
|
newViewProps.accessibilityLiveRegion);
|
|
1311
1326
|
}
|
|
1312
1327
|
|
|
1313
|
-
std::optional<std::string> ComponentView::
|
|
1314
|
-
return
|
|
1328
|
+
std::optional<std::string> ComponentView::getAccessiblityValue() noexcept {
|
|
1329
|
+
return winrt::Microsoft::ReactNative::implementation::extractAccessibilityValue(
|
|
1330
|
+
std::static_pointer_cast<const facebook::react::ViewProps>(props())->accessibilityValue);
|
|
1315
1331
|
}
|
|
1316
1332
|
|
|
1317
1333
|
void ComponentView::setAcccessiblityValue(std::string &&value) noexcept {
|
|
@@ -1335,8 +1351,10 @@ void ComponentView::updateBorderLayoutMetrics(
|
|
|
1335
1351
|
const facebook::react::ViewProps &viewProps) noexcept {
|
|
1336
1352
|
auto borderMetrics = resolveAndAlignBorderMetrics(layoutMetrics, viewProps);
|
|
1337
1353
|
|
|
1338
|
-
if (borderMetrics.borderRadii.topLeft == 0 && borderMetrics.borderRadii.topRight == 0 &&
|
|
1339
|
-
borderMetrics.borderRadii.bottomLeft == 0 && borderMetrics.borderRadii.bottomRight == 0
|
|
1354
|
+
if (borderMetrics.borderRadii.topLeft.horizontal == 0 && borderMetrics.borderRadii.topRight.horizontal == 0 &&
|
|
1355
|
+
borderMetrics.borderRadii.bottomLeft.horizontal == 0 && borderMetrics.borderRadii.bottomRight.horizontal == 0 &&
|
|
1356
|
+
borderMetrics.borderRadii.topLeft.vertical == 0 && borderMetrics.borderRadii.topRight.vertical == 0 &&
|
|
1357
|
+
borderMetrics.borderRadii.bottomLeft.vertical == 0 && borderMetrics.borderRadii.bottomRight.vertical == 0) {
|
|
1340
1358
|
Visual().as<::Microsoft::ReactNative::Composition::Experimental::IVisualInterop>()->SetClippingPath(nullptr);
|
|
1341
1359
|
} else {
|
|
1342
1360
|
winrt::com_ptr<ID2D1PathGeometry> pathGeometry = GenerateRoundedRectPathGeometry(
|
|
@@ -38,8 +38,7 @@ struct ComponentView : public ComponentViewT<
|
|
|
38
38
|
virtual winrt::Microsoft::ReactNative::Composition::Experimental::IVisual OuterVisual() const noexcept;
|
|
39
39
|
void updateEventEmitter(facebook::react::EventEmitter::Shared const &eventEmitter) noexcept override;
|
|
40
40
|
const facebook::react::SharedViewEventEmitter &GetEventEmitter() const noexcept;
|
|
41
|
-
void HandleCommand(
|
|
42
|
-
override;
|
|
41
|
+
void HandleCommand(const winrt::Microsoft::ReactNative::HandleCommandArgs &args) noexcept override;
|
|
43
42
|
facebook::react::Props::Shared props() noexcept override;
|
|
44
43
|
virtual const facebook::react::SharedViewProps &viewProps() const noexcept {
|
|
45
44
|
static facebook::react::SharedViewProps emptyProps;
|
|
@@ -92,7 +91,7 @@ struct ComponentView : public ComponentViewT<
|
|
|
92
91
|
void EnsureTransformMatrixFacade() noexcept;
|
|
93
92
|
|
|
94
93
|
winrt::IInspectable EnsureUiaProvider() noexcept override;
|
|
95
|
-
std::optional<std::string>
|
|
94
|
+
std::optional<std::string> getAccessiblityValue() noexcept override;
|
|
96
95
|
void setAcccessiblityValue(std::string &&value) noexcept override;
|
|
97
96
|
bool getAcccessiblityIsReadOnly() noexcept override;
|
|
98
97
|
ToggleState getToggleState() noexcept override;
|