You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.4 KiB
73 lines
1.4 KiB
2 years ago
|
// 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;
|
||
|
}
|
||
|
}
|