Introduction
Copy-and-own .NET MAUI and Avalonia components with the ShellUI design system.
ShellUI Native brings the shadcn/ui approach to native .NET apps. It's the sibling of ShellUI for Blazor: the same design, the same theme tokens, as plain C# controls for .NET MAUI and Avalonia.
There's no component package to depend on. The shellui-native CLI copies each component into your project as a C# file, with everything it needs, and from then on the code is yours to read and change.
ShellUI.Native.CLI 0.2.0-beta.1 is on NuGet and installs every component for both .NET MAUI and Avalonia. It's still a prerelease, so APIs can change. Components added since that release are marked Next release on their pages.
How it works
- Copy and own.
shellui-native add dialogwritesDialog.cs, its parts and the helpers they use intoComponents/UI. Change anything: the nextaddwon't overwrite it unless you pass--force. - One design on two platforms. Components keep the same names, properties and variants on MAUI and Avalonia, so a screen reads the same on both. Where a platform does something differently, the component's page says so under MAUI and Avalonia.
- Theme tokens. Every colour is a token (
Background,Primary,Border, …) mirroring ShellUI's CSS variables.ShellThemeswaps the light and dark palettes at runtime, and you can override any token. See Theming. - No native chrome. Selects, pickers, sliders and overlays are drawn by the components, so they look the same on Windows, macOS, Linux, Android and iOS.
- Keyboard and focus. A focus ring for keyboard users, Enter and Space on triggers, Escape to close the overlay on top, and focus kept inside open dialogs.
About these docs
Each component page has a live preview and the code for MAUI and Avalonia. The previews are rendered with ShellUI for Blazor, which shares the design, so they look like the native component without being it. Pick your platform with the MAUI | Avalonia switch on any page; every example on the site follows, and your choice is remembered.