InfiniLore.InfiniBlazor
0.1.0-preview.95
Prefix Reserved
See the version list below for details.
dotnet add package InfiniLore.InfiniBlazor --version 0.1.0-preview.95
NuGet\Install-Package InfiniLore.InfiniBlazor -Version 0.1.0-preview.95
<PackageReference Include="InfiniLore.InfiniBlazor" Version="0.1.0-preview.95" />
<PackageVersion Include="InfiniLore.InfiniBlazor" Version="0.1.0-preview.95" />
<PackageReference Include="InfiniLore.InfiniBlazor" />
paket add InfiniLore.InfiniBlazor --version 0.1.0-preview.95
#r "nuget: InfiniLore.InfiniBlazor, 0.1.0-preview.95"
#:package InfiniLore.InfiniBlazor@0.1.0-preview.95
#addin nuget:?package=InfiniLore.InfiniBlazor&version=0.1.0-preview.95&prerelease
#tool nuget:?package=InfiniLore.InfiniBlazor&version=0.1.0-preview.95&prerelease
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
- Clone the repository
- Install .NET 9.0 SDK
- Install Node.js dependencies:
npm install
- 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 | Versions 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. |
-
net9.0
- CodeOfChaos.Extensions (>= 0.83.1)
- CodeOfChaos.Extensions.AspNetCore.Components (>= 0.83.1)
- CodeOfChaos.Extensions.DependencyInjection (>= 0.83.1)
- CodeOfChaos.Extensions.MicrosoftLogging (>= 0.83.1)
- CodeOfChaos.Extensions.ObjectPool (>= 0.83.1)
- InfiniLore.InfiniBlazor.Contracts (>= 0.1.0-preview.95)
- InfiniLore.InfiniBlazor.Core.Components (>= 0.1.0-preview.95)
- InfiniLore.InfiniBlazor.Core.Js (>= 0.1.0-preview.95)
- InfiniLore.InfiniBlazor.Core.Markdown (>= 0.1.0-preview.95)
- InfiniLore.InfiniBlazor.Core.Markdown.Components (>= 0.1.0-preview.95)
- InfiniLore.InfiniBlazor.Core.Theming (>= 0.1.0-preview.95)
- InfiniLore.InfiniBlazor.Core.Toasting (>= 0.1.0-preview.95)
- InfiniLore.InfiniBlazor.Shared (>= 0.1.0-preview.95)
- InfiniLore.Lucide (>= 0.33.542)
- JetBrains.Annotations (>= 2025.2.2)
- Microsoft.AspNetCore.Components (>= 9.0.9)
- Microsoft.AspNetCore.Components.Web (>= 9.0.9)
- Microsoft.AspNetCore.Components.WebAssembly (>= 9.0.9)
- Microsoft.AspNetCore.WebUtilities (>= 9.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.9)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.9)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on InfiniLore.InfiniBlazor:
Package | Downloads |
---|---|
InfiniLore.InfiniBlazor.Extensions.ExtraComponents
InfiniLore's Component Library |
|
InfiniLore.InfiniBlazor.Extensions.Maui
InfiniLore's Component Library |
GitHub repositories
This package is not used by any popular GitHub repositories.