UNPKG

winbox-ui-next

Version:

We Design Vue 2.0: A Vue.js 3 UI Library

379 lines (316 loc) 9.16 kB
@import '../../style/theme/index.less'; @import './token.less'; @progress-prefix-cls: ~'@{prefix}-progress'; .@{progress-prefix-cls} { position: relative; font-size: @progress-line-size-default-font-size; line-height: 1; &-type-line, &-type-steps { display: inline-block; width: 100%; max-width: 100%; } &-type-line { &.@{progress-prefix-cls}-size-mini { width: auto; } } &-line, &-steps { &-wrapper { display: flex; align-items: center; width: 100%; max-width: 100%; height: 100%; } &-text { flex-grow: 1; flex-shrink: 0; min-width: @progress-line-size-text-width; margin-left: @progress-line-margin-text-left; color: @progress-line-color-text; font-size: @progress-line-size-default-font-size; white-space: nowrap; text-align: right; .@{prefix}-icon { margin-left: @progress-line-margin-icon-left; font-size: @progress-line-size-default-icon-size; } } } // type = line &-line { position: relative; display: inline-block; width: 100%; overflow: hidden; background-color: @progress-line-color-line-bg; border-radius: 100px; &-bar { position: relative; max-width: 100%; height: 100%; background-color: @progress-line-color-inner-bg; border-radius: 100px; transition: width 0.6s @transition-timing-function-standard, background 0.3s @transition-timing-function-standard; &-buffer { position: absolute; top: 0; left: 0; max-width: 100%; height: 100%; background-color: @progress-line-color-buffer-bg; border-radius: 0 100px 100px 0; transition: all 0.6s @transition-timing-function-standard; } &-animate::after { position: absolute; top: 0; display: block; width: 100%; height: 100%; background: linear-gradient( 90deg, transparent 25%, rgba(255, 255, 255, 0.5) 50%, transparent 75% ); background-size: 400% 100%; border-radius: inherit; animation: ~'@{prefix}-progress-loading' 1.5s @transition-timing-function-standard infinite; content: ''; } } &-text { .@{prefix}-icon { color: @progress-line-color-icon_normal; } } } &-type-steps { // size small &.@{progress-prefix-cls}-size-small { width: auto; } &.@{progress-prefix-cls}-size-small .@{progress-prefix-cls}-steps-item { flex: unset; width: @progress-steps-size-small-steps-item-width; border-radius: @progress-steps-size-small-steps-item-width; &:not(:last-of-type) { margin-right: @progress-steps-margin-steps-item-right_small; } } } &-steps { display: flex; width: 100%; &-text { min-width: unset; margin-left: @progress-steps-margin-text-left; .@{prefix}-icon { color: @progress-line-color-icon_normal; } } &-item { position: relative; display: inline-block; flex: 1; height: 100%; background-color: @progress-steps-color-item-bg; &:not(:last-of-type) { margin-right: @progress-steps-margin-steps-item-right; } &:last-of-type { border-top-right-radius: 100px; border-bottom-right-radius: 100px; } &:first-of-type { border-top-left-radius: 100px; border-bottom-left-radius: 100px; } &-active { background-color: @progress-steps-color-item-bg_normal; } } } &-status-warning { .@{progress-prefix-cls}-line-bar { background-color: @progress-line-color-inner-bg_warning; } .@{progress-prefix-cls}-steps-item-active { background-color: @progress-steps-color-item-bg_warning; } .@{progress-prefix-cls}-line-text .@{prefix}-icon, .@{progress-prefix-cls}-steps-text .@{prefix}-icon { color: @progress-line-color-icon_warning; } } &-status-success { .@{progress-prefix-cls}-line-bar { background-color: @progress-line-color-inner-bg_success; } .@{progress-prefix-cls}-steps-item-active { background-color: @progress-steps-color-item-bg_success; } .@{progress-prefix-cls}-line-text .@{prefix}-icon, .@{progress-prefix-cls}-steps-text .@{prefix}-icon { color: @progress-line-color-icon_success; } } &-status-danger { .@{progress-prefix-cls}-line-bar { background-color: @progress-line-color-inner-bg_error; } .@{progress-prefix-cls}-steps-item-active { background-color: @progress-steps-color-item-bg_error; } .@{progress-prefix-cls}-line-text .@{prefix}-icon, .@{progress-prefix-cls}-steps-text .@{prefix}-icon { color: @progress-line-color-icon_error; } } // size &-size-mini { .@{progress-prefix-cls}-circle-bg { stroke: @progress-circle-size-mini-color-mask-stroke; } .@{progress-prefix-cls}-circle-bar { stroke: @progress-circle-color-path-stroke; } &.@{progress-prefix-cls}-status-warning { .@{progress-prefix-cls}-circle-bg { stroke: @progress-circle-size-mini-color-mask-stroke_warning; } } &.@{progress-prefix-cls}-status-danger { .@{progress-prefix-cls}-circle-bg { stroke: @progress-circle-size-mini-color-mask-stroke_error; } } &.@{progress-prefix-cls}-status-success { .@{progress-prefix-cls}-circle-bg { stroke: @progress-circle-size-mini-color-mask-stroke_success; } } .@{progress-prefix-cls}-circle-wrapper .@{prefix}-icon-check { position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); } .@{progress-prefix-cls}-circle-text { position: static; top: unset; left: unset; transform: unset; } } &-size-small { .@{progress-prefix-cls}-line-text { margin-left: @progress-line-size-small-margin-text-left; font-size: @progress-line-size-small-font-size; } .@{progress-prefix-cls}-line-text .@{prefix}-icon { font-size: @progress-line-size-small-icon-size; } } &-size-medium { .@{progress-prefix-cls}-line-text { margin-left: @progress-line-size-medium-margin-text-left; font-size: @progress-line-size-medium-font-size; } .@{progress-prefix-cls}-line-text .@{prefix}-icon { font-size: @progress-line-size-medium-icon-size; } } } // type = circle .@{progress-prefix-cls} { &-type-circle { display: inline-block; } &-circle { &-wrapper { position: relative; display: inline-block; line-height: 1; text-align: center; vertical-align: text-bottom; } &-svg { transform: rotate(-90deg); } &-text { position: absolute; top: 50%; left: 50%; color: @progress-circle-color-text; font-size: @progress-circle-size-default-font-size; transform: translate(-50%, -50%); .@{prefix}-icon { color: @progress-line-color-icon_normal; font-size: @progress-circle-size-default-icon-size; } } &-bg { stroke: @progress-circle-color-mask-stroke; } &-bar { transition: stroke-dashoffset 0.6s @transition-timing-function-linear 0s, stroke 0.6s @transition-timing-function-linear; stroke: @progress-circle-color-path-stroke; } } &-size-small { .@{progress-prefix-cls}-circle-text { font-size: @progress-circle-size-small-font-size; .@{prefix}-icon { font-size: @progress-circle-size-small-icon-size; } } } &-size-medium { .@{progress-prefix-cls}-circle-text { font-size: @progress-circle-size-medium-font-size; .@{prefix}-icon { font-size: @progress-circle-size-medium-icon-size; } } } &-status-warning { .@{progress-prefix-cls}-circle-bar { stroke: @progress-circle-color-path-stroke_warning; } .@{prefix}-icon { color: @progress-circle-color-icon_warning; } } &-status-success { .@{progress-prefix-cls}-circle-bar { stroke: @progress-circle-color-path-stroke_success; } .@{prefix}-icon { color: @progress-circle-color-icon_success; } } &-status-danger { .@{progress-prefix-cls}-circle-bar { stroke: @progress-circle-color-path-stroke_error; } .@{prefix}-icon { color: @progress-circle-color-icon_error; } } } @keyframes ~'@{prefix}-progress-loading' { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }