protected async Task RefreshStyles()
        {
            SetColorScheme(ColorScheme?.ToLower() ?? "gray");

            var parametersDict = GetPropertiesDict();

            if (string.IsNullOrEmpty(className))
            {
                className = await Styled.CssAsync(GetCss(parametersDict));
            }
            else
            {
                await Styled.CssAsync(className, GetCss(parametersDict));
            }

            await ApplyPseudoClasses(this, className);
        }
        private async Task ApplyPseudoClasses(StyledComponentBase component, string _className)
        {
            var pseudoClassDict = component.GetPseudoClassesWithProperties();

            foreach (var key in pseudoClassDict.Keys)
            {
                var subComponent = pseudoClassDict[key];
                if (subComponent == null)
                {
                    continue;
                }
                var pseudoClassName = ApplyPseudoClass(key, _className);

                Console.WriteLine($"{ApplyPseudoClass(key, _className)}: {GetCss(subComponent.GetPropertiesDict())}");
                await Styled.CssAsync(
                    pseudoClassName,
                    GetCss(subComponent.GetPropertiesDict()));

                await ApplyPseudoClasses(subComponent, pseudoClassName);
            }
        }