susy 2.0.0.beta.3 → 2.0.0.rc.1

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 (44) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -29
  3. data/VERSION +1 -1
  4. data/docs/changelog.rst +32 -1
  5. data/sass/susy/_math.scss +1 -0
  6. data/sass/susy/language/_susy.scss +0 -2
  7. data/sass/susy/language/_susyone.scss +0 -4
  8. data/sass/susy/language/susy/_background.scss +31 -25
  9. data/sass/susy/language/susy/_bleed.scss +4 -4
  10. data/sass/susy/language/susy/_box-sizing.scss +1 -1
  11. data/sass/susy/language/susy/_container.scss +1 -1
  12. data/sass/susy/language/susy/_gallery.scss +2 -2
  13. data/sass/susy/language/susy/_gutters.scss +3 -3
  14. data/sass/susy/language/susy/_rows.scss +2 -2
  15. data/sass/susy/language/susy/_settings.scss +68 -116
  16. data/sass/susy/language/susy/_span.scss +2 -2
  17. data/sass/susy/language/susyone/_functions.scss +2 -2
  18. data/sass/susy/language/susyone/_grid.scss +5 -5
  19. data/sass/susy/math/_maps.scss +89 -0
  20. data/sass/susy/math/_settings.scss +51 -0
  21. data/sass/susy/math/_validation.scss +13 -7
  22. data/sass/susy/output/_float.scss +0 -1
  23. data/sass/susy/output/_shared.scss +3 -1
  24. data/sass/susy/output/_support.scss +9 -0
  25. data/sass/susy/output/float/_end.scss +11 -3
  26. data/sass/susy/output/float/_isolate.scss +10 -6
  27. data/sass/susy/output/float/_span.scss +10 -6
  28. data/sass/susy/output/shared/_background.scss +10 -20
  29. data/sass/susy/output/shared/_container.scss +7 -3
  30. data/sass/susy/output/shared/_margins.scss +6 -2
  31. data/sass/susy/output/shared/_output.scss +14 -0
  32. data/sass/susy/output/shared/_padding.scss +6 -2
  33. data/sass/susy/output/support/_background.scss +58 -0
  34. data/sass/susy/output/support/_box-sizing.scss +17 -0
  35. data/sass/susy/output/support/_clearfix.scss +18 -0
  36. data/sass/susy/output/support/_prefix.scss +19 -0
  37. data/sass/susy/output/support/_rem.scss +22 -0
  38. data/sass/susy/output/support/_support.scss +82 -0
  39. metadata +14 -14
  40. data/sass/susy/language/_shared.scss +0 -4
  41. data/sass/susy/language/shared/_maps.scss +0 -85
  42. data/sass/susy/language/susyone/_units.scss +0 -159
  43. data/sass/susy/output/float/_clearfix.scss +0 -15
  44. data/sass/susy/output/shared/_box-sizing.scss +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3a8a770621f5c94d8e367a8019a22f9cbf70d4ad
4
- data.tar.gz: 9a1c8cd9a1b701054eac039ac46036db8bb29a32
3
+ metadata.gz: b5655917505fce129931804fc695e1e51625e95b
4
+ data.tar.gz: c81923912ee3fff6b24c1044bf6d60c8456abc48
5
5
  SHA512:
