Files
htwkalender-pwa/frontend/public/primevue-sass-theme/theme-base/components/input/_radiobutton.scss
2024-06-10 10:50:27 +02:00

171 lines
3.3 KiB
SCSS

// core
.p-radiobutton {
position: relative;
display: inline-flex;
user-select: none;
vertical-align: bottom;
}
.p-radiobutton-input {
cursor: pointer;
}
.p-radiobutton-box {
display: flex;
justify-content: center;
align-items: center;
}
.p-radiobutton-icon {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
transform: translateZ(0) scale(0.1);
border-radius: 50%;
visibility: hidden;
}
.p-radiobutton.p-highlight .p-radiobutton-icon {
transform: translateZ(0) scale(1, 1);
visibility: visible;
}
// theme
.p-radiobutton {
width: $radiobuttonWidth;
height: $radiobuttonHeight;
.p-radiobutton-input {
appearance: none;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
padding: 0;
margin: 0;
opacity: 0;
z-index: 1;
outline: 0 none;
border: $radiobuttonBorder;
border-radius: 50%;
}
.p-radiobutton-box {
border: $radiobuttonBorder;
background: $inputBg;
width: $radiobuttonWidth;
height: $radiobuttonHeight;
color: $textColor;
border-radius: 50%;
transition: $formElementTransition;
outline-color: transparent;
.p-radiobutton-icon {
width: $radiobuttonIconSize;
height: $radiobuttonIconSize;
transition-duration: $transitionDuration;
background-color: $radiobuttonIconActiveColor;
}
}
&.p-highlight {
.p-radiobutton-box {
border-color: $radiobuttonActiveBorderColor;
background: $radiobuttonActiveBg;
}
}
&:not(.p-disabled) {
&:has(.p-radiobutton-input:hover) {
.p-radiobutton-box {
border-color: $inputHoverBorderColor;
}
&.p-highlight {
.p-radiobutton-box {
border-color: $radiobuttonActiveHoverBorderColor;
background: $radiobuttonActiveHoverBg;
.p-radiobutton-icon {
background-color: $radiobuttonIconActiveHoverColor;
}
}
}
}
&:has(.p-radiobutton-input:focus-visible) {
.p-radiobutton-box {
@include focused-input();
}
}
}
&.p-invalid > .p-radiobutton-box {
@include invalid-input();
}
&.p-variant-filled {
.p-radiobutton-box {
background-color: $inputFilledBg;
}
&.p-highlight {
.p-radiobutton-box {
background: $radiobuttonActiveBg;
}
}
&:not(.p-disabled) {
&:has(.p-radiobutton-input:hover) {
.p-radiobutton-box {
background-color: $inputFilledHoverBg;
}
&.p-highlight {
.p-radiobutton-box {
background: $radiobuttonActiveHoverBg;
}
}
}
}
}
}
.p-input-filled {
.p-radiobutton {
.p-radiobutton-box {
background-color: $inputFilledBg;
}
&.p-highlight {
.p-radiobutton-box {
background: $radiobuttonActiveBg;
}
}
&:not(.p-disabled) {
&:has(.p-radiobutton-input:hover) {
.p-radiobutton-box {
background-color: $inputFilledHoverBg;
}
&.p-highlight {
.p-radiobutton-box {
background: $radiobuttonActiveHoverBg;
}
}
}
}
}
}
@if ($highlightBg == $radiobuttonActiveBg) {
.p-highlight {
.p-radiobutton {
.p-radiobutton-box {
border-color: $radiobuttonIconActiveColor;
}
}
}
}