Mythetech.Components.WebAssembly
0.0.8
See the version list below for details.
dotnet add package Mythetech.Components.WebAssembly --version 0.0.8
NuGet\Install-Package Mythetech.Components.WebAssembly -Version 0.0.8
<PackageReference Include="Mythetech.Components.WebAssembly" Version="0.0.8" />
<PackageVersion Include="Mythetech.Components.WebAssembly" Version="0.0.8" />
<PackageReference Include="Mythetech.Components.WebAssembly" />
paket add Mythetech.Components.WebAssembly --version 0.0.8
#r "nuget: Mythetech.Components.WebAssembly, 0.0.8"
#:package Mythetech.Components.WebAssembly@0.0.8
#addin nuget:?package=Mythetech.Components.WebAssembly&version=0.0.8
#tool nuget:?package=Mythetech.Components.WebAssembly&version=0.0.8
---
/ \_**_/_** \_**\_ \_** \_**\_ \_\_** \_**\_ \_** \_**\_ / /\_\_\_\_**
/ / / ** \/ ** `** \/ ** \/ ** \/ ** \/ \_ \/ ** \/ **/ **_/
/ /_**/ /_/ / / / / / / /_/ / /_/ / / / / \_\_/ / / / /_(** )
\_\_**/\_**_/_/ /_/ /_/ .\_**/\_**_/_/ /\_/\_**/_/ /_/\__/\_\_\_\_/
/_/
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 libraryComponents/- Custom Blazor componentsInfrastructure/- Supporting infrastructure code and abstractions
Mythetech.Components.Desktop/- Desktop application specific implementationsMythetech.Components.WebAssembly/- WebAssembly specific implementationsMythetech.Components.Storybook/- Component documentation and showcaseMythetech.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
- Clone the repository
- Open the solution in Visual Studio
- Restore NuGet packages
- Build the solution
Usage
To use these components in your Blazor application:
- Add a reference to the
Mythetech.Componentsproject - Add the following to your
_Imports.razor:
@using Mythetech.Components
- 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:
- Open the solution in Visual Studio
- Use the Test Explorer to run individual tests
- 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:
- Navigate to the
Mythetech.Components.Storybookdirectory - Run the project:
dotnet run
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- 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 | Versions 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. |
-
net10.0
- Mythetech.Components (>= 0.0.8)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.