v4web-components
Version:
Stencil Component Starter
225 lines (184 loc) • 6.12 kB
CSS
.v4-progress-indicator {
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.progress-indicator {
display: flex;
width: 100%;
outline: none;
flex-direction: column;
cursor: pointer;
gap: var(--lab-ds-semantic-selectable-space-gap-s);
}
.last.progress-indicator {
width: fit-content;
}
.progress-bar-container {
display: flex;
align-items: center;
}
.progress-bar-icon {
display: flex;
justify-content: center;
align-items: center;
border-style: solid;
z-index: 1;
border-radius: var(--lab-ds-semantic-container-border-radius-pill);
border-width: var(--lab-ds-semantic-selectable-border-width-m);
border-color: var(--lab-ds-semantic-selectable-color-border-default);
background-color: var(--lab-ds-semantic-selectable-color-bg-default);
color: var(--lab-ds-semantic-color-fg-default);
}
.medium .progress-bar-icon {
padding: var(--lab-ds-semantic-selectable-space-padding-xxs);
}
.icon {
color: var(--lab-ds-semantic-color-fg-default);
}
.icon-check {
display: none;
color: var(--lab-ds-semantic-color-fg-default);
}
.dot-icon {
opacity: 0;
width: var(--lab-ds-semantic-selectable-size-xs);
height: var(--lab-ds-semantic-selectable-size-xs);
margin: var(--lab-ds-semantic-selectable-space-padding-xs);
background-color: var(--lab-ds-semantic-selectable-color-primary-default);
border-radius: var(--lab-ds-semantic-container-border-radius-pill);
}
.progress-bar-body {
height: var(--lab-ds-semantic-selectable-size-xxs);
width: 100%;
z-index: 0;
margin-inline: -1px;
border-style: solid;
background-color: var(--lab-ds-semantic-selectable-color-bg-default);
border-width: var(--lab-ds-semantic-selectable-border-width-s);
border-color: var(--lab-ds-semantic-selectable-color-border-default);
border-left-width: 0;
border-right-width: 0;
}
.progress-title-description {
display: flex;
flex-direction: column;
width: fit-content;
text-align: left;
color: var(--lab-ds-semantic-color-fg-default);
gap: var(--lab-ds-semantic-selectable-space-gap-s);
white-space: nowrap;
}
.progress-title {
font: var(--lab-ds-semantic-typography-heading-h6);
}
.progress-description {
font: var(--lab-ds-semantic-typography-body-none-decoration-p3-bold);
}
.inactive.progress-indicator {
cursor: not-allowed;
opacity: var(--lab-ds-core-opacity-80);
}
.inactive .progress-title-description {
color: var(--lab-ds-semantic-color-fg-disabled);
}
.inactive .progress-bar-icon {
border-color: var(--lab-ds-semantic-selectable-color-border-disabled);
background-color: var(--lab-ds-semantic-selectable-color-bg-disabled);
}
.inactive .progress-bar-body {
border-color: var(--lab-ds-semantic-selectable-color-border-disabled);
background-color: var(--lab-ds-semantic-selectable-color-bg-disabled);
}
.inactive .icon {
color: var(--lab-ds-semantic-color-fg-contrast-primary);
}
.in-progress .dot-icon {
opacity: 1;
transition-duration: 300ms;
transition-delay: 700ms;
transition-property: opacity;
}
.in-progress .progress-bar-icon {
border-color: var(--lab-ds-semantic-selectable-color-primary-default);
}
.in-progress .icon {
color: var(--lab-ds-semantic-selectable-color-primary-default);
}
.completed .dot-icon {
display: none;
}
.completed .progress-bar-icon {
border-color: var(--lab-ds-semantic-selectable-color-primary-default);
background-color: var(--lab-ds-semantic-selectable-color-primary-default);
}
.completed .icon-check {
display: flex;
}
.completed .progress-bar-body {
border-color: var(--lab-ds-semantic-selectable-color-primary-default);
}
.completed .progress-bar-body-completed {
width: 100%;
height: 100%;
background-color: var(--lab-ds-semantic-selectable-color-primary-default);
animation: completed-progress 700ms reverse;
}
@keyframes completed-progress {
0% {
width: 100%;
}
100% {
width: 0%;
}
}
.medium .progress-indicator:hover:not(.inactive) .progress-title-description {
color: var(--lab-ds-semantic-selectable-color-primary-hover);
transition: color 100ms ease-in-out;
}
.medium .progress-indicator:hover:not(.inactive) .progress-title {
font: var(--lab-ds-component-button-typography-underlined-large);
text-decoration: var(--lab-ds-core-font-decoration-01);
transition: font 300ms ease-in-out;
}
.progress-indicator:hover:not(.inactive) .progress-bar-icon {
border-color: var(--lab-ds-semantic-selectable-color-primary-default);
}
.medium .progress-indicator:focus:not(.inactive) .progress-title-description {
outline-style: solid;
outline-offset: var(--lab-ds-semantic-selectable-space-padding-xxs);
color: var(--lab-ds-semantic-selectable-color-primary-hover);
outline-color: var(--lab-ds-semantic-selectable-color-primary-focus);
outline-width: var(--lab-ds-semantic-selectable-border-width-s);
border-radius: var(--lab-ds-semantic-selectable-border-radius-xxs);
transition: all 100ms ease-in-out;
}
.medium .progress-indicator:focus:not(.inactive) .progress-title {
font: var(--lab-ds-component-button-typography-underlined-large);
text-decoration: var(--lab-ds-core-font-decoration-01);
}
.small .progress-bar-icon {
border-width: var(--lab-ds-semantic-selectable-border-width-s);
}
.small .dot-icon {
width: var(--lab-ds-semantic-selectable-size-xxs);
height: var(--lab-ds-semantic-selectable-size-xxs);
}
.small .icon {
padding: var(--lab-ds-semantic-selectable-space-padding-xxs);
}
.small .icon-check {
padding: var(--lab-ds-semantic-selectable-space-padding-xxs);
}
.small .progress-bar-body {
height: 6px;
border-width: var(--lab-ds-semantic-selectable-border-width-s);
border-left-width: 0;
border-right-width: 0;
}
.small .progress-title {
font: var(--lab-ds-semantic-typography-heading-h7);
}
.small .progress-description {
font: var(--lab-ds-semantic-typography-body-none-decoration-p4-bold);
}