Releases: shellui-dev/shellui
ShellUI v0.3.0-rc.1
ShellUI v0.3.0-rc.1 🚦
Release candidate for v0.3.0. Five branches of integration-tested fixes against the alpha series, surfaced from real-world Blazor Server consumer use. If no critical reports come in during the soak window, this code ships as
v0.3.0stable with the suffix dropped — no further code changes. Report issues via GitHub Issues.
TL;DR
shellui init + shellui add now produce a project that compiles and runs end-to-end without manual host patching. Every alpha.3 install-time papercut documented in the integration notes is fixed and guarded by tests + CI:
- Three chart/dashboard templates no longer ship uncompilable C# verbatim strings
SidebarTriggermobile hamburger renders (was an invisible FontAwesome class)ThemeToggleno longer usesevaland no longer crashes during Blazor Server prerendershellui initpatchesApp.razorwith@rendermode, theme bootstrap script, andshellui.jslink tag — and writes the full default theme toinput.cssinstead of just@import "tailwindcss";shellui add data-tableactually installsDataTableModels.csand auto-runsdotnet add package System.Linq.Dynamic.Coreshellui add chartauto-runsdotnet add package Blazor-ApexChartsand the chart tooltip CSS finally renders readable text instead of invisible white-on-white- New
did you mean …?typo suggestion (shellui add datatable→Did you mean 'data-table'?)
Component count corrected across docs: 68 installable top-level components (not the 100 previously claimed; sub-components and variants ship as auto-installed dependencies).
🐛 Critical fixes
Templates that shipped uncompilable C#
ChartVariants— every JS-attribute quote inside the tooltipCustom = @"..."block now escapes as""x""(the verbatim-string form) instead of bare"x"(which terminated the outer string)PieChart— same class of bug but using\"x\"(which decoded to literal backslashes in rendered HTML); fixed to""x""DashboardLayout02— unterminated empty-string literal inBuildBreadcrumb(segments[0] == ""))→segments[0] == """")))- Live
PieChart.razorin the library had the same backslash bug; fixed to remove visible\"from rendered tooltip HTML
SidebarTrigger + ThemeToggle runtime
SidebarTrigger—<i class="fa-solid fa-bars-staggered">swapped for inline SVG hamburger. FontAwesome is not a ShellUI dependency, so mobile users on a fresh install previously saw an invisible toggle buttonThemeToggle—JSRuntime.InvokeVoidAsync("eval", …)dropped in favor of theShellUI.addClassToDocument/ShellUI.removeClassFromDocumenthelpers already shipped inshellui.js. No more CSP-blockableeval, no new JS surface areaThemeToggle— localStorage read moved fromOnInitializedAsync(whereIJSRuntimeis unavailable during Blazor Server prerender) toOnAfterRenderAsync(firstRender)InputOTP— sameevalremoval applied; now usesShellUI.focusElementfor digit-to-digit focusThemeService— sameevalcleanup asThemeToggle
shellui init produces a working host
- App.razor patching —
<HeadOutlet />→<HeadOutlet @rendermode="InteractiveServer" />, same for<Routes />. Existing@rendermodevalues are preserved (won't overwriteInteractiveAuto/InteractiveWebAssembly) - Theme bootstrap
<script>injected into<head>— readslocalStorage.themeand applies thedarkclass before paint to avoid the light-flash on dark pages <script src="shellui.js">injected before_framework/blazor.web.js(handles both the modern@Assets[...]wrapper and the bare form)wwwroot/index.htmlpatched for Blazor WebAssembly standalone projects (theme bootstrap +shellui.jsonly — no render-mode pattern in WASM)input.cssships the full default theme —:rootlight vars,.darkdark vars,@theme inlinemapping for Tailwind v4,@custom-variant dark,@layer basedefaults, and Loading-component animation keyframes. Previously emitted only@import "tailwindcss";, so any component using theme variables rendered unstyledtailwind.config.js(npm) — dropped the redundanthsl(var(--x))color block; Tailwind v4 reads the palette from@theme inlineininput.css- All patching is idempotent — running
shellui inittwice produces no duplicate scripts or tags
shellui add data-table is no longer a half-install
data-table-modelsregistered — the template existed on disk but was missing fromComponentRegistry, so the CLI reportedComponent 'data-table-models' not foundand left the consumer project unable to compile- NuGet auto-install — new
NuGetDependenciesfield onComponentMetadata.data-tabledeclaresSystem.Linq.Dynamic.Core 1.7.1,chartdeclaresBlazor-ApexCharts 6.0.2. The CLI walks the dep graph and runsdotnet add packageonce per unique package after all source files are written - Did-you-mean suggestions — Levenshtein-based hint surfaces close matches when a user mistypes a component name.
shellui add datatable→Did you mean 'data-table'?Hidden sub-components are excluded from suggestions
shellui add chart tooltip is finally readable
chart-stylesregistered — the CSS template existed but, likedata-table-models, was never wired into the registry. Hovering a chart point previously showed an invisible white-on-white tooltip because nothing styled the.custom-tooltip-*classes the chart HTML emitschartdepends onchart-styles— the recursive install walk transitively pulls the CSS in for every chart-family component- CSS lands in the right place —
FilePathcorrected from a path that would have buried the file inComponents/UI/wwwroot/css/(unreachable) to../../wwwroot/css/charts.css(project root) <link>auto-injected into App.razor — same idempotent rewriter pattern used forshellui.js. Generic by design: any futurewwwroot/-targeting CSS asset gets the same treatment
🔧 Improvements
docs/RELEASE_NOTES.mdis now the source of truth thatrelease.ymluses as the GitHub Release body — no more drift between the tag description and the file- Component count audit — README, ARCHITECTURE, COMPONENT_ROADMAP, PROJECT_STATUS, COMPARISON, FAQ, QUICKSTART, CLI_SYNTAX, VERSIONING_STRATEGY, and the three package READMEs all now report 68 installable components, with category breakdowns rederived from
ComponentRegistry(Form 17, Layout 12, Navigation 7, Overlay 8, Data Display 13, Feedback 9, Utility 2) - Preview pipeline restored —
actions/configure-pages@v4now passesenablement: trueso the GitHub Pages site is created on first run instead of erroring withHttpError: Not Found
🧪 Tests + CI
This release adds three independent layers of regression coverage. The previous alpha shipped with zero of these:
TemplateCompileTests(8 tests) — RoslynCSharpSyntaxTree.ParseTextover every fixed template's generated content. Pure-C# templates parse whole content; Razor templates extract the@codeblock via a quote/comment-aware brace-balancing tokenizer. When extraction fails (unterminated string), falls back to a class-wrapped parse filtered to literal-related diagnostic IDs (CS1010, etc.) so the failure message points at the offending lineTemplateSyncTests(3 tests) — for every component that has both a live.razorinsrc/ShellUI.Components/Components/and a CLI template, compares the@codeblocks after normalization (strip comments, blank lines, whitespace). Catches the class of bug that shipped in alpha.3 where someone added a parameter to the liveThemeToggle.razorbut forgot to mirror it in the template.AllowedDriftexception list exists but is emptyInitBootstrapTests(8 tests) — direct tests of the App.razor / index.html rewriter. Covers render-mode injection, theme bootstrap placement, script-tag ordering, idempotency, existing-render-mode preservation, and both the modern@Assets[...]and bare<script src="…">formsNuGetDepsAndSuggestionsTests(15 tests) — Levenshtein matcher,did-you-meanexclusions, NuGet metadata, chart-family transitive dependency proofs, namespace conventionChartStylesTests(10 tests) — registry wiring,FilePathtargets wwwroot, CSS content covers both.custom-tooltip-*and.apexcharts-*classes with theme variables, link injector +ResolveHostStylesheetHrefsemantics, idempotency- CI smoke step — packs the CLI, installs as a global tool,
dotnet new blazor→shellui init→shellui add chart pie-chart dashboard-02 data-table→dotnet build. Asserts the auto-injected pieces (@rendermode, theme bootstrap,shellui.jsscript,charts.csslink, NuGet refs,DataTableModels.cspresence, full theme ininput.css) all appear in the produced files. The previous CI did neither tests-on-PR nor end-to-end scaffolding
Test total: 53 unit tests (was 0). All pass in Release. Drift canary verified by stashing a fix, observing the precise line-level diff in the test output, and restoring.
📦 Installation
# CLI (prerelease channel — the suffix is intentional)
dotnet tool install -g ShellUI.CLI --version 0.3.0-rc.1
# or upgrade from any alpha
dotnet tool update -g ShellUI.CLI --version 0.3.0-rc.1
shellui init
shellui add button card dialog# NuGet packages (prerelease channel)
dotnet add package ShellUI.Core --version 0.3.0-rc.1 --prerelease
dotnet add package ShellUI.Components --version 0.3.0-rc.1 --prereleaseIf shellui init runs cleanly and dotnet build succeeds on a fresh dotnet new blazor, you have everything. There are no manual <script> / <link> / @rendermode patches to make.
⏭ What's next
v0.3.0stable — same code as rc.1 with the suffix dropped, after a soak window. No further alphas planned...
ShellUI v0.3.0-alpha.3
ShellUI v0.3.0-alpha.3 🚧
Third alpha of v0.3.0 — dashboard sidebar blocks, JS install fixes, and NuGet Core packaging. Report issues via GitHub Issues.
What's in this release
v0.3.0-alpha.3 adds shadcn-style dashboard layout blocks, completes the sidebar component install chain (including JavaScript interop), and fixes NuGet so ShellUI.Components can resolve ShellUI.Core.
✨ New
- Dashboard layout blocks —
dotnet shellui add dashboard-01(header scrolls, shadcn sidebar-01) anddashboard-02(sticky header, shadcn sidebar-02) shellui-jstemplate — installswwwroot/shellui.jsat init and as a dependency ofcopy-button/file-upload- Blocks demo —
/blockspage with live previews, install commands, andCopyButtonper block DashboardDemoSidebar— isolated demo sidebar content (separate from main app sidebar)
🐛 Fixes
- NuGet:
ShellUI.Corenow published —ShellUI.Coreis packable; release workflow pushes Core + Components sodotnet add package ShellUI.Componentsrestores successfully (was NU1102 when only Core 0.1.0 existed on NuGet) - Dependency auto-install — variant/service templates (
alert-variants,badge-variants,avatar-variants,sonner-variants,sonner-service,toggle-variants) markedIsAvailable = falseso they install only with their parent - Breadcrumb — single
dotnet shellui add breadcrumb;breadcrumb-itemauto-installed - Blazor error UI — hidden until an error occurs (
.showclass) - Init — installs
shellui.jsand reminds you to add<script src="shellui.js"></script>in App.razor or index.html
🔧 Sidebar / JS
| Asset | Installed when | CLI usage |
|---|---|---|
shellui-sidebar.js |
sidebar-provider → sidebar-js |
Dynamic import in SidebarProvider |
shellui.js |
init, copy-button, file-upload |
Global ShellUI.*; requires script tag in HTML |
NuGet consumers: both JS files ship as static web assets under _content/ShellUI.Components/.
📦 Installation
# CLI
dotnet tool install -g ShellUI.CLI --version 0.3.0-alpha.3
# or
dotnet tool update -g ShellUI.CLI --version 0.3.0-alpha.3
shellui init
shellui add dashboard-01 # or dashboard-02# NuGet (requires ShellUI.Core on NuGet at same version)
dotnet add package ShellUI.Core --version 0.3.0-alpha.3 --prerelease
dotnet add package ShellUI.Components --version 0.3.0-alpha.3 --prereleaseAfter shellui init, add before the Blazor script:
<script src="shellui.js"></script>🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
Full Changelog: v0.3.0-alpha.2...v0.3.0-alpha.3
ShellUI v0.3.0-alpha.2 🚧 (Historical)
Second alpha of v0.3.0 — fixes CLI registry for Drawer/Sheet compositional subcomponents. Report issues via GitHub Issues.
What's in this release
v0.3.0-alpha.2 fixes the CLI template registry so that Drawer and Sheet correctly ship with their compositional subcomponent pattern introduced in alpha.1.
🐛 Fixes (from alpha.1)
- Drawer/Sheet templates upgraded to v0.3.0 —
Open/OpenChangedreplacesIsOpen/IsOpenChanged,DrawerSide/SheetSideenums replace string-based side props, explicitCompositionalparameter enables subcomponent mode - Missing subcomponent templates added —
DrawerTrigger,DrawerContent,SheetTrigger,SheetContentwere missing from the registry entirely - Missing variant templates added —
DrawerVariants(withDrawerSideenum) andSheetVariants(withSheetSideenum) now installable - Dependency direction fixed —
shellui add drawernow auto-installs all 4 files (Drawer, DrawerVariants, DrawerTrigger, DrawerContent); same forshellui add sheet
✨ What changed
| Command | alpha.1 | alpha.2 |
|---|---|---|
shellui add drawer |
Installed old v0.2.x Drawer only | Installs Drawer + DrawerVariants + DrawerTrigger + DrawerContent |
shellui add sheet |
Installed old v0.2.x Sheet only | Installs Sheet + SheetVariants + SheetTrigger + SheetContent |
🔧 Improvements
- Version bump — 0.3.0-alpha.1 → 0.3.0-alpha.2
- Subcomponent dependency pattern — Follows parent-owns-children convention (same as Dialog, Collapsible, etc.)
📦 Installation
# Install CLI (alpha)
dotnet tool install -g ShellUI.CLI --version 0.3.0-alpha.2
# Or upgrade from alpha.1
dotnet tool update -g ShellUI.CLI --version 0.3.0-alpha.2Initialize and add components:
shellui init
shellui add drawer # installs Drawer + DrawerVariants + DrawerTrigger + DrawerContent
shellui add sheet # installs Sheet + SheetVariants + SheetTrigger + SheetContent🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
Full Changelog: v0.3.0-alpha.1...v0.3.0-alpha.2
ShellUI v0.3.0-alpha.1 🚧 (Historical)
First alpha of v0.3.0 — test thoroughly before stable. Report issues via GitHub Issues.
What's in this release
v0.3.0-alpha.1 includes everything from v0.2.0 (charts, Tailwind 4.x) plus new components and improvements.
✨ New Components
Docs essentials:
- Callout / CalloutVariants — Info, warning, tip, danger admonition boxes
- CopyButton — One-click copy to clipboard
- LinkCard — Card-style links for related pages
- PrevNextNav — Previous/Next page navigation for docs
Feedback & Data:
- Sonner / SonnerService / SonnerVariants — Modern toast notifications (shadcn-style)
- Stepper / StepperList / StepperStep / StepperContent — Step-by-step wizard with value-based API
- ChartVariants — Variant styling support for charts
🔧 Improvements
- Version bump — 0.2.0 → 0.3.0-alpha.1 across all packages
- CI/CD — NuGet caching, explicit solution paths, concurrency, pre-release tag support
- Documentation — Tailwind setup guide now generic for Blazor, versioning strategy updated for alpha workflow
- Release workflow — Tag pattern updated to match
v0.3.0-alpha.1-style prereleases
⚠️ Known issues
- Stepper — Active-state highlighting may not always reflect current step; documented, shipping as-is
ShellUI v0.2.0 📊 (Historical)
Feature release - Charts & Data Visualization
✨ New Features
Charts & Data Visualization (7 new components)
Built on ApexCharts.Blazor with full ShellUI theme integration:
- Chart - Base chart component with theme-aware styling
- BarChart - Vertical bar charts
- LineChart - Smooth line charts
- AreaChart - Filled area charts
- PieChart - Pie charts with custom tooltips
- MultiSeriesChart - Multiple data series on one chart
- ChartSeries - Flexible series composition
Chart Themes
Three built-in color themes via ChartTheme enum:
- Default - Professional blue-based palette (blue, red, green, yellow, purple)
- Colorful - Vibrant multi-color palette with 7 colors
- Monochrome - Slate grays for minimal aesthetic
Theme-Aware Chart Containers
Charts automatically use your theme's CSS variables:
var(--radius)for border radiusvar(--shadow)for box shadowvar(--border),var(--card),var(--card-foreground)for colors
Custom Tooltips
Fully custom HTML tooltips replacing ApexCharts defaults:
- Compact, shadcn-inspired design
- Proper marker/text alignment via flexbox
- Multi-series support (shows all values at a data point)
- Light/dark mode support via CSS variables
- Separate pie chart tooltip using
seriesIndex
🐛 Bug Fixes
- Fixed version mismatch - Component versions now correctly read from assembly metadata instead of hardcoded fallback
- Fixed Tailwind version in config -
shellui.jsonnow correctly shows Tailwind v4.1.18 for all install methods - Fixed CS1998 warnings - Removed unnecessary
asyncfrom synchronous methods inComponentInstaller
🔧 Improvements
- Tailwind CSS updated to v4.1.18
- Component count: 100 installable (dependencies like *-variants auto-installed)
- X-axis labels - Charts use
XAxisType.Categoryfor proper string label display - Version system - Fallback version now reads
AssemblyInformationalVersionbaked at build time
📦 Installation
# Install CLI globally
dotnet tool install -g ShellUI.CLI
# Initialize your project
shellui init
# Add chart components
shellui add chart bar-chart line-chart pie-chart area-chart multi-series-chartOr via NuGet:
dotnet add package ShellUI.ComponentsNote: Charts require the Blazor-ApexCharts NuGet package:
dotnet add package Blazor-ApexCharts🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
Full Changelog: v0.1.1...v0.2.0
ShellUI v0.2.1
ShellUI v0.2.1 🛠️
Hotfix release - Chart fixes & CSS auto-install
🐛 Bug Fixes
- Fixed chart tooltip escaping - Custom tooltip HTML in
ChartVariantsTemplate.csused incorrect verbatim string escaping (\""→"""") causing broken@"..."blocks in installed files - Fixed ChartVariants namespace -
ShellUI.Components.Variants.ChartVariantswas incorrectly underShellUI.Componentsnamespace - Fixed Chart.razor missing using - Added
@using ShellUI.Components.Variantsto the Components libraryChart.razor - Fixed ChartVariantsTemplate FilePath - Changed from
"ChartVariants.cs"to"Variants/ChartVariants.cs"to install in correct subdirectory - Fixed ChartVariantsTemplate IsAvailable - Set to
falsesince it's a dependency, not a standalone component
✨ New Features
Chart Styles CSS (chart-styles)
- New
charts.cssfile auto-installs towwwroot/css/as a dependency when you runshellui add chart - Contains all ApexCharts theme CSS: tooltips, custom tooltips, legends, toolbars, grid/axis styling
- Uses ShellUI CSS variables with hardcoded fallbacks for portability
- Replaces the previous approach of requiring manual CSS setup
CLI: wwwroot File Support
- Components with
FilePathstarting withwwwroot/now correctly install relative to project root instead of insideComponents/UI/
CLI: Automatic CSS Link Injection
- After installing
chart-styles, the CLI automatically injects<link rel="stylesheet" href="css/charts.css" />into yourApp.razor(orindex.htmlfor WASM) - Idempotent — re-running
shellui add chartwon't duplicate the link - Falls back to printing manual instructions if no layout file is found
📦 What shellui add chart now installs
shellui add chart
→ Installed 'chart-variants' (Variants/ChartVariants.cs)
→ Installed 'chart-styles' (wwwroot/css/charts.css)
→ Installed 'chart' (Chart.razor)
→ Added <link rel="stylesheet" href="css/charts.css" /> to Components\App.razor
Installed 3 component(s) successfully!
🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
ShellUI v0.2.0 📊
Feature release - Charts & Data Visualization
✨ New Features
Charts & Data Visualization (7 new components)
Built on ApexCharts.Blazor with full ShellUI theme integration:
- Chart - Base chart component with theme-aware styling
- BarChart - Vertical bar charts
- LineChart - Smooth line charts
- AreaChart - Filled area charts
- PieChart - Pie charts with custom tooltips
- MultiSeriesChart - Multiple data series on one chart
- ChartSeries - Flexible series composition
Chart Themes
Three built-in color themes via ChartTheme enum:
- Default - Professional blue-based palette (blue, red, green, yellow, purple)
- Colorful - Vibrant multi-color palette with 7 colors
- Monochrome - Slate grays for minimal aesthetic
Theme-Aware Chart Containers
Charts automatically use your theme's CSS variables:
var(--radius)for border radiusvar(--shadow)for box shadowvar(--border),var(--card),var(--card-foreground)for colors
Custom Tooltips
Fully custom HTML tooltips replacing ApexCharts defaults:
- Compact, shadcn-inspired design
- Proper marker/text alignment via flexbox
- Multi-series support (shows all values at a data point)
- Light/dark mode support via CSS variables
- Separate pie chart tooltip using
seriesIndex
🐛 Bug Fixes
- Fixed version mismatch - Component versions now correctly read from assembly metadata instead of hardcoded fallback
- Fixed Tailwind version in config -
shellui.jsonnow correctly shows Tailwind v4.1.18 for all install methods - Fixed CS1998 warnings - Removed unnecessary
asyncfrom synchronous methods inComponentInstaller
🔧 Improvements
- Tailwind CSS updated to v4.1.18
- Component count: 80 (73 existing + 7 new chart components)
- X-axis labels - Charts use
XAxisType.Categoryfor proper string label display - Version system - Fallback version now reads
AssemblyInformationalVersionbaked at build time
📦 Installation
# Install CLI globally
dotnet tool install -g ShellUI.CLI
# Initialize your project
shellui init
# Add chart components
shellui add chart bar-chart line-chart pie-chart area-chart multi-series-chartOr via NuGet:
dotnet add package ShellUI.ComponentsNote: Charts require the Blazor-ApexCharts NuGet package:
dotnet add package Blazor-ApexCharts🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
Full Changelog: v0.1.1...v0.2.0
ShellUI v0.3.0-alpha.2
ShellUI v0.3.0-alpha.2 🚧
Second alpha of v0.3.0 — fixes CLI registry for Drawer/Sheet compositional subcomponents. Report issues via GitHub Issues.
What's in this release
v0.3.0-alpha.2 fixes the CLI template registry so that Drawer and Sheet correctly ship with their compositional subcomponent pattern introduced in alpha.1.
🐛 Fixes (from alpha.1)
- Drawer/Sheet templates upgraded to v0.3.0 —
Open/OpenChangedreplacesIsOpen/IsOpenChanged,DrawerSide/SheetSideenums replace string-based side props, explicitCompositionalparameter enables subcomponent mode - Missing subcomponent templates added —
DrawerTrigger,DrawerContent,SheetTrigger,SheetContentwere missing from the registry entirely - Missing variant templates added —
DrawerVariants(withDrawerSideenum) andSheetVariants(withSheetSideenum) now installable - Dependency direction fixed —
shellui add drawernow auto-installs all 4 files (Drawer, DrawerVariants, DrawerTrigger, DrawerContent); same forshellui add sheet
✨ What changed
| Command | alpha.1 | alpha.2 |
|---|---|---|
shellui add drawer |
Installed old v0.2.x Drawer only | Installs Drawer + DrawerVariants + DrawerTrigger + DrawerContent |
shellui add sheet |
Installed old v0.2.x Sheet only | Installs Sheet + SheetVariants + SheetTrigger + SheetContent |
🔧 Improvements
- Version bump — 0.3.0-alpha.1 → 0.3.0-alpha.2
- Subcomponent dependency pattern — Follows parent-owns-children convention (same as Dialog, Collapsible, etc.)
📦 Installation
# Install CLI (alpha)
dotnet tool install -g ShellUI.CLI --version 0.3.0-alpha.2
# Or upgrade from alpha.1
dotnet tool update -g ShellUI.CLI --version 0.3.0-alpha.2Initialize and add components:
shellui init
shellui add drawer # installs Drawer + DrawerVariants + DrawerTrigger + DrawerContent
shellui add sheet # installs Sheet + SheetVariants + SheetTrigger + SheetContent🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
Full Changelog: v0.3.0-alpha.1...v0.3.0-alpha.2
ShellUI v0.3.0-alpha.1 🚧 (Historical)
First alpha of v0.3.0 — test thoroughly before stable. Report issues via GitHub Issues.
What's in this release
v0.3.0-alpha.1 includes everything from v0.2.0 (charts, Tailwind 4.x) plus new components and improvements.
✨ New Components
Docs essentials:
- Callout / CalloutVariants — Info, warning, tip, danger admonition boxes
- CopyButton — One-click copy to clipboard
- LinkCard — Card-style links for related pages
- PrevNextNav — Previous/Next page navigation for docs
Feedback & Data:
- Sonner / SonnerService / SonnerVariants — Modern toast notifications (shadcn-style)
- Stepper / StepperList / StepperStep / StepperContent — Step-by-step wizard with value-based API
- ChartVariants — Variant styling support for charts
🔧 Improvements
- Version bump — 0.2.0 → 0.3.0-alpha.1 across all packages
- CI/CD — NuGet caching, explicit solution paths, concurrency, pre-release tag support
- Documentation — Tailwind setup guide now generic for Blazor, versioning strategy updated for alpha workflow
- Release workflow — Tag pattern updated to match
v0.3.0-alpha.1-style prereleases
⚠️ Known issues
- Stepper — Active-state highlighting may not always reflect current step; documented, shipping as-is
ShellUI v0.2.0 📊 (Historical)
Feature release - Charts & Data Visualization
✨ New Features
Charts & Data Visualization (7 new components)
Built on ApexCharts.Blazor with full ShellUI theme integration:
- Chart - Base chart component with theme-aware styling
- BarChart - Vertical bar charts
- LineChart - Smooth line charts
- AreaChart - Filled area charts
- PieChart - Pie charts with custom tooltips
- MultiSeriesChart - Multiple data series on one chart
- ChartSeries - Flexible series composition
Chart Themes
Three built-in color themes via ChartTheme enum:
- Default - Professional blue-based palette (blue, red, green, yellow, purple)
- Colorful - Vibrant multi-color palette with 7 colors
- Monochrome - Slate grays for minimal aesthetic
Theme-Aware Chart Containers
Charts automatically use your theme's CSS variables:
var(--radius)for border radiusvar(--shadow)for box shadowvar(--border),var(--card),var(--card-foreground)for colors
Custom Tooltips
Fully custom HTML tooltips replacing ApexCharts defaults:
- Compact, shadcn-inspired design
- Proper marker/text alignment via flexbox
- Multi-series support (shows all values at a data point)
- Light/dark mode support via CSS variables
- Separate pie chart tooltip using
seriesIndex
🐛 Bug Fixes
- Fixed version mismatch - Component versions now correctly read from assembly metadata instead of hardcoded fallback
- Fixed Tailwind version in config -
shellui.jsonnow correctly shows Tailwind v4.1.18 for all install methods - Fixed CS1998 warnings - Removed unnecessary
asyncfrom synchronous methods inComponentInstaller
🔧 Improvements
- Tailwind CSS updated to v4.1.18
- Component count: 100 installable (dependencies like *-variants auto-installed)
- X-axis labels - Charts use
XAxisType.Categoryfor proper string label display - Version system - Fallback version now reads
AssemblyInformationalVersionbaked at build time
📦 Installation
# Install CLI globally
dotnet tool install -g ShellUI.CLI
# Initialize your project
shellui init
# Add chart components
shellui add chart bar-chart line-chart pie-chart area-chart multi-series-chartOr via NuGet:
dotnet add package ShellUI.ComponentsNote: Charts require the Blazor-ApexCharts NuGet package:
dotnet add package Blazor-ApexCharts🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
Full Changelog: v0.1.1...v0.2.0
ShellUI v0.3.0-alpha.1
ShellUI v0.3.0-alpha.1 🚧
First alpha of v0.3.0 — test thoroughly before stable. Report issues via GitHub Issues.
What's in this release
v0.3.0-alpha.1 includes everything from v0.2.0 (charts, Tailwind 4.x) plus new components and improvements.
✨ New Components
Docs essentials:
- Callout / CalloutVariants — Info, warning, tip, danger admonition boxes
- CopyButton — One-click copy to clipboard
- LinkCard — Card-style links for related pages
- PrevNextNav — Previous/Next page navigation for docs
Feedback & Data:
- Sonner / SonnerService / SonnerVariants — Modern toast notifications (shadcn-style)
- Stepper / StepperList / StepperStep / StepperContent — Step-by-step wizard with value-based API
- ChartVariants — Variant styling support for charts
🔧 Improvements
- Version bump — 0.2.0 → 0.3.0-alpha.1 across all packages
- CI/CD — NuGet caching, explicit solution paths, concurrency, pre-release tag support
- Documentation — Tailwind setup guide now generic for Blazor, versioning strategy updated for alpha workflow
- Release workflow — Tag pattern updated to match
v0.3.0-alpha.1-style prereleases
⚠️ Known issues
- Stepper — Active-state highlighting may not always reflect current step; documented, shipping as-is
📦 Installation
# Install CLI (alpha)
dotnet tool install -g ShellUI.CLI --version 0.3.0-alpha.1
# Or via NuGet
dotnet add package ShellUI.Components --version 0.3.0-alpha.1Initialize and add components:
shellui init
shellui add button card chart
shellui add sonner stepper callout copy-button file-upload🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
Full Changelog: v0.2.0...v0.3.0-alpha.1
ShellUI v0.2.0 📊 (Historical)
Feature release - Charts & Data Visualization
✨ New Features
Charts & Data Visualization (7 new components)
Built on ApexCharts.Blazor with full ShellUI theme integration:
- Chart - Base chart component with theme-aware styling
- BarChart - Vertical bar charts
- LineChart - Smooth line charts
- AreaChart - Filled area charts
- PieChart - Pie charts with custom tooltips
- MultiSeriesChart - Multiple data series on one chart
- ChartSeries - Flexible series composition
Chart Themes
Three built-in color themes via ChartTheme enum:
- Default - Professional blue-based palette (blue, red, green, yellow, purple)
- Colorful - Vibrant multi-color palette with 7 colors
- Monochrome - Slate grays for minimal aesthetic
Theme-Aware Chart Containers
Charts automatically use your theme's CSS variables:
var(--radius)for border radiusvar(--shadow)for box shadowvar(--border),var(--card),var(--card-foreground)for colors
Custom Tooltips
Fully custom HTML tooltips replacing ApexCharts defaults:
- Compact, shadcn-inspired design
- Proper marker/text alignment via flexbox
- Multi-series support (shows all values at a data point)
- Light/dark mode support via CSS variables
- Separate pie chart tooltip using
seriesIndex
🐛 Bug Fixes
- Fixed version mismatch - Component versions now correctly read from assembly metadata instead of hardcoded fallback
- Fixed Tailwind version in config -
shellui.jsonnow correctly shows Tailwind v4.1.18 for all install methods - Fixed CS1998 warnings - Removed unnecessary
asyncfrom synchronous methods inComponentInstaller
🔧 Improvements
- Tailwind CSS updated to v4.1.18
- Component count: 100 installable (dependencies like *-variants auto-installed)
- X-axis labels - Charts use
XAxisType.Categoryfor proper string label display - Version system - Fallback version now reads
AssemblyInformationalVersionbaked at build time
📦 Installation
# Install CLI globally
dotnet tool install -g ShellUI.CLI
# Initialize your project
shellui init
# Add chart components
shellui add chart bar-chart line-chart pie-chart area-chart multi-series-chartOr via NuGet:
dotnet add package ShellUI.ComponentsNote: Charts require the Blazor-ApexCharts NuGet package:
dotnet add package Blazor-ApexCharts🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
Full Changelog: v0.1.1...v0.2.0
ShellUI v0.2.0
ShellUI v0.2.0 📊
Feature release - Charts & Data Visualization
✨ New Features
Charts & Data Visualization (7 new components)
Built on ApexCharts.Blazor with full ShellUI theme integration:
- Chart - Base chart component with theme-aware styling
- BarChart - Vertical bar charts
- LineChart - Smooth line charts
- AreaChart - Filled area charts
- PieChart - Pie charts with custom tooltips
- MultiSeriesChart - Multiple data series on one chart
- ChartSeries - Flexible series composition
Chart Themes
Three built-in color themes via ChartTheme enum:
- Default - Professional blue-based palette (blue, red, green, yellow, purple)
- Colorful - Vibrant multi-color palette with 7 colors
- Monochrome - Slate grays for minimal aesthetic
Theme-Aware Chart Containers
Charts automatically use your theme's CSS variables:
var(--radius)for border radiusvar(--shadow)for box shadowvar(--border),var(--card),var(--card-foreground)for colors
Custom Tooltips
Fully custom HTML tooltips replacing ApexCharts defaults:
- Compact, shadcn-inspired design
- Proper marker/text alignment via flexbox
- Multi-series support (shows all values at a data point)
- Light/dark mode support via CSS variables
- Separate pie chart tooltip using
seriesIndex
🐛 Bug Fixes
- Fixed version mismatch - Component versions now correctly read from assembly metadata instead of hardcoded fallback
- Fixed Tailwind version in config -
shellui.jsonnow correctly shows Tailwind v4.1.18 for all install methods - Fixed CS1998 warnings - Removed unnecessary
asyncfrom synchronous methods inComponentInstaller
🔧 Improvements
- Tailwind CSS updated to v4.1.18
- Component count: 80 (73 existing + 7 new chart components)
- X-axis labels - Charts use
XAxisType.Categoryfor proper string label display - Version system - Fallback version now reads
AssemblyInformationalVersionbaked at build time
📦 Installation
# Install CLI globally
dotnet tool install -g ShellUI.CLI
# Initialize your project
shellui init
# Add chart components
shellui add chart bar-chart line-chart pie-chart area-chart multi-series-chartOr via NuGet:
dotnet add package ShellUI.ComponentsNote: Charts require the Blazor-ApexCharts NuGet package:
dotnet add package Blazor-ApexCharts🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
Full Changelog: v0.1.1...v0.2.0
ShellUI v0.1.1
ShellUI v0.1.1 🔧
Hotfix release - Package publishing fix
🐛 Bug Fixes
Fixed Package Publishing
- Prevented
ShellUI.Corefrom being published separately - SetIsPackable=falseonShellUI.Coreproject - Updated release workflow - Now only publishes the 2 intended packages:
- ✅
ShellUI.CLI- CLI tool for component management - ✅
ShellUI.Components- Component library package
- ✅
- Updated documentation - README now correctly reflects that only 2 packages are published
What Changed
ShellUI.Coreis an internal dependency ofShellUI.Componentsand should not be published as a standalone package- Future releases will only publish the 2 intended packages
📦 Installation
No changes to installation process:
# Install CLI globally
dotnet tool install -g ShellUI.CLI
# Initialize your project
shellui init
# Add components
shellui add button badge alert cardOr via NuGet:
dotnet add package ShellUI.Components🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
Full Changelog: v0.1.0...v0.1.1
ShellUI v0.1.0
ShellUI v0.1.0 🎉
Beautiful, accessible Blazor components inspired by shadcn/ui
✨ Highlights
This is the first official release of ShellUI - a CLI-first Blazor component library that brings the shadcn/ui philosophy to .NET developers.
🚀 What's Included
CLI Tool (ShellUI.CLI)
shellui init- Initialize your Blazor project with Tailwind CSSshellui add <component>- Add individual components to your projectshellui list- List all available componentsshellui remove <component>- Remove installed componentsshellui update- Update components to the latest version
Components Library (ShellUI.Components)
Pre-built components for NuGet installation:
- Button - Interactive button with variants (default, destructive, outline, secondary, ghost, link)
- Badge - Status indicators with multiple variants
- Alert - Notification banners with icons
- Card - Content containers with header, content, and footer sections
- Input - Form input fields
- Label - Accessible form labels
- Separator - Visual dividers
- Shell utilities -
Shell.Cn()for Tailwind class merging
📦 Installation
Option 1: CLI (Recommended)
# Install the CLI globally
dotnet tool install -g ShellUI.CLI
# Initialize your project
shellui init
# Add components
shellui add button badge alert cardOption 2: NuGet Package
dotnet add package ShellUI.Components🎨 Styling
ShellUI uses Tailwind CSS v4 with CSS variables for theming. The shellui init command automatically sets up:
- Tailwind CSS standalone CLI (no Node.js required)
- CSS variables for light/dark themes
- Component styling aligned with shadcn/ui
📋 Requirements
- .NET 9.0 or later
- Blazor Server, WebAssembly, or Interactive modes
🔗 Links
- Documentation: https://shellui.dev
- GitHub: https://github.com/shellui-dev/shellui
- NuGet: https://www.nuget.org/packages/ShellUI.Components
🙏 Acknowledgments
Inspired by shadcn/ui - the beautiful React component library.
Full Changelog: https://github.com/shellui-dev/shellui/commits/v0.1.0
v0.0.3 - Fixed v0.0.2 Issues
Version 0.0.3 (Current) - 30 November 2025
🎉 Release v0.0.3 - Fixed v0.0.2 Issues
ShellUI v0.0.3 is now available on NuGet! This release fixes issues from v0.0.2 and includes improved documentation and package metadata.
What's Included
- ✅ CLI Tool (
ShellUI.CLIv0.0.3) - Install globally:dotnet tool install -g ShellUI.CLI - ✅ Components Package (
ShellUI.Componentsv0.0.3) - Install:dotnet add package ShellUI.Components - ✅ Templates Package (
ShellUI.Templatesv0.0.3) - Internal dependency for CLI
Features
-
69 Production-Ready Components
- Form: Button, Input, Textarea, Select, Checkbox, Switch, RadioGroup, Slider, etc.
- Layout: Card, Dialog, Sheet, Drawer, Popover, Tooltip, Separator, etc.
- Navigation: Navbar, Sidebar, NavigationMenu, Menubar, Breadcrumb, Pagination, Tabs
- Data Display: Table, DataTable, Badge, Avatar, Alert, Toast, Skeleton, Progress, Loading
- Interactive: Dropdown, Accordion, Toggle, ThemeToggle, Command, ContextMenu, HoverCard
- Advanced: Carousel, Stepper, EmptyState, FileUpload, Calendar, DatePicker, etc.
-
Hybrid Distribution Model
- CLI-First: Copy components to your project for full customization
- NuGet Option: Traditional package install for quick starts
- Use both together - NuGet for speed, CLI for customization
-
Tailwind CSS v4.1.14
- Standalone CLI (no Node.js required!)
- Automatic dark mode support
- Theme-aware components
- Customizable design tokens
-
Developer Experience
- Simple setup:
dotnet shellui init - Add components:
dotnet shellui add button card dialog - Full source code ownership
- Easy customization
- Simple setup: