UNPKG

acud

Version:

acg react 组件库

269 lines (243 loc) • 6.08 kB
@import '../../style/themes/index.less'; @import '../../style/mixins/index.less'; @steps-prefix-cls: ~'@{acud-prefix}-steps'; @process-icon-color: @B6; @process-icon-border-color: @B6; @process-title-color: @G2; @process-description-color: @G5; @process-icon-text-color: @G11; @wait-icon-color: @G5; @wait-icon-border-color: @G8; @wait-title-color: @G5; @wait-description-color: @G5; @wait-tail-color: @G8; @finish-icon-color: @B6; @finish-icon-border-color: @B6; @finish-title-color: @G2; @finish-description-color: @G5; @finish-tail-color: @G8; @error-icon-color: @G11; @error-icon-border-color: @E6; @error-title-color: @G2; @error-description-color: @G5; @error-tail-color: @G8; @steps-nav-active-color: @G2; @process-tail-color: @G8; .@{steps-prefix-cls} { .reset-component(); display: flex; width: 100%; font-size: 0; text-align: initial; } .@{steps-prefix-cls}-item { position: relative; display: inline-block; flex: 1; overflow: hidden; vertical-align: top; &-container { outline: none; } &:last-child { flex: none; } &:last-child > &-container > &-tail, &:last-child > &-container > &-content > &-title::after { display: none; } &-icon, &-content { display: inline-block; vertical-align: top; } &-icon { width: @steps-icon-size; height: @steps-icon-size; margin: @steps-icon-margin; font-size: @steps-icon-font-size; font-family: @font-family; text-align: center; border: @border-width-base @border-style-base @wait-icon-color; border-radius: @steps-icon-size; transition: background-color 0.3s, border-color 0.3s; position: relative; .@{steps-prefix-cls}-icon, svg { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); line-height: @steps-icon-size; } .basic-config(@steps-icon-tp, @steps-icon-p); } &-tail { position: absolute; top: 12px; left: 0; width: 100%; padding: 0 10px; &::after { display: inline-block; width: 100%; height: 1px; background: @G8; border-radius: 1px; transition: background 0.3s; content: ''; } } &-title { position: relative; display: inline-block; padding-right: 8px; font-size: @steps-font-size-lg; line-height: @steps-title-line-height; font-weight: @font-weight-400; .basic-tp-config(@steps-title-tp); &::after { position: absolute; top: (@steps-title-line-height / 2); left: 100%; display: block; width: 9999px; height: 1px; background: @wait-tail-color; content: ''; } } &-subtitle { display: inline; margin-left: 8px; color: @G5; font-weight: @font-weight-200; font-size: @steps-font-size-base; } &-description { font-size: @steps-font-size-base; margin-top: 1 * @P; font-weight: @font-weight-400; } .step-item-status(process); .step-item-status(wait); &-wait > &-container > &-icon { .@{steps-prefix-cls}-icon { color: @G6; } } &-process > &-container > &-icon { background: @process-icon-color; .@{steps-prefix-cls}-icon { color: @process-icon-text-color; } } &-process > &-container > &-title { font-weight: 500; } &-finish > &-container > &-icon { // background: #fff; .@{steps-prefix-cls}-icon { color: @finish-icon-color; } } .step-item-status(finish); .step-item-status(error); &.@{steps-prefix-cls}-next-error .@{steps-prefix-cls}-item-title::after { background: @error-icon-color; } &-error > &-container > &-icon { // background: @error-title-color; .@{steps-prefix-cls}-icon { color: @error-icon-border-color; } } &-disabled { cursor: not-allowed; } } // ===================== Clickable ===================== .@{steps-prefix-cls} .@{steps-prefix-cls}-item { &:not(.@{steps-prefix-cls}-item-active) { & > .@{steps-prefix-cls}-item-container[role='button'] { cursor: pointer; .@{steps-prefix-cls}-item { &-title, &-subtitle, &-description, &-icon .@{steps-prefix-cls}-icon { transition: color 0.3s; } } &:hover { .@{steps-prefix-cls}-item { &-title, &-subtitle { .basic-tp-config(@steps-title-tp); } } .@{steps-prefix-cls}-item-icon { .basic-p-config(@steps-icon-p); .@{steps-prefix-cls}-icon { .basic-tp-config(@steps-icon-tp); } } } } } } .@{steps-prefix-cls}-horizontal:not(.@{steps-prefix-cls}-label-vertical) { .@{steps-prefix-cls}-item { padding-left: 8px; white-space: nowrap; &:first-child { padding-left: 0; } &:last-child .@{steps-prefix-cls}-item-title { padding-right: 0; } &-tail { display: none; } &-description { max-width: @steps-description-max-width; white-space: normal; } } } .step-item-status(@status) { @icon-color: '@{status}-icon-color'; @title-color: '@{status}-title-color'; @description-color: '@{status}-description-color'; @tail-color: '@{status}-tail-color'; @icon-border-color: '@{status}-icon-border-color'; &-@{status} &-icon { background-color: @G11; border-color: @@icon-border-color; > .@{steps-prefix-cls}-icon { color: @@icon-color; .@{steps-prefix-cls}-icon-dot { background: @@icon-color; } } } &-@{status} > &-container > &-content > &-title { color: @@title-color; &::after { background-color: @@tail-color; } } &-@{status} > &-container > &-content > &-description { color: @@description-color; } &-@{status} > &-container > &-tail::after { background-color: @@tail-color; } } @import './custom-icon.less'; @import './small.less'; @import './vertical.less'; @import './label-placement.less'; @import './progress-dot.less'; @import './nav.less'; @import './rtl.less'; @import './progress.less';