react-toolbox/components/ripple/style.scss

56 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-style: preserve-3d;
transform: translate3d(-50%, -50%, 0);
backface-visibility: hidden;
will-change: width, height, opacity;
}
.wrapper {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: $z-index-normal;
pointer-events: none;
}
.normal {
@extend %ripple;
width: 0;
height: 0;
opacity: $ripple-final-opacity;
transition-timing-function: $animation-curve-linear-out-slow-in;
transition-duration: $ripple-duration;
transition-property: height, width;
&:not(.active) {
opacity: 0;
transition-property: height, width, opacity;
&.restarting {
transition-property: none;
}
}
}
.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;
}