styles/xf.animations.less (176 lines of code) (raw):
.xf-viewport-transitioning,
.xf-viewport-transitioning .xf-page {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
overflow: hidden;
.backface-visibility(hidden);
.transform(~"translateZ(0)");
.transform-style(preserve-3d);
}
.xf-viewport-transitioning {
position: relative;
}
.in {
-webkit-animation-timing-function: ease-out;
-moz-animation-timing-function: ease-out;
-o-animation-timing-function: ease-out;
animation-timing-function: ease-out;
z-index: 3;
.transform(~"translateZ(0)");
}
.out {
-webkit-animation-timing-function: ease-in;
-moz-animation-timing-function: ease-in;
-o-animation-timing-function: ease-in;
animation-timing-function: ease-in;
z-index: 2;
.transform(~"translateZ(0)");
}
@-webkit-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
@-moz-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
@-o-keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes fadein {
from { opacity: 0; }
to { opacity: 1; }
}
@-webkit-keyframes fadeout {
from { opacity: 1; }
to { opacity: 0; }
}
@-moz-keyframes fadeout {
from { opacity: 1; }
to { opacity: 0; }
}
@-o-keyframes fadeout {
from { opacity: 1; }
to { opacity: 0; }
}
@keyframes fadeout {
from { opacity: 1; }
to { opacity: 0; }
}
.fade.out {
opacity: 1;
.animation-duration(.2s);
.animation-name(fadeout);
}
.fade.in {
opacity: 0;
.animation-delay(.3s);
.animation-duration(.4s);
.animation-name(fadein);
}
@-webkit-keyframes slideleftout {
from { -webkit-transform: translateX(0); }
to { -webkit-transform: translateX(-100%); }
}
@-moz-keyframes slideleftout {
from { -moz-transform: translateX(0); }
to { -moz-transform: translateX(-100%); }
}
@-o-keyframes slideleftout {
from { -o-transform: translateX(0); }
to { -o-transform: translateX(-100%); }
}
@keyframes slideleftout {
from { transform: translateX(0); }
to { transform: translateX(-100%); }
}
@-webkit-keyframes slideleftin {
from { -webkit-transform: translateX(100%); }
to { -webkit-transform: translateX(0); }
}
@-moz-keyframes slideleftin {
from { -moz-transform: translateX(100%); }
to { -moz-transform: translateX(0); }
}
@-o-keyframes slideleftin {
from { -o-transform: translateX(100%); }
to { -o-transform: translateX(0); }
}
@keyframes slideleftin {
from { transform: translateX(100%); }
to { transform: translateX(0); }
}
.slideleft.out {
z-index: 10;
.transform(~"translateX(0)");
.animation-duration(.25s);
.animation-name(slideleftout);
.animation-timing-function(linear);
}
.slideleft.in {
z-index: 10;
.transform(~"translateX(100%)");
.animation-duration(.25s);
.animation-name(slideleftin);
.animation-timing-function(linear);
}
@-webkit-keyframes sliderightout {
from { -webkit-transform: translateX(0); }
to { -webkit-transform: translateX(100%); }
}
@-moz-keyframes sliderightout {
from { -moz-transform: translateX(0); }
to { -moz-transform: translateX(100%); }
}
@-o-keyframes sliderightout {
from { -o-transform: translateX(0); }
to { -o-transform: translateX(100%); }
}
@keyframes sliderightout {
from { transform: translateX(0); }
to { transform: translateX(100%); }
}
@-webkit-keyframes sliderightin {
from { -webkit-transform: translateX(-100%); }
to { -webkit-transform: translateX(0); }
}
@-moz-keyframes sliderightin {
from { -moz-transform: translateX(-100%); }
to { -moz-transform: translateX(0); }
}
@-o-keyframes sliderightin {
from { -o-transform: translateX(-100%); }
to { -o-transform: translateX(0); }
}
@keyframes sliderightin {
from { transform: translateX(-100%); }
to { transform: translateX(0); }
}
.slideright.out {
z-index: 10;
.transform(~"translateX(0)");
.animation-duration(.25s);
.animation-name(sliderightout);
.animation-timing-function(linear);
}
.slideright.in {
z-index: 10;
.transform(~"translateX(-100%)");
.animation-duration(.25s);
.animation-name(sliderightin);
.animation-timing-function(linear);
}
.none.out {
.animation-duration(.0001s);
.animation-name(fadeout);
.animation-timing-function(linear);
}
.none.in {
.animation-duration(.0001s);
.animation-name(fadein);
.animation-timing-function(linear);
}