InfiniLore.InfiniBlazor.Core.Theming 0.1.0-preview.96

Prefix Reserved
This is a prerelease version of InfiniLore.InfiniBlazor.Core.Theming.
dotnet add package InfiniLore.InfiniBlazor.Core.Theming --version 0.1.0-preview.96
                    
NuGet\Install-Package InfiniLore.InfiniBlazor.Core.Theming -Version 0.1.0-preview.96
                    
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="InfiniLore.InfiniBlazor.Core.Theming" Version="0.1.0-preview.96" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="InfiniLore.InfiniBlazor.Core.Theming" Version="0.1.0-preview.96" />
                    
Directory.Packages.props
<PackageReference Include="InfiniLore.InfiniBlazor.Core.Theming" />
                    
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 InfiniLore.InfiniBlazor.Core.Theming --version 0.1.0-preview.96
                    
#r "nuget: InfiniLore.InfiniBlazor.Core.Theming, 0.1.0-preview.96"
                    
#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 InfiniLore.InfiniBlazor.Core.Theming@0.1.0-preview.96
                    
#: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=InfiniLore.InfiniBlazor.Core.Theming&version=0.1.0-preview.96&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=InfiniLore.InfiniBlazor.Core.Theming&version=0.1.0-preview.96&prerelease
                    
Install as a Cake Tool

InfiniLore.InfiniBlazor

A comprehensive Blazor component library built for modern web applications. InfiniLore.InfiniBlazor provides a rich set of UI components with advanced features including theming, markdown processing, and optional packages for auto-documentation, and cross-platform MAUI support.

Originally this project was created as a simple interactive Markdown editor that could be used within any framework. However, as the project grew, it became clear that the library would benefit from a more comprehensive set of components and features. As a result, the project was rewritten from scratch to provide a more comprehensive component library and a more modern development experience.

Features

Core Components

  • UI Components: Buttons, checkboxes, radio buttons, dividers, tabs, layouts
  • Advanced Controls: Emote system with Lucide icon integration
  • Interactive Elements: Dialog system, callouts, query parameter management
  • Theming System: Dynamic theme management with CSS custom properties
  • Markdown Processing: Advanced Markdown syntax parsing and allowing developers to attach interactive rendering with custom Blazor integration
  • JavaScript Interop: Seamless JavaScript integration layer
  • Toast Notifications: Built-in notification system

Extensions

  • Auto Documentation: Automatic component documentation generation with source generators
  • Extra Components: Extended component library for specialized use cases
  • MAUI Integration: Cross-platform mobile and desktop application support

Technology Stack

  • .NET 9.0: Latest .NET Core
  • C# 13.0: Modern C# language features
  • TUnit: Modern testing framework

Prerequisites

  • .NET 9.0 SDK or later
  • Node.js (for TypeScript and TailwindCSS compilation)
  • Visual Studio 2022 or JetBrains Rider (recommended)

Installation

NuGet Package

dotnet add package InfiniLore.InfiniBlazor

From Source

git clone https://github.com/InfiniLore/InfiniBlazor
cd InfiniLore.InfiniBlazor
dotnet restore

Quick Start

1. Service Registration

Add to your Program.cs:

builder.Services.AddInfiniBlazor();

// ...

app.UseInfiniBlazor(); // Used for importing static data, like emote libs, at startup

2. Import Statements

Add to your _Imports.razor:

@using InfiniLore.InfiniBlazor
@using InfiniLore.InfiniBlazor.Components

3. CSS and JavaScript Resources

Add to your App.razor or main HTML file:

<link rel="stylesheet" href="_content/InfiniLore.InfiniBlazor/InfiniBlazor.css" />
<script src="_content/InfiniLore.InfiniBlazor/InfiniBlazor.js"></script>

4. Theme Manager

Add to your main layout:

<InfiniThemeManager/>
<InfiniDialogManager/>

<InfiniLayout Layout="NavLayout.LeftPrimary">
    <Left>
        <NavBarLeft/>
    </Left>
    
    @* Other Layout locations if you want to ... *@
    
    <Body>
        <InfiniToastManager/>
        @Body
    </Body>
</InfiniLayout>

5. Basic Component Usage

<InfiniButton Color="Color.Primary" Size="Size.M" OnClick="HandleClick">
    Click Me
</InfiniButton>

<InfiniCheckbox @bind-Value="isChecked" Label="Enable feature" />

@*...*@

Extension Modules

Auto Documentation

Automatically generates documentation for components using source generators:

<InfiniAutoDocument Id="my-component">
    <MyComponent />
</InfiniAutoDocument>

MAUI Integration

Cross-platform support for mobile and desktop applications with specialized components and services.

Theming System

Although the library is built with using TailwindCSS for styling, it is not required to style your application using TailwindCSS.

The library includes a comprehensive theming system with:

  • CSS custom property-based themes
  • Dynamic theme switching
  • Component-specific styling hooks
  • TailwindCSS integration for utility classes

Contributing

Development Setup

  1. Clone the repository
  2. Install .NET 9.0 SDK
  3. Install Node.js dependencies: npm install
  4. Build the solution: dotnet build

Code Standards

  • Follow established C# conventions
  • Use nullable reference types
  • Include comprehensive tests for new features
  • Update documentation for public APIs

License

This project is licensed under the GNU Lesser General Public License v3.0. See the LICENSE file for details.

Support and Community

  • Issues: Report bugs and request features via GitHub Issues
  • Discussions: Join community discussions for questions and ideas
  • Contributing: See CONTRIBUTING.md for development guidelines
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 was computed.  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 (1)

Showing the top 1 NuGet packages that depend on InfiniLore.InfiniBlazor.Core.Theming:

Package Downloads
InfiniLore.InfiniBlazor

InfiniLore's Component Library

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.96 19 9/15/2025
0.1.0-preview.95 26 9/15/2025
0.1.0-preview.94 95 9/6/2025
0.1.0-preview.93 91 9/6/2025
0.1.0-preview.92 92 9/6/2025
0.1.0-preview.91 89 9/6/2025