argos/dmp-frontend/src/assets/scss/core/_checkboxes.scss

211 lines
4.9 KiB
SCSS

.form-check {
margin-bottom: .5rem;
padding-left: 0;
.form-check-label {
cursor: pointer;
padding-left: 0; // Reset for Bootstrap rule
// color: $mdb-checkbox-label-color;
@include mdb-label-color-toggle-focus();
}
// Hide native checkbox
.form-check-input {
opacity: 0;
position: absolute;
margin: 0;
z-index: -1;
width: 0;
height: 0;
overflow: hidden;
left: 0;
pointer-events: none;
}
.form-check-sign {
vertical-align: middle;
position: relative;
top: -2px;
float: left;
padding-right: 10px;
display: inline-block;
&:before {
display: block;
position: absolute;
left: 0;
content: "";
background-color: rgba(0,0,0,.84);
height: $mdb-checkbox-size;
width: $mdb-checkbox-size;
border-radius: 100%;
z-index: 1;
opacity: 0;
margin: 0;
top: 0;
@include transform-scale3d(unquote('2.3,2.3,1'));
}
.check {
position: relative;
display: inline-block;
width: $mdb-checkbox-size;
height: $mdb-checkbox-size;
border: 1px solid $mdb-checkbox-border-color;
overflow: hidden;
z-index: 1;
border-radius: $border-radius-base;
&:before {
position: absolute;
content: "";
transform: rotate(45deg);
display: block;
margin-top: -3px;
margin-left: 7px;
width: 0;
color: $white-color;
height: 0;
box-shadow:
0 0 0 0,
0 0 0 0,
0 0 0 0,
0 0 0 0,
0 0 0 0,
0 0 0 0,
0 0 0 0 inset;
@include animation(checkbox-off $mdb-checkbox-animation-check forwards);
}
}
}
.form-check-input{
&:focus + .form-check-sign .check:after {
opacity: 0.2;
}
&:checked {
& + .form-check-sign .check {
background: $mdb-checkbox-checked-color;
}
& + .form-check-sign .check:before {
color: #FFFFFF;
box-shadow: 0 0 0 10px,
10px -10px 0 10px,
32px 0 0 20px,
0px 32px 0 20px,
-5px 5px 0 10px,
20px -12px 0 11px;
@include animation(checkbox-on $mdb-checkbox-animation-check forwards);
}
& + .form-check-sign:before {
@include animation(rippleOn $mdb-checkbox-animation-ripple);
}
& + .form-check-sign .check:after {
//background-color: $brand-success; // FIXME: seems like tho wrong color, test and make sure it can be removed
@include animation(rippleOn $mdb-checkbox-animation-ripple forwards);
}
}
&:not(:checked) {
& + .form-check-sign:before {
@include animation(rippleOff $mdb-checkbox-animation-ripple);
}
& + .form-check-sign .check:after {
@include animation(rippleOff $mdb-checkbox-animation-ripple); // Ripple effect on uncheck
}
}
}
.rtl {
.form-check {
.form-check-sign {
.check::before{
margin-right: 10px;
}
}
}
}
// Style for disabled inputs
fieldset[disabled] &,
fieldset[disabled] & .form-check-input,
.form-check-input[disabled] ~ .form-check-sign .check,
.form-check-input[disabled] + .circle {
opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-sign .check{
border-color: #000000;
opacity: .26;
}
.form-check-input[disabled] + .form-check-sign .check:after {
background-color: $mdb-text-color-primary;
transform: rotate(-45deg);
}
.form-check-input[disabled][checked] + .form-check-sign .check{
background-color: $black;
}
}
@keyframes checkbox-on {
0% {
box-shadow:
0 0 0 10px,
10px -10px 0 10px,
32px 0 0 20px,
0px 32px 0 20px,
-5px 5px 0 10px,
15px 2px 0 11px;
}
50% {
box-shadow:
0 0 0 10px,
10px -10px 0 10px,
32px 0 0 20px,
0px 32px 0 20px,
-5px 5px 0 10px,
20px 2px 0 11px;
}
100% {
box-shadow:
0 0 0 10px,
10px -10px 0 10px,
32px 0 0 20px,
0px 32px 0 20px,
-5px 5px 0 10px,
20px -12px 0 11px;
}
}
@keyframes rippleOn {
0% {
opacity: 0;
}
50% {
opacity: 0.2;
}
100% {
opacity: 0;
}
}
@keyframes rippleOff {
0% {
opacity: 0;
}
50% {
opacity: 0.2;
}
100% {
opacity: 0;
}
}