LegacyBoost.WebForms.DesignSystem 1.0.0

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

LegacyBoost Design System

A server-rendered design system for classic ASP.NET Web Forms.

LegacyBoost Design System packages reusable UI controls, utility-first CSS, and embedded frontend assets into a single control library so teams can build consistent applications without a Node toolchain.

Why this project

  • Built for ASP.NET Web Forms (.NET Framework 4.7.2+)
  • 60+ reusable UI controls in a single assembly
  • Utility CSS + component CSS + reboot/theme tokens
  • Embedded CSS, JS, fonts, and vendor assets
  • Rich documentation site with live examples

Project status

  • Distribution direction: NuGet-first for public consumption
  • Current verified install path: DLL reference (available now in this repository)
  • NuGet package metadata and feed details: planned

If you plan to publish this repository immediately, keep the DLL setup below as the primary install path until NuGet packaging is added.

Compatibility

  • .NET Framework: 4.7.2 to 4.8.x
  • UI stack: ASP.NET Web Forms (.aspx, .ascx, .master)
  • Hosting: IIS / IIS Express
  • Browsers: modern Chromium, Firefox, Safari

What is included

Control library

The CustomControls project provides a broad component surface, including:

  • Forms and input: TextInput, TextSelect, Select, CheckInput, RadioInput, FileInput, MaskedInput, RangeSlider, NumberStepper, Typeahead, SignaturePad
  • Navigation and layout: AdminShell, Sidebar, Tabs, Drawer, Breadcrumb, Pagination, Navigation
  • Feedback and state: Alert, Notification, Progress, Spinner, Skeleton, ConfirmDialog, Tooltip
  • Data display: Card, Badge, Avatar, StatCard, Timeline, GridDataTable, CrudTable
  • Advanced widgets: Chart, FullCalendar, GanttChart, KanbanBoard, Map, QrCode, PdfViewer, MarkdownViewer

CSS system

The CSS model is layered for predictable overrides:

  1. Reboot and theme tokens (base)
  2. Component classes (semantic defaults)
  3. Utility classes (highest priority)

Practical rule: utility classes intentionally override component defaults.

Documentation site

The Documentation project contains the full design system docs:

  • Introduction guides
  • Component pages with examples and API usage
  • Utility CSS reference
  • Template pages

Quick start (current stable path: DLL)

1) Build the solution

Open DesignSystem.sln in Visual Studio and build with Debug or Release.

The control library outputs CustomControls.dll.

2) Reference CustomControls.dll in your Web Forms app

Add a project or file reference to CustomControls.dll in your target application.

3) Register the My prefix in Web.config

<configuration>
	<system.web>
		<pages>
			<controls>
				<add tagPrefix="My" namespace="CustomControls" assembly="CustomControls" />
			</controls>
		</pages>
	</system.web>
</configuration>

4) Add My:Head to your page head

<head runat="server">
		<My:Head runat="server" />
</head>

This injects framework CSS/JS and core metadata behavior.

5) Use controls in markup

<form runat="server">
		<div class="p-6 grid gap-4">
				<h1 class="text-2xl font-bold">Hello LegacyBoost</h1>
				<My:CustomButton runat="server" Text="Primary Action" Intent="Primary" />
		</div>
</form>

NuGet-first publishing plan

The recommended public distribution model is NuGet.

NuGet package metadata is now prepared using the nuspec file:

  • Package ID: LegacyBoost.WebForms.DesignSystem
  • Packaging file: LegacyBoost.WebForms.DesignSystem.nuspec

Before first publish, update the following values in the nuspec:

  • projectUrl
  • repository URL
  • version and release notes

After publishing to NuGet.org, add install instructions and badges to this README.

Theming and design tokens

You can apply global tokens with CssTheme or override CSS variables directly.

Example token override:

:root {
	--blue-600: #1d4ed8;
	--radius-md: .5rem;
	--font-sans: "Public Sans", sans-serif;
}

Theme mode classes are supported (theme-light and theme-dark), including automatic behavior for user system preference.

Development workflow

Projects in this solution

  • CustomControls: core control library and embedded assets
  • CssGenerator: CSS generation utility used in the build flow
  • Documentation: live docs site for components and utilities

CSS generation behavior

CustomControls includes a post-build step that runs CssGenerator and rebuilds with a guard flag to avoid recursion. Keep this in mind when changing CSS source composition.

Running the documentation site

  1. Open DesignSystem.sln in Visual Studio
  2. Set Documentation as startup project
  3. Build and run with IIS Express
  4. Browse component pages under /Documentation/Components

Versioning and upgrades

  • Intended scheme: Semantic Versioning (MAJOR.MINOR.PATCH)
  • Upgrade and release notes are documented in the documentation site under Introduction/UpgradeGuidelinesDoc.aspx

For GitHub releases, prefer tagging and release notes that mirror the upgrade guidance.

Repository structure

CustomControls/   Core controls, CSS model, embedded assets
CssGenerator/     CSS build/generation utility
Documentation/    Web Forms documentation site

Publishing checklist for maintainers

  • Ensure README install instructions match actual released artifacts
  • Add or update NuGet metadata before publishing NuGet commands
  • Validate documentation links and examples against current component APIs
  • Publish changelog entries for each release

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request.

License

This project is licensed under the MIT License. See LICENSE for details.

Product Compatible and additional computed target framework versions.
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.7.2

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.3 88 5/6/2026
1.0.2 103 5/2/2026
1.0.1 97 5/2/2026
1.0.0 94 5/2/2026

Initial public package release.