wix-style-react
Version:
237 lines (207 loc) • 4.89 kB
CSS
:import {
-st-from: '../Foundation/stylable/colors.st.css';
-st-named: B10, R10, P10, G10;
}
:import {
-st-from: '../Foundation/stylable/mixins/calc.js';
-st-default: calc;
}
:import {
-st-from: '../Foundation/stylable/easing.st.css';
-st-named: ease-3;
}
:vars {
animationDuration: 1050ms;
smallShadowSpread: 30px;
mediumShadowSpread: 12px;
}
/* B10 */
@keyframes pulseSmallB10 {
0% {
box-shadow: 0 0 0 0px value(B10);
opacity: 0.2;
}
43% {
opacity: 0.2;
}
100% {
box-shadow: 0 0 0 value(smallShadowSpread) value(B10);
opacity: 0;
}
}
@keyframes pulseMediumB10 {
0% {
box-shadow: 0 0 0 0px value(B10);
opacity: 0.2;
}
43% {
opacity: 0.2;
}
100% {
box-shadow: 0 0 0 value(mediumShadowSpread) value(B10);
opacity: 0;
}
}
/* R10 */
@keyframes pulseSmallR10 {
0% {
box-shadow: 0 0 0 0px value(R10);
opacity: 0.2;
}
43% {
opacity: 0.2;
}
100% {
box-shadow: 0 0 0 value(smallShadowSpread) value(R10);
opacity: 0;
}
}
@keyframes pulseMediumR10 {
0% {
box-shadow: 0 0 0 0px value(R10);
opacity: 0.2;
}
43% {
opacity: 0.2;
}
100% {
box-shadow: 0 0 0 value(mediumShadowSpread) value(R10);
opacity: 0;
}
}
/* P10 */
@keyframes pulseSmallP10 {
0% {
box-shadow: 0 0 0 0px value(P10);
opacity: 0.2;
}
43% {
opacity: 0.2;
}
100% {
box-shadow: 0 0 0 value(smallShadowSpread) value(P10);
opacity: 0;
}
}
@keyframes pulseMediumP10 {
0% {
box-shadow: 0 0 0 0px value(P10);
opacity: 0.2;
}
43% {
opacity: 0.2;
}
100% {
box-shadow: 0 0 0 value(mediumShadowSpread) value(P10);
opacity: 0;
}
}
/* G10 */
@keyframes pulseSmallG10 {
0% {
box-shadow: 0 0 0 0px value(G10);
opacity: 0.2;
}
43% {
opacity: 0.2;
}
100% {
box-shadow: 0 0 0 value(smallShadowSpread) value(G10);
opacity: 0;
}
}
@keyframes pulseMediumG10 {
0% {
box-shadow: 0 0 0 0px value(G10);
opacity: 0.2;
}
43% {
opacity: 0.2;
}
100% {
box-shadow: 0 0 0 value(mediumShadowSpread) value(G10);
opacity: 0;
}
}
.root {
-st-states: active, loop, size(enum(small, medium)),
color(enum(B10, R10, P10, G10));
width: fit-content;
position: relative;
}
.root::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: inherit;
pointer-events: none;
}
/* Medium */
.root:active:color(B10):size(medium):loop::before {
animation: pulseMediumB10 value(animationDuration) value(ease-3) infinite;
animation-delay: inherit;
}
.root:active:color(B10):size(medium)::before {
animation: pulseMediumB10 value(animationDuration) value(ease-3);
animation-delay: inherit;
}
.root:active:color(R10):size(medium):loop::before {
animation: pulseMediumR10 value(animationDuration) value(ease-3) infinite;
animation-delay: inherit;
}
.root:active:color(R10):size(medium)::before {
animation: pulseMediumR10 value(animationDuration) value(ease-3);
animation-delay: inherit;
}
.root:active:color(P10):size(medium):loop::before {
animation: pulseMediumP10 value(animationDuration) value(ease-3) infinite;
animation-delay: inherit;
}
.root:active:color(P10):size(medium)::before {
animation: pulseMediumP10 value(animationDuration) value(ease-3);
animation-delay: inherit;
}
.root:active:color(G10):size(medium):loop::before {
animation: pulseMediumG10 value(animationDuration) value(ease-3) infinite;
animation-delay: inherit;
}
.root:active:color(G10):size(medium)::before {
animation: pulseMediumG10 value(animationDuration) value(ease-3);
animation-delay: inherit;
}
/* Small */
.root:active:color(B10):size(small):loop::before {
animation: pulseSmallB10 value(animationDuration) value(ease-3) infinite;
animation-delay: inherit;
}
.root:active:color(B10):size(small)::before {
animation: pulseSmallB10 value(animationDuration) value(ease-3);
animation-delay: inherit;
}
.root:active:color(R10):size(small):loop::before {
animation: pulseSmallR10 value(animationDuration) value(ease-3) infinite;
animation-delay: inherit;
}
.root:active:color(R10):size(small)::before {
animation: pulseSmallR10 value(animationDuration) value(ease-3);
animation-delay: inherit;
}
.root:active:color(P10):size(small):loop::before {
animation: pulseSmallP10 value(animationDuration) value(ease-3) infinite;
animation-delay: inherit;
}
.root:active:color(P10):size(small)::before {
animation: pulseSmallP10 value(animationDuration) value(ease-3);
animation-delay: inherit;
}
.root:active:color(G10):size(small):loop::before {
animation: pulseSmallG10 value(animationDuration) value(ease-3) infinite;
animation-delay: inherit;
}
.root:active:color(G10):size(small)::before {
animation: pulseSmallG10 value(animationDuration) value(ease-3);
animation-delay: inherit;
}