123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- //
- // Steps
- //
- .steps {
- --#{$prefix}steps-color: #{$steps-color};
- --#{$prefix}steps-inactive-color: #{$steps-inactive-color};
- --#{$prefix}steps-dot-size: .5rem;
- --#{$prefix}steps-border-width: #{$steps-border-width};
- display: flex;
- flex-wrap: nowrap;
- width: 100%;
- padding: 0;
- margin: 0;
- list-style: none;
- }
- @each $name, $color in $extra-colors {
- .steps-#{$name} {
- --#{$prefix}steps-color: var(--#{$prefix}#{$name});
- }
- }
- //
- // Step item
- //
- .step-item {
- position: relative;
- flex: 1 1 0;
- min-height: 1rem;
- margin-top: 0;
- color: inherit;
- text-align: center;
- cursor: default;
- padding-top: calc(var(--#{$prefix}steps-dot-size));
- @at-root a#{&} {
- cursor: pointer;
- &:hover {
- color: inherit;
- }
- }
- &:after,
- &:before {
- background: var(--#{$prefix}steps-color);
- }
- &:not(:last-child):after {
- position: absolute;
- left: 50%;
- width: 100%;
- content: "";
- transform: translateY(-50%);
- }
- &:after {
- top: calc(var(--#{$prefix}steps-dot-size) * .5);
- height: var(--#{$prefix}steps-border-width);
- }
- &:before {
- content: "";
- position: absolute;
- top: 0;
- left: 50%;
- z-index: 1;
- box-sizing: content-box;
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: $border-radius-pill;
- transform: translateX(-50%);
- color: var(--#{$prefix}white);
- width: var(--#{$prefix}steps-dot-size);
- height: var(--#{$prefix}steps-dot-size);
- }
- &.active {
- font-weight: var(--#{$prefix}font-weight-bold);
- &:after {
- background: var(--#{$prefix}steps-inactive-color);
- }
- & ~ .step-item {
- color: var(--#{$prefix}disabled-color);
- &:after,
- &:before {
- background: var(--#{$prefix}steps-inactive-color);
- }
- }
- }
- }
- //
- // Steps counter
- //
- .steps-counter {
- --#{$prefix}steps-dot-size: 1.5rem;
- counter-reset: steps;
- .step-item {
- counter-increment: steps;
- &:before {
- content: counter(steps);
- }
- }
- }
- //
- // Steps vertical
- //
- .steps-vertical {
- --#{$prefix}steps-dot-offset: 6px;
- flex-direction: column;
- &.steps-counter {
- --#{$prefix}steps-dot-offset: -2px;
- }
- .step-item {
- text-align: left;
- padding-top: 0;
- padding-left: calc(var(--#{$prefix}steps-dot-size) + 1rem);
- min-height: auto;
- &:not(:first-child) {
- margin-top: 1rem;
- }
- &:before {
- top: var(--#{$prefix}steps-dot-offset);
- left: 0;
- transform: translate(0, 0);
- }
- &:not(:last-child) {
- &:after {
- position: absolute;
- content: '';
- transform: translateX(-50%);
- top: var(--#{$prefix}steps-dot-offset);
- left: calc(var(--#{$prefix}steps-dot-size) * 0.5);
- width: var(--#{$prefix}steps-border-width);
- height: calc(100% + 1rem);
- }
- }
- }
- }
|