Skip to content

Blazor / .NET ​

Antumo.Blazor is one NuGet package that bundles the full stylesheet, fonts, all ~1,500 Lucide icons as typed components, and Razor wrappers for the sidebar, page header, and select. No npm required.

Install ​

bash
# 1. Add the Azure Artifacts NuGet feed (one-time)
dotnet nuget add source https://pkgs.dev.azure.com/m2tcorp/_packaging/antumo/nuget/v3/index.json \
  --name antumo

# 2. Install
dotnet add package Antumo.Blazor

Wire it up ​

html
<!-- App.razor <head> -->
<link href="_content/Antumo.Blazor/css/antumo.min.css" rel="stylesheet" />
html
<!-- App.razor, BEFORE blazor.web.js -->
<script src="_content/Antumo.Blazor/js/antumo.min.js"></script>
<script src="_framework/blazor.web.js"></script>

That single CSS file includes all tokens, all component styles, Bootstrap 5 compatible class names, fonts (CircularXX + Circular LL), and dark mode.

Do NOT

  • Do not add Google Fonts — fonts are bundled.
  • Do not add bootstrap.css — Antumo already ships BS5-compatible classes.
  • Do not copy logos to wwwroot/ — reference _content/Antumo.Blazor/logos/.

Supported frameworks ​

FrameworkSupported
.NET 8Yes
.NET 9Yes
.NET 10Yes

Works with Blazor Server, WebAssembly, and Hybrid.

AntumoIcon ​

The only required Blazor component — everything else is CSS-only Bootstrap 5 markup.

razor
@using Antumo.Blazor.Icons

<AntumoIcon Icon="LucideIcons.House" />
<AntumoIcon Icon="LucideIcons.ChevronDown" Size="IconSize.Sm" />
<AntumoIcon Icon="LucideIcons.Settings" StrokeWidth="IconStrokeWidth.Bold" />

Icons use stroke="currentColor", so they inherit their parent's text color. Browse all icons at lucide.dev/icons.

SizePixelsUse
IconSize.Xs12Badges, inline
IconSize.Sm16Compact UI
IconSize.Md20Buttons, inputs
IconSize.Base24Default
IconSize.Lg28Section headers
IconSize.Xl40Empty states

Razor components ​

The package also ships declarative wrappers so you write ~25 lines instead of ~130 lines of raw markup:

  • <AntumoNavSidebar> + AntumoNavItem / AntumoNavDropdown / AntumoNavGroup / AntumoNavProfile — full sidebar with automatic active state via NavigationManager.
  • <AntumoPageHeader> — breadcrumbs, separators, and modifier classes auto-generated.
  • <AntumoSelect> — ARIA combobox with keyboard nav and EditContext validation.
  • <AntumoModal> — overlay, sizes, Escape/backdrop dismissal, destructive variant.
  • IAntumoConfirm + <AntumoConfirmHost> — awaitable confirmation prompts.
  • <AntumoSteps> — progress indicator for multi-step flows (not navigation).
razor
@using Antumo.Blazor.Components

<AntumoPageHeader Title="Devices"
                  Description="Manage all registered devices"
                  Breadcrumbs="@(new BreadcrumbItem[] { new(\"Home\", \"/\"), new(\"Devices\") })">
    <Actions>
        <button class="btn btn-secondary btn-md">Export</button>
        <button class="btn btn-primary btn-md">Add Device</button>
    </Actions>
</AntumoPageHeader>

Confirmations are a service, so the decision stays inside the click handler. Register with AddAntumoBlazor() and render <AntumoConfirmHost /> once in your layout:

razor
@using Antumo.Blazor.Confirm
@inject IAntumoConfirm Confirm

@code {
    private async Task Delete()
    {
        if (!await Confirm.AskDestructiveAsync("Usunąć drukarkę?", "Tej operacji nie można cofnąć.", "Usuń"))
        {
            return;
        }

        // ... perform the deletion
    }
}

Everything else is Bootstrap 5 ​

Buttons, tables, forms, modals, cards, badges — all standard BS5 class names, styled by the DS:

razor
<button class="btn btn-primary btn-md">
    <AntumoIcon Icon="LucideIcons.Plus" Size="IconSize.Md" /> Add Device
</button>

<span class="badge badge-md badge-green badge-dot">Online</span>

Theme from C# ​

csharp
@inject IJSRuntime JS

await JS.InvokeVoidAsync("Antumo.Theme.toggle");
await JS.InvokeVoidAsync("Antumo.Theme.set", "dark");
await JS.InvokeVoidAsync("Antumo.Theme.useSystemPreference");

Live example ​

A full MDM dashboard built entirely with DS classes runs at design-system-blazor.dev.antumo.com — sidebar, tables, modals, forms, and dark mode.

Full Blazor reference

The complete Blazor guide (all component parameters, migration guide, class-mapping table, and an LLM migration prompt) lives in blazor/README.md in the repository — it ships on the NuGet package page too.

Private package — internal use only (UNLICENSED).