MyStackBlazor 1.2.5
See the version list below for details.
dotnet add package MyStackBlazor --version 1.2.5
NuGet\Install-Package MyStackBlazor -Version 1.2.5
<PackageReference Include="MyStackBlazor" Version="1.2.5" />
<PackageVersion Include="MyStackBlazor" Version="1.2.5" />
<PackageReference Include="MyStackBlazor" />
paket add MyStackBlazor --version 1.2.5
#r "nuget: MyStackBlazor, 1.2.5"
#:package MyStackBlazor@1.2.5
#addin nuget:?package=MyStackBlazor&version=1.2.5
#tool nuget:?package=MyStackBlazor&version=1.2.5
MyStackBlazor
A modern Blazor component library powered by Tailwind CSS v4.
192 components - Blazor WASM / Server / MAUI Hybrid - Light / Dark / System - Zero external JS dependencies
Overview
MyStackBlazor is a production-ready UI library for .NET 10 Blazor applications.
- 192 components across Common, Form, Layout, Navigation, Overlays, Data, Charts, Blocks, and Templates
- Tailwind CSS v4 styling (precompiled CSS included)
- Built-in theming via
ThemeServiceandStackThemeProvider - Accessibility-focused patterns and keyboard support
- Optional modular packages for DataGrid, Security, Accessibility, Localization, and Core primitives
Installation
dotnet add package MyStackBlazor
Or manually:
<PackageReference Include="MyStackBlazor" Version="1.2.2" />
Setup
1. Register services
builder.Services.AddMyStackBlazor();
2. Add static assets
Add in wwwroot/index.html (WASM) or your host/app shell:
<link rel="stylesheet" href="_content/MyStackBlazor/css/mystackblazor.css" />
<script src="_content/MyStackBlazor/js/mystackblazor.js"></script>
3. Add global imports
In _Imports.razor:
@using MyStackBlazor
@using MyStackBlazor.Components
@using MyStackBlazor.Components.Common
@using MyStackBlazor.Components.Form
@using MyStackBlazor.Components.Navigation
@using MyStackBlazor.Components.Layout
@using MyStackBlazor.Components.Overlays
@using MyStackBlazor.Components.Data
@using MyStackBlazor.Components.Charts
@using MyStackBlazor.Components.Calendar
@using MyStackBlazor.Components.PivotGrid
4. Wrap your layout
@inherits LayoutComponentBase
<StackThemeProvider>
<div class="min-h-screen bg-background text-foreground">
<header>
<StackThemeToggle />
</header>
<main>
<StackToaster />
@Body
</main>
</div>
</StackThemeProvider>
Component Naming
All public components use the Stack prefix.
<StackButton>Save</StackButton>
<StackDialog @bind-IsOpen="_open">
<StackDialogTitle>Confirm</StackDialogTitle>
</StackDialog>
Special names to note:
StackMsCalendarStackMsVirtualListStackMsPivotGrid
Quick Start Example
@page "/"
<StackCard Class="max-w-xl">
<StackCardHeader>
<StackCardTitle>Welcome</StackCardTitle>
<StackCardDescription>MyStackBlazor is wired up.</StackCardDescription>
</StackCardHeader>
<StackCardContent>
<StackInput @bind-Value="_name" Placeholder="Your name" />
</StackCardContent>
<StackCardFooter>
<StackButton OnClick="Save">Save</StackButton>
</StackCardFooter>
</StackCard>
@code {
private string _name = string.Empty;
private void Save() { }
}
Theming
StackThemeProvider applies and persists theme state. Use ThemeService in any component:
@inject ThemeService ThemeService
ThemeService.SetTheme(AppTheme.Light);
ThemeService.SetTheme(AppTheme.Dark);
ThemeService.SetTheme(AppTheme.System);
ThemeService.Toggle();
bool isDark = ThemeService.IsDark;
Core Component Families
Common
StackButton, StackBadge, StackAvatar, StackIcon, StackTypography, StackLabel, StackSeparator, StackSkeleton, StackSpinner, StackThemeToggle
Form
StackInput, StackTextarea, StackSelect, StackCheckbox, StackSwitch, StackRadioGroup, StackNumericInput, StackSlider, StackRangeSlider, StackDatePicker, StackDateRangePicker, StackDateTimePicker, StackTimePicker, StackInputOtp, StackColorPicker, StackColorPalette, StackMaskedTextBox, StackMultiSelect, StackCombobox, StackAutoComplete, StackListBox, StackFileUpload
Layout
StackCard, StackAccordion, StackCollapsible, StackScrollArea, StackAspectRatio, StackGridLayout, StackStackLayout, StackSplitter, StackCarousel, StackPanelBar, StackLoader, StackAnimationContainer
Navigation
StackTabs, StackBreadcrumb, StackPagination, StackSidebar, StackAppBar, StackMenubar, StackDropdownMenu, StackContextMenu, StackToggleButton, StackToolbar, StackStepper, StackWizard, StackWorkflow
Overlays
StackDialog, StackAlertDialog, StackSheet, StackDrawer, StackPopover, StackPopup, StackTooltip, StackHoverCard, StackWindow, StackToaster, StackImageViewer, StackFileViewer
Data
StackAlert, StackTable, StackDataTable, StackAdvancedTable, StackPivotGrid, StackTreeView, StackTreeList, StackListView, StackFileManager, StackMsVirtualList, StackMsCalendar, StackMsPivotGrid
Charts
StackLineChart, StackBarChart, StackPieChart, StackGaugeChart
Blocks and Templates
Reusable page blocks and full templates exist under src/MyStackBlazor/Components/Blocks and src/MyStackBlazor/Components/Templates.
For a detailed catalog and notes, see COMPONENTS.md.
Services
ThemeService
Manages light/dark/system theme state.
ToastService
Global notifications via StackToaster + ToastService:
@inject ToastService Toast
Toast.Show("Saved successfully!", ToastType.Success);
Toast.Show("Something went wrong.", ToastType.Error);
MAUI Blazor Hybrid
builder.Services.AddMauiBlazorWebView();
builder.Services.AddMyStackBlazor();
Use the same _content/MyStackBlazor/... CSS/JS asset references in your MAUI web root.
Modular Packages
MyStackBlazor(main package, 192 components)MyStackBlazor.CoreMyStackBlazor.DataGridMyStackBlazor.AccessibilityMyStackBlazor.LocalizationMyStackBlazor.Security
Install any add-on package with:
dotnet add package MyStackBlazor.DataGrid
Local Development
# Restore
dotnet restore
# Build library
dotnet build src/MyStackBlazor/MyStackBlazor.csproj
# Build demo
dotnet build samples/MyStackBlazor.Demo/MyStackBlazor.Demo.csproj
Tailwind rebuild from src/MyStackBlazor:
npm install
npx @tailwindcss/cli -i ./tailwind/input.css -o ./wwwroot/css/mystackblazor.css --minify
Pack NuGet:
./pack.ps1
Contributing
- Fork the repo
- Create a branch:
git checkout -b feat/my-change - Commit your changes
- Open a pull request
License
MIT (c) 2025 Vilas Sagar
| 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
- Microsoft.AspNetCore.Components.Web (>= 10.0.7)
- MyStackBlazor.Accessibility (>= 1.0.0)
- MyStackBlazor.Core (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.