Noundry.Blazor

60+ production-ready Blazor components built on Tailwind CSS for modern, accessible, and customizable UI experiences in Blazor WebAssembly and Blazor Server applications.

60+
Components
2
Hosting Models
WASM & Server
.NET
8 & 9 Support
100%
Tailwind CSS

Why Noundry.Blazor?

Built for modern Blazor development with developer experience and performance in mind.

Blazor Native

Built specifically for Blazor WebAssembly and Blazor Server with native component architecture and strongly-typed parameters.

  • EventCallback support
  • RenderFragment composition
  • Zero JavaScript dependencies

Tailwind CSS Powered

Built on Tailwind CSS for easy customization with utility classes. Change colors, spacing, and styles without touching component code.

  • Easy customization
  • Dark mode support
  • Responsive by default

Production Ready

Tested and ready for production use with accessibility, keyboard navigation, and browser compatibility built-in.

  • ARIA attributes
  • Keyboard navigation
  • Type-safe parameters

Component Categories

60+ components organized into logical categories for every use case.

Layout & Navigation

  • • AppShell
  • • Sidebar
  • • Menu
  • • Breadcrumb
  • • Tabs

Content Display

  • • Card (5 variants)
  • • Accordion
  • • Table & DataTable
  • • Modal
  • • Slideover

Form Elements

  • • Button
  • • ProgressButton
  • • Input Components
  • • Dropdown

Feedback & Indicators

  • • Alert
  • • Toast
  • • Progress
  • • Spinner
  • • Skeleton
  • • Badge
  • • Banner

Specialized

  • • Charts
  • • Maps
  • • QRCode
  • • SignaturePad
  • • CodeDisplayBlock
  • • Step Wizard
  • • Commerce

Utilities

  • • AutoHide
  • • Scroll Components
  • • Icons
  • • Typography
  • • Error Handling
  • • Security

Installation

Get started in minutes with NuGet and Tailwind CSS.

1. Install the Package

$ dotnet add package Noundry.Blazor

2. Add Tailwind CSS

Add to your index.html or _Layout.cshtml:

<link href="https://cdn.tailwindcss.com" rel="stylesheet">

3. Import Namespaces

Add to _Imports.razor:

@using Noundry.Blazor
@using Noundry.Blazor.Button
@using Noundry.Blazor.Card
@using Noundry.Blazor.Modal

4. Use Components

@page "/demo"

<!-- Button Component -->
<Button BackgroundColor="bg-purple-600"
        HoverBackgroundColor="hover:bg-purple-700">
    Click Me
</Button>

<!-- Card Component -->
<Card Title="Welcome" ButtonText="Learn More">
    This is card content.
</Card>

Code Examples

See components in action with real-world examples.

Button Component

Example.razor
@page "/example"
@using Noundry.Blazor.Button

<Button BackgroundColor="bg-purple-600"
        HoverBackgroundColor="hover:bg-purple-700"
        OnButtonClick="HandleClick">
    Click Me
</Button>

@code {
    private void HandleClick()
    {
        Console.WriteLine("Button clicked!");
    }
}

Card with Event Handling

CardExample.razor
@using Noundry.Blazor.Card

<Card Title="Product Card"
      ButtonText="Add to Cart"
      OnButtonClick="AddToCart">
    <p>Premium quality product with excellent features.</p>
    <p class="font-bold text-lg">$29.99</p>
</Card>

@code {
    private void AddToCart()
    {
        // Add item to cart
        Console.WriteLine("Item added to cart");
    }
}

Modal Dialog

ModalExample.razor
@using Noundry.Blazor.Modal
@using Noundry.Blazor.Button

<Button OnButtonClick="() => showModal = true">
    Open Modal
</Button>

<Modal @bind-IsOpen="showModal" Title="Confirm Action">
    <p>Are you sure you want to proceed?</p>

    <div class="flex gap-4 mt-4">
        <Button BackgroundColor="bg-gray-600"
                OnButtonClick="() => showModal = false">
            Cancel
        </Button>
        <Button BackgroundColor="bg-purple-600"
                OnButtonClick="ConfirmAction">
            Confirm
        </Button>
    </div>
</Modal>

@code {
    private bool showModal = false;

    private void ConfirmAction()
    {
        showModal = false;
        // Perform action
    }
}

Documentation

Comprehensive guides and API references.