WssBlazorControls 1.13.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package WssBlazorControls --version 1.13.4
                    
NuGet\Install-Package WssBlazorControls -Version 1.13.4
                    
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="WssBlazorControls" Version="1.13.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="WssBlazorControls" Version="1.13.4" />
                    
Directory.Packages.props
<PackageReference Include="WssBlazorControls" />
                    
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 WssBlazorControls --version 1.13.4
                    
#r "nuget: WssBlazorControls, 1.13.4"
                    
#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 WssBlazorControls@1.13.4
                    
#: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=WssBlazorControls&version=1.13.4
                    
Install as a Cake Addin
#tool nuget:?package=WssBlazorControls&version=1.13.4
                    
Install as a Cake Tool

WssBlazorControls

NuGet Version NuGet Downloads

A comprehensive library of form controls for Blazor applications providing consistent, feature-rich input components with built-in validation, accessibility support, and flexible styling options.

Features

  • ?? Rich Form Controls: String, Number, Date, Boolean, Select, Radio, Checkbox lists, and TextArea components
  • ? Data Annotations Integration: Full support for validation attributes (Required, Range, MinLength, etc.)
  • ? Accessibility First: ARIA attributes, screen reader support, and keyboard navigation
  • ?? Flexible Display Modes: Edit mode and read-only views for all controls
  • ?? Consistent Styling: CSS classes and customizable appearance
  • ? TypeScript/JavaScript Interop: Enhanced client-side functionality
  • ?? Cross-Platform: Works with both Blazor Server and Blazor WebAssembly

Installation

Install the package via NuGet Package Manager:

dotnet add package WssBlazorControls

Or via Package Manager Console:

Install-Package WssBlazorControls

Quick Start

  1. Add the using statement to your _Imports.razor:
@using WssBlazorControls
  1. Include the CSS in your App.razor or index.html:
<link href="_content/WssBlazorControls/editControls.css" rel="stylesheet" />
  1. Use the controls in your Blazor components:
@using System.ComponentModel.DataAnnotations

<EditForm Model="@model" OnValidSubmit="@HandleSubmit">
    <DataAnnotationsValidator />
    
    <EditString @bind-Value="model.Name" 
                Label="Full Name" 
                IsRequired="true" />
    
    <EditNumber @bind-Value="model.Age" 
                Label="Age" 
                IsRequired="true" />
    
    <EditDate @bind-Value="model.BirthDate" 
              Label="Birth Date" />
    
    <EditBool @bind-Value="model.IsActive" 
              Label="Active Status" />
    
    <button type="submit">Submit</button>
    
    <ValidationSummary />
</EditForm>

@code {
    private PersonModel model = new();
    
    private void HandleSubmit()
    {
        // Handle form submission
    }
    
    public class PersonModel
    {
        [Required]
        [StringLength(100)]
        public string Name { get; set; } = "";
        
        [Required]
        [Range(1, 120)]
        public int? Age { get; set; }
        
        public DateTime? BirthDate { get; set; }
        
        public bool IsActive { get; set; } = true;
    }
}

Available Controls

Input Controls

  • EditString - Text input with masking and URL support
  • EditTextArea - Multi-line text input
  • EditNumber - Numeric input with validation
  • EditDate - Date picker component
  • EditBool - Checkbox for boolean values
  • EditBoolNullRadio - Three-state radio for nullable booleans

Selection Controls

  • EditSelect - Dropdown selection for objects
  • EditSelectEnum - Dropdown for enum values
  • EditSelectString - Dropdown for string values
  • EditRadio - Radio buttons for objects
  • EditRadioEnum - Radio buttons for enums
  • EditRadioString - Radio buttons for strings

Multi-Selection Controls

  • EditCheckedStringList - Checkbox list for strings
  • EditCheckedEnumList - Checkbox list for enums

Support Components

  • FormLabel - Consistent labeling with tooltips and descriptions
  • FieldValidationDisplay - Validation message display
  • ReadOnlyValue - Read-only value presentation

Component Features

All form controls implement the IEditControl interface and provide:

  • Identity Management: Id, IdPrefix for unique identification
  • Display Control: IsEditMode, IsDisabled, IsHidden
  • Labeling: Label, Description with markup support
  • Styling: ContainerClass for custom CSS
  • Validation: IsRequired integration with DataAnnotations
  • Conditional Display: Hiding modes and HidingMode enum

Examples

<EditSelectEnum @bind-Value="model.Priority" 
                Label="Priority Level" 
                IsRequired="true" />

@code {
    public enum Priority
    {
        Low,
        Medium,
        High,
        Critical
    }
    
    public class TaskModel
    {
        [Required]
        public Priority? Priority { get; set; }
    }
}

Radio Button Group

<EditRadioString @bind-Value="model.Department" 
                 Label="Department"
                 Options="@departments" />

@code {
    private List<string> departments = new() 
    { 
        "Engineering", 
        "Marketing", 
        "Sales", 
        "Support" 
    };
}

Checkbox List

<EditCheckedStringList @bind-Value="model.Skills" 
                       Label="Technical Skills"
                       Options="@skills" />

@code {
    private List<string> skills = new() 
    { 
        "C#", 
        "JavaScript", 
        "Blazor", 
        "ASP.NET Core" 
    };
}

Styling and Customization

The library provides default styling through the included CSS file. You can customize the appearance by:

  1. Overriding CSS classes in your own stylesheets
  2. Using ContainerClass parameter for component-specific styling
  3. Applying custom CSS to the .edit-control-wrapper class
<EditString @bind-Value="model.Name" 
            Label="Name" 
            ContainerClass="my-custom-style" />

Accessibility

WssBlazorControls is built with accessibility as a priority:

  • ? ARIA attributes for screen readers
  • ?? Keyboard navigation support
  • ?? Focus management and indicators
  • ?? Semantic HTML structure
  • ?? High contrast color support

Browser Support

  • Modern browsers with WebAssembly support
  • Designed for both Blazor Server and Blazor WebAssembly scenarios
  • Compatible with .NET 8.0+

Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Changelog

Version 1.0.13.3

  • Current stable release
  • Full feature set with comprehensive validation support

For detailed changelog, see the releases page.

Support

  • ?? Documentation: Check the demo applications in the repository
  • ?? Issues: Report bugs via GitHub Issues
  • ?? Feature Requests: Submit enhancement requests via GitHub Issues

Built with ?? for the Blazor community

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  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 WssBlazorControls:

Package Downloads
WssBlazorControls.Demo

Demo components for WssBlazorControls, showcasing usage of each control with interactive examples.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.3.0 97 6/14/2026
10.0.7 239 3/16/2026
10.0.6 164 2/9/2026
10.0.5 77 2/9/2026
10.0.4 81 2/9/2026
10.0.3 74 2/9/2026
10.0.2 156 11/23/2025
10.0.1 168 11/23/2025
1.13.8 395 11/18/2025
1.13.7 271 10/29/2025
1.13.6 179 10/29/2025
1.13.5 193 10/28/2025
1.13.4 185 9/24/2025
1.0.13.3 442 9/18/2025
1.0.13.2 431 8/21/2025
1.0.13.1 187 8/19/2025
1.0.12.10 207 8/12/2025
1.0.12.9 172 8/12/2025
1.0.12.8 178 8/12/2025
Loading failed

Full feature set with comprehensive validation support and accessibility features.