susy 2.0.0.alpha.2 → 2.0.0.alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. checksums.yaml +7 -0
  2. data/lib/susy.rb +0 -10
  3. data/sass/_susy.scss +2 -2
  4. data/sass/susy/_core.scss +3 -3
  5. data/sass/susy/_helpers.scss +2 -3
  6. data/sass/susy/_math.scss +2 -2
  7. data/sass/susy/_settings.scss +4 -39
  8. data/sass/susy/api/_float.scss +2 -2
  9. data/sass/susy/api/_shared.scss +2 -2
  10. data/sass/susy/api/float/_container.scss +9 -5
  11. data/sass/susy/api/float/_end.scss +8 -4
  12. data/sass/susy/api/float/_isolate.scss +7 -3
  13. data/sass/susy/api/float/_span.scss +18 -4
  14. data/sass/susy/api/shared/_container.scss +10 -6
  15. data/sass/susy/api/shared/_grid-background.scss +30 -7
  16. data/sass/susy/api/shared/_margins.scss +9 -5
  17. data/sass/susy/api/shared/_padding.scss +9 -5
  18. data/sass/susy/helpers/_direction.scss +11 -1
  19. data/sass/susy/helpers/_nth.scss +4 -0
  20. data/sass/susy/language/_shared.scss +2 -3
  21. data/sass/susy/language/_susy.scss +5 -4
  22. data/sass/susy/language/shared/_context.scss +10 -9
  23. data/sass/susy/language/shared/_settings.scss +181 -101
  24. data/sass/susy/language/susy/_background.scss +84 -75
  25. data/sass/susy/language/susy/_container.scss +57 -77
  26. data/sass/susy/language/susy/_gallery.scss +46 -67
  27. data/sass/susy/language/susy/_gutters.scss +117 -0
  28. data/sass/susy/language/susy/_isolate.scss +21 -14
  29. data/sass/susy/language/susy/_margins.scss +92 -0
  30. data/sass/susy/language/susy/_padding.scss +68 -0
  31. data/sass/susy/language/susy/_rows.scss +43 -15
  32. data/sass/susy/language/susy/_span.scss +198 -61
  33. data/sass/susy/language/susy1/_settings.scss +13 -23
  34. data/sass/susy/math/_columns.scss +26 -3
  35. data/sass/susy/math/_container.scss +17 -12
  36. data/sass/susy/math/_location.scss +13 -0
  37. metadata +8 -35
  38. data/sass/susy/helpers/_sass-lists.scss +0 -90
  39. data/sass/susy/language/susy/_functions.scss +0 -58
  40. data/sass/susy/language/susy/_math.scss +0 -153
@@ -1,52 +1,70 @@
1
1
  // Grid Syntax
2
2
  // ===========
3
3
 
4
+ // layout math
5
+ // - static | fluid
6
+ $layout-math : fluid !default;
7
+
8
+ // layout method
9
+ // - isolate | float
10
+ $layout-method : float !default;
11
+
12
+ // layout direction
13
+ // - ltr | rtl
14
+ $flow : ltr !default;
15
+
16
+ // box-sizing
17
+ // false | border-box | content-box
18
+ $box-sizing : false !default;
19
+
20
+ // container justification
21
+ // - left | center | right
22
+ $container-position : center !default;
23
+
24
+ // gutter handling
25
+ // - before | after | split
26
+ $gutter-position : after !default;
27
+
28
+ // show/hide grids
29
+ // show | show-columns | show-baseline | hide
30
+ $show-grids : show-columns !default;
31
+
32
+ // Set Grid
33
+ // --------
4
34
  // Set a new grid using a shorthand
