|
|
|
.zoom-motion(@className, @keyframeName) {
|
|
|
|
.make-motion(@className, @keyframeName);
|
|
|
|
.@{className}-enter, .@{className}-appear {
|
|
|
|
transform: scale(0); // need this by yiminghe
|
|
|
|
animation-timing-function: @ease-out-circ;
|
|
|
|
}
|
|
|
|
.@{className}-leave {
|
|
|
|
animation-timing-function: @ease-in-out-circ;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.zoom-motion(zoom, antZoom);
|
|
|
|
.zoom-motion(zoom-big, antZoomBig);
|
|
|
|
.zoom-motion(zoom-up, antZoomUp);
|
|
|
|
.zoom-motion(zoom-down, antZoomDown);
|
|
|
|
.zoom-motion(zoom-left, antZoomLeft);
|
|
|
|
.zoom-motion(zoom-right, antZoomRight);
|
|
|
|
|
|
|
|
|
|
|
|
.zoom-tag-leave{
|
|
|
|
animation: antZoomOut .3s @ease-in-out-circ;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@keyframes antZoomIn {
|
|
|
|
0% {
|
|
|
|
opacity: 0;
|
|
|
|
transform: scale(0);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes antZoomOut {
|
|
|
|
0% {
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
opacity: 0;
|
|
|
|
transform: scale(0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@keyframes antZoomBigIn {
|
|
|
|
0% {
|
|
|
|
opacity: 0;
|
|
|
|
transform: scale(.8);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes antZoomBigOut {
|
|
|
|
0% {
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
opacity: 0;
|
|
|
|
transform: scale(.8);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes antZoomUpIn {
|
|
|
|
0% {
|
|
|
|
opacity: 0;
|
|
|
|
transform-origin: 50% 0%;
|
|
|
|
transform: scale(.8);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
transform-origin: 50% 0%;
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes antZoomUpOut {
|
|
|
|
0% {
|
|
|
|
transform-origin: 50% 0%;
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
opacity: 0;
|
|
|
|
transform-origin: 50% 0%;
|
|
|
|
transform: scale(.8);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes antZoomLeftIn {
|
|
|
|
0% {
|
|
|
|
opacity: 0;
|
|
|
|
transform-origin: 0% 50%;
|
|
|
|
transform: scale(.8);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
transform-origin: 0% 50%;
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes antZoomLeftOut {
|
|
|
|
0% {
|
|
|
|
transform-origin: 0% 50%;
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
opacity: 0;
|
|
|
|
transform-origin: 0% 50%;
|
|
|
|
transform: scale(.8);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes antZoomRightIn {
|
|
|
|
0% {
|
|
|
|
opacity: 0;
|
|
|
|
transform-origin: 100% 50%;
|
|
|
|
transform: scale(.8);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
transform-origin: 100% 50%;
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes antZoomRightOut {
|
|
|
|
0% {
|
|
|
|
transform-origin: 100% 50%;
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
opacity: 0;
|
|
|
|
transform-origin: 100% 50%;
|
|
|
|
transform: scale(.8);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes antZoomDownIn {
|
|
|
|
0% {
|
|
|
|
opacity: 0;
|
|
|
|
transform-origin: 50% 100%;
|
|
|
|
transform: scale(.8);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
transform-origin: 50% 100%;
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes antZoomDownOut {
|
|
|
|
0% {
|
|
|
|
transform-origin: 50% 100%;
|
|
|
|
transform: scale(1);
|
|
|
|
}
|
|
|
|
100% {
|
|
|
|
opacity: 0;
|
|
|
|
transform-origin: 50% 100%;
|
|
|
|
transform: scale(.8);
|
|
|
|
}
|
|
|
|
}
|