client/src/app/shared/shared-forms/input-switch.component.scss
@use '_variables' as *;
@use '_mixins' as *;
input {
position: absolute;
width: 0;
height: 0;
left: -100px;
+ label {
cursor: pointer;
text-indent: -9999px;
width: 35px;
height: 20px;
background: #cccccc;
display: block;
border-radius: 100px;
position: relative;
margin: 0;
&::after {
content: '';
position: absolute;
top: 3px;
left: 3px;
width: 14px;
height: 14px;
background: pvar(--mainBackgroundColor);
border-radius: 50%;
transition: 0.3s ease-out;
}
&:active::after {
width: 40px;
}
}
&:checked + label {
background: pvar(--mainColor);
&::after {
left: calc(100% - 3px);
transform: translateX(-100%);
}
}
&:focus-visible + label {
outline: 2px solid;
}
}