using System.Globalization; using System.Text; using Connected.Utilities; using Microsoft.AspNetCore.Components; using Microsoft.JSInterop; namespace Connected.Components; public class ThemeProviderBase : ComponentBase { /// /// The theme used by the application. /// [Parameter] public Theme Theme { get; set; } /// /// If true, will not apply MudBlazor styled scrollbar and use browser default. /// [Parameter] public bool DefaultScrollbar { get; set; } #region Dark mode handling public ThemeProviderBase() { _dotNetRef = DotNetObjectReference.Create(this); } private readonly DotNetObjectReference _dotNetRef; [Inject] private IJSRuntime JsRuntime { get; set; } /// /// Returns the dark mode preference of the user. True if dark mode is preferred. /// /// public async Task GetSystemPreference() { return await JsRuntime.InvokeAsync("darkModeChange", _dotNetRef); } internal bool _isDarkMode; /// /// The active palette of the theme. /// [Parameter] public bool IsDarkMode { get => _isDarkMode; set { if (_isDarkMode == value) { return; } _isDarkMode = value; IsDarkModeChanged.InvokeAsync(_isDarkMode); } } /// /// Invoked when the dark mode changes. /// [Parameter] public EventCallback IsDarkModeChanged { get; set; } #endregion protected override void OnInitialized() { Theme ??= new Theme(); } protected string BuildTheme() { var theme = new StringBuilder(); theme.AppendLine(""); return theme.ToString(); } protected string BuildMudBlazorScrollbar() { var scrollbar = new StringBuilder(); scrollbar.AppendLine(""); return scrollbar.ToString(); } // private const string Breakpoint = "mud-breakpoint"; private const string Palette = "mud-palette"; private const string Elevation = "mud-elevation"; private const string Typography = "mud-typography"; private const string LayoutProperties = "mud"; private const string Zindex = "mud-zindex"; protected virtual void GenerateTheme(StringBuilder theme) { if (Theme == null) return; var palette = _isDarkMode == false ? Theme.Palette : Theme.PaletteDark; //Palette theme.AppendLine($"--{Palette}-black: {palette.Black};"); theme.AppendLine($"--{Palette}-white: {palette.White};"); theme.AppendLine($"--{Palette}-primary: {palette.Primary};"); theme.AppendLine( $"--{Palette}-primary-rgb: {palette.Primary.ToString(ColorOutputFormats.ColorElements)};"); theme.AppendLine($"--{Palette}-primary-text: {palette.PrimaryContrastText};"); theme.AppendLine($"--{Palette}-primary-darken: {palette.PrimaryDarken};"); theme.AppendLine($"--{Palette}-primary-lighten: {palette.PrimaryLighten};"); theme.AppendLine( $"--{Palette}-primary-hover: {palette.Primary.SetAlpha(palette.HoverOpacity).ToString(ColorOutputFormats.RGBA)};"); theme.AppendLine($"--{Palette}-secondary: {palette.Secondary};"); theme.AppendLine( $"--{Palette}-secondary-rgb: {palette.Secondary.ToString(ColorOutputFormats.ColorElements)};"); theme.AppendLine($"--{Palette}-secondary-text: {palette.SecondaryContrastText};"); theme.AppendLine($"--{Palette}-secondary-darken: {palette.SecondaryDarken};"); theme.AppendLine($"--{Palette}-secondary-lighten: {palette.SecondaryLighten};"); theme.AppendLine( $"--{Palette}-secondary-hover: {palette.Secondary.SetAlpha(palette.HoverOpacity).ToString(ColorOutputFormats.RGBA)};"); theme.AppendLine($"--{Palette}-tertiary: {palette.Tertiary};"); theme.AppendLine( $"--{Palette}-tertiary-rgb: {palette.Tertiary.ToString(ColorOutputFormats.ColorElements)};"); theme.AppendLine($"--{Palette}-tertiary-text: {palette.TertiaryContrastText};"); theme.AppendLine($"--{Palette}-tertiary-darken: {palette.TertiaryDarken};"); theme.AppendLine($"--{Palette}-tertiary-lighten: {palette.TertiaryLighten};"); theme.AppendLine( $"--{Palette}-tertiary-hover: {palette.Tertiary.SetAlpha(palette.HoverOpacity).ToString(ColorOutputFormats.RGBA)};"); theme.AppendLine($"--{Palette}-info: {palette.Info};"); theme.AppendLine( $"--{Palette}-info-rgb: {palette.Info.ToString(ColorOutputFormats.ColorElements)};"); theme.AppendLine($"--{Palette}-info-text: {palette.InfoContrastText};"); theme.AppendLine($"--{Palette}-info-darken: {palette.InfoDarken};"); theme.AppendLine($"--{Palette}-info-lighten: {palette.InfoLighten};"); theme.AppendLine( $"--{Palette}-info-hover: {palette.Info.SetAlpha(palette.HoverOpacity).ToString(ColorOutputFormats.RGBA)};"); theme.AppendLine($"--{Palette}-success: {palette.Success};"); theme.AppendLine( $"--{Palette}-success-rgb: {palette.Success.ToString(ColorOutputFormats.ColorElements)};"); theme.AppendLine($"--{Palette}-success-text: {palette.SuccessContrastText};"); theme.AppendLine($"--{Palette}-success-darken: {palette.SuccessDarken};"); theme.AppendLine($"--{Palette}-success-lighten: {palette.SuccessLighten};"); theme.AppendLine( $"--{Palette}-success-hover: {palette.Success.SetAlpha(palette.HoverOpacity).ToString(ColorOutputFormats.RGBA)};"); theme.AppendLine($"--{Palette}-warning: {palette.Warning};"); theme.AppendLine( $"--{Palette}-warning-rgb: {palette.Warning.ToString(ColorOutputFormats.ColorElements)};"); theme.AppendLine($"--{Palette}-warning-text: {palette.WarningContrastText};"); theme.AppendLine($"--{Palette}-warning-darken: {palette.WarningDarken};"); theme.AppendLine($"--{Palette}-warning-lighten: {palette.WarningLighten};"); theme.AppendLine( $"--{Palette}-warning-hover: {palette.Warning.SetAlpha(palette.HoverOpacity).ToString(ColorOutputFormats.RGBA)};"); theme.AppendLine($"--{Palette}-error: {palette.Error};"); theme.AppendLine( $"--{Palette}-error-rgb: {palette.Error.ToString(ColorOutputFormats.ColorElements)};"); theme.AppendLine($"--{Palette}-error-text: {palette.ErrorContrastText};"); theme.AppendLine($"--{Palette}-error-darken: {palette.ErrorDarken};"); theme.AppendLine($"--{Palette}-error-lighten: {palette.ErrorLighten};"); theme.AppendLine( $"--{Palette}-error-hover: {palette.Error.SetAlpha(palette.HoverOpacity).ToString(ColorOutputFormats.RGBA)};"); theme.AppendLine($"--{Palette}-dark: {palette.Dark};"); theme.AppendLine( $"--{Palette}-dark-rgb: {palette.Dark.ToString(ColorOutputFormats.ColorElements)};"); theme.AppendLine($"--{Palette}-dark-text: {palette.DarkContrastText};"); theme.AppendLine($"--{Palette}-dark-darken: {palette.DarkDarken};"); theme.AppendLine($"--{Palette}-dark-lighten: {palette.DarkLighten};"); theme.AppendLine( $"--{Palette}-dark-hover: {palette.Dark.SetAlpha(palette.HoverOpacity).ToString(ColorOutputFormats.RGBA)};"); theme.AppendLine($"--{Palette}-text-primary: {palette.TextPrimary};"); theme.AppendLine($"--{Palette}-text-secondary: {palette.TextSecondary};"); theme.AppendLine($"--{Palette}-text-disabled: {palette.TextDisabled};"); theme.AppendLine($"--{Palette}-action-default: {palette.ActionDefault};"); theme.AppendLine( $"--{Palette}-action-default-hover: {new Color(Colors.Shades.Black).SetAlpha(palette.HoverOpacity).ToString(ColorOutputFormats.RGBA)};"); theme.AppendLine($"--{Palette}-action-disabled: {palette.ActionDisabled};"); theme.AppendLine( $"--{Palette}-action-disabled-background: {palette.ActionDisabledBackground};"); theme.AppendLine($"--{Palette}-surface: {palette.Surface};"); theme.AppendLine($"--{Palette}-background: {palette.Background};"); theme.AppendLine($"--{Palette}-background-grey: {palette.BackgroundGrey};"); theme.AppendLine($"--{Palette}-drawer-background: {palette.DrawerBackground};"); theme.AppendLine($"--{Palette}-drawer-text: {palette.DrawerText};"); theme.AppendLine($"--{Palette}-drawer-icon: {palette.DrawerIcon};"); theme.AppendLine($"--{Palette}-appbar-background: {palette.AppbarBackground};"); theme.AppendLine($"--{Palette}-appbar-text: {palette.AppbarText};"); theme.AppendLine($"--{Palette}-lines-default: {palette.LinesDefault};"); theme.AppendLine($"--{Palette}-lines-inputs: {palette.LinesInputs};"); theme.AppendLine($"--{Palette}-table-lines: {palette.TableLines};"); theme.AppendLine($"--{Palette}-table-striped: {palette.TableStriped};"); theme.AppendLine($"--{Palette}-table-hover: {palette.TableHover};"); theme.AppendLine($"--{Palette}-divider: {palette.Divider};"); theme.AppendLine($"--{Palette}-divider-light: {palette.DividerLight};"); theme.AppendLine($"--{Palette}-grey-default: {palette.GrayDefault};"); theme.AppendLine($"--{Palette}-grey-light: {palette.GrayLight};"); theme.AppendLine($"--{Palette}-grey-lighter: {palette.GrayLighter};"); theme.AppendLine($"--{Palette}-grey-dark: {palette.GrayDark};"); theme.AppendLine($"--{Palette}-grey-darker: {palette.GrayDarker};"); theme.AppendLine($"--{Palette}-overlay-dark: {palette.OverlayDark};"); theme.AppendLine($"--{Palette}-overlay-light: {palette.OverlayLight};"); //Elevations theme.AppendLine($"--{Elevation}-0: {Theme.Shadows.Elevation.GetValue(0)};"); theme.AppendLine($"--{Elevation}-1: {Theme.Shadows.Elevation.GetValue(1)};"); theme.AppendLine($"--{Elevation}-2: {Theme.Shadows.Elevation.GetValue(2)};"); theme.AppendLine($"--{Elevation}-3: {Theme.Shadows.Elevation.GetValue(3)};"); theme.AppendLine($"--{Elevation}-4: {Theme.Shadows.Elevation.GetValue(4)};"); theme.AppendLine($"--{Elevation}-5: {Theme.Shadows.Elevation.GetValue(5)};"); theme.AppendLine($"--{Elevation}-6: {Theme.Shadows.Elevation.GetValue(6)};"); theme.AppendLine($"--{Elevation}-7: {Theme.Shadows.Elevation.GetValue(7)};"); theme.AppendLine($"--{Elevation}-8: {Theme.Shadows.Elevation.GetValue(8)};"); theme.AppendLine($"--{Elevation}-9: {Theme.Shadows.Elevation.GetValue(9)};"); theme.AppendLine($"--{Elevation}-10: {Theme.Shadows.Elevation.GetValue(10)};"); theme.AppendLine($"--{Elevation}-11: {Theme.Shadows.Elevation.GetValue(11)};"); theme.AppendLine($"--{Elevation}-12: {Theme.Shadows.Elevation.GetValue(12)};"); theme.AppendLine($"--{Elevation}-13: {Theme.Shadows.Elevation.GetValue(13)};"); theme.AppendLine($"--{Elevation}-14: {Theme.Shadows.Elevation.GetValue(14)};"); theme.AppendLine($"--{Elevation}-15: {Theme.Shadows.Elevation.GetValue(15)};"); theme.AppendLine($"--{Elevation}-16: {Theme.Shadows.Elevation.GetValue(16)};"); theme.AppendLine($"--{Elevation}-17: {Theme.Shadows.Elevation.GetValue(17)};"); theme.AppendLine($"--{Elevation}-18: {Theme.Shadows.Elevation.GetValue(18)};"); theme.AppendLine($"--{Elevation}-19: {Theme.Shadows.Elevation.GetValue(19)};"); theme.AppendLine($"--{Elevation}-20: {Theme.Shadows.Elevation.GetValue(20)};"); theme.AppendLine($"--{Elevation}-21: {Theme.Shadows.Elevation.GetValue(21)};"); theme.AppendLine($"--{Elevation}-22: {Theme.Shadows.Elevation.GetValue(22)};"); theme.AppendLine($"--{Elevation}-23: {Theme.Shadows.Elevation.GetValue(23)};"); theme.AppendLine($"--{Elevation}-24: {Theme.Shadows.Elevation.GetValue(24)};"); theme.AppendLine($"--{Elevation}-25: {Theme.Shadows.Elevation.GetValue(25)};"); //Layout Properties theme.AppendLine( $"--{LayoutProperties}-default-borderradius: {Theme.LayoutProperties.DefaultBorderRadius};"); theme.AppendLine($"--{LayoutProperties}-drawer-width-left: {Theme.LayoutProperties.DrawerWidthLeft};"); theme.AppendLine($"--{LayoutProperties}-drawer-width-right: {Theme.LayoutProperties.DrawerWidthRight};"); theme.AppendLine( $"--{LayoutProperties}-drawer-width-mini-left: {Theme.LayoutProperties.DrawerMiniWidthLeft};"); theme.AppendLine( $"--{LayoutProperties}-drawer-width-mini-right: {Theme.LayoutProperties.DrawerMiniWidthRight};"); theme.AppendLine($"--{LayoutProperties}-appbar-height: {Theme.LayoutProperties.AppbarHeight};"); //Breakpoint //theme.AppendLine($"--{Breakpoint}-xs: {Theme.Breakpoints.xs};"); //theme.AppendLine($"--{Breakpoint}-sm: {Theme.Breakpoints.sm};"); //theme.AppendLine($"--{Breakpoint}-md: {Theme.Breakpoints.md};"); //theme.AppendLine($"--{Breakpoint}-lg: {Theme.Breakpoints.lg};"); //theme.AppendLine($"--{Breakpoint}-xl: {Theme.Breakpoints.xl};"); //theme.AppendLine($"--{Breakpoint}-xxl: {Theme.Breakpoints.xxl};"); //Typography theme.AppendLine( $"--{Typography}-default-family: '{string.Join("','", Theme.Typography.Default.FontFamily)}';"); theme.AppendLine($"--{Typography}-default-size: {Theme.Typography.Default.FontSize};"); theme.AppendLine($"--{Typography}-default-weight: {Theme.Typography.Default.FontWeight};"); theme.AppendLine( $"--{Typography}-default-lineheight: {Theme.Typography.Default.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-default-letterspacing: {Theme.Typography.Default.LetterSpacing};"); theme.AppendLine($"--{Typography}-default-text-transform: {Theme.Typography.Default.TextTransform};"); theme.AppendLine( $"--{Typography}-h1-family: '{string.Join("','", (Theme.Typography.H1.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.H1.FontFamily))}';"); theme.AppendLine($"--{Typography}-h1-size: {Theme.Typography.H1.FontSize};"); theme.AppendLine($"--{Typography}-h1-weight: {Theme.Typography.H1.FontWeight};"); theme.AppendLine( $"--{Typography}-h1-lineheight: {Theme.Typography.H1.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-h1-letterspacing: {Theme.Typography.H1.LetterSpacing};"); theme.AppendLine($"--{Typography}-h1-text-transform: {Theme.Typography.H1.TextTransform};"); theme.AppendLine( $"--{Typography}-h2-family: '{string.Join("','", (Theme.Typography.H2.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.H2.FontFamily))}';"); theme.AppendLine($"--{Typography}-h2-size: {Theme.Typography.H2.FontSize};"); theme.AppendLine($"--{Typography}-h2-weight: {Theme.Typography.H2.FontWeight};"); theme.AppendLine( $"--{Typography}-h2-lineheight: {Theme.Typography.H2.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-h2-letterspacing: {Theme.Typography.H2.LetterSpacing};"); theme.AppendLine($"--{Typography}-h2-text-transform: {Theme.Typography.H2.TextTransform};"); theme.AppendLine( $"--{Typography}-h3-family: '{string.Join("','", (Theme.Typography.H3.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.H3.FontFamily))}';"); theme.AppendLine($"--{Typography}-h3-size: {Theme.Typography.H3.FontSize};"); theme.AppendLine($"--{Typography}-h3-weight: {Theme.Typography.H3.FontWeight};"); theme.AppendLine( $"--{Typography}-h3-lineheight: {Theme.Typography.H3.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-h3-letterspacing: {Theme.Typography.H3.LetterSpacing};"); theme.AppendLine($"--{Typography}-h3-text-transform: {Theme.Typography.H3.TextTransform};"); theme.AppendLine( $"--{Typography}-h4-family: '{string.Join("','", (Theme.Typography.H4.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.H4.FontFamily))}';"); theme.AppendLine($"--{Typography}-h4-size: {Theme.Typography.H4.FontSize};"); theme.AppendLine($"--{Typography}-h4-weight: {Theme.Typography.H4.FontWeight};"); theme.AppendLine( $"--{Typography}-h4-lineheight: {Theme.Typography.H4.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-h4-letterspacing: {Theme.Typography.H4.LetterSpacing};"); theme.AppendLine($"--{Typography}-h4-text-transform: {Theme.Typography.H4.TextTransform};"); theme.AppendLine( $"--{Typography}-h5-family: '{string.Join("','", (Theme.Typography.H5.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.H5.FontFamily))}';"); theme.AppendLine($"--{Typography}-h5-size: {Theme.Typography.H5.FontSize};"); theme.AppendLine($"--{Typography}-h5-weight: {Theme.Typography.H5.FontWeight};"); theme.AppendLine( $"--{Typography}-h5-lineheight: {Theme.Typography.H5.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-h5-letterspacing: {Theme.Typography.H5.LetterSpacing};"); theme.AppendLine($"--{Typography}-h5-text-transform: {Theme.Typography.H5.TextTransform};"); theme.AppendLine( $"--{Typography}-h6-family: '{string.Join("','", (Theme.Typography.H6.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.H6.FontFamily))}';"); theme.AppendLine($"--{Typography}-h6-size: {Theme.Typography.H6.FontSize};"); theme.AppendLine($"--{Typography}-h6-weight: {Theme.Typography.H6.FontWeight};"); theme.AppendLine( $"--{Typography}-h6-lineheight: {Theme.Typography.H6.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-h6-letterspacing: {Theme.Typography.H6.LetterSpacing};"); theme.AppendLine($"--{Typography}-h6-text-transform: {Theme.Typography.H6.TextTransform};"); theme.AppendLine( $"--{Typography}-subtitle1-family: '{string.Join("','", (Theme.Typography.Subtitle1.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.Subtitle1.FontFamily))}';"); theme.AppendLine($"--{Typography}-subtitle1-size: {Theme.Typography.Subtitle1.FontSize};"); theme.AppendLine($"--{Typography}-subtitle1-weight: {Theme.Typography.Subtitle1.FontWeight};"); theme.AppendLine( $"--{Typography}-subtitle1-lineheight: {Theme.Typography.Subtitle1.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-subtitle1-letterspacing: {Theme.Typography.Subtitle1.LetterSpacing};"); theme.AppendLine($"--{Typography}-subtitle1-text-transform: {Theme.Typography.Subtitle1.TextTransform};"); theme.AppendLine( $"--{Typography}-subtitle2-family: '{string.Join("','", (Theme.Typography.Subtitle2.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.Subtitle2.FontFamily))}';"); theme.AppendLine($"--{Typography}-subtitle2-size: {Theme.Typography.Subtitle2.FontSize};"); theme.AppendLine($"--{Typography}-subtitle2-weight: {Theme.Typography.Subtitle2.FontWeight};"); theme.AppendLine( $"--{Typography}-subtitle2-lineheight: {Theme.Typography.Subtitle2.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-subtitle2-letterspacing: {Theme.Typography.Subtitle2.LetterSpacing};"); theme.AppendLine($"--{Typography}-subtitle2-text-transform: {Theme.Typography.Subtitle2.TextTransform};"); theme.AppendLine( $"--{Typography}-body1-family: '{string.Join("','", (Theme.Typography.Body1.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.Body1.FontFamily))}';"); theme.AppendLine($"--{Typography}-body1-size: {Theme.Typography.Body1.FontSize};"); theme.AppendLine($"--{Typography}-body1-weight: {Theme.Typography.Body1.FontWeight};"); theme.AppendLine( $"--{Typography}-body1-lineheight: {Theme.Typography.Body1.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-body1-letterspacing: {Theme.Typography.Body1.LetterSpacing};"); theme.AppendLine($"--{Typography}-body1-text-transform: {Theme.Typography.Body1.TextTransform};"); theme.AppendLine( $"--{Typography}-body2-family: '{string.Join("','", (Theme.Typography.Body2.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.Body2.FontFamily))}';"); theme.AppendLine($"--{Typography}-body2-size: {Theme.Typography.Body2.FontSize};"); theme.AppendLine($"--{Typography}-body2-weight: {Theme.Typography.Body2.FontWeight};"); theme.AppendLine( $"--{Typography}-body2-lineheight: {Theme.Typography.Body2.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-body2-letterspacing: {Theme.Typography.Body2.LetterSpacing};"); theme.AppendLine($"--{Typography}-body2-text-transform: {Theme.Typography.Body2.TextTransform};"); theme.AppendLine( $"--{Typography}-button-family: '{string.Join("','", (Theme.Typography.Button.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.Button.FontFamily))}';"); theme.AppendLine($"--{Typography}-button-size: {Theme.Typography.Button.FontSize};"); theme.AppendLine($"--{Typography}-button-weight: {Theme.Typography.Button.FontWeight};"); theme.AppendLine( $"--{Typography}-button-lineheight: {Theme.Typography.Button.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-button-letterspacing: {Theme.Typography.Button.LetterSpacing};"); theme.AppendLine($"--{Typography}-button-text-transform: {Theme.Typography.Button.TextTransform};"); theme.AppendLine( $"--{Typography}-caption-family: '{string.Join("','", (Theme.Typography.Caption.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.Caption.FontFamily))}';"); theme.AppendLine($"--{Typography}-caption-size: {Theme.Typography.Caption.FontSize};"); theme.AppendLine($"--{Typography}-caption-weight: {Theme.Typography.Caption.FontWeight};"); theme.AppendLine( $"--{Typography}-caption-lineheight: {Theme.Typography.Caption.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-caption-letterspacing: {Theme.Typography.Caption.LetterSpacing};"); theme.AppendLine($"--{Typography}-caption-text-transform: {Theme.Typography.Caption.TextTransform};"); theme.AppendLine( $"--{Typography}-overline-family: '{string.Join("','", (Theme.Typography.Overline.FontFamily == null ? Theme.Typography.Default.FontFamily : Theme.Typography.Overline.FontFamily))}';"); theme.AppendLine($"--{Typography}-overline-size: {Theme.Typography.Overline.FontSize};"); theme.AppendLine($"--{Typography}-overline-weight: {Theme.Typography.Overline.FontWeight};"); theme.AppendLine( $"--{Typography}-overline-lineheight: {Theme.Typography.Overline.LineHeight.ToString(CultureInfo.InvariantCulture)};"); theme.AppendLine($"--{Typography}-overline-letterspacing: {Theme.Typography.Overline.LetterSpacing};"); theme.AppendLine($"--{Typography}-overline-text-transform: {Theme.Typography.Overline.TextTransform};"); //Z-Index theme.AppendLine($"--{Zindex}-drawer: {Theme.ZIndex.Drawer};"); theme.AppendLine($"--{Zindex}-appbar: {Theme.ZIndex.AppBar};"); theme.AppendLine($"--{Zindex}-dialog: {Theme.ZIndex.Dialog};"); theme.AppendLine($"--{Zindex}-popover: {Theme.ZIndex.Popover};"); theme.AppendLine($"--{Zindex}-snackbar: {Theme.ZIndex.Snackbar};"); theme.AppendLine($"--{Zindex}-tooltip: {Theme.ZIndex.Tooltip};"); } }