diff --git a/build/scss/_forms.scss b/build/scss/_forms.scss index de20b9f0c..62e1b6aed 100644 --- a/build/scss/_forms.scss +++ b/build/scss/_forms.scss @@ -320,3 +320,13 @@ body.text-sm { @each $name, $color in $colors { @include custom-control-input-variant($name, $color); } + +.custom-control-input-outline { + ~ .custom-control-label::before { + background-color: transparent !important; + box-shadow: none; + } + &:checked ~ .custom-control-label::before { + @include gradient-bg(transparent); + } +} diff --git a/build/scss/mixins/_custom-forms.scss b/build/scss/mixins/_custom-forms.scss index 19c620b6c..c21cc345d 100644 --- a/build/scss/mixins/_custom-forms.scss +++ b/build/scss/mixins/_custom-forms.scss @@ -83,12 +83,25 @@ // Custom Control Input Variant @mixin custom-control-input-variant($name, $color) { + $custom-control-indicator-checked-color: $color; + $custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23"); + $custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E"), "#", "%23"); + .custom-control-input-#{$name} { &:checked ~ .custom-control-label::before { border-color: $color; @include gradient-bg($color); } + &.custom-control-input-outline:checked { + &[type="checkbox"] ~ .custom-control-label::after { + background-image: $custom-checkbox-indicator-icon-checked !important; + } + &[type="radio"] ~ .custom-control-label::after { + background-image: $custom-radio-indicator-icon-checked !important; + } + } + &:focus ~ .custom-control-label::before { // the mixin is not used here to make sure there is feedback @if $enable-shadows { diff --git a/pages/forms/general.html b/pages/forms/general.html index 644e7ddc6..2cb3250a1 100644 --- a/pages/forms/general.html +++ b/pages/forms/general.html @@ -1303,6 +1303,14 @@ +
+ + +
+
+ + +
@@ -1320,6 +1328,14 @@
+
+ + +
+
+ + +