Documentation
Comprehensive guides, API reference, and integration patterns for Blazor Power Tools.
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 controlsAI & 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 |
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.