2024-08-28 19:43:39 +08:00
|
|
|
$progress-bar-line-width: 2px;
|
|
|
|
$progress-bar-circle-size: 1.2rem;
|
|
|
|
$progress-bar-icon-size: 0.8rem;
|
|
|
|
|
|
|
|
.signup-progress-bar {
|
|
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
|
|
box-sizing: border-box;
|
|
|
|
margin-bottom: 1.2em;
|
|
|
|
|
|
|
|
&__segment {
|
|
|
|
width: 100%;
|
|
|
|
display: flex;
|
|
|
|
flex-direction: column;
|
|
|
|
gap: 0.5rem;
|
2024-10-25 20:34:59 +08:00
|
|
|
color: var(--primary-low-mid);
|
2024-08-28 19:43:39 +08:00
|
|
|
|
|
|
|
&:first-child .signup-progress-bar__circle {
|
|
|
|
transform: translateX(50%);
|
|
|
|
z-index: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:last-child {
|
|
|
|
width: $progress-bar-circle-size;
|
|
|
|
.signup-progress-bar__circle {
|
|
|
|
transform: translateX(-50%);
|
|
|
|
z-index: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-10-25 20:34:59 +08:00
|
|
|
&__step {
|
|
|
|
display: flex;
|
|
|
|
}
|
|
|
|
|
2024-08-28 19:43:39 +08:00
|
|
|
&__step-text {
|
2024-10-25 20:34:59 +08:00
|
|
|
color: var(--primary-high);
|
2024-08-28 19:43:39 +08:00
|
|
|
white-space: nowrap;
|
|
|
|
width: fit-content;
|
|
|
|
transform: translateX(calc(calc($progress-bar-circle-size / 2) - 50%));
|
|
|
|
|
|
|
|
.signup-progress-bar__segment:first-child & {
|
|
|
|
transform: translateX(0%);
|
|
|
|
}
|
|
|
|
|
|
|
|
.signup-progress-bar__segment:last-child & {
|
|
|
|
transform: translateX(
|
|
|
|
calc(calc($progress-bar-circle-size + $progress-bar-line-width) - 100%)
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2024-10-25 20:34:59 +08:00
|
|
|
.--active & {
|
|
|
|
font-weight: bold;
|
|
|
|
color: var(--primary);
|
|
|
|
}
|
2024-08-28 19:43:39 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
&__line {
|
|
|
|
transform: translateY(
|
|
|
|
calc(calc($progress-bar-circle-size + $progress-bar-line-width) / 2)
|
|
|
|
);
|
|
|
|
height: $progress-bar-line-width;
|
|
|
|
width: 100%;
|
|
|
|
background-color: var(--primary-low-mid);
|
2024-10-25 20:34:59 +08:00
|
|
|
|
|
|
|
.--completed & {
|
|
|
|
background-color: var(--success);
|
|
|
|
}
|
2024-08-28 19:43:39 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
&__circle {
|
|
|
|
flex-shrink: 0;
|
|
|
|
font-size: $progress-bar-icon-size;
|
|
|
|
color: var(--secondary);
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
height: $progress-bar-circle-size;
|
|
|
|
width: $progress-bar-circle-size;
|
|
|
|
border-radius: 50%;
|
|
|
|
border: $progress-bar-line-width solid var(--primary-low-mid);
|
|
|
|
background-color: var(--secondary);
|
|
|
|
|
2024-10-25 20:34:59 +08:00
|
|
|
.--active & {
|
|
|
|
border-color: var(--success);
|
|
|
|
background: var(--success);
|
|
|
|
box-shadow: 0 0 1px 5px var(--success-low);
|
|
|
|
}
|
|
|
|
.--completed & {
|
2024-08-28 19:43:39 +08:00
|
|
|
background-color: var(--success);
|
2024-10-25 20:34:59 +08:00
|
|
|
border-color: var(--success);
|
2024-08-28 19:43:39 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
&__line.--completed {
|
|
|
|
background-color: var(--success);
|
|
|
|
}
|
|
|
|
}
|