2025-04-19 15:38:48 +08:00

318 lines
5.5 KiB
SCSS

@import "mixins/mixins";
@import "common/var";
@include b(step) {
position: relative;
flex-shrink: 1;
@include pseudo(last-of-type) {
@include e(line) {
display: none;
}
// 只有未设置 space 的情况下才自适应宽度
@include when(flex) {
flex-basis: auto !important;
flex-shrink: 0;
flex-grow: 0;
}
@include e((main, description)) {
padding-right: 0;
}
}
@include e(head) {
position: relative;
width: 100%;
@include when(process) {
color: $--color-text-primary;
border-color: $--color-text-primary;
}
@include when(wait) {
color: $--color-text-placeholder;
border-color: $--color-text-placeholder;
}
@include when(success) {
color: $--color-success;
border-color: $--color-success;
}
@include when(error) {
color: $--color-danger;
border-color: $--color-danger;
}
@include when(finish) {
color: $--color-primary;
border-color: $--color-primary;
}
}
@include e(icon) {
position: relative;
z-index: 1;
display: inline-flex;
justify-content: center;
align-items: center;
width: 24px;
height: 24px;
font-size: 14px;
box-sizing: border-box;
background: $--color-white;
transition: .15s ease-out;
@include when(text) {
border-radius: 50%;
border: 2px solid;
border-color: inherit;
}
@include when(icon) {
width: 40px;
}
}
@include e(icon-inner) {
display: inline-block;
user-select: none;
text-align: center;
font-weight: bold;
line-height: 1;
color: inherit;
&[class*=el-icon]:not(.is-status) {
font-size: 25px;
font-weight: normal;
}
// 组件自身表示状态的图标
@include when(status) {
transform: translateY(1px);
}
}
@include e(line) {
position: absolute;
border-color: inherit;
background-color: $--color-text-placeholder;
}
@include e(line-inner) {
display: block;
border-width: 1px;
border-style: solid;
border-color: inherit;
transition: .15s ease-out;
box-sizing: border-box;
width: 0;
height: 0;
}
@include e(main) {
white-space: normal;
text-align: left;
}
@include e(title) {
font-size: 16px;
line-height: 38px;
@include when(process) {
font-weight: bold;
color: $--color-text-primary;
}
@include when(wait) {
color: $--color-text-placeholder;
}
@include when(success) {
color: $--color-success;
}
@include when(error) {
color: $--color-danger;
}
@include when(finish) {
color: $--color-primary;
}
}
@include e(description) {
padding-right: 10%;
margin-top: -5px;
font-size: 12px;
line-height: 20px;
font-weight: normal;
@include when(process) {
color: $--color-text-primary;
}
@include when(wait) {
color: $--color-text-placeholder;
}
@include when(success) {
color: $--color-success;
}
@include when(error) {
color: $--color-danger;
}
@include when(finish) {
color: $--color-primary;
}
}
@include when(horizontal) {
display: inline-block;
@include e(line) {
height: 2px;
top: 11px;
left: 0;
right: 0;
}
}
@include when(vertical) {
display: flex;
@include e(head) {
flex-grow: 0;
width: 24px;
}
@include e(main) {
padding-left: 10px;
flex-grow: 1;
}
@include e(title) {
line-height: 24px;
padding-bottom: 8px;
}
@include e(line) {
width: 2px;
top: 0;
bottom: 0;
left: 11px;
}
@include e(icon) {
@include when(icon) {
width: 24px;
}
}
}
@include when(center) {
@include e(head) {
text-align: center;
}
@include e(main) {
text-align: center;
}
@include e(description) {
padding-left: 20%;
padding-right: 20%;
}
@include e(line) {
left: 50%;
right: -50%;
}
}
@include when(simple) {
display: flex;
align-items: center;
@include e(head) {
width: auto;
font-size: 0;
padding-right: 10px;
}
@include e(icon) {
background: transparent;
width: 16px;
height: 16px;
font-size: 12px;
}
@include e(icon-inner) {
&[class*=el-icon]:not(.is-status) {
font-size: 18px;
}
&.is-status {
transform: scale(.8) translateY(1px);
}
}
@include e(main) {
position: relative;
display: flex;
align-items: stretch;
flex-grow: 1;
}
@include e(title) {
font-size: 16px;
line-height: 20px;
}
@include pseudo('not(:last-of-type)') {
@include e(title) {
max-width: 50%;
word-break: break-all;
}
}
@include e(arrow) {
flex-grow: 1;
display: flex;
align-items: center;
justify-content: center;
&::before,
&::after {
content: '';
display: inline-block;
position: absolute;
height: 15px;
width: 1px;
background: $--color-text-placeholder;
}
&::before {
transform: rotate(-45deg) translateY(-4px);
transform-origin: 0 0;
}
&::after {
transform: rotate(45deg) translateY(4px);
transform-origin: 100% 100%;
}
}
@include pseudo(last-of-type) {
@include e(arrow) {
display: none;
}
}
}
}