tdesign-react
Version:
TDesign Component for React
172 lines (171 loc) • 4.24 kB
CSS
.t-progress {
font: var(--td-font-body-medium);
color: var(--td-text-color-primary);
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
list-style: none;
}
.t-progress__inner {
position: relative;
height: 100%;
background: var(--td-brand-color);
border-radius: var(--td-radius-round);
-webkit-transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
}
.t-progress__info {
margin-left: var(--td-comp-margin-s);
color: var(--td-text-color-primary);
white-space: nowrap;
display: -webkit-inline-box;
display: -ms-inline-flexbox;
display: inline-flex;
}
.t-progress__icon {
font-size: calc(var(--td-font-size-body-medium) + 2px);
}
.t-progress__bar {
width: 100%;
height: var(--td-size-3);
overflow: hidden;
background: var(--td-bg-color-component);
border-radius: var(--td-radius-round);
}
.t-progress--thin {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.t-progress--plump {
height: var(--td-comp-size-xxs);
border-radius: calc(var(--td-comp-size-xxs) / 2);
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
.t-progress--plump .t-progress__info {
font-size: var(--td-font-size-body-small);
}
.t-progress--over-ten .t-progress__info {
position: absolute;
top: 50%;
z-index: 10;
right: var(--td-comp-margin-s);
color: var(--td-text-color-anti);
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
.t-progress--under-ten .t-progress__info,
.t-progress--under-ten .t-progress__inner {
display: inline-block;
}
.t-progress--under-ten .t-progress__info {
vertical-align: top;
}
.t-progress--circle {
position: relative;
}
.t-progress--circle .t-progress__info {
position: absolute;
display: block;
top: 50%;
left: 50%;
width: 100%;
margin: 0;
font-size: inherit;
font-weight: 600;
line-height: 1;
text-align: center;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.t-progress--circle .t-progress__circle-outer {
stroke: var(--td-bg-color-component);
}
.t-progress--circle .t-progress__circle-inner {
stroke: var(--td-brand-color);
-webkit-transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
transition: all 0.2s cubic-bezier(0.38, 0, 0.24, 1);
}
.t-progress--circle .t-progress__icon {
font-size: 2.4em;
}
.t-progress--status--active .t-progress__inner::before {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
content: "";
-webkit-animation: progress-active-animation 2s cubic-bezier(0.23, 0.99, 0.86, 0.2) infinite;
animation: progress-active-animation 2s cubic-bezier(0.23, 0.99, 0.86, 0.2) infinite;
background: var(--td-text-color-anti);
opacity: 0.2;
}
.t-progress--status--success .t-progress__inner {
background: var(--td-success-color);
}
.t-progress--status--success .t-progress__circle-inner {
stroke: var(--td-success-color);
}
.t-progress--status--success .t-progress__icon {
color: var(--td-success-color);
}
.t-progress--status--warning .t-progress__inner {
background: var(--td-warning-color);
}
.t-progress--status--warning .t-progress__circle-inner {
stroke: var(--td-warning-color);
}
.t-progress--status--warning .t-progress__icon {
color: var(--td-warning-color);
}
.t-progress--status--error .t-progress__inner {
background: var(--td-error-color);
}
.t-progress--status--error .t-progress__circle-inner {
stroke: var(--td-error-color);
}
.t-progress--status--error .t-progress__icon {
color: var(--td-error-color);
}
@-webkit-keyframes progress-active-animation {
0% {
width: 0;
opacity: 0.1;
}
35% {
width: 50%;
opacity: 0.4;
}
100% {
width: 100%;
opacity: 0;
}
}
@keyframes progress-active-animation {
0% {
width: 0;
opacity: 0.1;
}
35% {
width: 50%;
opacity: 0.4;
}
100% {
width: 100%;
opacity: 0;
}
}