comparison default/assets/scss/vendors/bourbon/utilities/_directional-values.scss @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:1d038bc9b3d2
1 @charset "UTF-8";
2
3 // scss-lint:disable SpaceAroundOperator
4
5 /// Output directional properties, for instance `margin`.
6 ///
7 /// @argument {string} $pre
8 /// Prefix to use.
9 ///
10 /// @argument {string} $suf
11 /// Suffix to use.
12 ///
13 /// @argument {list} $values
14 /// List of values.
15 ///
16 /// @require {function} _collapse-directionals
17 ///
18 /// @require {function} _contains-falsy
19 ///
20 /// @access private
21
22 @mixin _directional-property(
23 $pre,
24 $suf,
25 $values
26 ) {
27
28 $top: $pre + "-top" + if($suf, "-#{$suf}", "");
29 $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", "");
30 $left: $pre + "-left" + if($suf, "-#{$suf}", "");
31 $right: $pre + "-right" + if($suf, "-#{$suf}", "");
32 $all: $pre + if($suf, "-#{$suf}", "");
33
34 $values: _collapse-directionals($values);
35
36 @if _contains-falsy($values) {
37 @if nth($values, 1) { #{$top}: nth($values, 1); }
38
39 @if length($values) == 1 {
40 @if nth($values, 1) { #{$right}: nth($values, 1); }
41 } @else {
42 @if nth($values, 2) { #{$right}: nth($values, 2); }
43 }
44
45 @if length($values) == 2 {
46 @if nth($values, 1) { #{$bottom}: nth($values, 1); }
47 @if nth($values, 2) { #{$left}: nth($values, 2); }
48 } @else if length($values) == 3 {
49 @if nth($values, 3) { #{$bottom}: nth($values, 3); }
50 @if nth($values, 2) { #{$left}: nth($values, 2); }
51 } @else if length($values) == 4 {
52 @if nth($values, 3) { #{$bottom}: nth($values, 3); }
53 @if nth($values, 4) { #{$left}: nth($values, 4); }
54 }
55 } @else {
56 #{$all}: $values;
57 }
58 }