MudShell 0.7.3
dotnet add package MudShell --version 0.7.3
NuGet\Install-Package MudShell -Version 0.7.3
<PackageReference Include="MudShell" Version="0.7.3" />
<PackageVersion Include="MudShell" Version="0.7.3" />
<PackageReference Include="MudShell" />
paket add MudShell --version 0.7.3
#r "nuget: MudShell, 0.7.3"
#:package MudShell@0.7.3
#addin nuget:?package=MudShell&version=0.7.3
#tool nuget:?package=MudShell&version=0.7.3
MudShell
A Razor Class Library of opinionated Blazor components built on top of MudBlazor 9, designed for dark-mode AI-shell style applications.
Features
- ๐จ Pre-configured dark/light
MudThemeโ just callCreateDarkTheme() - ๐
MdsAppShellโ full-page shell with collapsible sidebar, background image/palette modes - ๐ฒ Unified hierarchical navigation with
MbxNavTree(MdsSidebarNav,MdsContextNavPanel,MbxMobileDrilldownNav) - ๐ฅ๏ธ Desktop-first shell with collapsible sidebar navigation
- ๐ฌ
MdsChatBarโ glassmorphism input bar - ๐ค Chat set โ
MdsChatComposer,MdsChatTranscript,MdsChatMessage,MdsChatStream,MdsChatLanding - ๐
MdsDocumentCard,MdsFilterTabBar,MdsPageHeader - ๐งฉ Main-content primitives (
MdsMainToolbar,MdsMainSection,MdsMainPart,MdsMainEmptyState) - ๐ Fill-layout blocks โ
MdsFillLayout,MdsFillRegion,MdsSplitPane,MdsTabbedFill(full-screen pages, only leaf regions scroll) - ๐ Data blocks โ
MdsStatTile/MdsStatStrip,MdsDistributionBar,MdsSparkline,MdsRunStrip; nav badges onMbxNavNode.Badge - All components use scoped CSS โ zero global style pollution
Quick start
1. Add the project reference
<ItemGroup>
<ProjectReference Include="..\MudShell\MudShell.csproj" />
</ItemGroup>
2. Register services
// Program.cs
builder.Services.AddMudShell();
AddMudShell() also registers the Radzen DialogService used by MdsScheduler. No other Radzen service is registered.
3. Add global imports
@* _Imports.razor *@
@using MudShell
@using MudShell.Components.AppShell
@using MudShell.Components.Sidebar
@using MudShell.Components.BottomNav
@using MudShell.Components.ChatBar
@using MudShell.Components.DocumentCard
@using MudShell.Components.FilterTabBar
@using MudShell.Components.MainContent
@using MudShell.Components.PageHeader
4. Add MudBlazor providers to your root component
MdsAppShell is a pure layout shell โ it does not register MudBlazor providers internally.
You must declare them once in your app's root component (e.g. Routes.razor) to avoid a
duplicate section-ID crash at runtime:
@* Routes.razor *@
<MudThemeProvider Theme="@myTheme" />
<MudPopoverProvider />
<MudSnackbarProvider />
<MudDialogProvider />
<Router AppAssembly="typeof(App).Assembly">
...
</Router>
5. Use MdsAppShell in your layout
@* MainLayout.razor *@
@inherits LayoutComponentBase
<MdsAppShell BackgroundMode="MdsAppShell.MbxBackgroundMode.Palette">
<SidebarContent>
</SidebarContent>
<ContextPanelContent>
</ContextPanelContent>
<ChildContent>
@Body
</ChildContent>
</MdsAppShell>
Optional: the scheduler (Radzen)
MdsScheduler<TItem> renders the free and open-source Radzen Blazor scheduler (MIT). Radzen is a dependency of MudShell and stays internal: the component loads its own stylesheet and script, so no extra host setup is needed. See the scheduler docs for usage.
Hierarchical single-source navigation
<MdsAppShell @ref="_shell"
ContextPanelExpanded="@_contextExpanded"
ContextPanelExpandedChanged="@(v => _contextExpanded = v)"
ContextPanelWidth="320"
ContextPanelCollapsedWidth="72">
<SidebarContent>
<MdsSidebarNav Tree="@AppNav.Tree" />
</SidebarContent>
<ContextPanelContent>
<MdsContextNavPanel Tree="@AppNav.Tree" IsExpanded="@_contextExpanded" />
</ContextPanelContent>
<ChildContent>@Body</ChildContent>
</MdsAppShell>
You can collapse/expand the level-2 panel at runtime with:
_shell.ToggleContextPanel();
Recommended page layout pattern (sample app)
The sample is an English-language UI showcase, with technical material kept separate:
| Entry | Content |
|---|---|
/ |
Introduction and entry points |
/components |
Searchable catalogue: navigation, page composition, layouts, documents, conversation, data |
/examples |
Complete list/detail, library, weather and city screens |
/technical |
Integration, appearance and Blazor render-mode scenarios |
Each component family has a live demo and collapsible usage details. The navigation
demo at /components/navigation includes two independent contextual submenus and a
sidebar specimen with pinned items, removal and drag-and-drop. Event logs are
collapsed by default. /components/navigation/mobile demonstrates both mobile navs.
Appearance, at the bottom of the sidebar even when collapsed, selects an existing theme preset, light/dark mode, background and density. These settings are shared across in-app navigation; the showcase does not expose custom color editing. Historical demo URLs remain available as aliases. Background and render-mode variants are compatibility scenarios, not additional catalogue entries.
The sample has no stylesheets or inline CSS. Pages compose MudShell components and MudBlazor controls using their public parameters and built-in utilities. Layout fixes belong in MudShell, not in sample-specific overrides.
MdsMainSection and MdsMainPart use neutral theme text for titles and
supporting copy by default. TitleColor remains available for intentional
accent headings; Color.Secondary is a brand accent, not muted text.
Run the sample with dotnet run --project samples\MyApplication and run UI tests
against the running instance using PLAYWRIGHT_TEST_BASE_URL (default
http://localhost:5265):
$env:PLAYWRIGHT_TEST_BASE_URL = "http://localhost:5265"
dotnet test tests\MudShell.UITests\MudShell.UITests.csproj
For pages with actions and filters, use this structure:
- Top action bar with
MdsMainToolbar(primary actions on the left, UI config on the right withMudSpacer). - Filter row below with a horizontal
MudStackofMudChipfilters. - Keep the filter row directly on the page background (no bordered
MudPaperwrapper).
This pattern is used in the sample pages (for example MeteoPage and EuropeCitiesDashboard) for consistent UX.
For a full page blueprint and MudBlazor migration guidance, see the dedicated docs below.
Documentation
- Getting started
- MudBlazor integration
- Page blueprint
- Model
- Theming
- Responsive
- Architecture
- Components: AppShell ยท Sidebar ยท BottomNav ยท ChatBar ยท Chat ยท DocumentCard ยท FilterTabBar ยท PageHeader ยท Scheduler
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- MudBlazor (>= 9.13.0)
- Radzen.Blazor (>= 12.1.8)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.7.3 | 48 | 11/13/2026 |
| 0.6.1 | 4,942 | 10/28/2026 |
| 0.6.0 | 110 | 10/28/2026 |
| 0.5.1 | 1,921 | 10/13/2026 |
| 0.5.0 | 138 | 10/13/2026 |
| 0.4.1 | 786 | 10/10/2026 |
| 0.4.0 | 405 | 10/2/2026 |
| 0.3.2 | 265 | 9/26/2026 |
| 0.3.1 | 263 | 9/20/2026 |
| 0.3.0 | 418 | 9/12/2026 |
| 0.2.16 | 323 | 9/10/2026 |
| 0.2.15 | 181 | 9/7/2026 |
| 0.2.14 | 279 | 9/1/2026 |
| 0.2.12 | 321 | 8/17/2026 |
| 0.2.11 | 118 | 8/17/2026 |
| 0.2.10 | 126 | 8/17/2026 |
| 0.2.9 | 241 | 8/17/2026 |
| 0.2.8 | 183 | 8/16/2026 |
| 0.2.7 | 146 | 8/15/2026 |
| 0.2.6 | 228 | 8/9/2026 |