react-toolbox/components/ripple/style.scss

59 lines
1.2 KiB
SCSS

@import "../base";
@import "./config";
%ripple {
position: absolute;
z-index: $z-index-high;
pointer-events: none;
background-color: currentColor;
border-radius: 50%;
transform-origin: 50% 50%;
}
.wrapper {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: $z-index-normal;
pointer-events: none;
}
.normal {
@extend %ripple;
transition-duration: $ripple-duration;
&.restarting {
transform: translate3d(-50%, -50%, 0) scale(0);
transition-property: none;
opacity: $ripple-final-opacity;
}
&.active {
transform: translate3d(-50%, -50%, 0) scale(1);
transition-property: transform;
opacity: $ripple-final-opacity;
}
&:not(.active):not(.restarting) {
transform: translate3d(-50%, -50%, 0) scale(1);
transition-property: opacity, transform;
opacity: 0;
}
}
.loading {
@extend %ripple;
@include ripple-loading(ripple, $ripple-size, $ripple-size);
top: 50%;
left: 50%;
width: $ripple-size;
height: $ripple-size;
opacity: $ripple-final-opacity;
animation-name: ripple;
animation-duration: $ripple-duration;
animation-timing-function: $animation-curve-linear-out-slow-in;
animation-iteration-count: infinite;
}