6
- metadata.gz: 0547e1ab69123432985801feacc22c1a7c7e0386874c71940131a0a774d5a60c941c4b0911276ba8878dcc37ad5b814b0a8e7763c816fecafc9c07bf357eb3e3
7
- data.tar.gz: 3bb35def7bf985cf7aba9f78e80dac528bedcb69788a3f0b78ced2d18155ab6e61802d7fd64b7fba69e33ca0af134a349a7ac5862820087be227facf7a18d6ff
6
+ metadata.gz: f6d1cf8d97dd318a0dbc9cc802d71b59347a55b7985c43b5837cb0efa0ce2d3d66c3547a8c8d5deff75c7b2620e7cf2f09cf45ad006bceac2766871058eb5262
7
+ data.tar.gz: aef002701b2ef4cc933923e1ca6ccad8b28abd96fa39950b88a8d0b2ecf132e15deb7e96e45448e6ae6d014d81715d6081e89c155ded4863d9187950f22f3c1b
data/README.md CHANGED
@@ -1,40 +1,40 @@
1
- [![Build Status](https://travis-ci.org/ericam/susy.png?branch=susy-next)](https://travis-ci.org/ericam/susy)
1
+ Power Tools For The Web
2
+ =======================
2
3
 
3
- # Susy [a Compass plugin]
4
+ [![Build Status](https://travis-ci.org/ericam/susy.png?branch=susy-next)](https://travis-ci.org/ericam/susy)
4
5
 
5
- Susy is a semantic CSS grid system with a responsive twist.
6
+ Susy is an agnostic set of tools
7
+ for creating powerful, custom layouts.
8
+ We provide the language,
9
+ but you provide all the opinions.
10
+ Use a grid, don't use a grid,
11
+ or use a combination of grids —
12
+ it's all up to you.
6
13
 
7
- The web is a responsive place,
8
- from your lithe & lively development process
9
- to your end user's super-tablet-multi-magic-lap-phone.
10
- You need grids that are powerful, but custom;
11
- reliable, but responsive.
14
+ We didn't want to build another system,
15
+ we wanted to build power tools
16
+ that you could use in any system.
12
17
 
13
- This isn't another one-size-fits-all grid framework
14
- that will make your sites look identical
15
- and litter your markup with meaningless "col2of5" jargon.
16
- We don't design your site or write your markup,
17
- we just do the math and get out of your way.
18
+ Your markup, your layout | *our math*
18
19
 
19
- We provide a single shared syntax for describing layouts,
20
- and then let you select your favorite output,
21
- or build your own.
20
+ Resources
21
+ ---------
22
22
 
23
- ## Resources
24
- - [Website](http://susy.oddbird.net)
25
- - [Changelog](https://github.com/ericam/susy/blob/master/CHANGELOG.mkdn)
26
- - [Tutorial](http://susy.oddbird.net/guides/getting-started/)
27
- - [Reference](http://susy.oddbird.net/guides/reference/)
23
+ - [Website](http://susy.oddbird.net/)
24
+ - [Documentation](http://susydocs.oddbird.net/)
28
25
  - [Sites using Susy](http://susy.oddbird.net/sites-using-susy/)
29
- - [Twitter @CompassSusy](http://twitter.com/compasssusy/)
26
+ - [Twitter @SassSusy](http://twitter.com/Sasssusy/)
30
27
 
31
- ## Contributing
28
+ Contributing
29
+ ------------
32
30
 
33
31
  We love contributions,
34
32
  both as ideas and pull requests.
35
- The core of Susy is all in the `/sass/` directory.
36
-
37
- Once you make changes,
38
- you can test them by building the gem
39
- and installing it somewhere to test.
40
- We also have unit tests that you can run.
33
+ Susy is written in pure Sass,
34
+ all contained in the `/sass/` directory.
35
+ Everything else is just packaging.
36
+ If you know Sass,
37
+ or are willing to learn,
38
+ you can contribute to Susy.
39
+
40
+ More documentation on contributing to come...
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.0.beta.2
1
+ 2.0.0.rc.0
@@ -1,6 +1,36 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ 2.0.0.rc.1 — Feb 7 2014
5
+ -----------------------
6
+
7
+ - Add browser support module with settings to ``use-custom`` mixins
8
+ for ``background-image``,
9
+ ``background-options`` (``-size``, ``-clip``, ``-origin``),
10
+ ``box-sizing``, ``clearfix``, and ``rem``.
11
+ If you set to ``false``,
12
+ we'll make sure everything works well on modern browsers.
13
+ If you set to ``true``,
14
+ we'll check for existing mixins (e.g. from Compass or Bourbon)
15
+ to provide more powerful legacy support.
16
+
17
+ .. code-block: scss
18
+
19
+ $susy: (
20
+ use-custom: (
21
+ clearfix: false,
22
+ background-image: true,
23
+ background-options: false,
24
+ box-sizing: true,
25
+ rem: true,
26
+ ),
27
+ );
28
+
29
+ - Fix bugs caused by Sass changes to ``str-index()``,
30
+ ``#{&}``, and ``@at-root``.
31
+ - Fix Bower dependencies, and add support for Sache.
32
+ - Remove legacy Compass polyfils from susyone code.
33
+
4
34
 
5
35
  2.0.0.beta.3 — Jan 10 2014
6
36
  --------------------------
@@ -11,6 +41,7 @@ Changelog
11
41
 
12
42
  + ``@import 'susyone';``
13
43
 
44
+
14
45
  2.0.0.beta.2 — Jan 6 2014
15
46
  -------------------------
16
47
 
@@ -19,7 +50,7 @@ Changelog
19
50
  - Add ``isolate`` function to return isolation offset width.
20
51
  - Fix a bug with ``last`` output for ``split``-gutter layouts.
21
52
  - Fix a bug with split-gutter ``span()``, and ``narrow``/``wider`` keywords.
22
- - Fix a bug with ``bleed`` and ``null``+``inside`` gutters.
53
+ - Fix a bug with ``bleed`` and ``null`` + ``inside`` gutters.
23
54
  - ``bleed`` output uses TRBL shorthand when possible.
24
55
  - Clean up and document the core math functions.
25
56
  - Document upgrade path, core-math, and DIY grids.
@@ -1,6 +1,7 @@
1
1
  // Math
2
2
  // ====
3
3
 
4
+ @import "math/maps";
4
5
  @import "math/settings";
5
6
  @import "math/validation";
6
7
  @import "math/columns";
@@ -1,8 +1,6 @@
1
1
  // Susy Next Syntax
2
2
  // ================
3
3
 
4
- @import "shared";
5
-
6
4
  @import "../math";
7
5
  @import "../output/float";
8
6
 
@@ -1,10 +1,6 @@
1
1
  // ---------------------------------------------------------------------------
2
2
  // Partials
3
3
 
4
- // temporary
5
- @import "susyone/units";
6
-
7
- // permanent
8
4
  @import "susyone/settings";
9
5
  @import "susyone/functions";
10
6
  @import "susyone/grid";
@@ -59,24 +59,44 @@ $susy-overlay-grid-head-exists: false;
59
59
  ) {
60
60
  @if not $susy-overlay-grid-head-exists {
61
61
  @at-root head { @include overlay-head; }
62
+ @at-root head::before { @include overlay-trigger; }
63
+ @at-root head:hover { @include overlay-trigger-hover; }
62
64
  $susy-overlay-grid-head-exists: true !global;
63
65
  }
64
66
 
65
- $selector: #{&};
66
-
67
- @at-root head:hover {
68
- ~ #{$selector},
69
- ~ body #{$selector} {
70
- position: relative;
71
- &::before {
72
- @include grid-overlay-base;
73
- @include background-grid($grid);
74
- }
67
+ head:hover ~ &,
68
+ head:hover ~ body & {
69
+ position: relative;
70
+ &::before {
71
+ @include grid-overlay-base;
72
+ @include background-grid($grid);
75
73
  }
76
74
  }
77
75
  }
78
76
 
79
77
 
78
+ // [Private] Overlay Trigger
79
+ // -------------------------
80
+ @mixin overlay-trigger {
81
+ content: "|||";
82
+ display: block;
83
+ padding: 5px 10px;
84
+ font: {
85
+ family: sans-serif;
86
+ size: 16px;
87
+ weight: bold;
88
+ }
89
+ }
90
+
91
+
92
+ // [Private] Overlay Trigger Hover
93
+ // -------------------------------
94
+ @mixin overlay-trigger-hover {
95
+ background: rgba(white, .5);
96
+ color: red;
97
+ }
98
+
99
+
80
100
  // [Private] Overlay Head
81
101
  // ----------------------
82
102
  // <head> styles to create grid overlay toggle
@@ -97,20 +117,6 @@ $susy-overlay-grid-head-exists: false;
97
117
  z-index: 999;
98
118
  color: #333;
99
119
  background: rgba(white, .25);
100
- &::before {
101
- content: "|||";
102
- display: block;
103
- padding: 5px 10px;
104
- font: {
105
- family: sans-serif;
106
- size: 16px;
107
- weight: bold;
108
- }
109
- }
110
- &:hover {
111
- box-shadow: 0 0 1px rgba(#333,.5);
112
- background: rgba(white, .5);
113
- }
114
120
  }
115
121
 
116
122
 
@@ -337,7 +343,7 @@ $susy-overlay-grid-head-exists: false;
337
343
 
338
344
  $return: map-merge($return, (
339
345
  image: if($image, map-merge($image, $baseline), $baseline),
340
- size: if($size, append($size, $baseline-size, comma), $baseline-size),
346
+ size: if($size, ($size, $baseline-size), $baseline-size),
341
347
  ));
342
348
  }
343
349
 
@@ -10,11 +10,11 @@
10
10
  ) {
11
11
  $output: get-bleed($bleed);
12
12
 
13
- @each $property, $value in $output {
14
- #{$property}: $value;
13
+ @if susy-get(global-box-sizing) != content-box {
14
+ $output: map-merge((box-sizing: content-box), $output);
15
15
  }
16
16
 
17
- @include susy-box-sizing(content-box);
17
+ @include output($output);
18
18
  }
19
19
 
20
20
 
@@ -150,7 +150,7 @@
150
150
  $return: ();
151
151
 
152
152
  @each $key, $value in $bleed {
153
- @if str-index($key, margin) > 0 {
153
+ @if str-index($key, margin) {
154
154
  $margin: map-merge($margin, ($key: $value));
155
155
  } @else if str-index($key, padding) > 0 {
156
156
  $padding: map-merge($padding, ($key: $value));
@@ -8,7 +8,7 @@
8
8
  @mixin global-box-sizing(
9
9
  $box: susy-get(global-box-sizing)
10
10
  ) {
11
- *, *:before, *:after { @include susy-box-sizing($box); }
11
+ *, *::before, *::after { @include output((box-sizing: $box)); }
12
12
  @include update-box-model($box);
13
13
  }
14
14
 
@@ -17,7 +17,7 @@
17
17
  $box : susy-get(box-sizing, $layout);
18
18
 
19
19
  @if $box {
20
- @include susy-box-sizing($box);
20
+ @include output((box-sizing: $box));
21
21
  }
22
22
 
23
23
  @include float-container($width, $justify, $property);
@@ -50,9 +50,9 @@
50
50
 
51
51
  // Collective Output
52
52
  @if $box == border-box or ($inside and not $box and not $global-box) {
53
- @include susy-box-sizing(border-box);
53
+ @include output((box-sizing: border-box));
54
54
  } @else if $box == content-box {
55
- @include susy-box-sizing(content-box);
55
+ @include output((box-sizing: content-box));
56
56
  }
57
57
 
58
58
  @include float-span-output($output...);
@@ -8,9 +8,9 @@
8
8
  @mixin gutters(
9
9
  $span: $susy
10
10
  ) {
11
- $span : parse-gutters($span);
12
- $gutters : get-gutters($span);
13
- $output : (
11
+ $span: parse-gutters($span);
12
+ $gutters: get-gutters($span);
13
+ $output: (
14
14
  before: map-get($gutters, before),
15
15
  after: map-get($gutters, after),
16
16
  flow: susy-get(flow, $span),
@@ -6,7 +6,7 @@
6
6
  // -----
7
7
  // Apply to any element that should force a line break.
8
8
  @mixin break {
9
- clear: both;
9
+ @include output((clear: both));
10
10
  }
11
11
 
12
12
 
@@ -14,7 +14,7 @@
14
14
  // -------
15
15
  // Cancel the break() effect, e.g. when using media queries.
16
16
  @mixin nobreak {
17
- clear: none;
17
+ @include output((clear: none));
18
18
  }
19
19
 
20
20
 
@@ -42,40 +42,33 @@ $susy-keywords: (
42
42
  );
43
43
 
44
44
 
45
- // User Settings
46
- // -------------
47
- // - Define the $susy variable with a map of your own settings.
48
- // - Set EITHER $column-width OR $container
49
- // - Use $column-width for static layouts
50
- $susy: () !default;
51
-
52
-
53
45
  // Parse Susy Keywords and Maps
54
46
  // ----------------------------
55
47
  @function parse-settings(
56
48
  $short: $susy
57
49
  ) {
58
- $return: ();
50
+ $_return: ();
59
51
 
60
52
  @if type-of($short) == map {
61
- $return: $short;
53
+ $_return: $short;
62
54
  } @else {
63
55
  @each $item in $short {
64
56
  // strings
65
57
  @if type-of($item) == string {
66
58
  @each $key, $value in $susy-keywords {
67
59
  @if index($value, $item) {
68
- $return: deep-set($return, $key, $item);
60
+ $_key-value: append($key, $item);
61
+ $_return: _susy-deep-set($_return, $_key-value...);
69
62
  }
70
63
  }
71
64
  // maps
72
65
  } @else if type-of($item) == map {
73
- $return: map-merge($return, $item);
66
+ $_return: map-merge($_return, $item);
74
67
  }
75
68
  }
76
69
  }
77
70
 
78
- @return $return;
71
+ @return $_return;
79
72
  }
80
73
 
81
74
 
@@ -84,30 +77,30 @@ $susy: () !default;
84
77
  @function parse-layout(
85
78
  $short
86
79
  ) {
87
- $return: ();
88
- $columns: ();
89
- $gutters: null;
80
+ $_return: ();
81
+ $_columns: ();
82
+ $_gutters: null;
90
83
 
91
84
  @if not unitless(nth(nth($short, 1), 1)) {
92
- $gutters: nth($short, 1);
85
+ $_gutters: nth($short, 1);
93
86
  } @else {
94
- $columns: (columns: nth($short, 1));
95
- $gutters: if(length($short) > 1, nth($short, 2), $gutters);
87
+ $_columns: (columns: nth($short, 1));
88
+ $_gutters: if(length($short) > 1, nth($short, 2), $_gutters);
96
89
  }
97
90
 
98
- @if type-of($gutters) == list and length($gutters) > 0 {
99
- $gutters: (
100
- gutters: nth($gutters, 2) / nth($gutters, 1),
101
- column-width: nth($gutters, 1),
91
+ @if type-of($_gutters) == list and length($_gutters) > 0 {
92
+ $_gutters: (
93
+ gutters: nth($_gutters, 2) / nth($_gutters, 1),
94
+ column-width: nth($_gutters, 1),
102
95
  );
103
96
  } @else {
104
- $gutters: if($gutters, (gutters: $gutters), ());
97
+ $_gutters: if($_gutters, (gutters: $_gutters), ());
105
98
  }
106
99
 
107
- $return: map-merge($return, $columns);
108
- $return: map-merge($return, $gutters);
100
+ $_return: map-merge($_return, $_columns);
101
+ $_return: map-merge($_return, $_gutters);
109
102
 
110
- @return $return;
103
+ @return $_return;
111
104
  }
112
105
 
113
106
 
@@ -116,27 +109,27 @@ $susy: () !default;
116
109
  @function parse-grid(
117
110
  $short: $susy
118
111
  ) {
119
- $return: parse-settings($short);
120
- $layout: ();
112
+ $_return: parse-settings($short);
113
+ $_layout: ();
121
114
 
122
115
  @if type-of($short) == map {
123
- $return: $short;
116
+ $_return: $short;
124
117
  } @else {
125
118
  @each $item in $short {
126
119
  // number or list
127
120
  @if type-of($item) == number or type-of($item) == list {
128
121
  @if type-of($item) == list or unitless($item) {
129
- $layout: append($layout, $item);
122
+ $_layout: append($_layout, $item);
130
123
  } @else {
131
- $return: map-merge($return, (container: $item));
124
+ $_return: map-merge($_return, (container: $item));
132
125
  }
133
126
  }
134
127
  }
135
128
 
136
- $layout: if(length($layout) > 0, parse-layout($layout), $layout);
129
+ $_layout: if(length($_layout) > 0, parse-layout($_layout), $_layout);
137
130
  }
138
131
 
139
- @return map-merge($return, $layout);
132
+ @return map-merge($_return, $_layout);
140
133
  }
141
134
 
142
135
 
@@ -146,47 +139,47 @@ $susy: () !default;
146
139
  $short,
147
140
  $key: span
148
141
  ) {
149
- $return: ();
142
+ $_return: ();
150
143
 
151
144
  @if type-of($short) == map {
152
- $return: $short;
145
+ $_return: $short;
153
146
  } @else {
154
- $at: index($short, at);
155
-
156
- @if $at {
157
- $loci: $at + 1;
158
- $location: nth($short, $loci);
159
- $return: map-merge($return, (location: $location));
160
- $short: set-nth($short, $at, null);
161
- $short: set-nth($short, $loci, null);
147
+ $_at: index($short, at);
148
+
149
+ @if $_at {
150
+ $_loci: $_at + 1;
151
+ $_location: nth($short, $_loci);
152
+ $_return: map-merge($_return, (location: $_location));
153
+ $short: set-nth($short, $_at, null);
154
+ $short: set-nth($short, $_loci, null);
162
155
  }
163
156
 
164
- $i: 1;
165
- $span: ();
157
+ $_i: 1;
158
+ $_span: ();
166
159
 
167
- @while $i <= length($short) {
168
- $this: nth($short, $i);
160
+ @while $_i <= length($short) {
161
+ $_this: nth($short, $_i);
169
162
 
170
- @if type-of($this) == number {
171
- $span: append($span, $this);
172
- $short: set-nth($short, $i, null);
173
- } @else if $this == of {
174
- $short: set-nth($short, $i, null);
175
- $i: length($short) + 1;
163
+ @if type-of($_this) == number {
164
+ $_span: append($_span, $_this);
165
+ $short: set-nth($short, $_i, null);
166
+ } @else if $_this == of {
167
+ $short: set-nth($short, $_i, null);
168
+ $_i: length($short) + 1;
176
169
  }
177
170
 
178
- $i: $i + 1;
171
+ $_i: $_i + 1;
179
172
  }
180
173
 
181
- @if length($span) > 0 {
182
- $span: if(length($span) == 1, nth($span, 1), $span);
183
- $return: map-merge($return, ($key: $span));
174
+ @if length($_span) > 0 {
175
+ $_span: if(length($_span) == 1, nth($_span, 1), $_span);
176
+ $_return: map-merge($_return, ($key: $_span));
184
177
  }
185
178
 
186
- $return: map-merge($return, parse-grid($short));
179
+ $_return: map-merge($_return, parse-grid($short));
187
180
  }
188
181
 
189
- @return $return;
182
+ @return $_return;
190
183
  }
191
184
 
192
185
 
@@ -195,70 +188,29 @@ $susy: () !default;
195
188
  @function parse-gutters(
196
189
  $short: $susy
197
190
  ) {
198
- $gutters: parse-span($short, gutter-override);
199
- $span: susy-get(gutter-override, $gutters);
191
+ $_gutters: parse-span($short, gutter-override);
192
+ $_span: susy-get(gutter-override, $_gutters);
200
193
 
201
- @if $span and not map-get($gutters, columns) {
202
- $context: ();
203
- $new: ();
194
+ @if $_span and not map-get($_gutters, columns) {
195
+ $_context: ();
196
+ $_new: ();
204
197
 
205
- @each $item in $span {
198
+ @each $item in $_span {
206
199
  @if type-of($item) == number and unitless($item) {
207
- $context: append($context, $item);
200
+ $_context: append($_context, $item);
208
201
  } @else {
209
- $new: append($new, $item);
202
+ $_new: append($_new, $item);
210
203
  }
211
204
  }
212
205
 
213
- $context: parse-grid($context);
214
- $new: if(length($new) == 0, null, $new);
215
- $new: if(length($new) == 1, nth($new, 1), $new);
216
- $new: (gutter-override: if($new != $span, $new, $span));
217
-
218
- $gutters: map-merge($gutters, $new);
219
- $gutters: map-merge($gutters, $context);
220
- }
221
-
222
- @return $gutters;
223
- }
224
-
206
+ $_context: parse-grid($_context);
207
+ $_new: if(length($_new) == 0, null, $_new);
208
+ $_new: if(length($_new) == 1, nth($_new, 1), $_new);
209
+ $_new: (gutter-override: if($_new != $_span, $_new, $_span));
225
210
 
226
- // Susy Set
227
- // --------
228
- // Change one setting
229
- // - $key : setting name
230
- // - $value : setting value
231
- @mixin susy-set(
232
- $key,
233
- $value
234
- ) {
235
- $susy: deep-set($susy, $key, $value) !global;
236
- }
237
-
238
-
239
- // Susy Get
240
- // --------
241
- // Return one setting from a grid
242
- // - $key : <keyword>
243
- // - $layout : <settings>
244
- @function susy-get(
245
- $key,
246
- $layout: map-merge($susy-defaults, $susy)
247
- ) {
248
- $layout: parse-grid($layout);
249
- $options: $layout $susy $susy-defaults;
250
- $break: false;
251
- $return: null;
252
-
253
- @each $opt in $options {
254
- @if type-of($opt) == map and not $break {
255
- $keyset: deep-has-key($opt, $key...);
256
- @if $keyset {
257
- $return: deep-get($opt, $key...);
258
- $break: true;
259
- }
260
- }
211
+ $_gutters: map-merge($_gutters, $_new);
212
+ $_gutters: map-merge($_gutters, $_context);
261
213
  }
262
214
 
263
- @return $return;
215
+ @return $_gutters;
264
216
  }