SyntaxCircus.FancyBlazor
0.1.3
See the version list below for details.
dotnet add package SyntaxCircus.FancyBlazor --version 0.1.3
NuGet\Install-Package SyntaxCircus.FancyBlazor -Version 0.1.3
<PackageReference Include="SyntaxCircus.FancyBlazor" Version="0.1.3" />
<PackageVersion Include="SyntaxCircus.FancyBlazor" Version="0.1.3" />
<PackageReference Include="SyntaxCircus.FancyBlazor" />
paket add SyntaxCircus.FancyBlazor --version 0.1.3
#r "nuget: SyntaxCircus.FancyBlazor, 0.1.3"
#:package SyntaxCircus.FancyBlazor@0.1.3
#addin nuget:?package=SyntaxCircus.FancyBlazor&version=0.1.3
#tool nuget:?package=SyntaxCircus.FancyBlazor&version=0.1.3
FancyBlazor
Composable visual effects for Blazor: backgrounds, borders, viewport reveals, pointer motion, parallax, and shimmer—without React islands, a runtime CDN, or consumer JavaScript tooling.
FancyBlazor targets net10.0 and works with static SSR, Interactive Server,
Interactive WebAssembly, Interactive Auto, and standalone WebAssembly. It is
CSS-framework-agnostic and keeps meaningful child content as ordinary semantic DOM.
Preview software. The API may change before 1.0. Published as-is and maintained on a best-effort basis; there is no support SLA.
Install and register
dotnet add package SyntaxCircus.FancyBlazor
Register the shared runtime in every executable host. Interactive Auto apps
register it in both server and client Program.cs files.
using SyntaxCircus.FancyBlazor;
builder.Services.AddFancyBlazor();
Import the root namespace in _Imports.razor:
@using SyntaxCircus.FancyBlazor
No script tag, npm package, CDN, or manual stylesheet import is required.
First effect
<ShaderBackground Effect="ShaderEffect.Nacre"
Palette="FancyPalettes.Witchlight">
<section class="hero">
<h1>Build something that catches light.</h1>
<p>This remains semantic HTML before and after WebGL initializes.</p>
</section>
</ShaderBackground>
Before interactivity—or when WebGL is unavailable—the component displays a palette-derived CSS background and leaves the content usable.
Preview components
| Component | Rendering path | Purpose |
|---|---|---|
ShaderBackground |
Vendored WebGL runtime + Nacre GLSL | Decorative animated background behind real DOM |
GlowBorder |
CSS-first | Animated edge light around existing content |
Reveal |
CSS + IntersectionObserver |
Viewport-aware fade/translate/blur entrance |
Tilt |
CSS + pointer JavaScript | Perspective motion and optional glare |
GradientBackground |
CSS-first | Palette-derived animated gradient background |
Spotlight |
CSS + pointer JavaScript | Decorative pointer-following radial light |
Magnetic |
CSS + pointer JavaScript | Subtle pointer-relative content motion |
Parallax |
CSS + scroll JavaScript | Viewport-relative content offset |
Stagger |
CSS + IntersectionObserver |
Sequential direct-child viewport entry |
Shimmer |
CSS-first | Decorative highlight sweep |
GradientText |
CSS-first | Palette-derived text color treatment |
TextReveal |
CSS + IntersectionObserver |
Semantic word or character entrance |
AuroraBackground |
CSS-first | Palette-derived ambient light behind content |
NoiseOverlay |
CSS-first | Decorative grain behind content |
Ripple |
CSS + pointer JavaScript | Decorative tap/click wave around content |
CursorTrail |
Canvas + pointer JavaScript | Bounded decorative pointer particles |
GlassSurface |
CSS-first | Translucent reading plane with progressive backdrop blur |
BorderBeam |
CSS-first | Focused moving edge-light accent |
GridBackground |
CSS-first | Faded line grid behind semantic content |
DotPattern |
CSS-first | Faded dot field behind semantic content |
OrbitalGlow |
CSS-first | Palette-derived ambient orbital light |
Components intentionally compose:
<ShaderBackground>
<Reveal Effect="RevealEffect.BlurUp">
<Tilt Glare>
<GlowBorder Color="currentColor">
<article>Existing content</article>
</GlowBorder>
</Tilt>
</Reveal>
</ShaderBackground>
Global defaults
builder.Services.AddFancyBlazor(options =>
{
options.MotionPreference = FancyMotionPreference.RespectSystem;
options.Quality = FancyQuality.Auto;
options.PauseWhenHidden = true;
options.PauseWhenOffscreen = true;
options.EnableDiagnostics = false;
});
Reduced motion is respected by default. Decorative canvases and glare layers are hidden from assistive technology, wrapper components add no tab stops, and continuous rendering stops while hidden or offscreen.
Documentation and examples
- Getting started
- Component guides and API tables
- Palettes and styling
- Accessibility
- Performance
- Hosting modes
- Deploy the interactive demo container
- Troubleshooting
- Expressive effects: what to expect
- Expressive-effects demo
- Spatial surfaces
- Spatial-surfaces demo
- Changelog
- Compiling Interactive Auto demo
Validation
dotnet restore SyntaxCircus.FancyBlazor.slnx
dotnet build SyntaxCircus.FancyBlazor.slnx --no-restore --configuration Release
dotnet test SyntaxCircus.FancyBlazor.slnx --no-build --configuration Release
dotnet pack src/SyntaxCircus.FancyBlazor/SyntaxCircus.FancyBlazor.csproj --no-build --configuration Release
pwsh eng/verify-docs.ps1
pwsh eng/verify-package.ps1
Install the Playwright browser once before the first local browser-test run; the exact command is documented in AGENTS.md.
Contributing and license
Read AGENTS.md before changing public behavior or vendored assets. FancyBlazor is MIT licensed; see LICENSE. Bundled shader.gallery notices are in THIRD-PARTY-NOTICES.md.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.AspNetCore.Components.Web (>= 10.0.11)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on SyntaxCircus.FancyBlazor:
| Package | Downloads |
|---|---|
|
SyntaxCircus.FancyBlazor.WebGL
Preview WebGL companion effects for FancyBlazor, with semantic DOM content and automatic CSS fallbacks. |
|
|
SyntaxCircus.FancyBlazor.UI
Optional styled, accessible UI controls for FancyBlazor: buttons, links, badges, cards, and a navbar. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.4.0 | 122 | 8/31/2026 |
| 0.3.3 | 98 | 8/31/2026 |
| 0.3.2 | 125 | 8/28/2026 |
| 0.3.1 | 113 | 8/28/2026 |
| 0.3.0 | 114 | 8/28/2026 |
| 0.2.5 | 107 | 8/28/2026 |
| 0.2.4 | 104 | 8/27/2026 |
| 0.2.3 | 109 | 8/25/2026 |
| 0.2.2 | 115 | 8/24/2026 |
| 0.2.1 | 106 | 8/24/2026 |
| 0.2.0 | 96 | 8/23/2026 |
| 0.1.5 | 101 | 8/23/2026 |
| 0.1.4 | 97 | 8/23/2026 |
| 0.1.3 | 92 | 8/23/2026 |
| 0.1.2 | 99 | 8/23/2026 |
| 0.1.1 | 97 | 8/23/2026 |
| 0.1.0 | 90 | 8/23/2026 |