Mythetech.Components.WebAssembly 0.0.10

Suggested Alternatives

Mythetech.Framework.WebAssembly

Additional Details

Mythetech.Components namespaces were renamed to Mythetech.Framework. Type signatures are identical to 0.0.10 so you should only need to update the namespaces when upgrading.

dotnet add package Mythetech.Components.WebAssembly --version 0.0.10
                    
NuGet\Install-Package Mythetech.Components.WebAssembly -Version 0.0.10
                    
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="Mythetech.Components.WebAssembly" Version="0.0.10" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Mythetech.Components.WebAssembly" Version="0.0.10" />
                    
Directory.Packages.props
<PackageReference Include="Mythetech.Components.WebAssembly" />
                    
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 Mythetech.Components.WebAssembly --version 0.0.10
                    
#r "nuget: Mythetech.Components.WebAssembly, 0.0.10"
                    
#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 Mythetech.Components.WebAssembly@0.0.10
                    
#: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=Mythetech.Components.WebAssembly&version=0.0.10
                    
Install as a Cake Addin
#tool nuget:?package=Mythetech.Components.WebAssembly&version=0.0.10
                    
Install as a Cake Tool
   ______                                             __      
  / ____/___  ____ ___  ____  ____  ____  ___  ____  / /______
 / /   / __ \/ __ `__ \/ __ \/ __ \/ __ \/ _ \/ __ \/ __/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ / / / /  __/ / / / /_(__  ) 
\____/\____/_/ /_/ /_/ .___/\____/_/ /_/\___/_/ /_/\__/____/  
                    /_/

Mythetech.Components

A collection of reusable Blazor components and abstractions to help build cross platform rich application experiences for desktop and web in blazor.

Overview

This repository contains a set of custom Blazor components that extend the functionality of MudBlazor, providing a consistent and reusable component library for Mythetech applications. The components are designed to be modular, maintainable, and follow best practices for Blazor development.

The repository also contains abstractions for functionality to work generically with blazor applications acknowledging the behavior for some interactions is broadly different across runtime environments, like desktop in a webview versus natively in WebAssembly in the browser.

Storybook Demo

The component library leverages BlazingStory to create a visual storybook of components shipped in the library, with wrappings to provide product-themed previews and light/dark toggles.

The WebAssembly story book is hosted on github pages here: https://mythetech.github.io/Mythetech.Components/

Features

  • Custom components to either deliver a unique experience or style
  • Built on top of MudBlazor for consistent styling, behavior, and themeing system
  • CSS utility classes that work with existing MudBlazor variables
  • .NET 9.0 support
  • Comprehensive test coverage

Project Structure

  • Mythetech.Components/ - Main component library
    • Components/ - Custom Blazor components
    • Infrastructure/ - Supporting infrastructure code and abstractions
  • Mythetech.Components.Desktop/ - Desktop application specific implementations
  • Mythetech.Components.WebAssembly/ - WebAssembly specific implementations
  • Mythetech.Components.Storybook/ - Component documentation and showcase
  • Mythetech.Components.Test/ - Unit tests for components

Requirements

  • .NET 10.0 SDK
  • Editor of choice
  • Rider (recommended)
  • Visual Studio 2022 or later (recommended)
  • VS Code with C# Dev Kit

Getting Started

  1. Clone the repository
  2. Open the solution in Visual Studio
  3. Restore NuGet packages
  4. Build the solution

Usage

To use these components in your Blazor application:

  1. Add a reference to the Mythetech.Components project
  2. Add the following to your _Imports.razor:
@using Mythetech.Components
  1. Register the services in your Program.cs:

The component library provides a lightweight message bus for commands/events

builder.Services.AddMessageBus();

...

app.Services.UseMessageBus(typeof(Program).Assembly, typeof(IConsumer<>).Assembly);

The library has additional packages to provide concrete implementations for the underlying hosting architecture so generic components and concepts can work across discrete runtimes.

With desktop:

builder.Services.AddPhotinoServices();

...

 BlazorPhotinoApp app = appBuilder.Build();
 app.RegisterProvider(app.Services);

Development

Running Tests

The project includes a comprehensive test suite. To run the tests:

  1. Open the solution in Visual Studio
  2. Use the Test Explorer to run individual tests
  3. Or run all tests using the command line:
dotnet test

Storybook

The project includes a Storybook implementation for component documentation and testing. To run Storybook:

  1. Navigate to the Mythetech.Components.Storybook directory
  2. Run the project:
dotnet run

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Submit a pull request

License

This project is licensed under the terms included in the LICENSE file.

Support

For support, please open an issue in the GitHub repository.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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

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
0.0.10 42 12/27/2025 0.0.10 is deprecated because it is no longer maintained.
0.0.9 253 12/17/2025
0.0.8 163 12/6/2025