plumes
Version:
Flying-fast Metro future vision components
158 lines (134 loc) • 4.4 kB
text/less
@import "../../common/less/common-variables.less";
@import "../../common/less/common-mixins.less";
@-webkit-keyframes pl-button-indicator-show { 0% { -webkit-transform: scale(0); } 100% { -webkit-transform: scale(1); } }
@-moz-keyframes pl-button-indicator-show { 0% { -moz-transform: scale(0); } 100% { -moz-transform: scale(1); } }
@-ms-keyframes pl-button-indicator-show { 0% { -ms-transform: scale(0); } 100% { -ms-transform: scale(1); } }
@-o-keyframes pl-button-indicator-show { 0% { -o-transform: scale(0); } 100% { -o-transform: scale(1); } }
@keyframes pl-button-indicator-show { 0% { transform: scale(0); } 100% { transform: scale(1); } }
@-webkit-keyframes pl-button-indicator-loading { 0% { -webkit-transform: rotate(0deg) scale(1); } 50% { -webkit-transform: rotate(180deg) scale(1.2); opacity: 0.75; } 100% { -webkit-transform: rotate(360deg) scale(1); } }
@-moz-keyframes pl-button-indicator-loading { 0% { -moz-transform: rotate(0deg) scale(1); } 50% { -moz-transform: rotate(180deg) scale(1.2); opacity: 0.75; } 100% { -moz-transform: rotate(360deg) scale(1); } }
@-ms-keyframes pl-button-indicator-loading { 0% { -ms-transform: rotate(0deg) scale(1); } 50% { -ms-transform: rotate(180deg) scale(1.2); opacity: 0.75; } 100% { -ms-transform: rotate(360deg) scale(1); } }
@-o-keyframes pl-button-indicator-loading { 0% { -o-transform: rotate(0deg) scale(1); } 50% { -o-transform: rotate(180deg) scale(1.2); opacity: 0.75; } 100% { -o-transform: rotate(360deg) scale(1); } }
@keyframes pl-button-indicator-loading { 0% { transform: rotate(0deg) scale(1); } 50% { transform: rotate(180deg) scale(1.2); opacity: 0.75; } 100% { transform: rotate(360deg) scale(1); } }
.pl-button-indicator-selector {
position: absolute;
top: -5px;
left: 6px;
width: 3rem;
height: 4rem;
border: 4px solid @accentColor;
border-radius: 50%;
.transform-origin(center center);
.transform(scale(0));
.transition(all 0.55s @easeOutQuart);
&.show {
.transform(scale(1));
}
&.loading {
.animation(pl-button-indicator-loading 1s linear infinite);
}
&::before {
content: '';
position: absolute;
top: 1px;
left: -9px;
width: 4rem;
height: 3rem;
border-width: 4px;
border-style: solid;
border-color: inherit;
border-radius: 50%;
.transform-origin(center center);
}
}
.pl-button-indicator {
.noselect(pointer);
position: relative;
top: -0.5em;
width: 5rem;
height: 5rem;
.rounded(50%);
overflow: hidden;
border: none;
border-radius: 0;
padding: 0;
margin: 0;
.animation(pl-button-indicator-show 0.55s @easeOutQuart);
.transition(all 0.55s @easeOutQuart);
.pl-button-indicator-bg {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 3rem;
.transition(all 0.55s @easeOutQuart);
}
.pl-button-indicator-image, .pl-button-indicator-image:hover, .pl-button-indicator-notification-picture {
position: absolute;
top: 0.5rem;
left: 0.5rem;
height: 4rem;
width: 4rem;
border: none;
border-radius: 50%;
background-size: cover;
background-position: 50%;
background-repeat: no-repeat;
.transition(all 0.7s @easeOutQuart);
&.hide {
opacity: 0;
}
}
.pl-button-indicator-notification-picture {
opacity: 0;
}
.pl-button-indicator-notification-message {
opacity: 0;
position: absolute;
top: 0.9rem;
left: 10rem;
width: 17.5rem;
white-space: normal;
text-align: left;
color: white;
text-transform: none;
font-weight: 400;
font-size: 1.2rem;
line-height: 1.4;
.transition(all 1s @easeOutQuart);
strong {
font-weight: 600;
}
}
.pl-button-indicator-number {
opacity: 0;
position: absolute;
right: 0;
bottom: 0;
box-sizing: border-box;
min-width: 2rem;
height: 2rem;
line-height: 2;
color: white;
border-radius: 1em;
padding: 0 0.4rem;
.transition(all 1s @easeOutQuart);
&.showed {
opacity: 1;
}
}
&.opened {
width: 25rem;
.pl-button-indicator-image, .pl-button-indicator-image:hover, .pl-button-indicator-notification-picture {
.transform(rotate(-360deg));
}
.pl-button-indicator-notification-message {
opacity: 1;
left: 5.5rem;
}
.pl-button-indicator-notification-picture {
opacity: 1;
}
}
}