// // Check/radio // .form-check { display: block; min-height: $form-check-min-height; padding-left: $form-check-padding-start; margin-bottom: $form-check-margin-bottom; .form-check-input { float: left; margin-left: $form-check-padding-start * -1; } } .form-check-input { width: $form-check-input-width; height: $form-check-input-width; margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height vertical-align: top; background-color: $form-check-input-bg; background-repeat: no-repeat; background-position: center; background-size: contain; border: $form-check-input-border; appearance: none; color-adjust: exact; // Keep themed appearance for print @include transition($form-check-transition); &[type='checkbox'] { @include border-radius($form-check-input-border-radius); } &[type='radio'] { // stylelint-disable-next-line property-disallowed-list border-radius: $form-check-radio-border-radius; } &:active { filter: $form-check-input-active-filter; } &:focus { border-color: $form-check-input-focus-border; outline: 0; box-shadow: $form-check-input-focus-box-shadow; } &:checked { background-color: $form-check-input-checked-bg-color; border-color: $form-check-input-checked-border-color; &[type='checkbox'] { @if $enable-gradients { background-image: escape-svg($form-check-input-checked-bg-image), var(--#{$variable-prefix}gradient); } @else { background-image: escape-svg($form-check-input-checked-bg-image); } } &[type='radio'] { @if $enable-gradients { background-image: escape-svg($form-check-radio-checked-bg-image), var(--#{$variable-prefix}gradient); } @else { background-image: escape-svg($form-check-radio-checked-bg-image); } } } &[type='checkbox']:indeterminate { background-color: $form-check-input-indeterminate-bg-color; border-color: $form-check-input-indeterminate-border-color; @if $enable-gradients { background-image: escape-svg($form-check-input-indeterminate-bg-image), var(--#{$variable-prefix}gradient); } @else { background-image: escape-svg($form-check-input-indeterminate-bg-image); } } &:disabled { pointer-events: none; filter: none; opacity: $form-check-input-disabled-opacity; } // Use disabled attribute in addition of :disabled pseudo-class // See: https://github.com/twbs/bootstrap/issues/28247 &[disabled], &:disabled { ~ .form-check-label { opacity: $form-check-label-disabled-opacity; } } } .form-check-label { color: $form-check-label-color; cursor: $form-check-label-cursor; } // // Switch // .form-switch { padding-left: $form-switch-padding-start; .form-check-input { width: $form-switch-width; margin-left: $form-switch-padding-start * -1; background-image: escape-svg($form-switch-bg-image); background-position: left center; @include border-radius($form-switch-border-radius); &:focus { background-image: escape-svg($form-switch-focus-bg-image); } &:checked { background-position: $form-switch-checked-bg-position; @if $enable-gradients { background-image: escape-svg($form-switch-checked-bg-image), var(--#{$variable-prefix}gradient); } @else { background-image: escape-svg($form-switch-checked-bg-image); } } } } .form-check-inline { display: inline-block; margin-right: $form-check-inline-margin-end; } .btn-check { position: absolute; clip: rect(0, 0, 0, 0); pointer-events: none; &[disabled], &:disabled { + .btn { pointer-events: none; filter: none; opacity: $form-check-btn-check-disabled-opacity; } } }