35
+ // - $grid : <settings>
36
+ // - [$clean] : true | false (resets container, column-width, & box-sizing)
5
37
  @mixin set-grid(
6
38
  $grid,
7
39
  $clean: false
8
40
  ) {
9
- $grid : parse-grid($grid);
41
+
42
+ $grid : get-adjusted-grid($grid, $clean);
10
43
 
11
44
  // get values
12
- $new-columns : get-setting(columns, $grid);
13
- $new-gutters : get-setting(gutters, $grid);
14
- $new-container : get-setting(container, $grid);
15
- $new-column-width : get-setting(column-width, $grid);
16
- $new-static : get-setting(static, $grid);
17
- $new-isolate : get-setting(isolate, $grid);
18
-
19
- $new-flow : get-setting(flow, $grid);
20
- $new-gutter-place : get-setting(gutter-placement, $grid);
21
- $new-show-grids : get-setting(show-grids, $grid);
22
- $new-box : get-setting(box-sizing, $grid);
23
-
24
- // fill missing values
25
- @if not $clean {
26
- $new-columns : if($new-columns, $new-columns, $columns);
27
- $new-gutters : if($new-gutters, $new-gutters, $gutters);
28
- $new-container : if($new-container, $new-container, $container);
29
- $new-column-width : if($new-column-width, $new-column-width, $column-width);
30
- $new-static : if($new-static, $new-static, $static);
31
- $new-isolate : if($new-isolate, $new-isolate, $isolate);
32
- $new-box : if($new-box, $new-box, $box-sizing);
33
- }
45
+ $columns : get-setting(columns, $grid);
46
+ $gutters : get-setting(gutters, $grid);
47
+ $container : get-setting(container, $grid);
48
+ $column-width : get-setting(column-width, $grid);
49
+ $layout-math : get-setting(layout-math, $grid);
50
+ $layout-method : get-setting(layout-method, $grid);
51
+
52
+ $flow : get-setting(flow, $grid);
53
+ $gutter-position : get-setting(gutter-position, $grid);
54
+ $container-position : get-setting(container-position, $grid);
55
+ $show-grids : get-setting(show-grids, $grid);
56
+ $box : get-setting(box-sizing, $grid);
34
57
 
35
- // set values
36
- $columns : $new-columns;
37
- $gutters : $new-gutters;
38
- $container : $new-container;
39
- $column-width : $new-column-width;
40
- $static : $new-static;
41
- $isolate : $new-isolate;
42
- $box-sizing : $new-box;
43
-
44
- $flow : if($new-flow, $new-flow, $flow);
45
- $gutter-placement : if($new-gutter-place, $new-gutter-place, $gutter-placement);
46
- $show-grids : if($new-show-grids, $new-show-grids, $show-grids);
58
+ $container : get-setting(container, $grid);
59
+ $column-width : get-setting(column-width, $grid);
60
+ $box-sizing : get-setting(box-sizing, $grid);
47
61
  }
48
62
 
63
+ // Use Grid
64
+ // --------
49
65
  // Use an arbitrary grid for a section of code
66
+ // - $grid : <settings>
67
+ // - [$clean] : true | false (resets container, column-width, & box-sizing)
50
68
  @mixin use-grid(
51
69
  $grid,
52
70
  $clean: false
@@ -58,149 +76,209 @@
58
76
  @include set-grid($old-grid, $clean);
59
77
  }
60
78
 
61
- // Grid helpers
62
- // ------------
63
-
79
+ // Get Grid
80
+ // --------
64
81
  // Get the current grid settings as a shorthand list
