elsa-workflows / elsa-workflows/elsa-studio

Audit and Inventory All MudBlazor Usage in Codebase

Open
#715 0 comments 1 reaction 2 assignees Claimed by @sfmskywalker View on GitHub
documentation triaged
Dominant language
C#
Stars
301
Forks
181
Avg merge
17h 12m
Merged PRs (30d)
42

Description

## Goal
Catalog all usages of the MudBlazor library and its extensions throughout the Elsa Studio codebase. This includes direct usage in Razor/@code, indirect usage via wrappers or base classes, and all specialized stylings or flavors in layouts/themes. The audit should also document "pain points" or customizations that may affect migration.

### Tasks
- Search for all MudBlazor and MudExtensions usages in `@using` statements, component tags (e.g., ``), and `using MudBlazor;` in C# files.
- Identify all layouts, shared components, and modules dependent on MudBlazor.
- List all MudBlazor-specific assets (stylesheets, JS, theming, extensions), and where they are referenced (including in `_Imports.razor`, `index.html`, `App.razor`, etc.).
- Summarize any custom themes/palettes, table/grid wrappers, and special visual logic (e.g., icon usage, badge/status colors, popover/dialog infra, menu/nav, etc.).
- Inventory any client-side scripts, initialization, or JSInterop related to MudBlazor UI behaviors.

#### Deliverables
- **Detailed artifact listing:**
- `_Imports.razor` files with MudBlazor/MudExtensions (e.g. [src/modules/Elsa.Studio.UIHints/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/modules/Elsa.Studio.UIHints/_Imports.razor), [src/modules/Elsa.Studio.Workflows.Designer/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/modules/Elsa.Studio.Workflows.Designer/_Imports.razor), [src/modules/Elsa.Studio.Login/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/modules/Elsa.Studio.Login/_Imports.razor), [src/framework/Elsa.Studio.Shared/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/framework/Elsa.Studio.Shared/_Imports.razor), [src/framework/Elsa.Studio.Shell/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/framework/Elsa.Studio.Shell/_Imports.razor), [src/hosts/Elsa.Studio.Host.CustomElements/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/hosts/Elsa.Studio.Host.CustomElements/_Imports.razor), [src/modules/Elsa.Studio.Security/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/modules/Elsa.Studio.Security/_Imports.razor), [src/modules/Elsa.Studio.Dashboard/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/modules/Elsa.Studio.Dashboard/_Imports.razor), [src/modules/Elsa.Studio.Workflows/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/modules/Elsa.Studio.Workflows/_Imports.razor), [src/modules/Elsa.Studio.Counter/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/modules/Elsa.Studio.Counter/_Imports.razor), [src/modules/Elsa.Studio.Localization/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/modules/Elsa.Studio.Localization/_Imports.razor), [samples/BlazorApp1/Components/_Imports.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/samples/BlazorApp1/Components/_Imports.razor))
- **Layouts and shared components:** [src/framework/Elsa.Studio.Shared/Layouts/BasicLayout.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/src/framework/Elsa.Studio.Shared/Layouts/BasicLayout.razor), [src/framework/Elsa.Studio.Shared/Layouts/MainLayout.razor.cs](https://github.com/elsa-workflows/elsa-studio/blob/main/src/framework/Elsa.Studio.Shared/Layouts/MainLayout.razor.cs)
- **Host and sample apps:**
- MudBlazor CSS/JS imports: [samples/BlazorApp1/Components/App.razor](https://github.com/elsa-workflows/elsa-studio/blob/main/samples/BlazorApp1/Components/App.razor), [src/hosts/Elsa.Studio.Host.Server/Pages/_Host.cshtml](https://github.com/elsa-workflows/elsa-studio/blob/main/src/hosts/Elsa.Studio.Host.Server/Pages/_Host.cshtml), [src/hosts/Elsa.Studio.Host.HostedWasm/Pages/_Host.cshtml](https://github.com/elsa-workflows/elsa-studio/blob/main/src/hosts/Elsa.Studio.Host.HostedWasm/Pages/_Host.cshtml), [src/hosts/Elsa.Studio.Host.Wasm/wwwroot/index.html](https://github.com/elsa-workflows/elsa-studio/blob/main/src/hosts/Elsa.Studio.Host.Wasm/wwwroot/index.html)
- **Matrix** of MudBlazor features mapped to Radzen equivalents (see subsequent mapping issue)
- **Primary challenges/pain points** for migration
- **Sequencing recommendations** for conversion

**Use these file references and checklists to divide and assign migration work.**

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.