csfieldguide/static/scss/third-party/_directional.scss
// directional-scss | Author: Tyson Matanich (http://matanich.com), 2013 | License: MIT
$dir: ltr !default;
// Default $dir if not valid
@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;
}
}