65
82
  @function get-grid(
66
83
  ) {
67
- $gutter-setting : $gutters;
68
- $static-setting : false;
69
- $isolate-setting : false;
70
- $show-grids-setting : false;
84
+ $new-gutters : $gutters;
85
+ $new-show-grids : false;
71
86
 
72
87
  // Use units for column/gutter ratio if available
73
88
  @if $column-width {
74
- $gutter-setting: $column-width $column-width * $gutters;
75
- }
76
-
77
- // Create keyword for static setting
78
- @if $static and $static != fluid {
79
- $static-setting: static;
80
- } @else {
81
- $static-setting: fluid;
82
- }
83
-
84
- // Create keyword for isolate setting
85
- @if $isolate and $isolate != float {
86
- $isolate-setting: isolate;
87
- } @else {
88
- $isolate-setting: float;
89
+ $new-gutters: $column-width $column-width * $gutters;
89
90
  }
90
91
 
91
92
  // Create keyword for show-grids setting
92
- @if $show-grids and $show-grids != hide {
93
- $show-grids-setting: show;
93
+ @if type-of($show-grids) == bool {
94
+ @if $show-grids {
95
+ $new-show-grids: show;
96
+ } @else {
97
+ $new-show-grids: hide;
98
+ }
94
99
  } @else {
95
- $show-grids-setting: hide;
100
+ $new-show-grids: $show-grids;
96
101
  }
97
102
 
98
103
  // Return grid shorthand
99
- @return compact($container $columns $gutter-setting $static-setting $isolate-setting $show-grids-setting $flow $gutter-placement $box-sizing);
104
+ @return compact($container $columns $new-gutters $layout-math $layout-method $container-position $new-show-grids $flow $gutter-position $box-sizing);
100
105
  }
101
106
 
107
+ // Parse Grid
108
+ // ----------
102
109
  // Parse a shorthand grid, and return an ordered list of settings
110
+ // - [$grid] : <settings>
103
111
  @function parse-grid(
104
112
  $grid: get-grid()
105
113
  ) {
106
- $columns-setting : false;
107
- $gutters-setting : false;
108
- $container-setting : false;
109
- $column-width-setting : false;
110
- $static-setting : false;
111
- $isolate-setting : false;
112
- $flow-setting : false;
113
- $gutter-place-setting : false;
114
- $show-setting : false;
115
- $box-setting : false;
116
-
117
- $columns-check : false;
114
+ $new-columns : false;
115
+ $new-gutters : false;
116
+ $new-container : false;
117
+ $new-column-width : false;
118
+ $new-layout-math : false;
119
+ $new-layout-method : false;
120
+ $new-container-position : false;
121
+ $new-flow : false;
122
+ $new-gutter-position : false;
123
+ $new-show-grids : false;
124
+ $new-box-sizing : false;
125
+
126
+ $columns-check : false;
118
127
 
119
128
  @each $value in $grid {
120
129
  @if type-of($value) == string {
121
- // output: static | fluid
130
+ // layout-math: static | fluid
122
131
  @if $value == static {
123
- $static-setting: static;
132
+ $new-layout-math: static;
124
133
  } @else if $value == fluid {
125
- $static-setting: fluid;
134
+ $new-layout-math: fluid;
126
135
  }
127
136
 
128
- // output: isolate | fluid
137
+ // layout-method: isolate | fluid
129
138
  @if $value == isolate {
130
- $isolate-setting: isolate;
139
+ $new-layout-method: isolate;
131
140
  } @else if $value == float {
132
- $isolate-setting: float;
141
+ $new-layout-method: float;
142
+ }
143
+
144
+ // container-position: left | center | right
145
+ @if $value == left {
146
+ $new-container-position: left;
147
+ } @else if $value == right {
148
+ $new-container-position: right;
149
+ } @else if $value == center {
150
+ $new-container-position: center;
133
151
  }
134
152
 
135
153
  // flow: ltr | rtl
136
154
  @if $value == rtl {
137
- $flow-setting: rtl;
155
+ $new-flow: rtl;
138
156
  } @else if $value == ltr {
139
- $flow-setting: ltr;
157
+ $new-flow: ltr;
140
158
  }
141
159
 
142
160
  // show-grid: show | hide
143
161
  @if $value == show {
144
- $show-setting: show;
162
+ $new-show-grids: show;
145
163
  } @else if $value == hide {
146
- $show-setting: hide;
164
+ $new-show-grids: hide;
165
+ } @else if $value == show-columns {
166
+ $new-show-grids: show-columns;
167
+ } @else if $value == show-baseline {
168
+ $new-show-grids: show-baseline;
147
169
  }
148
170
 
149
- // gutter-placement: before | after | split | no-gutters
171
+ // gutter-position: before | after | split | no-gutters
150
172
  @if $value == before {
151
- $gutter-place-setting: before;
173
+ $new-gutter-position: before;
152
174
  } @else if $value == after {
153
- $gutter-place-setting: after;
175
+ $new-gutter-position: after;
154
176
  } @else if $value == split {
155
- $gutter-place-setting: split;
177
+ $new-gutter-position: split;
156
178
  } @else if $value == inside {
157
- $gutter-place-setting: inside;
179
+ $new-gutter-position: inside;
158
180
  } @else if $value == no-gutters {
159
- $gutter-place-setting: no-gutters;
181
+ $new-gutter-position: no-gutters;
160
182
  }
161
183
 
162
184
  // box-sizing: border-box | content-box
163
185
  @if $value == border-box {
164
- $box-setting: border-box;
186
+ $new-box-sizing: border-box;
165
187
  } @else if $value == content-box {
166
- $box-setting: content-box;
188
+ $new-box-sizing: content-box;
189
+ }
190
+
191
+ // auto container
192
+ @if $value == auto {
193
+ $new-container: auto;
167
194
  }
168
195
  }
169
196
 
170
197
  // container, columns, or gutters
171
198
  @else if type-of($value) == number {
172
199
  @if not unitless($value) {
173
- $container-setting: $value;
200
+ $new-container: $value;
174
201
  } @else if not $columns-check {
175
- $columns-setting: $value;
202
+ $new-columns: $value;
176
203
  $columns-check: true;
177
204
  } @else {
178
- $gutters-setting: $value;
205
+ $new-gutters: $value;
179
206
  }
180
207
  }
181
208
 
182
209
  // columns or gutters
183
210
  @else if type-of($value) == list {
184
211
  @if unitless(nth($value,1)) {
185
- $columns-setting: $value;
212
+ $new-columns: $value;
186
213
  $columns-check: true;
187
214
  } @else {
188
- $column-width-setting: nth($value,1);
189
- $gutters-setting: nth($value,2) / nth($value,1);
215
+ $new-column-width: nth($value,1);
216
+ $new-gutters: nth($value,2) / nth($value,1);
190
217
  }
191
218
  }
192
219
  }
193
220
 
194
- @return $columns-setting $gutters-setting $container-setting $column-width-setting $static-setting $isolate-setting $flow-setting $gutter-place-setting $show-setting $box-setting;
221
+ @return $new-columns $new-gutters $new-container $new-column-width $new-layout-math $new-layout-method $new-container-position $new-flow $new-gutter-position $new-show-grids $new-box-sizing;
222
+ }
223
+
224
+ // Get Adjusted Grid
225
+ // -----------------
226
+ // Fill missing grid values based on global settings
227
+ // - $grid : <settings>
228
+ // - [$clean] : true | false (resets container, column-width, & box-sizing)
229
+ @function get-adjusted-grid(
230
+ $grid,
231
+ $clean: false
232
+ ) {
233
+ $grid : parse-grid($grid);
234
+
235
+ $new-columns : get-setting(columns, $grid);
236
+ $new-gutters : get-setting(gutters, $grid);
237
+ $new-layout-math : get-setting(layout-math, $grid);
238
+ $new-layout-method : get-setting(layout-method, $grid);
239
+ $new-flow : get-setting(flow, $grid);
240
+ $new-gutter-place : get-setting(gutter-position, $grid);
241
+ $new-container-position : get-setting(container-position, $grid);
242
+ $new-show-grids : get-setting(show-grids, $grid);
243
+
244
+ $new-container : get-setting(container, $grid);
245
+ $new-column-width : get-setting(column-width, $grid);
246
+ $new-box-sizing : get-setting(box-sizing, $grid);
247
+
248
+ // Set required values
249
+ $new-columns : if($new-columns, $new-columns, $columns);
250
+ $new-gutters : if($new-gutters, $new-gutters, $gutters);
251
+ $new-layout-math : if($new-layout-math, $new-layout-math, $layout-math);
252
+ $new-layout-method : if($new-layout-method, $new-layout-method, $layout-method);
253
+ $new-flow : if($new-flow, $new-flow, $flow);
254
+ $new-gutter-place : if($new-gutter-place, $new-gutter-place, $gutter-position);
255
+ $new-container-position : if($new-container-position, $new-container-position, $container-position);
256
+ $new-show-grids : if($new-show-grids, $new-show-grids, $show-grids);
257
+
258
+ // optionally fill values based on current grid
259
+ @if $clean {
260
+ $new-container : if($new-container, $new-container, auto);
261
+ } @else {
262
+ $new-container : if($new-container, $new-container, $container);
263
+ $new-column-width : if($new-column-width, $new-column-width, $column-width);
264
+ $new-box-sizing : if($new-box-sizing, $new-box-sizing, $box-sizing);
265
+ }
266
+
267
+ @return $new-columns, $new-gutters, $new-container, $new-column-width, $new-layout-math, $new-layout-method, $new-container-position, $new-flow, $new-gutter-place, $new-show-grids, $new-box-sizing;
195
268
  }
196
269
 
270
+ // Get Setting
271
+ // -----------
197
272
  // Return one setting from a shorhand grid
273
+ // - setting : <keyword> (see $options below)
274
+ // - $grid : <settings>
275
+ // - [$parse] : true | false
198
276
  @function get-setting(
199
277
  $setting,
200
- $grid : parse-grid(get-grid()),
278
+ $grid : parse-grid(),
201
279
  $parse : false
202
280
  ) {
203
- $options : columns gutters container column-width static isolate flow gutter-placement show-grids box-sizing;
281
+ $options : columns gutters container column-width layout-math layout-method container-position flow gutter-position show-grids box-sizing;
204
282
  $key : index($options, $setting);
205
283
  $value : false;
206
284
 
@@ -208,8 +286,10 @@
208
286
  $grid: parse-grid($grid);
209
287
  }
210
288
 
211
- @if $key and not ($key > length($grid)) {
289
+ @if $key {
212
290
  $value: nth($grid, $key);
291
+ } @else {
292
+ @warn '"#{$setting}" is not a valid grid setting.';
213
293
  }
214
294
 
215
295
  @return $value;
@@ -1,88 +1,43 @@
1
- // Background Grids
2
- // ================
1
+ // Background Grid Syntax
2
+ // ======================
3
+
4
+ @import "compass/layout/stretching";
3
5
 
4
6
  // The overlay is painted over your container's ::after pseudo-element,
5
7
  // so we must give position to the container itself.
6
8
  // If relative doesn't suit your layout, it can be replaced by absolute/fixed.
7
- $overlay-position: relative !default;
9
+ $overlay-position : relative !default;
8
10
 
9
11
  // Set the location of the switch.
10
- $grid-toggle-position: left bottom !default;
12
+ $grid-toggle-position : left bottom !default;
13
+
14
+ // Set the color of background grids.
15
+ $grid-background-color : rgba(#66f, .25) !default;
11
16
 
12
- // Set the color of background grids/
13
- $grid-background-color: rgba(#66f, .25) !default;
17
+ // Set the line height for your vertical rhythm.
18
+ $base-line-height : 24px !default;
14
19
 
15
20
  // Grid Background
16
21
  // ---------------
17
-
22
+ // Show a grid background on any element.
23
+ // - [$grid] : <settings>
18
24
  @mixin grid-background(
19
- $grid: parse-grid()
25
+ $grid: get-grid()
20
26
  ) {
21
- $stops : compact();
22
- $color : $grid-background-color;
23
-
24
- @if length($grid) == 2 and type-of(nth($grid,2)) == color {
25
- $color: nth($grid,2);
26
- $grid: nth($grid,1);
27
- }
28
-
29
- $trans : transparent;
30
- $light : lighten($color, 15%);
31
-
32
- $this-columns : get-setting(columns, $grid);
33
- $this-gutters : get-setting(gutters, $grid);
34
- $this-column-width : get-setting(column-width, $grid);
35
- $this-static : get-setting(static, $grid);
36
- $this-gutter-place : get-setting(gutter-placement, $grid);
37
- $this-flow : get-setting(flow, $grid);
38
-
39
- $this-static : if($this-static and $this-static != fluid, true, false);
27
+ $grid : get-adjusted-grid($grid);
40
28
 
41
- @for $location from 1 through column-count($this-columns) {
42
- $this-stop: compact();
29
+ $this-flow : get-setting(flow, $grid);
30
+ $this-show : get-setting(show-grids, $grid);
43
31
 
44
- @if $location > 1 {
45
- $start: get-isolation(1, $location, $this-columns, $this-gutters, $this-column-width, $this-static);
46
- $this-stop: append($this-stop, $color $start, comma);
47
- }
32
+ $stops : get-grid-color-stops($grid);
48
33
 
49
- @if $location == column-count($this-columns) {
50
- $this-stop: append($this-stop, $light 100%, comma);
51
- } @else {
52
- $end: get-span-width($location, 1, $this-columns, $this-gutters, $this-column-width, $this-static, $this-gutter-place);
53
- $gutter: get-isolation(1, $location + 1, $this-columns, $this-gutters, $this-column-width, $this-static);
54
-
55
- $this-stop: append($this-stop, $light $end, comma);
56
- $this-stop: append($this-stop, $trans $end, comma);
57
- $this-stop: append($this-stop, $trans $gutter, comma);
58
- }
59
-
60
- $stops: join($stops, $this-stop, comma);
61
- }
62
-
63
- @include grid-background-output($stops, $this-flow)
34
+ @include grid-background-output($stops, $this-show, $this-flow);
64
35
  }
65
36
 
66
37
  // Grid Overlay
67
38
  // ------------
68
-
69
- %grid-overlay-container {
70
- position: unquote($overlay-position);
71
- }
72
-
73
- %grid-overlay {
74
- content: " ";
75
- position: absolute;
76
- top: 0;
77
- left: 0;
78
- right: 0;
79
- bottom: 0;
80
- height: 100%;
81
- width: 100%;
82
- z-index: 998;
83
- background-color: rgba(red,.25);
84
- }
85
-
39
+ // Generate an icon to trigger grid-overlays on any given elements.
40
+ // $grids... : <selector> [<settings>] [, <selector>]*
86
41
  @mixin grid-overlay (
87
42
  $grids...
88
43
  ) {
@@ -90,7 +45,6 @@ $grid-background-color: rgba(#66f, .25) !default;
90
45
  $horz: nth($grid-toggle-position, 2);
91
46
 
92
47
  head {
93
- @include transition(all .4s);
94
48
  @include border-radius(.25em);
95
49
  display: block;
96
50
  position: fixed;
@@ -112,21 +66,76 @@ $grid-background-color: rgba(#66f, .25) !default;
112
66
  }
113
67
  &:hover {
114
68
  @include box-shadow(0 0 3px rgba(#333,.5));
115
- color: #333;
116
69
  background: rgba(white,.5);
117
70
  @each $grid in $grids {
118
71
  $selector: nth($grid, 1);
119
- $grid: parse-grid(nth($grid,2));
72
+ $grid: if(length($grid) > 1, nth($grid, 2), get-grid());
120
73
 
74
+ ~ #{$selector},
121
75
  ~ body #{$selector} {
122
- @extend %grid-overlay-container;
123
- }
124
- ~ #{$selector}::before,
125
- ~ body #{$selector}::before {
126
- @extend %grid-overlay;
127
- @include grid-background($grid);
76
+ position: unquote($overlay-position);
77
+ &::before {
78
+ @extend %grid-overlay-base;
79
+ @include grid-background($grid);
80
+ }
128
81
  }
129
82
  }
130
83
  }
131
84
  }
132
85
  }
86
+
87
+ %grid-overlay-base {
88
+ @include stretch;
89
+ content: " ";
90
+ z-index: 998;
91
+ }
92
+
93
+ // Grid Color-Stops
94
+ // ----------------
95
+ // Calculate the color-stops needed for a particular grid.
96
+ // - $grid : <settings>
97
+ @function get-grid-color-stops(
98
+ $grid: parse-grid()
99
+ ) {
100
+ $stops : ();
101
+ $color : $grid-background-color;
102
+ $trans : transparent;
103
+ $light : lighten($color, 15%);
104
+
105
+ $this-columns : get-setting(columns, $grid);
106
+ $this-gutters : get-setting(gutters, $grid);
107
+ $this-column-width : get-setting(column-width, $grid);
108
+ $this-layout-math : get-setting(layout-math, $grid);
109
+ $this-gutter-position : get-setting(gutter-position, $grid);
110
+
111
+ @for $location from 1 through column-count($this-columns) {
112
+ $this-stop: compact();
113
+
114
+ @if $location == 1 {
115
+ $this-stop: append($this-stop, $color, comma);
116
+ } @else {
117
+ $start: get-isolation(1, $location, $this-columns, $this-gutters, $this-column-width, $this-layout-math);
118
+ $this-stop: append($this-stop, $color $start, comma);
119
+ }
120
+
121
+ @if $location == column-count($this-columns) {
122
+ $this-stop: append($this-stop, $light, comma);
123
+ } @else {
124
+ $end-color: $light;
125
+
126
+ @if $this-gutter-position != inside {
127
+ $gutter: get-span-width($location, 1, $this-columns, $this-gutters, $this-column-width, $this-layout-math, $this-gutter-position);
128
+ $this-stop: append($this-stop, $light $gutter, comma);
129
+ $this-stop: append($this-stop, $trans $gutter, comma);
130
+ $end-color: $trans;
131
+ }
132
+
133
+ $end: get-isolation(1, $location + 1, $this-columns, $this-gutters, $this-column-width, $this-layout-math);
134
+ $this-stop: append($this-stop, $end-color $end, comma);
135
+ }
136
+
137
+ $stops: join($stops, $this-stop, comma);
138
+ }
139
+
140
+ @return $stops;
141
+ }