/**
 * File: basic/_transform.scss
 * Type: SASS partial
 * Author: Chris Humboldt
 */

// Table of contents
// Transforms
// Transform easing

// Transforms
@mixin transform-rotate($rotate: 0deg) {
   -webkit-transform: rotate($rotate);
   -o-transform: rotate($rotate);
   -moz-transform: rotate($rotate);
   transform: rotate($rotate);
}
@mixin transform-rotate-z($rotate: 0deg) {
   -webkit-transform: rotateZ($rotate);
   -o-transform: rotateZ($rotate);
   -moz-transform: rotateZ($rotate);
   transform: rotateZ($rotate);
}
@mixin transform-scale($x: 1, $y: 1) {
   -webkit-transform: scale($x, $y);
   -o-transform: scale($x, $y);
   -moz-transform: scale($x, $y);
   transform: scale($x, $y);
}
@mixin transform-scale-3d($x: 1, $y: 1, $z: 1) {
   -webkit-transform: scale3d($x, $y, $z);
   -o-transform: scale3d($x, $y, $z);
   -moz-transform: scale3d($x, $y, $z);
   transform: scale3d($x, $y, $z);
}
@mixin transform-translate-3d($x: 0px, $y: 0px, $z: 0px) {
   -webkit-transform: translate3d($x, $y, $z);
   -o-transform: translate3d($x, $y, $z);
   -moz-transform: translate3d($x, $y, $z);
   transform: translate3d($x, $y, $z);
}
@mixin transform-translate-x($x: 0px) {
   -webkit-transform: translateX($x);
   -o-transform: translateX($x);
   -moz-transform: translateX($x);
   transform: translateX($x);
}
@mixin transform-translate-y($y: 0px) {
   -webkit-transform: translateY($y);
   -o-transform: translateY($y);
   -moz-transform: translateY($y);
   transform: translateY($y);
}
@mixin transform-translate-z($z: 0px) {
   -webkit-transform: translateZ($z);
   -o-transform: translateZ($z);
   -moz-transform: translateZ($z);
   transform: translateZ($z);
}

// Transform easing
@mixin transform-easing($x: 0px, $y: 0px, $z: 0px, $transition-speed: 0.2s) {
   @include transform-translate-3d($x, $y, $z);
   -webkit-transition: -webkit-transform $transition-speed ease-out;
   -o-transition: -o-transform $transition-speed ease-out;
   -moz-transition: -moz-transform $transition-speed ease-out;
   transition: transform $transition-speed ease-out;
}
