com.phloxui
Version:
PhloxUI Ng2+ Framework
371 lines (311 loc) • 5.5 kB
text/less
// Override animation keyframes
@keyframes material-ball-pulse-rise-odd {
0% {
-webkit-transform: scale(.4);
transform: scale(.4);
}
25% {
-webkit-transform: translateY(250%);
transform: translateY(250%);
}
50% {
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
75% {
-webkit-transform: translateY(-250%);
transform: translateY(-250%);
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
-webkit-transform: scale(.75);
transform: scale(.75);
}
}
@keyframes material-ball-pulse-rise-even {
0% {
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
25% {
-webkit-transform: translateY(-250%);
transform: translateY(-250%);
}
50% {
-webkit-transform: scale(.4);
transform: scale(.4);
}
75% {
-webkit-transform: translateY(250%);
transform: translateY(250%);
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
-webkit-transform: scale(1);
transform: scale(1);
}
}
@keyframes material-ball-pulse-sync {
33% {
-webkit-transform: translateY(75%);
transform: translateY(75%)
}
66% {
-webkit-transform: translateY(-75%);
transform: translateY(-75%)
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0)
}
}
.material-icon-loader {
.phlox-transition();
position: relative;
width: @DEFAULT_MATERIAL_ICON_LOADER_SIZE;
height: @DEFAULT_MATERIAL_ICON_LOADER_SIZE;
opacity: 0;
.loader {
width: 100%;
height: 100%;
> div {
width: 100%;
height: 100%;
transform: none;
position: static;
> div {
// Loader node
margin: 0;
}
}
> .ball-clip-rotate-pulse {
> div {
&:first-child {
background-color: extract(@CLR_1, 5);
width: 50%;
height: 50%;
top: 25%;
left: 25%;
}
&:last-child {
border-color: extract(@CLR_1, 5) transparent;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
}
}
> .ball-clip-rotate {
> div {
width: 100%;
height: 100%;
border-color: extract(@CLR_1, 5);
border-bottom-color: transparent;
}
}
> .ball-scale-ripple-multiple {
> div {
border-color: extract(@CLR_1, 5);
width: 100%;
height: 100%;
top: 0;
left: 0;
}
}
> .ball-scale-multiple {
> div {
background-color: extract(@CLR_1, 5);
width: 100%;
height: 100%;
top: 0;
left: 0;
}
}
> .line-spin-fade-loader {
> div {
background: extract(@CLR_1, 5);
width: 10%;
height: 25%;
&:nth-child(1) {
top: 75%;
left: 45%;
}
&:nth-child(2) {
top: 65%;
left: 73.84%;
}
&:nth-child(3) {
top: 37.5%;
left: 87.5%;
}
&:nth-child(4) {
top: 10%;
left: 73.84%;
}
&:nth-child(5) {
top: 0;
left: 45%;
}
&:nth-child(6) {
top: 10%;
left: 17.32%;
}
&:nth-child(7) {
top: 37.85%;
left: 0;
}
&:nth-child(8) {
top: 65%;
left: 17.32%;
}
}
}
> .line-scale {
> div {
background: extract(@CLR_1, 5);
width: 10%;
height: 100%;
margin: 0 5%;
}
}
> .ball-pulse {
> div {
position: absolute;
top: 37.5%;
background: extract(@CLR_1, 5);
width: 25%;
height: 25%;
margin: 0 4.16%;
&:nth-child(1) {
left: 0;
}
&:nth-child(2) {
left: 33.32%;
}
&:nth-child(3) {
left: 66.64%;
}
}
}
> .ball-grid-pulse {
> div {
background: extract(@CLR_1, 5);
width: 25%;
height: 25%;
margin: 4.16%;
}
}
> .square-spin {
> div {
background: extract(@CLR_1, 5);
border: none;
width: 100%;
height: 100%;
}
}
> .ball-clip-rotate-multiple {
> div {
&:nth-child(1) {
border-color: extract(@CLR_1, 5) transparent;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
&:nth-child(2) {
border-color: transparent extract(@CLR_1, 5);
width: 40%;
height: 40%;
top: 30%;
left: 30%;
}
}
}
> .ball-pulse-rise {
> div {
position: absolute;
top: 42%;
background: extract(@CLR_1, 5);
width: 16%;
height: 16%;
margin: 0 2%;
&:nth-child(2n-1) {
animation-name: material-ball-pulse-rise-odd;
}
&:nth-child(2n) {
animation-name: material-ball-pulse-rise-even;
}
&:nth-child(1) {
left: 0;
}
&:nth-child(2) {
left: 20%;
}
&:nth-child(3) {
left: 40%;
}
&:nth-child(4) {
left: 60%;
}
&:nth-child(5) {
left: 80%;
}
}
}
> .line-scale-party {
> div {
background: extract(@CLR_1, 5);
width: 10%;
height: 100%;
margin: 0 5%;
}
}
> .line-scale-pulse-out {
> div {
background: extract(@CLR_1, 5);
width: 10%;
height: 100%;
margin: 0 5%;
}
}
> .line-scale-pulse-out-rapid {
> div {
background: extract(@CLR_1, 5);
width: 10%;
height: 100%;
margin: 0 5%;
}
}
> .ball-pulse-sync {
> div {
position: absolute;
top: 37.5%;
background: extract(@CLR_1, 5);
width: 25%;
height: 25%;
margin: 0 4.16%;
animation-name: material-ball-pulse-sync;
&:nth-child(1) {
left: 0;
}
&:nth-child(2) {
left: 33.32%;
}
&:nth-child(3) {
left: 66.64%;
}
}
}
}
&.disable {}
&.stop {
opacity: 0;
}
&.running {
opacity: 1;
}
&.paused {}
}