81 lines
1.2 KiB
SCSS
81 lines
1.2 KiB
SCSS
@use '$src/themes/spacing' as *;
|
|
@use '$src/themes/layout' as *;
|
|
@use '$src/themes/colors' as *;
|
|
@use '$src/themes/typography' as *;
|
|
|
|
.repSegment {
|
|
position: relative;
|
|
flex: 1;
|
|
min-width: 0;
|
|
padding: 0;
|
|
background: transparent;
|
|
border: none;
|
|
border-radius: $item-corner;
|
|
cursor: pointer;
|
|
transition: all 0.2s ease;
|
|
|
|
&:hover {
|
|
background: $grey-100;
|
|
}
|
|
|
|
&:focus-visible {
|
|
outline: 2px solid var(--focus-ring);
|
|
outline-offset: 2px;
|
|
}
|
|
|
|
&.selected .wrapper,
|
|
&:hover .wrapper {
|
|
opacity: 1;
|
|
}
|
|
|
|
&:hover .label {
|
|
color: var(--text-primary);
|
|
}
|
|
}
|
|
|
|
.indicator {
|
|
position: absolute;
|
|
inset: 0;
|
|
background: $grey-100;
|
|
border-radius: $item-corner;
|
|
opacity: 0;
|
|
transition: opacity 0.2s ease;
|
|
|
|
[data-state='checked'] & {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.wrapper {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
gap: $unit;
|
|
padding: $unit;
|
|
opacity: 0.7;
|
|
transition: opacity 0.2s ease;
|
|
|
|
[data-state='checked'] & {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.content {
|
|
width: 100%;
|
|
min-height: 60px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
.label {
|
|
font-size: $font-small;
|
|
font-weight: $medium;
|
|
color: var(--text-secondary);
|
|
white-space: nowrap;
|
|
|
|
[data-state='checked'] & {
|
|
color: var(--text-primary);
|
|
}
|
|
}
|