You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Comprehensive Blazor component library with 100+ components for building modern web applications. Supports WebAssembly, Server, and InteractiveAuto render modes and multi-targets .NET 8, 9, and 10.
Key features:
Full-featured form controls, data tables, pickers, charts, scheduler, kanban, and workflow designer
FluentValidation integration via Tempo.Blazor.FluentValidation
Built-in localization (English / Czech) with override support
CSS design system based on custom properties with dark mode
Injectable ToastService and ThemeService registered automatically
Lightweight abstractions package (Tempo.Blazor.Abstractions) for use in API/service projects without UI dependencies
Installation
dotnet add package Tempo.Blazor
Optional packages:
dotnet add package Tempo.Blazor.Abstractions # Interfaces only (for API/service projects)
dotnet add package Tempo.Blazor.FluentValidation # FluentValidation integration for EditForm
Quick Start
1. Register Services
// Program.csbuilder.Services.AddTempoBlazor();
2. Add CSS
<!-- index.html or App.razor --><linkhref="_content/Tempo.Blazor/css/tempo-blazor.bundled.css" rel="stylesheet" />
<TmButtonVariant="ButtonVariant.Primary"OnClick="HandleClick">
Click me
</TmButton>
<TmFormFieldLabel="Name">
<TmTextInput@bind-Value="name"Placeholder="Enter your name" />
</TmFormField>
<TmDatePickerLabel="Date of birth"@bind-Value="dateOfBirth" />
<TmDataTableTItem="Person"Items="people">
<TmDataTableColumnTItem="Person"Title="Name"Field="p => p.Name"Sortable />
<TmDataTableColumnTItem="Person"Title="Email"Field="p => p.Email" />
</TmDataTable>
Toast Notifications
// Inject ToastService anywhere in your components[Inject]ToastService Toast {get;set;}=default!;// Show notificationsToast.ShowSuccess("Saved successfully");Toast.ShowError("Something went wrong");Toast.ShowWarning("Check your input");Toast.ShowInfo("Record updated");
Components
Form Controls
Component
Description
TmButton
Button with variants (Primary, Secondary, Danger, Ghost, Link), sizes, loading state
TmSplitButton
Button with dropdown menu
TmCopyButton
Copy-to-clipboard button
TmTextInput
Text input with label, error, help text, prefix/suffix
TmTextArea
Multi-line text input with auto-resize
TmNumberInput
Numeric input with +/- buttons, min/max, prefix/suffix
TmCurrencyInput
Currency input with locale-aware formatting
TmSelect
Select dropdown with options
TmMultiSelect
Multi-value select dropdown
TmCascadingSelect
Hierarchical cascading select
TmCheckbox
Checkbox with label
TmToggle
Toggle switch (role="switch")
TmRadioGroup
Radio button group
TmSearchInput
Search input with debounce
TmPasswordStrengthIndicator
Password strength meter
TmEntityPicker
Async search-and-select picker for entities
TmTagPicker
Tag/keyword picker with suggestions
TmExpressionEditor
Expression editor with variable insertion
Date & Time Pickers
Component
Description
TmDatePicker
Calendar popup date picker
TmTimePicker
Time picker (hours, minutes, optional seconds)
TmTimeInput
Inline time input field
TmDateTimePicker
Combined date + time picker
TmDateRangePicker
Dual-calendar range picker with presets
TmTimeRangePicker
Time range with duration display
TmDateTimeRangePicker
Combined date-time range picker
Forms
Component
Description
TmFormField
Form field wrapper with label, validation, and help text
TmFormRow
Horizontal form row layout
TmFormSection
Grouped form section with heading
TmInlineEdit
Click-to-edit inline field
TmValidatedField
Field wrapper with FluentValidation integration
TmValidationSummary
Summary of all validation errors
TmFormValidationMessage
Per-field validation message
TmDynamicFormRenderer
Render forms from field definitions
Data Display
Component
Description
TmBadge
Status badges (Soft, Filled, Outlined)
TmCard
Content card with header, body, footer
TmStatCard
KPI statistic card with trend
TmEmptyState
Placeholder for empty lists
TmAvatar / TmAvatarGroup
User avatars with initials fallback
TmAccordion / TmAccordionItem
Collapsible content sections
TmChip / TmChipGroup
Removable chip tags
TmChangeDiff
Side-by-side or inline diff view
TmMultiViewList
Table / Card / List view switcher
TmKanbanBoard
Kanban board with drag & drop
Data Table
Component
Description
TmDataTable
Full-featured data table with sorting, filtering, grouping, pagination, selection, and column picker
TmDataTableColumn
Column definition with sort, filter, custom cell template, grouping, and aggregates
TmPagination
Standalone pagination
TmColumnFilter
Column filter UI
TmColumnPicker
Column visibility manager
TmViewManager
Save/load named table views
TmBulkActionBar
Floating bulk action toolbar
Layout
Component
Description
TmSidebar
Collapsible sidebar navigation
TmTopBar
Top navigation bar
TmBreadcrumbs
Breadcrumb navigation
TmSection
Content section with optional heading and padding
TmToggleSection
Collapsible section with toggle header
TmCommandPalette
Ctrl+K command palette
TmKeyboardShortcutsHelp
Keyboard shortcuts reference overlay
TmDrawer
Slide-in side panel
Navigation
Component
Description
TmTabs / TmTabPanel
Tab navigation (Line, Pill, Enclosed)
TmContextMenu / TmContextMenuItem
Right-click context menu
Toolbar
Component
Description
TmToolbar
Action toolbar container
TmToolbarButton
Button for use inside TmToolbar
TmToolbarDivider
Visual separator inside TmToolbar
Dropdowns
Component
Description
TmDropdown / TmDropdownItem
Generic dropdown menu
TmFilterableDropdown
Dropdown with search/filter input
Feedback
Component
Description
TmSpinner
Loading spinner
TmSkeleton
Content skeleton placeholder
TmAlert
Alert banner (Info, Success, Warning, Error)
TmDialog
Alert / Confirm / Prompt dialog
TmModal
Modal overlay (5 sizes)
TmToastContainer
Toast notifications renderer — place once in layout
TmProgressBar
Progress bar (determinate, indeterminate, segmented)