fleet/frontend/components/forms/fields/Checkbox/_styles.scss
2024-06-11 11:11:40 -04:00

163 lines
3.2 KiB
SCSS

.fleet-checkbox {
@include clearfix;
position: relative;
display: flex;
align-items: center;
&__input {
opacity: 0;
width: 16px;
height: 16px;
margin: 2px;
&:focus + .fleet-checkbox__tick {
&::after {
border-color: $core-vibrant-blue;
}
}
&:checked + .fleet-checkbox__tick {
&::after {
background-color: $core-vibrant-blue;
border: solid 2px $core-vibrant-blue;
}
&:hover {
&::after {
background-color: $core-vibrant-blue-over;
border: solid 2px $core-vibrant-blue-over;
}
}
&--read-only {
&::after {
@include disabled-checkbox;
}
&:hover {
&::after {
@include disabled-checkbox;
}
}
}
&::before {
@include position(absolute, 50% null null 50%);
transform: rotate(45deg);
box-sizing: border-box;
display: block;
width: 7px;
height: 13px;
margin: -8px 0 0 -3px;
border: 2px solid $core-white;
border-top: 0;
border-left: 0;
content: "";
z-index: 9;
}
}
}
&__tick {
@include size(20px);
position: absolute;
display: inline-block;
cursor: pointer;
&::after {
@include size(20px);
transition: border 75ms ease-in-out, background 75ms ease-in-out;
border-radius: $border-radius;
border: solid 2px $ui-fleet-black-25;
content: "";
box-sizing: border-box;
display: block;
background-color: $core-white;
visibility: visible;
}
&:hover {
&::after {
border: solid 2px $core-vibrant-blue-over;
}
}
&--disabled {
&::after {
background-color: $ui-fleet-black-25;
}
cursor: default;
}
&--indeterminate {
&::after {
background-color: $core-vibrant-blue;
border: solid 1px $core-vibrant-blue;
}
&:hover {
&::after {
&::after {
background-color: $core-vibrant-blue-over;
border: solid 1px $core-vibrant-blue-over;
}
}
}
&::before {
@include position(absolute, 50% null null 50%);
box-sizing: border-box;
display: block;
width: 10px;
margin: -1px 0 0 -5px;
border: 2px solid $core-white;
border-top: 0;
border-left: 0;
content: "";
}
}
}
&__label {
font-size: $x-small;
padding-left: $pad-small;
display: inline-block;
vertical-align: top;
&--disabled {
color: $ui-fleet-black-50;
}
}
&__label-tooltip {
font-size: $x-small;
padding-left: $pad-small;
display: inherit;
vertical-align: top;
}
&__help-text {
@include help-text;
}
}
.inverse {
flex-direction: row-reverse; // Switches the text to the left side of checkbox as all checkboxes are now display flex
.fleet-checkbox {
&__input {
float: right;
}
&__tick {
left: initial;
right: -8px;
}
&__label {
float: left;
padding-left: 0;
font-weight: $bold;
font-size: $x-small;
}
}
}