VOOZH about

URL: https://www.nuget.org/packages/Soenneker.Lepton.Suite/

⇱ NuGet Gallery | Soenneker.Lepton.Suite 4.0.25




👁 Image
Soenneker.Lepton.Suite 4.0.25

Prefix Reserved
dotnet add package Soenneker.Lepton.Suite --version 4.0.25
 
 
NuGet\Install-Package Soenneker.Lepton.Suite -Version 4.0.25
 
 
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="Soenneker.Lepton.Suite" Version="4.0.25" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.Lepton.Suite" Version="4.0.25" />
 
Directory.Packages.props
<PackageReference Include="Soenneker.Lepton.Suite" />
 
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 Soenneker.Lepton.Suite --version 4.0.25
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Soenneker.Lepton.Suite, 4.0.25"
 
 
#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 Soenneker.Lepton.Suite@4.0.25
 
 
#: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=Soenneker.Lepton.Suite&version=4.0.25
 
Install as a Cake Addin
#tool nuget:?package=Soenneker.Lepton.Suite&version=4.0.25
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

👁 alternate text is missing from this package README image
👁 alternate text is missing from this package README image
👁 alternate text is missing from this package README image
👁 alternate text is missing from this package README image

👁 alternate text is missing from this package README image
Soenneker.Lepton.Suite

Small, composable Blazor component base classes for libraries that need clean defaults without buying into a UI framework.

Lepton gives component authors a consistent foundation for child content, element attributes, IDs, async disposal, and cancellation. It is not a component library. It is the base layer you build component libraries on.

Why Lepton

  • Pick exactly the component capabilities you need.
  • Keep class, style, and unmatched attributes consistent across components.
  • Get disposal and cancellation patterns without rewriting them in every base class.
  • Type against matching interfaces when you need capability-based APIs.

Install

dotnet add package Soenneker.Lepton.Suite

Pick A Base

Need Use
Plain Blazor base LeptonComponent
Child content LeptonContent
Element attributes LeptonElement
Child content + element attributes LeptonContentElement
Id + child content + element attributes LeptonIdentifiableContentElement
Async disposal LeptonDisposable
Disposable content LeptonDisposableContent
Disposable content element LeptonDisposableContentElement
Disposable identifiable content element LeptonDisposableIdentifiableContentElement
Disposal-bound cancellation LeptonCancellable
Cancellable content element LeptonCancellableContentElement
Cancellable identifiable content element LeptonCancellableIdentifiableContentElement

Every public base has a matching interface in Soenneker.Lepton.Suite.Abstract.

Product Spotlight

Consistent Element Attributes

Element bases expose Class, Style, and AdditionalAttributes, then build render-ready attributes for you.

public sealed class Card : LeptonContentElement
{
 protected override void BuildRenderTree(RenderTreeBuilder builder)
 {
 builder.OpenElement(0, "section");
 builder.AddMultipleAttributes(1, BuildAttributes("data-slot", "card"));
 builder.AddContent(2, ChildContent);
 builder.CloseElement();
 }
}
<Card Class="card" style="padding: 1rem" data-state="open">
 Content
</Card>

class and style values are merged instead of clobbered.

Disposal Without Boilerplate

Disposable bases expose ThrowIfDisposed() and track disposal state.

public abstract class ModuleBackedComponent : LeptonDisposable
{
 private IAsyncDisposable? _module;

 public override async ValueTask DisposeAsync()
 {
 if (_module is not null)
 await _module.DisposeAsync();

 await base.DisposeAsync();
 }
}

Cancellation That Follows Component Lifetime

Cancellable bases cancel their token during DisposeAsync().

public abstract class LoadingComponent : LeptonCancellable
{
 protected Task Load()
 {
 ThrowIfDisposed();

 return Task.Delay(TimeSpan.FromSeconds(1), CancellationToken);
 }
}

Design

Cancellable types are an add-on over disposable shapes:

LeptonDisposableContentElement
 -> LeptonCancellableContentElement

LeptonDisposableIdentifiableContentElement
 -> LeptonCancellableIdentifiableContentElement

So if you choose a cancellable element, you still get the disposable element behavior underneath it.

Notes

  • AdditionalAttributes is the unmatched-attribute parameter for element bases.
  • Identifiable element bases add id when Id is set.
  • Cancellable bases expose a protected CancellationToken.
  • Base classes are abstract and intended for component-library authors.
Product Versions Compatible and additional computed target framework versions.
.NET net10.0 net10.0 is compatible.  net10.0-android net10.0-android was computed.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows 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 (20)

Showing the top 5 NuGet packages that depend on Soenneker.Lepton.Suite:

Package Downloads
Soenneker.Blazor.TomSelect

A Blazor interop library for the select user control library, Tom Select

Soenneker.Blazor.FilePond

A Blazor interop library for the file upload library FilePond

Soenneker.Blazor.Masonry

A lightweight, responsive Blazor component for Masonry (the cascading grid layout library) — perfect for image grids, cards, and dynamic content.

Soenneker.Blazor.Turnstile

A Blazor interop library for Cloudflare Turnstile

Soenneker.Blazor.DataTables

A Blazor interop library for DataTables

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.0.25 0 6/18/2026
4.0.24 925 6/17/2026
4.0.23 3,797 6/10/2026
4.0.22 1,974 6/9/2026
4.0.20 1,476 6/9/2026
4.0.19 3,707 6/6/2026
4.0.18 348 6/6/2026
4.0.17 732 6/6/2026
4.0.16 378 6/6/2026
4.0.15 410 6/5/2026
4.0.14 583 6/5/2026
4.0.13 149 6/5/2026
4.0.12 9,228 5/13/2026
4.0.11 188 5/12/2026
4.0.10 4,920 5/6/2026
4.0.9 3,729 4/30/2026
4.0.8 96 4/30/2026
4.0.7 100 4/30/2026
4.0.6 102 4/30/2026
4.0.5 102 4/30/2026
Loading failed