Files
shopit-front/src/app/shared/components/stepper/stepper.component.scss

97 lines
1.8 KiB
SCSS

.stepper-container {
display: flex;
flex-direction: column;
width: 100%;
}
/* ─── Header (indicator bar) ─── */
.stepper-header {
display: flex;
align-items: flex-start;
justify-content: center;
gap: 0;
margin-bottom: 2rem;
position: relative;
&__item {
display: flex;
flex-direction: column;
align-items: center;
flex: 0 1 190px;
width: 100%;
max-width: 190px;
position: relative;
}
&__line {
position: absolute;
top: 5px; // center of the 10px dot
right: 50%;
left: -50%;
height: 2px;
background-color: #d9d9d9;
transition: background-color 0.35s ease;
z-index: 0;
&.is-completed {
background-color: var(--bs-primary);
}
}
&__circle {
position: relative;
z-index: 1;
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #d9d9d9; // default: inactive future
border: none;
cursor: default;
transition: background-color 0.3s cubic-bezier(0.4, 0, 0.2, 1);
padding: 0;
&.is-clickable {
cursor: pointer;
}
}
&__label {
margin-top: 10px;
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
color: #d9d9d9; // default: inactive future
text-align: center;
transition: color 0.3s ease;
max-width: 120px;
line-height: 1.3;
}
// Active step
&__item.is-active {
.stepper-header__circle {
background-color: #666666;
}
.stepper-header__label {
color: #666666;
}
}
// Completed past step
&__item.is-completed {
.stepper-header__circle {
background-color: var(--bs-primary);
}
.stepper-header__label {
color: var(--bs-primary);
}
}
}
/* ─── Body (content area) ─── */
.stepper-body {
// step.component.html controls visibility via @if (isActive())
}