HeroWave 2.1.2

dotnet add package HeroWave --version 2.1.2
                    
NuGet\Install-Package HeroWave -Version 2.1.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HeroWave" Version="2.1.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HeroWave" Version="2.1.2" />
                    
Directory.Packages.props
<PackageReference Include="HeroWave" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add HeroWave --version 2.1.2
                    
#r "nuget: HeroWave, 2.1.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package HeroWave@2.1.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=HeroWave&version=2.1.2
                    
Install as a Cake Addin
#tool nuget:?package=HeroWave&version=2.1.2
                    
Install as a Cake Tool

HeroWave

CI NuGet License: MIT Live Demo

A reusable Blazor component for animated wavy background effects powered by HTML5 Canvas and simplex noise. Works as a hero section, full-page background, or any container background.

View Live Demo | Hero Section | Full Page | Color Showcase

Hero section demo

Full page background

Color presets showcase

Installation

dotnet add package HeroWave

Add the namespace to your _Imports.razor:

@using HeroWave.Components

Quick Start

<WavyBackground Title="Hello World"
                Subtitle="Animated waves behind your content"
                Height="60vh">
    <button>Get Started</button>
</WavyBackground>

Parameters

Parameter Type Default Description
Title string? null Large heading text centered over the waves
Subtitle string? null Smaller text below the title
ChildContent RenderFragment? null Custom Razor markup rendered below title/subtitle
Height string "100vh" CSS height of the container
Colors string[] ["#38bdf8", "#818cf8", "#c084fc", "#e879f9", "#22d3ee"] Wave line colors
BackgroundColor string "#0c0c14" Background fill color
WaveCount int 5 Number of wave layers
WaveWidth int 50 Stroke width of each wave (px)
Speed double 0.004 Animation speed — time increment per frame (e.g. 0.004 slow, 0.008 fast)
Opacity double 0.5 Wave opacity (0.0 - 1.0)
CssClass string? null Additional CSS class on the overlay

Examples

Hero Section

<WavyBackground Title="Build Amazing Apps"
                Subtitle="A reusable wavy background component for Blazor"
                Height="60vh">
    <a href="/signup" class="btn">Get Started</a>
</WavyBackground>

Full Page Background

<WavyBackground Height="100vh"
                Speed="0.008"
                Colors="@(new[] { "#22d3ee", "#818cf8", "#e879f9" })"
                WaveCount="7"
                Opacity="0.6">
    <div class="my-layout">
        <nav>...</nav>
        <main>...</main>
    </div>
</WavyBackground>

Color Presets

Ocean Aurora - cool blues and greens

<WavyBackground Colors="@(new[] { "#0ea5e9", "#06b6d4", "#14b8a6", "#10b981", "#34d399" })"
                BackgroundColor="#021a2b" WaveCount="6" WaveWidth="60" Opacity="0.6" />

Sunset Fire - warm oranges, reds, pinks

<WavyBackground Colors="@(new[] { "#f97316", "#ef4444", "#ec4899", "#f59e0b", "#fb923c" })"
                BackgroundColor="#1a0a00" Speed="0.008" Opacity="0.55" />

Neon Cyberpunk - electric, high contrast

<WavyBackground Colors="@(new[] { "#ff00ff", "#00ffff", "#39ff14", "#ff3131" })"
                BackgroundColor="#0a0a0a" WaveCount="4" WaveWidth="35" Speed="0.008" Opacity="0.7" />

Minimal Frost - white/silver on dark, subtle

<WavyBackground Colors="@(new[] { "#e2e8f0", "#94a3b8", "#cbd5e1", "#f1f5f9" })"
                BackgroundColor="#0f172a" WaveCount="3" WaveWidth="70" Opacity="0.3" />

Northern Lights - purples, greens, ethereal

<WavyBackground Colors="@(new[] { "#a855f7", "#6366f1", "#22d3ee", "#4ade80", "#818cf8" })"
                BackgroundColor="#0c0720" WaveCount="7" WaveWidth="55" />

Molten Gold - luxurious golds and ambers

<WavyBackground Colors="@(new[] { "#fbbf24", "#f59e0b", "#d97706", "#b45309", "#fcd34d" })"
                BackgroundColor="#1c1208" Speed="0.008" Opacity="0.45" />

Contributing

# Clone and build
git clone https://github.com/cartsp/hero-wave.git
cd hero-wave
dotnet build

# Run the demo app
dotnet run --project demo/HeroWave.Demo

# Run unit tests
dotnet test tests/HeroWave.Tests/

# Run E2E tests (requires Playwright browsers installed)
dotnet test tests/HeroWave.E2E/

License

MIT

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.2 149 3/28/2026
2.1.1 81 3/21/2026
2.1.0 81 3/21/2026
2.0.3 79 3/21/2026
2.0.2 81 3/21/2026
2.0.1 77 3/21/2026
2.0.0 77 3/21/2026
1.0.1-beta.2 38 3/20/2026
1.0.1-beta.1 39 3/20/2026
1.0.0 82 3/20/2026