annotate default/assets/scss/vendors/bourbon/utilities/_collapse-directionals.scss @ 0:1d038bc9b3d2 default tip

Up:default
author Liny <dev@neowd.com>
date Sat, 31 May 2025 09:21:51 +0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
1 @charset "UTF-8";
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
2
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
3 // scss-lint:disable ElsePlacement
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
4
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
5 /// Directional-property mixins are shorthands for writing properties like
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
6 /// the following.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
7 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
8 /// @ignore You can also use `false` instead of `null`.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
9 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
10 /// @argument {list} $values
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
11 /// List of directional values.
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
12 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
13 /// @example scss
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
14 /// .element {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
15 /// @include border-style(dotted null);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
16 /// @include margin(null 0 10px);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
17 /// }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
18 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
19 /// // CSS Output
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
20 /// .element {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
21 /// border-bottom-style: dotted;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
22 /// border-top-style: dotted;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
23 /// margin-bottom: 10px;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
24 /// margin-left: 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
25 /// margin-right: 0;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
26 /// }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
27 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
28 /// @return {list}
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
29 ///
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
30 /// @access private
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
31
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
32 @function _collapse-directionals($values) {
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
33 $output: null;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
34
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
35 $a: nth($values, 1);
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
36 $b: if(length($values) < 2, $a, nth($values, 2));
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
37 $c: if(length($values) < 3, $a, nth($values, 3));
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
38 $d: if(length($values) < 2, $a, nth($values, if(length($values) < 4, 2, 4)));
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
39
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
40 @if $a == 0 { $a: 0; }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
41 @if $b == 0 { $b: 0; }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
42 @if $c == 0 { $c: 0; }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
43 @if $d == 0 { $d: 0; }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
44
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
45 @if $a == $b and $a == $c and $a == $d { $output: $a; }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
46 @else if $a == $c and $b == $d { $output: $a $b; }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
47 @else if $b == $d { $output: $a $b $c; }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
48 @else { $output: $a $b $c $d; }
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
49
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
50 @return $output;
1d038bc9b3d2 Up:default
Liny <dev@neowd.com>
parents:
diff changeset
51 }