KlinUtils.Blazor
0.0.3
See the version list below for details.
dotnet add package KlinUtils.Blazor --version 0.0.3
NuGet\Install-Package KlinUtils.Blazor -Version 0.0.3
<PackageReference Include="KlinUtils.Blazor" Version="0.0.3" />
<PackageVersion Include="KlinUtils.Blazor" Version="0.0.3" />
<PackageReference Include="KlinUtils.Blazor" />
paket add KlinUtils.Blazor --version 0.0.3
#r "nuget: KlinUtils.Blazor, 0.0.3"
#:package KlinUtils.Blazor@0.0.3
#addin nuget:?package=KlinUtils.Blazor&version=0.0.3
#tool nuget:?package=KlinUtils.Blazor&version=0.0.3
KlinUtils.Blazor ๐งฉ
A lightweight, flexible Blazor component library built with clean markup, extensibility, and developer ergonomics in mind.
โจ Features
- โ Clean, minimal Blazor components for everyday apps
- ๐จ Styled using utility-first classes (Tailwind-friendly)
- โ๏ธ Strong parameter APIs and service-injection support
- ๐ Two-way binding, programmatic state toggling
- ๐งช Fully unit-tested with bUnit
๐ฆ Installation
dotnet add package KlinUtils.Blazor
๐ Components
AlertComponent
<AlertComponent Type="AlertType.Warning" Message="Something went wrong!" />
Optional Data="..." to render a bulleted list
Alert Type support: Info, Warning, Success, Error
ButtonComponent
<ButtonComponent Label="Submit" OnClick="HandleSubmit" UseImage="true" ImageUrl="icon.png" />
Optionally renders custom Content
Can show image/icon via parameters
CheckboxComponent
<CheckboxComponent Label="Accept terms" @bind-IsChecked="isChecked" />
Custom styles
Programmatic Enable() / Disable()
SelectComponent<T>
<SelectComponent T="int"
Items="Cities"
Placeholder="Choose a city"
@bind-Value="SelectedId" />
Type-safe generics (int, string, enum, etc.)
Supports placeholder and strongly-typed item lists
TextFieldComponent + NumberTextFieldComponent<T>
<TextFieldComponent Placeholder="Email" @bind-Value="email" />
<NumberTextFieldComponent T="decimal" @bind-Value="price" />
FileComponent
<FileComponent @bind-SelectedFile="uploadedFile" />
Uses InputFile internally
Triggers SelectedFileChanged callback
ModalDialogComponent
<ModalDialogComponent IsVisible="@showModal">
<ModalContent>
<h3 class="text-lg">Confirm</h3>
<p>Are you sure you want to proceed?</p>
</ModalContent>
</ModalDialogComponent>
- Accessible modal dialog with internal visibility control
FragmentComponent
<FragmentComponent CssClass="p-4 border" Style="background: #f0f0f0">
<h4>Child Content Goes Here</h4>
</FragmentComponent>
ContainerComponent + ContainerStatesComponent
<ContainerComponent State="@state">
<Content>
<p>Welcome home!</p>
</Content>
</ContainerComponent>
๐งช Testing Philosophy
All components are validated using bUnit. Examples include:
Parameter assertions ([Parameter])
State transitions (Enable, Disable)
DOM rendering tests (MarkupMatches, Find)
Interaction tests (Click(), ChangeAsync())
๐ License
This project is licensed under the MIT License.
๐ฌ Support / Feedback
Made with โค๏ธ by Akeem Aweda GitHub repo: github.com/aweklin/KlinUtils. Feature ideas, issues, and contributions welcome.
If KlinUtils.Blazor helps you build better UIs, give it a โญ on GitHub and share the love!
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
- KlinUtils.Common (>= 0.0.1)
- Microsoft.AspNetCore.Components.Web (>= 9.0.2)
- Microsoft.Extensions.Configuration (>= 9.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.