hensei-web/src/lib/components/ui/segmented-control/rep-segment.module.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);
}
}