From 355fbcf234c122109001978407045b0aa442d7eb Mon Sep 17 00:00:00 2001 From: Nina Middelmann Date: Thu, 7 May 2026 11:52:34 +0200 Subject: [PATCH] feat: expose ColorPickerMode parameter on MudThemeManager Mirrors the existing ColorPickerView plumbing so consumers can choose the default input mode (RGB / HSL / HEX) shown by the embedded MudColorPicker without forking. Default remains ColorPickerMode.RGB to preserve existing behavior. - Add ColorPickerMode parameter on MudThemeManagerColorItem and pass through to the inner MudColorPicker. - Add a matching parameter on MudThemeManager and forward it to every MudThemeManagerColorItem usage. Use case: design-system explorer apps where users typically reason in hex tokens (#1A73E8) - letting the host app set ColorPickerMode=ColorPickerMode.HEX once is much friendlier than asking users to click the mode-switch button on every color edit. --- .../Components/MudThemeManager.razor | 54 +++++++++---------- .../Components/MudThemeManager.razor.cs | 3 ++ .../Components/MudThemeManagerColorItem.razor | 2 +- .../MudThemeManagerColorItem.razor.cs | 3 ++ 4 files changed, 34 insertions(+), 28 deletions(-) diff --git a/src/MudBlazor.ThemeManager/Components/MudThemeManager.razor b/src/MudBlazor.ThemeManager/Components/MudThemeManager.razor index f7e1f35..02d767d 100644 --- a/src/MudBlazor.ThemeManager/Components/MudThemeManager.razor +++ b/src/MudBlazor.ThemeManager/Components/MudThemeManager.razor @@ -30,40 +30,40 @@
Theme Colors - - - - - - - - + + + + + + + + Components - - - - - + + + + + General - - - - - - - + + + + + + + Text & Actions - - - - - - - + + + + + + +
diff --git a/src/MudBlazor.ThemeManager/Components/MudThemeManager.razor.cs b/src/MudBlazor.ThemeManager/Components/MudThemeManager.razor.cs index 7340836..0b79dd3 100644 --- a/src/MudBlazor.ThemeManager/Components/MudThemeManager.razor.cs +++ b/src/MudBlazor.ThemeManager/Components/MudThemeManager.razor.cs @@ -45,6 +45,9 @@ public MudThemeManager() [Parameter] public ColorPickerView ColorPickerView { get; set; } = ColorPickerView.Spectrum; + [Parameter] + public ColorPickerMode ColorPickerMode { get; set; } = ColorPickerMode.RGB; + [Parameter] public EventCallback ThemeChanged { get; set; } diff --git a/src/MudBlazor.ThemeManager/Components/MudThemeManagerColorItem.razor b/src/MudBlazor.ThemeManager/Components/MudThemeManagerColorItem.razor index a6b0c6e..13d816e 100644 --- a/src/MudBlazor.ThemeManager/Components/MudThemeManagerColorItem.razor +++ b/src/MudBlazor.ThemeManager/Components/MudThemeManagerColorItem.razor @@ -8,6 +8,6 @@
- + diff --git a/src/MudBlazor.ThemeManager/Components/MudThemeManagerColorItem.razor.cs b/src/MudBlazor.ThemeManager/Components/MudThemeManagerColorItem.razor.cs index a6eb30b..9e2a0c6 100644 --- a/src/MudBlazor.ThemeManager/Components/MudThemeManagerColorItem.razor.cs +++ b/src/MudBlazor.ThemeManager/Components/MudThemeManagerColorItem.razor.cs @@ -22,6 +22,9 @@ public partial class MudThemeManagerColorItem : ComponentBase [Parameter] public ColorPickerView ColorPickerView { get; set; } = ColorPickerView.Spectrum; + [Parameter] + public ColorPickerMode ColorPickerMode { get; set; } = ColorPickerMode.RGB; + public void ToggleOpen() { _isOpen = !_isOpen;