patchcablemgr/assets/scss/_checkbox-radio.scss
2020-11-22 22:50:42 +00:00

414 lines
7.9 KiB
SCSS
Executable File

/* =============
Checkbox and Radios
============= */
.checkbox {
padding-left: 20px;
label {
display: inline-block;
padding-left: 5px;
position: relative;
&::before {
-o-transition: 0.3s ease-in-out;
-webkit-transition: 0.3s ease-in-out;
background-color: transparent;
border-radius: 3px;
border: 2px solid rgba($dark,0.5);
content: "";
display: inline-block;
height: 17px;
left: 0;
margin-left: -20px;
position: absolute;
transition: 0.3s ease-in-out;
width: 17px;
outline: none !important;
margin-top: 2px;
}
&::after {
color: $dark;
display: inline-block;
font-size: 11px;
height: 16px;
left: 2px;
margin-left: -20px;
padding-left: 3px;
padding-top: 1px;
position: absolute;
top: 2px;
width: 16px;
}
}
input[type="checkbox"] {
cursor: pointer;
opacity: 0;
z-index: 1;
outline: none !important;
&:disabled + label {
opacity: 0.65;
}
}
input[type="checkbox"]:focus + label {
&::before {
outline-offset: -2px;
outline: none;
}
}
input[type="checkbox"]:checked + label {
&::after {
content: '\f26b';
font-family: 'Material-Design-Iconic-Font';
font-weight: bold;
}
}
input[type="checkbox"]:disabled + label {
&::before {
background-color: $gray-light;
cursor: not-allowed;
}
}
}
.checkbox.checkbox-circle {
label {
&::before {
border-radius: 50%;
}
}
}
.checkbox.checkbox-inline {
margin-top: 0;
}
.checkbox.checkbox-single {
label {
height: 17px;
}
}
.checkbox-custom {
input[type="checkbox"]:checked + label {
&::before {
background-color: $custom;
border-color: $custom;
}
&::after {
color: $white;
}
}
}
.checkbox-primary {
input[type="checkbox"]:checked + label {
&::before {
background-color: $brand-primary;
border-color: $brand-primary;
}
&::after {
color: $white;
}
}
}
.checkbox-danger {
input[type="checkbox"]:checked + label {
&::before {
background-color: $brand-danger;
border-color: $brand-danger;
}
&::after {
color: $white;
}
}
}
.checkbox-info {
input[type="checkbox"]:checked + label {
&::before {
background-color: $brand-info;
border-color: $brand-info;
}
&::after {
color: $white;
}
}
}
.checkbox-warning {
input[type="checkbox"]:checked + label {
&::before {
background-color: $brand-warning;
border-color: $brand-warning;
}
&::after {
color: $white;
}
}
}
.checkbox-success {
input[type="checkbox"]:checked + label {
&::before {
background-color: $brand-success;
border-color: $brand-success;
}
&::after {
color: $white;
}
}
}
.checkbox-purple {
input[type="checkbox"]:checked + label {
&::before {
background-color: $purple;
border-color: $purple;
}
&::after {
color: $white;
}
}
}
.checkbox-pink {
input[type="checkbox"]:checked + label {
&::before {
background-color: $pink;
border-color: $pink;
}
&::after {
color: $white;
}
}
}
.checkbox-inverse {
input[type="checkbox"]:checked + label {
&::before {
background-color: $dark;
border-color: $dark;
}
&::after {
color: $white;
}
}
}
/* Radios */
.radio {
padding-left: 20px;
label {
display: inline-block;
padding-left: 5px;
position: relative;
&::before {
-o-transition: border 0.5s ease-in-out;
-webkit-transition: border 0.5s ease-in-out;
border-radius: 50%;
border: 2px solid rgba($dark,0.5);
content: "";
display: inline-block;
height: 17px;
left: 0;
margin-left: -20px;
outline: none !important;
position: absolute;
transition: border 0.5s ease-in-out;
width: 17px;
margin-top: 2px;
}
&::after {
-moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
-ms-transform: scale(0, 0);
-o-transform: scale(0, 0);
-o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
-webkit-transform: scale(0, 0);
-webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
background-color: $gray-light;
border-radius: 50%;
content: " ";
display: inline-block;
height: 11px;
left: 3px;
margin-left: -20px;
position: absolute;
top: 5px;
transform: scale(0, 0);
transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
width: 11px;
}
}
input[type="radio"] {
cursor: pointer;
opacity: 0;
z-index: 1;
outline: none !important;
&:disabled + label {
opacity: 0.65;
}
}
input[type="radio"]:focus + label {
&::before {
outline-offset: -2px;
outline: 5px auto -webkit-focus-ring-color;
outline: thin dotted;
}
}
input[type="radio"]:checked + label {
&::after {
-ms-transform: scale(1, 1);
-o-transform: scale(1, 1);
-webkit-transform: scale(1, 1);
transform: scale(1, 1);
}
}
input[type="radio"]:disabled + label {
&::before {
cursor: not-allowed;
}
}
}
.radio.radio-inline {
margin-top: 0;
}
.radio.radio-single {
label {
height: 17px;
}
}
.radio-custom {
input[type="radio"] + label {
&::after {
background-color: $custom;
}
}
input[type="radio"]:checked + label {
&::before {
border-color: $custom;
}
&::after {
background-color: $custom;
}
}
}
.radio-primary {
input[type="radio"] + label {
&::after {
background-color: $brand-primary;
}
}
input[type="radio"]:checked + label {
&::before {
border-color: $brand-primary;
}
&::after {
background-color: $brand-primary;
}
}
}
.radio-danger {
input[type="radio"] + label {
&::after {
background-color: $brand-danger;
}
}
input[type="radio"]:checked + label {
&::before {
border-color: $brand-danger;
}
&::after {
background-color: $brand-danger;
}
}
}
.radio-info {
input[type="radio"] + label {
&::after {
background-color: $brand-info;
}
}
input[type="radio"]:checked + label {
&::before {
border-color: $brand-info;
}
&::after {
background-color: $brand-info;
}
}
}
.radio-warning {
input[type="radio"] + label {
&::after {
background-color: $brand-warning;
}
}
input[type="radio"]:checked + label {
&::before {
border-color: $brand-warning;
}
&::after {
background-color: $brand-warning;
}
}
}
.radio-success {
input[type="radio"] + label {
&::after {
background-color: $brand-success;
}
}
input[type="radio"]:checked + label {
&::before {
border-color: $brand-success;
}
&::after {
background-color: $brand-success;
}
}
}
.radio-purple {
input[type="radio"] + label {
&::after {
background-color: $purple;
}
}
input[type="radio"]:checked + label {
&::before {
border-color: $purple;
}
&::after {
background-color: $purple;
}
}
}
.radio-pink {
input[type="radio"] + label {
&::after {
background-color: $pink;
}
}
input[type="radio"]:checked + label {
&::before {
border-color: $pink;
}
&::after {
background-color: $pink;
}
}
}