// directional-scss | Author: Tyson Matanich (http://matanich.com), 2013 | License: MIT

// set $dir to ltr if $dir is not yet set
//  (note that rtl build has already set this to rtl)
$dir: ltr !default;

// Set $dir to ltr if not valid (this should never happen)
@if $dir != ltr and $dir != rtl {
  $dir: ltr;
}

@function if-ltr($if, $else: null) {
  @if $dir != rtl {
    @return $if;
  }

  @else {
    @return $else;
  }
}

@function if-rtl($if, $else: null) {
  @return if-ltr($else, $if);
}

$left: if-ltr(left, right);
$right: if-ltr(right, left);

@function side-values($values) {
  @if $dir == rtl and length($values) >= 4 {
    // Reorder right and left positions in list
    @return nth($values, 1) nth($values, 4) nth($values, 3) nth($values, 2);
  }

  @else {
    @return $values;
  }
}

@function corner-values($values) {
  @if $dir == rtl and length($values) > 1 {

    // Reorder right and left positions in list
    @if length($values) == 2 {
      @return nth($values, 2) nth($values, 1);
    }

    @else if length($values) == 3 {
      @return nth($values, 2) nth($values, 1) nth($values, 2) nth($values, 3);
    }

    @else {
      @return nth($values, 2) nth($values, 1) nth($values, 4) nth($values, 3);
    }
  }

  @else {
    @return $values;
  }
}

@mixin if-ltr {
  @if $dir != rtl {
    @content;
  }
}

@mixin if-rtl {
  @if $dir == rtl {
    @content;
  }
}
