﻿@mixin mu-translate(
  $pseudo: (),
  $responsive: (),
  $values: (
    0: 0%,
    100: 100%
  )
) {
  @each $key, $value in $values {
    @if type-of($value) != "list" {
      @include mu-create-utility(
        u-translate-x-#{$key},
        (
          transform: translateX($value)
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-translate-y-#{$key},
        (
          transform: translateY($value)
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-translate-z-#{$key},
        (
          transform: translateZ($value)
        ),
        $pseudo,
        $responsive
      );
    } @else {
      @if length($value) == 2 {
        @include mu-create-utility(
          u-translate-#{$key},
          (
            transform: translate(nth($value, 1), nth($value, 2))
          ),
          $pseudo,
          $responsive
        );
      } @else if length($value) == 3 {
        @include mu-create-utility(
          u-translate-#{$key},
          (
            transform: translate3d(nth($value, 1), nth($value, 2), nth($value, 3))
          ),
          $pseudo,
          $responsive
        );
      }
    }
  }
}
