Tharga.Blazor

Generic reusable Blazor UI components built on Radzen.Blazor — buttons with built-in busy/error handling, route-aware breadcrumbs, a custom error boundary, expandable cards, and small display helpers. Works with both Blazor Server and Blazor WebAssembly. Targets .NET 9 and .NET 10.

Package

Package What it does
Tharga.Blazor ActionButton, StandardButton, CopyButton, CancelButton, BreadCrumbs + BreadCrumbService, CustomErrorBoundary, ExpandableCard, Loading, Title, DateTimeView, TimeSpanView.

Quick start

dotnet add package Tharga.Blazor
// Program.cs
builder.Services.AddThargaBlazor(o => o.Title = "My App");
@* Anywhere in your app *@
<BreadCrumbs />
<CopyButton Content="@id" Size="ButtonSize.ExtraSmall" />

See Getting started for the full setup walkthrough.

What's in the box

  • ButtonsActionButton wraps async clicks with busy state + error notifications; StandardButton is the typed base (Normal, Discrete, Information, Warning, Error, Confirm, Reject); CopyButton writes to the clipboard; CancelButton is a pre-styled cancel. See Buttons.
  • Breadcrumbs<BreadCrumbs /> renders a route-aware trail; BreadCrumbService adds virtual segments, promotes query parameters, and relinks/unlinks segments. See Breadcrumbs.
  • Error handlingCustomErrorBoundary catches unhandled exceptions, logs them with a correlation ID, and renders a recovery surface.
  • Layout & displayExpandableCard (collapsible, with an optional leading icon or image and local-storage state; see ExpandableCard), Loading, Title, DateTimeView, TimeSpanView.

Repo

github.com/Tharga/Blazor — source, issues, releases.