UNPKG

@bee-design/ui

Version:

Bee Design React UI Library.

430 lines (360 loc) 9.92 kB
@import '../../style/theme/default.less'; @import './token.less'; @progress-prefix-cls: ~'@{prefix}-progress'; .@{progress-prefix-cls} { position: relative; line-height: 1; font-size: @progress-line-size-default-font-size; &-line, &-steps { display: inline-block; max-width: 100%; width: 100%; &-wrapper { display: flex; align-items: center; width: 100%; max-width: 100%; height: 100%; } &-text { font-size: @progress-line-size-default-font-size; margin-left: @progress-line-margin-text-left; color: @progress-line-color-text; white-space: nowrap; text-align: right; flex-grow: 1; flex-shrink: 0; min-width: 32px; .@{prefix}-icon { font-size: @progress-line-size-default-icon-size; margin-left: @progress-line-margin-icon-left; } } } // type = line &-line { &-outer { background-color: @progress-line-color-line-bg; border-radius: 100px; width: 100%; position: relative; display: inline-block; overflow: hidden; } &-inner { height: 100%; border-radius: 100px; background-color: @progress-line-color-inner-bg; position: relative; transition: width 0.6s @transition-timing-function-standard, background 0.3s @transition-timing-function-standard; max-width: 100%; &-buffer { position: absolute; background-color: @progress-line-color-buffer-bg; height: 100%; top: 0; left: 0; border-radius: 0 100px 100px 0; max-width: 100%; transition: all 0.6s @transition-timing-function-standard; } &-animate::after { content: ''; display: block; position: absolute; top: 0; width: 100%; height: 100%; border-radius: inherit; background: linear-gradient( 90deg, transparent 25%, rgba(255, 255, 255, 50%) 50%, transparent 75% ); background-size: 400% 100%; animation: ~'@{prefix}-progress-loading' 1.5s @transition-timing-function-standard infinite; } } &-text { .@{prefix}-icon { color: @progress-line-color-icon_normal; } } } &-steps { &-outer { display: flex; width: 100%; } &-text { margin-left: @progress-steps-margin-text-left; min-width: unset; .@{prefix}-icon { color: @progress-line-color-icon_normal; } } &-item { height: 100%; flex: 1; background-color: @progress-steps-color-item-bg; position: relative; display: inline-block; &: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; } } // size small &.@{progress-prefix-cls}-small { width: auto; } &.@{progress-prefix-cls}-small &-item { width: @progress-steps-size-small-steps-item-width; flex: unset; border-radius: @progress-steps-size-small-steps-item-width; &:not(:last-of-type) { margin-right: @progress-steps-margin-steps-item-right_small; } } } &-is-warning { .@{progress-prefix-cls}-line-inner { 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; } } &-is-success { .@{progress-prefix-cls}-line-inner { 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; } } &-is-error { .@{progress-prefix-cls}-line-inner { 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 &-small { .@{progress-prefix-cls}-line-text { font-size: @progress-line-size-small-font-size; margin-left: @progress-line-size-small-margin-text-left; } .@{progress-prefix-cls}-line-text .@{prefix}-icon { font-size: @progress-line-size-small-icon-size; } } &-large { .@{progress-prefix-cls}-line-text { font-size: @progress-line-size-large-font-size; margin-left: @progress-line-size-large-margin-text-left; } .@{progress-prefix-cls}-line-text .@{prefix}-icon { font-size: @progress-line-size-large-icon-size; } } } // type = circle .@{progress-prefix-cls} { &-circle { display: inline-block; &-wrapper { position: relative; text-align: center; line-height: 1; display: inline-block; vertical-align: text-bottom; } &-svg { transform: rotate(-90deg); } &-text { font-size: @progress-circle-size-default-font-size; .@{prefix}-icon { font-size: @progress-circle-size-default-icon-size; color: @progress-line-color-icon_normal; } } .@{progress-prefix-cls}-circle-text { position: absolute; top: 50%; left: 50%; color: @progress-circle-color-text; transform: translate(-50%, -50%); } &-mask { stroke: @progress-circle-color-mask-stroke; } &-path { stroke: @progress-circle-color-path-stroke; transition: stroke-dashoffset 0.6s @transition-timing-function-linear 0s, stroke 0.6s @transition-timing-function-linear; } } &-mini { .@{progress-prefix-cls}-circle-mask { stroke: @progress-circle-size-mini-color-mask-stroke; } .@{progress-prefix-cls}-circle-path { stroke: @progress-circle-color-path-stroke; } &.@{progress-prefix-cls}-is-warning { .@{progress-prefix-cls}-circle-mask { stroke: @progress-circle-size-mini-color-mask-stroke_warning; } } &.@{progress-prefix-cls}-is-error { .@{progress-prefix-cls}-circle-mask { stroke: @progress-circle-size-mini-color-mask-stroke_error; } } &.@{progress-prefix-cls}-is-success { .@{progress-prefix-cls}-circle-mask { 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; } } &-small { .@{progress-prefix-cls}-circle-text { font-size: @progress-circle-size-small-font-size; .@{prefix}-icon { font-size: @progress-circle-size-small-icon-size; } } } &-large { .@{progress-prefix-cls}-circle-text { font-size: @progress-circle-size-large-font-size; .@{prefix}-icon { font-size: @progress-circle-size-large-icon-size; } } } &-is-warning { .@{progress-prefix-cls}-circle-path { stroke: @progress-circle-color-path-stroke_warning; } .@{prefix}-icon { color: @progress-circle-color-icon_warning; } } &-is-success { .@{progress-prefix-cls}-circle-path { stroke: @progress-circle-color-path-stroke_success; } .@{prefix}-icon { color: @progress-circle-color-icon_success; } } &-is-error { .@{progress-prefix-cls}-circle-path { 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%; } } .@{progress-prefix-cls}-rtl { .@{progress-prefix-cls}-line, .@{progress-prefix-cls}-steps { &-text { margin-left: 0; margin-right: @progress-line-margin-text-left; .@{prefix}-icon { margin-left: 0; margin-right: @progress-line-margin-icon-left; } } } & .@{progress-prefix-cls}-steps { &-text { margin-left: 0; margin-right: @progress-steps-margin-text-left; } &-item { &:not(:last-of-type) { margin-right: 0; margin-left: @progress-steps-margin-steps-item-right; } } } &.@{progress-prefix-cls}-steps.@{progress-prefix-cls}-small { .@{progress-prefix-cls}-steps-item { &:not(:last-of-type) { margin-right: 0; margin-left: @progress-steps-margin-steps-item-right_small; } } } &.@{progress-prefix-cls}-small { .@{progress-prefix-cls}-line-text { margin-right: @progress-line-size-small-margin-text-left; margin-left: 0; } } &.@{progress-prefix-cls}-large { .@{progress-prefix-cls}-line-text { margin-right: @progress-line-size-large-margin-text-left; margin-left: 0; } } &.@{progress-prefix-cls}-line { .@{progress-prefix-cls}-line-inner-buffer { left: initial; right: 0; } } }