This repository is the Microsoft Fluent UI Blazor component library, a comprehensive set of UI components implementing Microsoft's Fluent Design System for ASP.NET Core Blazor applications. It provides over 60 components including buttons, dialogs, data grids, charts, navigation, forms, and more, all with consistent styling and behavior. The library wraps the official Fluent UI Web Components and adds Blazor-specific integration, services, and utilities. The architecture follows a service-oriented pattern with dependency injection via IServiceCollection, base classes (FluentComponentBase, FluentInputBase), and cascading parameters for component composition. Key entry points include the AddFluentUIComponents() registration method, LibraryConfiguration for global settings, and the various component constructors. The library also includes an MCP (Model Context Protocol) server for AI-assisted development, providing tools, resources, and prompts for component documentation, migration guides, and project setup. Data flows primarily involve server-side Blazor components rendering HTML with embedded JavaScript for client-side interactivity. Chart components use TypeScript web components with JSON-serialized data models. The library depends on external packages like @fluentui/web-components, @microsoft/fast-element, and various CDN-hosted libraries (e.g., IMask for masked inputs). It also includes code generation tools for icons and enums, and a documentation generation pipeline. The codebase demonstrates strong engineering practices with reusable patterns such as style builders, debounce utilities, event callback systems, and immutable chart data models. It has extensive unit and integration tests, though some areas rely on generated code and external JSON documentation files that must be kept in sync.
WebMarkupMin is a comprehensive .NET library for minifying HTML, XHTML, XML, CSS, and JavaScript markup to optimize web application performance. It provides a core minification engine with parsers and output writers, plus extensive integration with ASP.NET (both classic .NET Framework and .NET Core/5+) through middleware, HTTP modules, MVC action filters, and WebForms base page classes. The library supports multiple minifier backends: built-in Crockford JS and Kristensen CSS minifiers, plus wrappers for Microsoft Ajax Minifier, YUI Compressor, and NUglify. It also includes compression support for GZip, Deflate, and Brotli. The architecture is modular, with clear interfaces (IMarkupMinifier, ICssMinifier, IJsMinifier, ICompressor) and factory patterns, enabling pluggable backends and easy extension. Configuration is exposed via strongly-typed settings classes. The codebase is well-tested with hundreds of unit tests covering edge cases in markup parsing, whitespace handling, attribute optimization, and framework-specific features (Angular, Knockout, Blazor). The repository is primarily a library (not a standalone application), and its samples demonstrate integration with various ASP.NET versions.