200 lines
4.8 KiB
SCSS
200 lines
4.8 KiB
SCSS
// Custom controls
|
|
.custom-control-label {
|
|
// Background-color and (when enabled) gradient
|
|
&::before {
|
|
border: $custom-control-indicator-border-width solid $custom-control-indicator-border-color;
|
|
@if $enable-transitions {
|
|
transition: $input-transition;
|
|
}
|
|
}
|
|
|
|
&:hover::before {
|
|
background: $component-hover-bg;
|
|
border-color: $component-hover-border-color;
|
|
}
|
|
}
|
|
|
|
.custom-control-input {
|
|
&:active~.custom-control-label::before {
|
|
border-color: $custom-control-indicator-active-border-color;
|
|
}
|
|
}
|
|
|
|
// Checkboxes */
|
|
.custom-checkbox {
|
|
.custom-control-input~.custom-control-label {
|
|
&::after {
|
|
background-image: $custom-checkbox-indicator-icon-checked;
|
|
}
|
|
}
|
|
|
|
.custom-control-input:checked~.custom-control-label {
|
|
&::before {
|
|
border-color: $custom-control-indicator-checked-border-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Radios
|
|
.custom-radio {
|
|
.custom-control-input~.custom-control-label {
|
|
&::after {
|
|
background-image: $custom-radio-indicator-icon-checked;
|
|
}
|
|
}
|
|
|
|
.custom-control-input:checked~.custom-control-label {
|
|
&::before {
|
|
border-color: $custom-control-indicator-checked-border-color;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Toggle switches
|
|
|
|
.toggle-switch {
|
|
position: relative;
|
|
display: inline-block;
|
|
width: 50px;
|
|
height: 1.5rem;
|
|
|
|
input {
|
|
display: none;
|
|
|
|
&:checked+.toggle-switch-slider:before {
|
|
background-color: $custom-control-indicator-checked-bg;
|
|
border-color: $custom-control-indicator-checked-border-color;
|
|
}
|
|
|
|
&:checked+.toggle-switch-slider {
|
|
border: $custom-control-indicator-border-width solid $custom-control-indicator-checked-border-color;
|
|
}
|
|
|
|
&:focus+.toggle-switch-slider {
|
|
|
|
}
|
|
|
|
&:checked+.toggle-switch-slider:before {
|
|
-webkit-transform: translateX(1.625rem);
|
|
-ms-transform: translateX(1.625rem);
|
|
transform: translateX(1.625rem);
|
|
}
|
|
|
|
&:disabled+.toggle-switch-slider {
|
|
border: $custom-control-indicator-border-width solid $custom-control-indicator-disabled-bg;
|
|
}
|
|
&:checked:disabled+.toggle-switch-slider {
|
|
border: $custom-control-indicator-border-width solid $custom-control-indicator-disabled-bg;
|
|
}
|
|
&:checked:disabled+.toggle-switch-slider:before {
|
|
background-color: lighten($custom-control-indicator-checked-bg, 10%);
|
|
}
|
|
}
|
|
}
|
|
|
|
.toggle-switch-slider {
|
|
position: absolute;
|
|
cursor: pointer;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
border: $custom-control-indicator-border-width solid $input-border-color;
|
|
border-radius: $input-border-radius-sm;
|
|
background-color: transparent;
|
|
-webkit-transition: 0.4s;
|
|
transition: 0.4s;
|
|
}
|
|
|
|
.toggle-switch-slider:before {
|
|
position: absolute;
|
|
content: "";
|
|
height: 18px;
|
|
width: 18px;
|
|
left: $custom-control-indicator-border-width;
|
|
bottom: 2px;
|
|
border-radius: $input-border-radius-sm;
|
|
background-color: $input-border-color;
|
|
-webkit-transition: 0.3s;
|
|
transition: 0.3s;
|
|
}
|
|
|
|
.toggle-switch-slider.rounded-circle {
|
|
border-radius: 34px !important;
|
|
}
|
|
|
|
.toggle-switch-slider.rounded-circle:before {
|
|
border-radius: 50% !important;
|
|
}
|
|
|
|
|
|
|
|
|
|
// Custom file browser
|
|
|
|
.custom-input-file {
|
|
width: 0.1px;
|
|
height: 0.1px;
|
|
opacity: 0;
|
|
outline: none;
|
|
overflow: hidden;
|
|
position: absolute;
|
|
z-index: -1;
|
|
}
|
|
|
|
.custom-input-file+label {
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
cursor: pointer;
|
|
display: block;
|
|
overflow: hidden;
|
|
padding: 0.625rem 1.25rem;
|
|
border: 1px solid $input-border-color;
|
|
border-radius: $input-border-radius;
|
|
color: $input-color;
|
|
background-color: $input-bg;
|
|
outline: none;
|
|
}
|
|
|
|
.custom-input-file+label:hover,
|
|
.custom-input-file.has-focus+label,
|
|
.custom-input-file:focus+label {
|
|
background-color: $input-focus-bg;
|
|
}
|
|
|
|
.no-js .custom-input-file+label {
|
|
display: none;
|
|
}
|
|
|
|
.custom-input-file.has-focus+label,
|
|
.custom-input-file:focus+label {
|
|
outline: 1px dotted #000;
|
|
outline: -webkit-focus-ring-color auto 5px;
|
|
}
|
|
|
|
.custom-input-file+label i {
|
|
width: 1em;
|
|
height: 1em;
|
|
vertical-align: middle;
|
|
fill: currentColor;
|
|
margin-top: -0.25em;
|
|
margin-right: .5em;
|
|
}
|
|
|
|
|
|
/* Custom file input -- Style 2 */
|
|
|
|
.custom-input-file--2+label {
|
|
color: color-yiq(theme-color("primary"));
|
|
border-color: theme-color("primary");
|
|
background: theme-color("primary");
|
|
}
|
|
|
|
.custom-input-file--2+label:hover,
|
|
.custom-input-file--2.has-focus+label,
|
|
.custom-input-file--2:focus+label {
|
|
color: color-yiq(theme-color("primary"));
|
|
border-color: darken(theme-color("primary"), 10%);
|
|
background: darken(theme-color("primary"), 10%);
|
|
;
|
|
} |