protected override void GenerateButtonOutlineVariantStyles(StringBuilder sb, Theme theme, string variant, ThemeButtonOptions buttonOptions)
        {
            var color    = Var(ThemeVariables.OutlineButtonColor(variant));
            var yiqColor = Var(ThemeVariables.OutlineButtonYiqColor(variant));

            //var boxShadow = Var( ThemeVariables.OutlineButtonBoxShadowColor( variant ) );

            sb.Append($".button.is-{variant}.is-outlined").Append("{")
            .Append($"color: {color};")
            .Append($"border-color: {color};")
            .Append($"background-color: transparent;")
            .Append($"background: transparent;")
            .AppendLine("}");

            sb.Append($".button.is-{variant}.is-outlined:hover,")
            .Append($".button.is-{variant}.is-outlined.is-hovered,")
            .Append($".button.is-{variant}.is-outlined:focus,")
            .Append($".button.is-{variant}.is-outlined.is-focused").Append("{")
            .Append($"color: {yiqColor};")
            .Append($"background-color: white;")
            .Append($"border-color: {color};")
            .AppendLine("}");

            sb.Append($".button.is-{variant}.is-outlined.is-loading::after").Append("{")
            .Append($"border-color: transparent transparent white white;")
            .AppendLine("}");

            sb.Append($".button.is-{variant}.is-outlined[disabled],").Append($"fieldset[disabled] .button.is-{variant}.is-outlined").Append("{")
            .Append($"color: {color};")
            .Append($"background-color: transparent;")
            .Append($"border-color: {color};")
            .Append($"box-shadow: none;")
            .AppendLine("}");
        }
        protected override void GenerateButtonOutlineVariantStyles(StringBuilder sb, Theme theme, string variant, ThemeButtonOptions options)
        {
            var color     = Var(ThemeVariables.OutlineButtonColor(variant));
            var yiqColor  = Var(ThemeVariables.OutlineButtonYiqColor(variant));
            var boxShadow = Var(ThemeVariables.OutlineButtonBoxShadowColor(variant));

            sb.Append($".btn-outline-{variant}").Append("{")
            .Append($"color: {color};")
            .Append($"border-color: {color};")
            .AppendLine("}");

            sb.Append($".btn-outline-{variant}:hover").Append("{")
            .Append($"color: {yiqColor};")
            .Append($"background-color: {color};")
            .Append($"border-color: {color};")
            .AppendLine("}");

            sb.Append($".btn-outline-{variant}:focus,")
            .Append($".btn-outline-{variant}.focus")
            .Append("{")
            .Append($"box-shadow: 0 0 0 {options?.BoxShadowSize ?? ".2rem"} {boxShadow};")
            .AppendLine("}");

            sb.Append($".btn-outline-{variant}.disabled,")
            .Append($".btn-outline-{variant}:disabled")
            .Append("{")
            .Append($"color: {color};")
            .Append($"background-color: transparent;")
            .AppendLine("}");

            sb
            .Append($".btn-outline-{variant}:not(:disabled):not(.disabled):active,")
            .Append($".btn-outline-{variant}:not(:disabled):not(.disabled).active,")
            .Append($".show>.btn-outline-{variant}.dropdown-toggle")
            .Append("{")
            .Append($"color: {yiqColor};")
            .Append($"background-color: {color};")
            .Append($"border-color: {color};")
            .AppendLine("}");

            sb
            .Append($".btn-outline-{variant}:not(:disabled):not(.disabled):active:focus,")
            .Append($".btn-outline-{variant}:not(:disabled):not(.disabled).active:focus,")
            .Append($".show>.btn-outline-{variant}.dropdown-toggle:focus")
            .Append("{")
            .Append($"box-shadow: 0 0 0 {options?.BoxShadowSize ?? ".2rem"} {boxShadow};")
            .AppendLine("}");
        }