choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
312 lines (311 loc) • 7.48 kB
CSS
/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */
/* stylelint-disable no-duplicate-selectors */
/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors */
/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors */
.c7n-progress {
-webkit-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
padding: 0;
list-style: none;
display: inline-block;
}
.c7n-progress-line {
position: relative;
width: 100%;
font-size: 0.13rem;
}
.c7n-progress-small.c7n-progress-line,
.c7n-progress-small.c7n-progress-line .c7n-progress-text .icon {
font-size: 0.12rem;
}
.c7n-progress-outer {
display: inline-block;
width: 100%;
margin-right: 0;
padding-right: 0;
}
.c7n-progress-show-info .c7n-progress-outer {
margin-right: calc(-2em - .08rem);
padding-right: calc(2em + .08rem);
}
.c7n-progress-inner {
position: relative;
display: inline-block;
width: 100%;
vertical-align: middle;
background-color: #f5f5f5;
border-radius: 1rem;
}
.c7n-progress-circle-trail {
stroke: #f5f5f5;
}
.c7n-progress-circle-path {
-webkit-animation: c7n-progress-appear 0.3s;
animation: c7n-progress-appear 0.3s;
stroke: #3f51b5;
}
.c7n-progress-success-bg,
.c7n-progress-bg {
position: relative;
background-color: #3f51b5;
border-radius: 1rem;
-webkit-transition: all 0.4s cubic-bezier(0, 0, 0.2, 1) 0s;
transition: all 0.4s cubic-bezier(0, 0, 0.2, 1) 0s;
}
.c7n-progress-success-bg {
position: absolute;
top: 0;
left: 0;
background-color: #00bf96;
}
.c7n-progress-text {
display: inline-block;
width: 2em;
margin-left: 0.08rem;
color: rgba(0, 0, 0, 0.45);
font-size: 1em;
line-height: 1;
text-align: left;
vertical-align: middle;
word-break: normal;
}
.c7n-progress-text .icon {
font-size: 0.13rem;
}
.c7n-progress-circle .c7n-progress-inner {
position: relative;
line-height: 1;
background-color: transparent;
}
.c7n-progress-circle .c7n-progress-text {
position: absolute;
top: 50%;
left: 0;
display: block;
width: 100%;
margin: 0;
color: #000000;
line-height: 1;
text-align: center;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
.c7n-progress-circle .c7n-progress-text .icon {
font-size: 1.16666667em;
}
.c7n-progress-circle .c7n-progress-text-bottom {
position: absolute;
top: 90%;
left: 0;
display: block;
width: 100%;
margin: 0;
color: #000000;
line-height: 1;
text-align: center;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
.c7n-progress-circle .c7n-progress-text-bottom .icon {
font-size: 1.16666667em;
}
.c7n-progress-circle .c7n-progress-pointer {
position: absolute;
top: 15%;
left: 50%;
width: 35%;
height: 35%;
-webkit-transform-origin: bottom left;
-ms-transform-origin: bottom left;
transform-origin: bottom left;
}
.c7n-progress-circle .c7n-progress-pointer svg {
position: absolute;
top: 35%;
left: -18.75%;
width: 100%;
height: 85%;
}
.c7n-progress-circle .c7n-progress-pointer img {
position: absolute;
top: 20%;
left: -20%;
height: 100%;
}
.c7n-progress-circle .c7n-progress-pointer-circle {
position: absolute;
top: 90px;
left: 90px;
width: 20px;
height: 20px;
border: 2px solid #000;
border-radius: 50%;
}
.c7n-progress-circle .c7n-progress-pointer-line {
position: absolute;
top: 23px;
left: 101px;
width: 2px;
height: 80px;
background: red;
}
.c7n-progress-loading .c7n-progress-inner {
width: 0.3rem;
height: 0.3rem;
background-color: transparent;
-webkit-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
transform: rotate(-90deg);
}
.c7n-progress-loading .c7n-progress-inner svg {
-webkit-animation: c7n-progress-rotate 1.4s linear infinite;
animation: c7n-progress-rotate 1.4s linear infinite;
}
.c7n-progress-loading .c7n-progress-inner circle {
-webkit-animation: c7n-progress-loading 1.4s ease-in-out infinite;
animation: c7n-progress-loading 1.4s ease-in-out infinite;
fill: none;
stroke: #3f51b5;
stroke-width: 4;
stroke-dasharray: 80px 200px;
stroke-dashoffset: 0;
}
.c7n-progress-small.c7n-progress-loading .c7n-progress-inner {
width: 0.2rem;
height: 0.2rem;
}
.c7n-progress-large.c7n-progress-loading .c7n-progress-inner {
width: 0.5rem;
height: 0.5rem;
}
.c7n-progress-status-pointer-success {
fill: #00bf96;
}
.c7n-progress-status-pointer-exception {
fill: #d50000;
}
.c7n-progress-status-pointer-normal {
fill: #3f51b5;
}
.c7n-progress-status-active .c7n-progress-bg::before {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: #fff;
border-radius: 0.1rem;
opacity: 0;
-webkit-animation: c7n-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;
animation: c7n-progress-active 2.4s cubic-bezier(0.23, 1, 0.32, 1) infinite;
content: '';
}
.c7n-progress-status-exception .c7n-progress-bg {
background-color: #d50000;
}
.c7n-progress-status-exception .c7n-progress-text {
color: #d50000;
}
.c7n-progress-status-exception .c7n-progress-circle-path {
stroke: #d50000;
}
.c7n-progress-status-exception .c7n-progress-inner circle {
stroke: #d50000;
}
.c7n-progress-status-success .c7n-progress-bg {
background-color: #00bf96;
}
.c7n-progress-status-success .c7n-progress-text {
color: #00bf96;
}
.c7n-progress-status-success .c7n-progress-circle-path {
stroke: #00bf96;
}
.c7n-progress-status-success .c7n-progress-inner circle {
stroke: #00bf96;
}
@-webkit-keyframes c7n-progress-rotate {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes c7n-progress-rotate {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@-webkit-keyframes c7n-progress-loading {
0% {
stroke-dasharray: 1px 200px;
stroke-dashoffset: 0;
}
30% {
stroke-dasharray: 100px 200px;
stroke-dashoffset: -15px;
}
100% {
stroke-dasharray: 100px 200px;
stroke-dashoffset: -120px;
}
}
@keyframes c7n-progress-loading {
0% {
stroke-dasharray: 1px 200px;
stroke-dashoffset: 0;
}
30% {
stroke-dasharray: 100px 200px;
stroke-dashoffset: -15px;
}
100% {
stroke-dasharray: 100px 200px;
stroke-dashoffset: -120px;
}
}
@-webkit-keyframes c7n-progress-active {
0% {
-webkit-transform: translateX(-100%) scaleX(0);
transform: translateX(-100%) scaleX(0);
opacity: 0.1;
}
20% {
-webkit-transform: translateX(-100%) scaleX(0);
transform: translateX(-100%) scaleX(0);
opacity: 0.5;
}
100% {
-webkit-transform: translateX(0) scaleX(1);
transform: translateX(0) scaleX(1);
opacity: 0;
}
}
@keyframes c7n-progress-active {
0% {
-webkit-transform: translateX(-100%) scaleX(0);
transform: translateX(-100%) scaleX(0);
opacity: 0.1;
}
20% {
-webkit-transform: translateX(-100%) scaleX(0);
transform: translateX(-100%) scaleX(0);
opacity: 0.5;
}
100% {
-webkit-transform: translateX(0) scaleX(1);
transform: translateX(0) scaleX(1);
opacity: 0;
}
}