PureBlazor.Components 1.0.0

Prefix Reserved
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package PureBlazor.Components --version 1.0.0
                    
NuGet\Install-Package PureBlazor.Components -Version 1.0.0
                    
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="PureBlazor.Components" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PureBlazor.Components" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="PureBlazor.Components" />
                    
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 PureBlazor.Components --version 1.0.0
                    
#r "nuget: PureBlazor.Components, 1.0.0"
                    
#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 PureBlazor.Components@1.0.0
                    
#: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=PureBlazor.Components&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=PureBlazor.Components&version=1.0.0
                    
Install as a Cake Tool

GitHub Actions Workflow Status GitHub last commit NuGet Version Discord PureBlazor

PureBlazor Components

This component library is pre-release software.

These components are native Blazor UI components that are free to use for any Blazor project.

Available components

  • Button
  • Sheet
  • Input
  • Skip to content

Getting started

Installation

Install the PureBlazor.Components NuGet package to your Client project.

dotnet add package PureBlazor.Components

Add to your GlobalUsings.cs file in the Client project:

global using static PureBlazor.Components.Variants;
global using static PureBlazor.Components.Sizes;
global using PureBlazor.Components;

Setup Tailwind in your Blazor project folder by adding a styles.css and package.json file that looks something like this:

{
    "scripts": {
        "build": "npx @tailwindcss/cli -i styles.css -o ./wwwroot/app.css",
        "watch": "npx @tailwindcss/cli -i styles.css -o ./wwwroot/app.css --watch"
    },
    "dependencies": {
        "@tailwindcss/cli": "^4.1.11",
        "tailwindcss": "^4.1.11"
    }
}

Example usage

<Button Variant="Secondary" Size="Sm" @onclick="EnterEditMode">Edit Observer</Button>
<Button Variant="Primary" Size="Sm" @onclick="CheckHealthNowAsync">Check now</Button>

Theming

This library depends on Tailwind. Use CSS variables to easily customize the theme of the components.

If you are familiar with ShadCN, you will find the theming approach similar, as it is heavily inspired by it, if not outright copied.

  1. Set up Tailwind in your Blazor project.
  2. Add the below CSS variables to your tailwind input CSS file (e.g., site.css or app.css).
  3. Adjust the CSS variables to match your design requirements.
@import "tailwindcss";
@custom-variant dark (&:where(.dark, .dark *));

:root {
    --background: hsl(0 0% 100%);
    --foreground: hsl(240 10% 3.9%);
    --card: hsl(0 0% 100%);
    --card-foreground: hsl(240 10% 3.9%);
    --popover: hsl(0 0% 100%);
    --popover-foreground: hsl(240 10% 3.9%);
    --primary: hsl(240 5.9% 10%);
    --primary-foreground: hsl(0 0% 98%);
    --secondary: hsl(240 4.8% 95.9%);
    --secondary-foreground: hsl(240 5.9% 10%);
    --muted: hsl(240 4.8% 95.9%);
    --muted-foreground: hsl(240 3.8% 46.1%);
    --accent: hsl(240 4.8% 95.9%);
    --accent-foreground: hsl(240 5.9% 10%);
    --destructive: hsl(2.6 86.9% 41.8%);
    --destructive-foreground: hsl(0 0% 98%);
    --border: hsl(240 5.9% 90%);
    --input: hsl(240 5.9% 90%);
    --ring: hsl(240 10% 3.9%);
    --chart-1: hsl(12 76% 61%);
    --chart-2: hsl(173 58% 39%);
    --chart-3: hsl(197 37% 24%);
    --chart-4: hsl(43 74% 66%);
    --chart-5: hsl(27 87% 67%);
    --radius: 0.6rem;
    --sidebar-background: hsl(0 0% 98%);
    --sidebar-foreground: hsl(240 5.3% 26.1%);
    --sidebar-primary: hsl(240 5.9% 10%);
    --sidebar-primary-foreground: hsl(0 0% 98%);
    --sidebar-accent: hsl(240 4.8% 95.9%);
    --sidebar-accent-foreground: hsl(240 5.9% 10%);
    --sidebar-border: hsl(220 13% 91%);
    --sidebar-ring: hsl(217.2 91.2% 59.8%);
}

