Current File : /home/jvzmxxx/wiki/extensions/Popups/resources/ext.popups.desktop/ext.popups.animation.less
@import "mediawiki.mixins.animation";

.mwe-popups-translate(@x, @y) {
	-webkit-transform: translate(@x, @y);
	-moz-transform: translate(@x, @y);
	-ms-transform: translate(@x, @y);
	-o-transform: translate(@x, @y);
	transform: translate(@x, @y);
}

/* FIXME: Use Phuedx's approach to make this cleaner
   https://gist.github.com/phuedx/0639a279b6efb1a71474 */
@-webkit-keyframes mwe-popups-fade-in-up {
	.mwe-popups-fade-in-up-frames;
}

@-moz-keyframes mwe-popups-fade-in-up {
	.mwe-popups-fade-in-up-frames;
}

@-o-keyframes mwe-popups-fade-in-up {
	.mwe-popups-fade-in-up-frames;
}

@keyframes mwe-popups-fade-in-up {
	.mwe-popups-fade-in-up-frames;
}

@-webkit-keyframes mwe-popups-fade-in-down{
	.mwe-popups-fade-in-down-frames;
}

@-moz-keyframes mwe-popups-fade-in-down {
	.mwe-popups-fade-in-down-frames;
}

@-o-keyframes mwe-popups-fade-in-down {
	.mwe-popups-fade-in-down-frames;
}

@keyframes mwe-popups-fade-in-down {
	.mwe-popups-fade-in-down-frames;
}

@-webkit-keyframes mwe-popups-fade-out-down {
	.mwe-popups-fade-out-down-frames;
}

@-moz-keyframes mwe-popups-fade-out-down {
	.mwe-popups-fade-out-down-frames;
}

@-o-keyframes mwe-popups-fade-out-down {
	.mwe-popups-fade-out-down-frames;
}

@keyframes mwe-popups-fade-out-down {
	.mwe-popups-fade-out-down-frames;
}

@-webkit-keyframes mwe-popups-fade-out-up {
	.mwe-popups-fade-out-up-frames;
}

@-moz-keyframes mwe-popups-fade-out-up {
	.mwe-popups-fade-out-up-frames;
}

@-o-keyframes mwe-popups-fade-out-up {
	.mwe-popups-fade-out-up-frames;
}

@keyframes mwe-popups-fade-out-up {
	.mwe-popups-fade-out-up-frames;
}

.mwe-popups-fade-in-up-frames() {
	0% {
		opacity: 0;
		.mwe-popups-translate(0, 20px);
	}

	100% {
		opacity: 1;
		.mwe-popups-translate(0, 0);
	}
}

.mwe-popups-fade-in-down-frames() {
	0% {
		opacity: 0;
		.mwe-popups-translate(0, -20px);
	}

	100% {
		opacity: 1;
		.mwe-popups-translate(0, 0);
	}
}

.mwe-popups-fade-out-down-frames() {
	0% {
		opacity: 1;
		.mwe-popups-translate(0, 0);
	}

	100% {
		opacity: 0;
		.mwe-popups-translate(0, 20px);
	}
}

.mwe-popups-fade-out-up-frames() {
	0% {
		opacity: 1;
		.mwe-popups-translate(0, 0);
	}

	100% {
		opacity: 0;
		.mwe-popups-translate(0, -20px);
	}
}

.mwe-popups-fade-in-up {
	.animation(mwe-popups-fade-in-up, 0.3s, ease, forwards);
}

.mwe-popups-fade-in-down {
	.animation(mwe-popups-fade-in-down, 0.3s, ease, forwards);
}

.mwe-popups-fade-out-down {
	.animation(mwe-popups-fade-out-down, 0.15s, ease, forwards);
}

.mwe-popups-fade-out-up {
	.animation(mwe-popups-fade-out-up, 0.15s, ease, forwards);
}