зеркало из https://github.com/docker/kitematic.git
138 строки
3.2 KiB
Plaintext
138 строки
3.2 KiB
Plaintext
@import "variables.less";
|
|
|
|
@-webkit-keyframes rotating {
|
|
from{
|
|
-webkit-transform: rotate(0deg);
|
|
}
|
|
to{
|
|
-webkit-transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
.radial-progress {
|
|
|
|
&.radial-spinner {
|
|
-webkit-animation: rotating 1.6s linear infinite;
|
|
}
|
|
|
|
@circle-size: 140px;
|
|
@circle-background: red;
|
|
@inset-size: @circle-size - 4;
|
|
@inset-color: white;
|
|
@transition-length: 1s;
|
|
// @percentage-color: #3FD899;
|
|
@percentage-font-size: 24px;
|
|
@percentage-text-width: 57px;
|
|
background: white;
|
|
margin: 0 auto;
|
|
|
|
width: @circle-size;
|
|
height: @circle-size;
|
|
|
|
border-radius: 100%;
|
|
.circle {
|
|
.mask, .fill, .shadow {
|
|
width: @circle-size;
|
|
height: @circle-size;
|
|
position: absolute;
|
|
border-radius: 100%;
|
|
}
|
|
.mask, .fill {
|
|
-webkit-backface-visibility: hidden;
|
|
transition: -webkit-transform @transition-length;
|
|
transition: -ms-transform @transition-length;
|
|
transition: transform @transition-length;
|
|
border-radius: 100%;
|
|
}
|
|
.mask {
|
|
clip: rect(0px, @circle-size, @circle-size, @circle-size/2.0);
|
|
.fill {
|
|
clip: rect(0px, @circle-size/2.0, @circle-size, 0px);
|
|
background-color: @brand-action;
|
|
}
|
|
}
|
|
}
|
|
.inset {
|
|
width: @inset-size;
|
|
height: @inset-size;
|
|
position: absolute;
|
|
margin-left: (@circle-size - @inset-size) / 2.0;
|
|
margin-top: (@circle-size - @inset-size) / 2.0;
|
|
|
|
background-color: @inset-color;
|
|
border-radius: 100%;
|
|
.percentage {
|
|
width: @percentage-text-width;
|
|
position: absolute;
|
|
top: (@inset-size - @percentage-font-size) / 2.0;
|
|
left: (@inset-size - @percentage-text-width) / 2.0;
|
|
|
|
line-height: 1;
|
|
text-align: center;
|
|
|
|
color: @brand-primary;
|
|
font-weight: 500;
|
|
font-size: @percentage-font-size;
|
|
}
|
|
}
|
|
|
|
|
|
&.radial-negative .circle .mask .fill {
|
|
background-color: @brand-negative;
|
|
}
|
|
|
|
&.radial-positive .circle .mask .fill {
|
|
background-color: @brand-positive;
|
|
}
|
|
|
|
&.radial-thick {
|
|
@inset-size: @circle-size - 10;
|
|
.inset {
|
|
width: @inset-size;
|
|
height: @inset-size;
|
|
margin-left: (@circle-size - @inset-size) / 2.0;
|
|
margin-top: (@circle-size - @inset-size) / 2.0;
|
|
.percentage {
|
|
top: (@inset-size - @percentage-font-size) / 2.0;
|
|
left: (@inset-size - @percentage-text-width) / 2.0;
|
|
}
|
|
}
|
|
}
|
|
|
|
&.radial-gray {
|
|
background: @gray-lightest;
|
|
}
|
|
|
|
&.radial-transparent {
|
|
@inset-color: @color-background;
|
|
background: @color-background;
|
|
.inset {
|
|
background-color: @inset-color;
|
|
}
|
|
}
|
|
|
|
@i: 0;
|
|
@increment: 180deg / 100;
|
|
.loop (@i) when (@i <= 100) {
|
|
&[data-progress="@{i}"] {
|
|
.circle {
|
|
.mask.full, .fill {
|
|
-webkit-transform: rotate(@increment * @i);
|
|
-ms-transform: rotate(@increment * @i);
|
|
transform: rotate(@increment * @i);
|
|
}
|
|
.fill.fix {
|
|
-webkit-transform: rotate(@increment * @i * 2);
|
|
-ms-transform: rotate(@increment * @i * 2);
|
|
transform: rotate(@increment * @i * 2);
|
|
}
|
|
}
|
|
.inset .percentage:before {
|
|
content: "@{i}%"
|
|
}
|
|
}
|
|
.loop(@i + 1);
|
|
}
|
|
.loop(@i);
|
|
}
|