| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | @function _linear-positions-parser($pos) {  $type: type-of(nth($pos, 1));  $spec: null;  $degree: null;  $side: null;  $corner: null;  $length: length($pos);  // Parse Side and corner positions  @if ($length > 1) {    @if nth($pos, 1) == "to" { // Newer syntax      $side: nth($pos, 2);      @if $length == 2 { // eg. to top        // Swap for backwards compatability        $degree: _position-flipper(nth($pos, 2));      }      @else if $length == 3 { // eg. to top left        $corner: nth($pos, 3);      }    }    @else if $length == 2 { // Older syntax ("top left")      $side: _position-flipper(nth($pos, 1));      $corner: _position-flipper(nth($pos, 2));    }    @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") {      $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});    }    @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") {      $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});    }    @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") {      $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});    }    @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") {      $degree: _position-flipper(#{$side}) _position-flipper(#{$corner});    }    $spec: to $side $corner;  }  @else if $length == 1 {    // Swap for backwards compatability    @if $type == string {      $degree: $pos;      $spec: to _position-flipper($pos);    }    @else {      $degree: -270 - $pos; //rotate the gradient opposite from spec      $spec: $pos;    }  }  $degree: unquote($degree + ",");  $spec:   unquote($spec + ",");  @return $degree $spec;}@function _position-flipper($pos) { @return if($pos == left, right, null)         if($pos == right, left, null)         if($pos == top, bottom, null)         if($pos == bottom, top, null);}
 |