* ControlCatalog: add dashboard home page with animated hero and nav cards
A new Home page (first in the drawer) modeled on the Accelerate demo
dashboard: a gradient hero banner with floating control glyphs animated
via keyframed TranslateTransforms, followed by categorized card sections
for every catalog page. Cards carry an icon badge, title and one-line
description, and clicking one navigates via SelectedPageIndex so the
drawer selection stays in sync. PageItem gains Description/Category and
the view model exposes grouped HomeSections plus NavigateToPageCommand.
Card colors are self-contained theme dictionaries so the page works
across Fluent/Fluent2/Simple in both variants.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* ControlCatalog: use the Accelerate demo hero banner verbatim on the home page
Replaces the gradient/glyph hero with a 1:1 copy of AvaloniaProDemo's
DashboardView banner: banner-bg backdrop, the four 3D logos floating at
the original positions/durations, and the centered Avalonia wordmark.
Assets copied from the Accelerate repo (~4.8 MB of PNGs).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* DataGridPage was removed
* Make Main Window a bit wider to fit 3 full columns instead of 2.5
* Fix ScreenPage not rendering
* Replace Avalonia old icon with a new one
* Update main logo too
* Force Avalonia SyncContext inside of OnSizeChanged callback
* Restructure MainWindowViewModel_PageList, avoid duplication of categories
* Fix screens page invalidation
* Fix minor warnings
* Redo HomePage items layouting
* Add missing pages
* Reuse $(SharedAssetsPath)
* Don't pin exact patch version of DiagnosticsSupport
* Resize new assets
* Include page section in search
* Use expression setters in main view model
* Restore filtered page sorting
* Fix CI build
* Add 1px margin to the UniformGrid to fix cropped border issue
---------
Co-authored-by: Mike James <michael.james6@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
* Added LandmarkType to automation properties
* Set AutomationProperties.AccessibilityView on Main landmark in IntegrationTestApp, which is required for Narrator to find the landmark
* Implement AXRoleDescription as suggested by W3C
* Fixed wrong role descriptions
* Refactor IntegrationTestApp.
Use a `ListBox` to switch pages instead of a `TabControl`: the `TabControl` didn't adapt well to smaller screen sizes, and the `MainWindow` was getting unwieldy anyway.
* Update tests to use new pager.
Move logic for selecting the page to a base class as we may need to handle scrolling manually on macOS at some point (Appium on macOS doesn't scroll elements into view automatically).
* Add AutomationPeer.IsOffscreen.
This is needed in order for controls to be scrolled into view using WinAppDriver. The default is the same as WPF and the default value is overridden in the same controls as WPF (where present).
When opening a context menu and pressing the "arrow down" key, the first menu item was not selected. This issue was introduced by #11287. The fix is to make the `ContextMenu` focusable.
Added an integration test to try to prevent regressions.
Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Draft new API
* Push reusable ScreensBaseImpl implementation
* Fix tests and stubs
* Update ScreensPage sample to work on mobile + show new APIs
* Reimplement Windows ScreensImpl, reuse existing screens in other places of backend, use Microsoft.Windows.CsWin32 for interop
* Make X11 project buildable, don't utilize new APIs yet
* Reimplement macOS Screens API, differenciate screens by CGDirectDisplayID
* Fix build
* Adjust breaking changes file (none affect users)
* Fix missing macOS Screen.DisplayName
* Add more tests + fix screen removal
* Add screens integration tests
* Use hash set with comparer when removing screens
* Make screenimpl safer on macOS as per review
* Replace UnmanagedCallersOnly usage with source generated EnumDisplayMonitors
* Remove unused dllimport
* Only implement GetHashCode and Equals on PlatformScreen subclass, without changing base Screen
* Add accessibility ID to the TrayPopupRoot on Windows
* [Windows] Add left click and menu item click e2e tests for TrayIcon
* [Windows] Add TrayIcon visibility toggle tests
* Implement macOS tray icon tests
* Make it easier to read tray icon logs
* Try to handle win10 accessibility names
* Try to upload PageSource
* Set condition: always
* Hopefully, it works on CI
* Try to upload PageSource #2
* Fix win10, hopefully for the last time
* Enable IncludeAvaloniaGenerators on integartion tests app
* Implement basic TitleBarAutomationPeer
* Add WindowDecorationsTests (windows only for now)
* Implement window decoration tests on macOS
* Fix build on appium 1
* Fix some windows tests
* Extract WindowDecorationsTests into a separated collection, so it won't conflict
* Fix build
* Fix build
* ensure owner topmost flag is set if its topmost when showing a owned window
* add comments on why HWND_TOPMOST is set again
* add Topmost with owned window integration tests
* fix tests
* Add integration test for access key indicators in macOS menu bar titles.
Tests for access key indicators displaying as plain underscores in macOS menu bar items.
* Exclude access key markers from native menu titles on macOS.
macOS does not support access key markers, so they just display as extra underscores.
Integration tests for #10420:
- Adds an `--overlayPopups` command-line argument to IntegrationTestApp
- Renames `TestAppFixture` -> `DefaultAppFixture`
- Adds additional `OverlayPopupsAppFixture`
- Runs ComboBox and Menu tests in both default and overlay popups mode
- VS keeps changing the `.sln` file
We need to be explicit about which element we're talking about when there are two elements with the same content, and so use accessibility IDs rather than Name.