Documentation

Comprehensive guides, API reference, and integration patterns for Blazor Power Tools.

Home / Documentation

Quick Links

Architecture Overview

Blazor Power Tools is built as a layered component library targeting .NET 10. It supports all three Blazor hosting models: Interactive Server, WebAssembly, and hybrid rendering.

┌─────────────────────────────────────────────┐ │ Your Blazor Application │ │ (Server, WASM, or Hybrid) │ └──────────────────┬──────────────────────────┘ │ ┌──────────────────▼──────────────────────────┐ │ Bpt.Components │ │ Main component library │ │ - Controls (forms, inputs, selectors) │ │ - Images & Animation (WebGL, canvas) │ │ - Tools (terminal, monitor, theme builder) │ └──────────────────┬──────────────────────────┘ │ ┌──────────────────▼──────────────────────────┐ │ Bpt.Services │ │ JavaScript interop layer │ │ - IJavascriptService │ │ - DOM operations, file handling │ │ - Media capture │ └──────────────────┬──────────────────────────┘ │ ┌──────────────────▼──────────────────────────┐ │ Bpt.Components.Common │ │ - BptRootComponent (root wrapper + state) │ │ - BptRootComponentBase (base class) │ └─────────────────────────────────────────────┘

Component Reference by Category

Form & UI Controls

23 input and display components. All form controls support two-way binding with @bind-Value, validation via EditContext, theming through CSS custom properties, and keyboard navigation.

Key components: BptDropdown, BptDateSelector, BptDateTimeSelector, BptNumericInput, BptMultiSelect, BptColorSelector, BptSlider, BptRating, BptUpload.

View all controls

AI & Audio

Speech-to-text and transcription components with pluggable backends. The AI module supports multiple recognition engines: local Whisper inference (via GGML models), Azure Speech Services, OpenAI Whisper API, and Sherpa ONNX.

The BptRealTimeTranscriber provides continuous, streaming transcription while BptSpeechToText handles single-shot voice input for form fields.

Images & Animation

GPU-accelerated visual components. BptAnimationEffect applies real-time WebGL shader effects to any image. BptImageAnalysis performs client-side edge detection (Sobel, Canny, Contour, Skeleton algorithms) with anti-aliasing. BptCarousel supports GIF export of animated transitions.

Developer Tools

BptTerminalClient provides in-browser SSH access. BptServerMonitor displays real-time CPU/GPU/memory/disk/network metrics. BptThemeBuilder is a visual tool for designing and exporting themes. BptBlazorRenderInformation and BptElementRenderInformation show render mode and performance diagnostics.

Key Interfaces

IJavascriptService

The primary JS interop interface. Handles DOM operations, file downloads, clipboard access, media capture, and browser API calls. Injected automatically when you register BPT services.

BptRootComponent

Root wrapper component that cascades global application state through the component tree. Provides license validation, rendering mode detection, culture settings, and shared configuration that all BPT components can access.

Rendering Modes

BPT components work across all Blazor rendering modes:

Mode How It Works Best For
Interactive Server Components run on the server; UI updates via SignalR Internal tools, admin panels, sensitive data
WebAssembly Components run in the browser via .NET WASM runtime Public-facing apps, offline-capable scenarios
Hybrid (Auto) Server-rendered initially, switches to WASM after download Best of both — fast first load, full client capability
Note Some components (BptTerminalClient, BptServerMonitor) require a server connection and are best suited for Interactive Server or Hybrid modes.

Globalization & Localization

BPT components respect .NET's CultureInfo for date/time formatting, number formatting, and text direction. The library includes built-in support for en-GB and nb-NO cultures, with easy extension for additional locales.

The BptLanguage component provides a culture selector dropdown that automatically updates the application culture and persists the user's choice.


An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.