Rev 1 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
// This mixin uses an `if()` technique to be compatible with Dart Sass// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details// scss-docs-start form-validation-mixins@mixin form-validation-state-selector($state) {@if ($state == "valid" or $state == "invalid") {.was-validated #{if(&, "&", "")}:#{$state},#{if(&, "&", "")}.is-#{$state} {@content;}} @else {#{if(&, "&", "")}.is-#{$state} {@content;}}}@mixin form-validation-state($state,$color,$icon,$tooltip-color: color-contrast($color),$tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),$focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity),$border-color: $color) {.#{$state}-feedback {display: none;width: 100%;margin-top: $form-feedback-margin-top;@include font-size($form-feedback-font-size);font-style: $form-feedback-font-style;color: $color;}.#{$state}-tooltip {position: absolute;top: 100%;z-index: 5;display: none;max-width: 100%; // Contain to parent when possiblepadding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;margin-top: .1rem;@include font-size($form-feedback-tooltip-font-size);line-height: $form-feedback-tooltip-line-height;color: $tooltip-color;background-color: $tooltip-bg-color;@include border-radius($form-feedback-tooltip-border-radius);}@include form-validation-state-selector($state) {~ .#{$state}-feedback,~ .#{$state}-tooltip {display: block;}}.form-control {@include form-validation-state-selector($state) {border-color: $border-color;@if $enable-validation-icons {padding-right: $input-height-inner;background-image: escape-svg($icon);background-repeat: no-repeat;background-position: right $input-height-inner-quarter center;background-size: $input-height-inner-half $input-height-inner-half;}&:focus {border-color: $border-color;@if $enable-shadows {@include box-shadow($input-box-shadow, $focus-box-shadow);} @else {// Avoid using mixin so we can pass custom focus shadow properlybox-shadow: $focus-box-shadow;}}}}// stylelint-disable-next-line selector-no-qualifying-typetextarea.form-control {@include form-validation-state-selector($state) {@if $enable-validation-icons {padding-right: $input-height-inner;background-position: top $input-height-inner-quarter right $input-height-inner-quarter;}}}.form-select {@include form-validation-state-selector($state) {border-color: $border-color;@if $enable-validation-icons {&:not([multiple]):not([size]),&:not([multiple])[size="1"] {--#{$prefix}form-select-bg-icon: #{escape-svg($icon)};padding-right: $form-select-feedback-icon-padding-end;background-position: $form-select-bg-position, $form-select-feedback-icon-position;background-size: $form-select-bg-size, $form-select-feedback-icon-size;}}&:focus {border-color: $border-color;@if $enable-shadows {@include box-shadow($form-select-box-shadow, $focus-box-shadow);} @else {// Avoid using mixin so we can pass custom focus shadow properlybox-shadow: $focus-box-shadow;}}}}.form-control-color {@include form-validation-state-selector($state) {@if $enable-validation-icons {width: add($form-color-width, $input-height-inner);}}}.form-check-input {@include form-validation-state-selector($state) {border-color: $border-color;&:checked {background-color: $color;}&:focus {box-shadow: $focus-box-shadow;}~ .form-check-label {color: $color;}}}.form-check-inline .form-check-input {~ .#{$state}-feedback {margin-left: .5em;}}.input-group {> .form-control:not(:focus),> .form-select:not(:focus),> .form-floating:not(:focus-within) {@include form-validation-state-selector($state) {@if $state == "valid" {z-index: 3;} @else if $state == "invalid" {z-index: 4;}}}}}// scss-docs-end form-validation-mixins