FreeTube/src/renderer/components/ft-radio-button/ft-radio-button.css

92 lines
2.5 KiB
CSS

/* stylelint-disable no-descending-specificity */
.pure-radiobutton input[type="radio"] {
border: 0;
clip: rect(0 0 0 0);
block-size: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
inline-size: 1px;
}
.pure-radiobutton input[type="radio"]:focus + label::before, .pure-radiobutton input[type="radio"]:hover + label::before {
border: 2px solid var(--primary-color);
}
.pure-radiobutton input[type="radio"]:active + label::before { transition-duration: 0s; }
.pure-radiobutton input[type="radio"] + label {
position: relative;
padding-inline-start: 2em;
user-select: none;
cursor: pointer;
display: block;
margin-block-start: 10px;
}
.pure-radiobutton input[type="radio"] + label::before {
box-sizing: content-box;
content: '';
color: var(--primary-text-color);
position: absolute;
inset-block-start: 50%;
inset-inline-start: 0;
inline-size: 14px;
block-size: 14px;
margin-block-start: -9px;
border: 2px solid var(--primary-text-color);
text-align: center;
transition: all 0.4s ease;
}
.pure-radiobutton input[type="radio"] + label::after {
box-sizing: content-box;
content: '';
background-color: var(--primary-text-color);
position: absolute;
inset-block-start: 50%;
inset-inline-start: 4px;
inline-size: 10px;
block-size: 10px;
margin-block-start: -5px;
transform: scale(0);
transform-origin: 50%;
transition: transform 200ms ease-out;
}
.pure-radiobutton input[type="radio"]:disabled + label::before { border-color: #ccc; }
.pure-radiobutton input[type="radio"]:disabled:focus + label::before, .pure-radiobutton input[type="radio"]:disabled:hover + label::before { background-color: inherit; }
.pure-radiobutton input[type="radio"]:disabled:checked + label::before { background-color: #ccc; }
.pure-checkbox input[type="radio"]:checked + label::before, .pure-radiobutton input[type="radio"]:checked + label::before {
animation: borderscale 300ms ease-in;
}
.pure-radiobutton input[type="radio"]:focus + label::after{
background-color: var(--primary-color);
}
.pure-radiobutton input[type="radio"]:checked + label::after { transform: scale(1); }
.pure-radiobutton input[type="radio"] + label::before, .pure-radiobutton input[type="radio"] + label::after { border-radius: 50%; }
@keyframes
borderscale { 50% {
box-shadow: 0 0 0 2px var(--primary-text-color);
}
}
.radioTitle {
margin-block: 0;
}
@media only screen and (width <= 680px) {
.pure-radiobutton input[type="radio"] + label {
margin-block-start: 3px;
}
}