BlazorBlueprint UI
Build modern Blazor web applications using the current BlazorBlueprint component library.
Repository: https://github.com/blazorblueprintui/ui
Documentation: https://blazorblueprintui.com
Original Source: https://blazorblueprintui.com/llms.txt
Full Bundle: https://blazorblueprintui.com/llms/llms-full.txt
Examples in the refreshed references use the official upstream Bb* naming.
Package Overview
Core packages:
- BlazorBlueprint.Components - Styled component library; includes primitives
- BlazorBlueprint.Primitives - Headless accessibility and behavior layer
- BlazorBlueprint.Icons.Lucide - Lucide icon pack (1,753 icons)
- BlazorBlueprint.Icons.Heroicons - Heroicons pack (1,288 icons)
- BlazorBlueprint.Icons.Feather - Feather icon pack (286 icons)
- BlazorBlueprint.Icons.FontAwesome - Font Awesome 6 Free pack (2,066 icons, 3 variants)
Quick Navigation
Setup & Installation
Read references/setup.md for:
- NuGet installation and service registration
- CSS, imports, and provider setup
BbPortalHost, BbToastProvider, and BbDialogProvider
- Theme variables and dark mode
- Verification and troubleshooting
Services & Localization
Read references/services.md for:
AddBlazorBlueprintComponents() vs AddBlazorBlueprintPrimitives()
ToastService and DialogService
- provider requirements and programmatic dialog usage
Read references/localization.md for:
IBbLocalizer and startup string overrides
IStringLocalizer integration patterns
- culture-sensitive component text and formatting
Icons
Read references/icons.md for icon component usage and styling guidance.
Blueprints & Primitives
Read references/blueprints.md for:
- category routing across auth, sidebar, apps, dashboards, forms, data, marketing, and ecommerce
- the upstream blueprint catalog and per-category files
- copy/adapt workflow for production-shaped screens
Read references/primitives.md for:
- when to stay on
BlazorBlueprint.Components
- when to switch to
BlazorBlueprint.Primitives
- headless behavior and custom design-system guidance
Common Patterns
Read references/patterns.md for:
- controlled vs uncontrolled state
EditForm + BbField conventions
- root provider patterns
- dashboard / app shell defaults
- blueprint-first acceleration
Component Categories
Form Components (30+ form-related)
Read references/components-forms.md for:
- text, typed, and structured inputs
- selection controls and searchable selection
- date/time, date+time, and OTP flows
- uploads, editors, and advanced inputs
- form sections, wizards, dynamic forms, and
BbFormField* wrappers
Layout & Navigation Components (15+)
Read references/components-layout.md for:
- sidebars, responsive nav, navigation menus, and breadcrumbs
- cards, tabs, accordions, collapsible content, and IDE-style docking
- resizable work areas, scroll areas, separators, and aspect-ratio containers
- routing guidance for shells vs display/data surfaces
Overlay Components (14+)
Read references/components-overlays.md for:
- dialogs, alert dialogs, sheets, drawers, and popovers
- menus, tooltips, hover cards, and command surfaces
DialogService and ToastService usage
- provider and portal requirements
Display & Data Components (18+)
Read references/components-display-data.md for:
- alerts, badges, avatars, shortcuts, loading states, and empty states
- items, timelines, typography, carousel, click-to-copy, and chat components
BbDataTable, BbDataGrid, and BbDataView routing
- dashboard/data-screen and event calendar guidance
Chart Components (12 types)
Read references/components-charts.md for:
- the current Apache ECharts-based chart stack
BbChart composite charts and ChartConfig
- dedicated bar, line, area, pie, radial bar, gauge, radar, scatter, and candlestick charts
BbChartContainer and chart theming
Counts are approximate and grow with each library release. The authoritative component list is at https://blazorblueprintui.com/llms/llms-full.txt.
Key Architecture Patterns
Controlled vs uncontrolled state
Uncontrolled:
<BbTabs DefaultValue="overview">...</BbTabs>
Controlled:
<BbTabs @bind-Value="currentTab">...</BbTabs>
Composition pattern
<BbCard>
<BbCardHeader><BbCardTitle>Title</BbCardTitle></BbCardHeader>
<BbCardContent>Content</BbCardContent>
<BbCardFooter>Actions</BbCardFooter>
</BbCard>
AsChild pattern
<BbDialog>
<BbDialogTrigger AsChild>
<BbButton Variant="ButtonVariant.Destructive">Delete</BbButton>
</BbDialogTrigger>
<BbDialogContent>...</BbDialogContent>
</BbDialog>
Note: AsChild defaults to true (v3+). Set AsChild="false" when you need the trigger's built-in <button> wrapper instead of merging into a child element — useful when migrating v2 code that relied on auto-generated wrappers.
Portal and provider pattern
Overlay components render through BbPortalHost. App-wide toasts and service-driven dialogs also need BbToastProvider and BbDialogProvider in the root layout.
Known Pitfalls
These are hard-won constraints — check them before generating any BB component code:
CaptureUnmatchedValues is supported, not universal — Most BB components now accept arbitrary HTML attributes (@onclick, style, class, data-*, etc.) and pass them through to the root element. However, not every component declares [Parameter(CaptureUnmatchedValues = true)] — check the upstream docs or source for your specific component. For components that lack it, use a wrapper element. See patterns.md § Unmatched attribute capture.
Tailwind subset only — BB ships only the utilities its own components use; writing other Tailwind classes silently has no effect. Add missing utilities as custom CSS. See setup.md § Tailwind subset limitation.
Lucide icon names change — Several names have been renamed upstream (e.g. check-circle → circle-check, home → house). A broken icon renders ⚠️. Verify names at https://blazorblueprintui.com/llms/icons/lucide.txt. See icons.md § Renamed icons.
Auth pages are SSR-only — Login/signup blueprints use [ExcludeFromInteractiveRouting]. Use HTML form POST + [SupplyParameterFromForm]; do not add @rendermode InteractiveServer. See blueprints.md § Auth pages and SSR.
BbProvider must be the outermost wrapper — Bootstrap order in App.razor matters: <BbProvider> wraps everything. See setup.md § App.razor bootstrap order.
Workflow
- Read setup.md for installation and providers.
- Choose components vs primitives before building custom shells or behavior-heavy surfaces.
- Pick a category: forms, layout/navigation, overlays, display/data, or charts.
- Load patterns.md when composing multiple surfaces together.
- Load blueprints.md when you need a production-shaped screen quickly.
- Style through theme variables and validate dark mode.
When to Load References
- setup.md: first-time setup, providers, theming, dark mode, icons import questions
- services.md: DI registration differences,
ToastService, DialogService, provider requirements
- localization.md: label overrides,
IBbLocalizer customization, culture-sensitive component text
- blueprints.md: rapid auth, sidebar, dashboard, data, marketing, or ecommerce screen scaffolding
- primitives.md: headless composition, custom design systems, or behavior-only reuse
- components-forms.md: editing flows, validation, selection, wizards, schema-driven forms
- components-layout.md: shells, responsive navigation, cards, tabs, resizable work areas
- components-overlays.md: dialogs, menus, tooltips, command palettes, toasts
- components-display-data.md: alerts, status display, tables, grids, data views, empty/loading states
- components-charts.md: dashboards, KPI visuals, mixed/composite chart composition
- patterns.md: cross-component conventions and blueprint-first workflows
Blueprints and Primitives
- Blueprints provide ready-to-copy compositions for auth, sidebar shells, dashboards, forms, data screens, marketing, and ecommerce. Read references/blueprints.md for category routing and upstream blueprint entry points.
- Primitives are the headless layer for advanced users who want BlazorBlueprint behavior without the styled component surface. Read references/primitives.md when markup ownership matters more than the default component styling.
1---2name: blazor-blueprint-ui3description: Build and customize .NET 8+ Blazor UIs with BlazorBlueprint. Use when choosing between BlazorBlueprint.Components and BlazorBlueprint.Primitives, wiring setup and providers, using ToastService/DialogService/localization, selecting icon packs, applying shadcn-ui-style theming, or copying and adapting BlazorBlueprint blueprints.4---56# BlazorBlueprint UI78Build modern Blazor web applications using the current BlazorBlueprint component library.910**Repository:** https://github.com/blazorblueprintui/ui11**Documentation:** https://blazorblueprintui.com12**Original Source:** https://blazorblueprintui.com/llms.txt13**Full Bundle:** https://blazorblueprintui.com/llms/llms-full.txt1415Examples in the refreshed references use the official upstream `Bb*` naming.1617## Package Overview1819Core packages:2021- **BlazorBlueprint.Components** - Styled component library; includes primitives22- **BlazorBlueprint.Primitives** - Headless accessibility and behavior layer23- **BlazorBlueprint.Icons.Lucide** - Lucide icon pack (1,753 icons)24- **BlazorBlueprint.Icons.Heroicons** - Heroicons pack (1,288 icons)25- **BlazorBlueprint.Icons.Feather** - Feather icon pack (286 icons)26- **BlazorBlueprint.Icons.FontAwesome** - Font Awesome 6 Free pack (2,066 icons, 3 variants)2728## Quick Navigation2930### Setup & Installation31Read [references/setup.md](references/setup.md) for:32- NuGet installation and service registration33- CSS, imports, and provider setup34- `BbPortalHost`, `BbToastProvider`, and `BbDialogProvider`35- Theme variables and dark mode36- Verification and troubleshooting3738### Services & Localization39Read [references/services.md](references/services.md) for:40- `AddBlazorBlueprintComponents()` vs `AddBlazorBlueprintPrimitives()`41- `ToastService` and `DialogService`42- provider requirements and programmatic dialog usage4344Read [references/localization.md](references/localization.md) for:45- `IBbLocalizer` and startup string overrides46- `IStringLocalizer` integration patterns47- culture-sensitive component text and formatting4849### Icons50Read [references/icons.md](references/icons.md) for icon component usage and styling guidance.5152### Blueprints & Primitives53Read [references/blueprints.md](references/blueprints.md) for:54- category routing across auth, sidebar, apps, dashboards, forms, data, marketing, and ecommerce55- the upstream blueprint catalog and per-category files56- copy/adapt workflow for production-shaped screens5758Read [references/primitives.md](references/primitives.md) for:59- when to stay on `BlazorBlueprint.Components`60- when to switch to `BlazorBlueprint.Primitives`61- headless behavior and custom design-system guidance6263### Common Patterns64Read [references/patterns.md](references/patterns.md) for:65- controlled vs uncontrolled state66- `EditForm` + `BbField` conventions67- root provider patterns68- dashboard / app shell defaults69- blueprint-first acceleration7071## Component Categories7273### Form Components (30+ form-related)74Read [references/components-forms.md](references/components-forms.md) for:75- text, typed, and structured inputs76- selection controls and searchable selection77- date/time, date+time, and OTP flows78- uploads, editors, and advanced inputs79- form sections, wizards, dynamic forms, and `BbFormField*` wrappers8081### Layout & Navigation Components (15+)82Read [references/components-layout.md](references/components-layout.md) for:83- sidebars, responsive nav, navigation menus, and breadcrumbs84- cards, tabs, accordions, collapsible content, and IDE-style docking85- resizable work areas, scroll areas, separators, and aspect-ratio containers86- routing guidance for shells vs display/data surfaces8788### Overlay Components (14+)89Read [references/components-overlays.md](references/components-overlays.md) for:90- dialogs, alert dialogs, sheets, drawers, and popovers91- menus, tooltips, hover cards, and command surfaces92- `DialogService` and `ToastService` usage93- provider and portal requirements9495### Display & Data Components (18+)96Read [references/components-display-data.md](references/components-display-data.md) for:97- alerts, badges, avatars, shortcuts, loading states, and empty states98- items, timelines, typography, carousel, click-to-copy, and chat components99- `BbDataTable`, `BbDataGrid`, and `BbDataView` routing100- dashboard/data-screen and event calendar guidance101102### Chart Components (12 types)103Read [references/components-charts.md](references/components-charts.md) for:104- the current Apache ECharts-based chart stack105- `BbChart` composite charts and `ChartConfig`106- dedicated bar, line, area, pie, radial bar, gauge, radar, scatter, and candlestick charts107- `BbChartContainer` and chart theming108109> Counts are approximate and grow with each library release. The authoritative component list is at https://blazorblueprintui.com/llms/llms-full.txt.110111## Key Architecture Patterns112113### Controlled vs uncontrolled state114115**Uncontrolled:**116```razor117<BbTabs DefaultValue="overview">...</BbTabs>118```119120**Controlled:**121```razor122<BbTabs @bind-Value="currentTab">...</BbTabs>123```124125### Composition pattern126127```razor128<BbCard>129 <BbCardHeader><BbCardTitle>Title</BbCardTitle></BbCardHeader>130 <BbCardContent>Content</BbCardContent>131 <BbCardFooter>Actions</BbCardFooter>132</BbCard>133```134135### AsChild pattern136137```razor138<BbDialog>139 <BbDialogTrigger AsChild>140 <BbButton Variant="ButtonVariant.Destructive">Delete</BbButton>141 </BbDialogTrigger>142 <BbDialogContent>...</BbDialogContent>143</BbDialog>144```145146> **Note**: `AsChild` defaults to `true` (v3+). Set `AsChild="false"` when you need the trigger's built-in `<button>` wrapper instead of merging into a child element — useful when migrating v2 code that relied on auto-generated wrappers.147148### Portal and provider pattern149150Overlay components render through `BbPortalHost`. App-wide toasts and service-driven dialogs also need `BbToastProvider` and `BbDialogProvider` in the root layout.151152## Known Pitfalls153154These are hard-won constraints — check them before generating any BB component code:1551561. **CaptureUnmatchedValues is supported, not universal** — Most BB components now accept arbitrary HTML attributes (`@onclick`, `style`, `class`, `data-*`, etc.) and pass them through to the root element. However, not every component declares `[Parameter(CaptureUnmatchedValues = true)]` — check the upstream docs or source for your specific component. For components that lack it, use a wrapper element. See [patterns.md § Unmatched attribute capture](references/patterns.md).1571582. **Tailwind subset only** — BB ships only the utilities its own components use; writing other Tailwind classes silently has no effect. Add missing utilities as custom CSS. See [setup.md § Tailwind subset limitation](references/setup.md).1591603. **Lucide icon names change** — Several names have been renamed upstream (e.g. `check-circle` → `circle-check`, `home` → `house`). A broken icon renders ⚠️. Verify names at `https://blazorblueprintui.com/llms/icons/lucide.txt`. See [icons.md § Renamed icons](references/icons.md).1611624. **Auth pages are SSR-only** — Login/signup blueprints use `[ExcludeFromInteractiveRouting]`. Use HTML form POST + `[SupplyParameterFromForm]`; do not add `@rendermode InteractiveServer`. See [blueprints.md § Auth pages and SSR](references/blueprints.md).1631645. **`BbProvider` must be the outermost wrapper** — Bootstrap order in `App.razor` matters: `<BbProvider>` wraps everything. See [setup.md § App.razor bootstrap order](references/setup.md).165166## Workflow1671681. **Read setup.md** for installation and providers.1692. **Choose components vs primitives** before building custom shells or behavior-heavy surfaces.1703. **Pick a category**: forms, layout/navigation, overlays, display/data, or charts.1714. **Load patterns.md** when composing multiple surfaces together.1725. **Load blueprints.md** when you need a production-shaped screen quickly.1736. **Style through theme variables** and validate dark mode.174175## When to Load References176177- **setup.md:** first-time setup, providers, theming, dark mode, icons import questions178- **services.md:** DI registration differences, `ToastService`, `DialogService`, provider requirements179- **localization.md:** label overrides, `IBbLocalizer` customization, culture-sensitive component text180- **blueprints.md:** rapid auth, sidebar, dashboard, data, marketing, or ecommerce screen scaffolding181- **primitives.md:** headless composition, custom design systems, or behavior-only reuse182- **components-forms.md:** editing flows, validation, selection, wizards, schema-driven forms183- **components-layout.md:** shells, responsive navigation, cards, tabs, resizable work areas184- **components-overlays.md:** dialogs, menus, tooltips, command palettes, toasts185- **components-display-data.md:** alerts, status display, tables, grids, data views, empty/loading states186- **components-charts.md:** dashboards, KPI visuals, mixed/composite chart composition187- **patterns.md:** cross-component conventions and blueprint-first workflows188189## Blueprints and Primitives190191- **Blueprints** provide ready-to-copy compositions for auth, sidebar shells, dashboards, forms, data screens, marketing, and ecommerce. Read [references/blueprints.md](references/blueprints.md) for category routing and upstream blueprint entry points.192- **Primitives** are the headless layer for advanced users who want BlazorBlueprint behavior without the styled component surface. Read [references/primitives.md](references/primitives.md) when markup ownership matters more than the default component styling.