.dark {
    --background: hsl(240 10% 3.9%);
    --foreground: hsl(0 0% 98%);
    --card: hsl(240 10% 3.9%);
    --card-foreground: hsl(0 0% 98%);
    --popover: hsl(240 10% 3.9%);
    --popover-foreground: hsl(0 0% 98%);
    --primary: hsl(0 0% 98%);
    --primary-foreground: hsl(240 5.9% 10%);
    --secondary: hsl(240 3.7% 15.9%);
    --secondary-foreground: hsl(0 0% 98%);
    --muted: hsl(240 3.7% 15.9%);
    --muted-foreground: hsl(240 5% 64.9%);
    --accent: hsl(240 3.7% 15.9%);
    --accent-foreground: hsl(0 0% 98%);
    --destructive: hsl(0 62.8% 30.6%);
    --destructive-foreground: hsl(0 0% 98%);
    --border: hsl(240 3.7% 15.9%);
    --input: hsl(240 3.7% 15.9%);
    --ring: hsl(240 4.9% 83.9%);
    --chart-1: hsl(220 70% 50%);
    --chart-2: hsl(160 60% 45%);
    --chart-3: hsl(30 80% 55%);
    --chart-4: hsl(280 65% 60%);
    --chart-5: hsl(340 75% 55%);
    --sidebar-background: hsl(240 5.9% 10%);
    --sidebar-foreground: hsl(240 4.8% 95.9%);
    --sidebar-primary: hsl(224.3 76.3% 48%);
    --sidebar-primary-foreground: hsl(0 0% 100%);
    --sidebar-accent: hsl(240 3.7% 15.9%);
    --sidebar-accent-foreground: hsl(240 4.8% 95.9%);
    --sidebar-border: hsl(240 3.7% 15.9%);
    --sidebar-ring: hsl(217.2 91.2% 59.8%);
}

@theme inline {
    --color-background: var(--background);
    --color-foreground: var(--foreground);
    --color-card: var(--card);
    --color-card-foreground: var(--card-foreground);
    --color-popover: var(--popover);
    --color-popover-foreground: var(--popover-foreground);
    --color-primary: var(--primary);
    --color-primary-foreground: var(--primary-foreground);
    --color-secondary: var(--secondary);
    --color-secondary-foreground: var(--secondary-foreground);
    --color-muted: var(--muted);
    --color-muted-foreground: var(--muted-foreground);
    --color-accent: var(--accent);
    --color-accent-foreground: var(--accent-foreground);
    --color-destructive: var(--destructive);
    --color-destructive-foreground: var(--destructive-foreground);
    --color-border: var(--border);
    --color-input: var(--input);
    --color-ring: var(--ring);
    --color-chart-1: var(--chart-1);
    --color-chart-2: var(--chart-2);
    --color-chart-3: var(--chart-3);
    --color-chart-4: var(--chart-4);
    --color-chart-5: var(--chart-5);
    --radius-sm: calc(var(--radius) - 4px);
    --radius-md: calc(var(--radius) - 2px);
    --radius-lg: var(--radius);
    --radius-xl: calc(var(--radius) + 4px);
    --color-sidebar-ring: var(--sidebar-ring);
    --color-sidebar-border: var(--sidebar-border);
    --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
    --color-sidebar-accent: var(--sidebar-accent);
    --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
    --color-sidebar-primary: var(--sidebar-primary);
    --color-sidebar-foreground: var(--sidebar-foreground);
    --color-sidebar: var(--sidebar-background);
    --animate-accordion-down: accordion-down 0.2s ease-out;
    --animate-accordion-up: accordion-up 0.2s ease-out;
}

FAQ

Why not use another xx library?

  • This library is built to be lightweight and follow a style convention similar to ShadCN.
  • For more complex components, we recommend using other libraries like Blazorise or MudBlazor.

Is this library free to use?

  • Yes! This library is free to use for any Blazor project.

Can I use this library with Blazor WebAssembly / Blazor Server / InteractiveAuto / MAUI?

  • Yes! This library supports all Blazor hosting models.

Can you add a specific component or feature?

  • We are always open to suggestions, but we cannot guarantee that we will implement them.

How do I report a bug?

  • Please, open an issue on the GitHub repository.
  • Please, include as much information as possible, including what library version and browser you are using, and any steps to reproduce the issue.
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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
1.0.1-dev1 82 7/31/2025
1.0.0 84 7/31/2025
0.60.0 120 7/9/2025
0.50.0 143 7/9/2025
0.41.0 133 12/18/2024
0.40.0-rc2 68 11/2/2024
0.32.8 137 9/20/2024
0.32.0 148 9/18/2024
0.31.0 234 5/30/2024
0.30.0 144 5/25/2024
0.27.0 152 5/6/2024
0.26.0 145 5/5/2024
0.25.0 194 5/5/2024
0.24.0 142 5/5/2024
0.23.0 157 5/4/2024
0.22.0 131 5/3/2024
0.19.0 145 4/29/2024
0.18.0 223 4/26/2024
0.17.0 134 4/26/2024
0.16.0 143 4/26/2024
0.15.0 144 4/26/2024
0.14.0 141 4/26/2024
0.13.0 151 4/26/2024
0.12.0 143 4/26/2024
0.11.0 143 4/26/2024
0.10.0-preview1 136 4/9/2024
0.9.2 134 4/4/2024
0.9.1 131 4/4/2024
0.9.0 130 4/4/2024
0.8.0 137 4/4/2024
0.7.0 148 4/4/2024
0.6.0 137 4/3/2024
0.5.0 163 4/2/2024
0.4.0 129 4/2/2024
0.3.0 155 4/2/2024
0.2.0 149 4/1/2024
0.2.0-preview 116 4/26/2024
0.1.0 140 3/21/2024
0.1.0-alpha.1 120 2/2/2024
0.0.9 143 3/21/2024

Simplified v1