susy 1.0.9 → 2.2.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE.txt +1 -1
- data/README.md +20 -115
- data/VERSION +1 -1
- data/docs/changelog.rst +783 -0
- data/lib/compass-susy.rb +1 -0
- data/lib/susy.rb +14 -4
- data/sass/_su.scss +4 -0
- data/sass/_susy.scss +3 -15
- data/sass/_susyone.scss +4 -0
- data/sass/susy/_su.scss +7 -0
- data/sass/susy/language/_susy.scss +24 -0
- data/sass/susy/language/_susyone.scss +13 -0
- data/sass/susy/language/susy/_background.scss +385 -0
- data/sass/susy/language/susy/_bleed.scss +200 -0
- data/sass/susy/language/susy/_box-sizing.scss +47 -0
- data/sass/susy/language/susy/_breakpoint-plugin.scss +185 -0
- data/sass/susy/language/susy/_container.scss +81 -0
- data/sass/susy/language/susy/_context.scss +36 -0
- data/sass/susy/language/susy/_gallery.scss +94 -0
- data/sass/susy/language/susy/_grids.scss +64 -0
- data/sass/susy/language/susy/_gutters.scss +154 -0
- data/sass/susy/language/susy/_isolate.scss +77 -0
- data/sass/susy/language/susy/_margins.scss +94 -0
- data/sass/susy/language/susy/_padding.scss +74 -0
- data/sass/susy/language/susy/_rows.scss +138 -0
- data/sass/susy/language/susy/_settings.scss +216 -0
- data/sass/susy/language/susy/_span.scss +163 -0
- data/sass/susy/language/susy/_validation.scss +16 -0
- data/sass/susy/{_background.scss → language/susyone/_background.scss} +0 -0
- data/sass/susy/{_functions.scss → language/susyone/_functions.scss} +23 -22
- data/sass/susy/{_grid.scss → language/susyone/_grid.scss} +76 -50
- data/sass/susy/{_isolation.scss → language/susyone/_isolation.scss} +0 -0
- data/sass/susy/{_margin.scss → language/susyone/_margin.scss} +0 -0
- data/sass/susy/{_media.scss → language/susyone/_media.scss} +26 -33
- data/sass/susy/{_padding.scss → language/susyone/_padding.scss} +0 -0
- data/sass/susy/{_settings.scss → language/susyone/_settings.scss} +4 -0
- data/sass/susy/output/_float.scss +9 -0
- data/sass/susy/output/_shared.scss +15 -0
- data/sass/susy/output/_support.scss +9 -0
- data/sass/susy/output/float/_container.scss +16 -0
- data/sass/susy/output/float/_end.scss +40 -0
- data/sass/susy/output/float/_isolate.scss +22 -0
- data/sass/susy/output/float/_span.scss +35 -0
- data/sass/susy/output/shared/_background.scss +26 -0
- data/sass/susy/output/shared/_container.scss +21 -0
- data/sass/susy/output/shared/_direction.scss +42 -0
- data/sass/susy/output/shared/_inspect.scss +25 -0
- data/sass/susy/output/shared/_margins.scss +23 -0
- data/sass/susy/output/shared/_output.scss +14 -0
- data/sass/susy/output/shared/_padding.scss +23 -0
- data/sass/susy/output/support/_background.scss +58 -0
- data/sass/susy/output/support/_box-sizing.scss +19 -0
- data/sass/susy/output/support/_clearfix.scss +18 -0
- data/sass/susy/output/support/_prefix.scss +19 -0
- data/sass/susy/output/support/_rem.scss +22 -0
- data/sass/susy/output/support/_support.scss +95 -0
- data/sass/susy/su/_grid.scss +103 -0
- data/sass/susy/su/_settings.scss +73 -0
- data/sass/susy/su/_utilities.scss +111 -0
- data/sass/susy/su/_validation.scss +57 -0
- data/templates/project/_grids.scss +9 -0
- data/templates/project/manifest.rb +6 -10
- data/templates/project/style.scss +4 -0
- metadata +106 -111
- data/CHANGELOG.mkdn +0 -296
- data/Manifest +0 -39
- data/Rakefile +0 -19
- data/sass/susy/_support.scss +0 -198
- data/sass/susy/_units.scss +0 -159
- data/susy.gemspec +0 -35
- data/templates/project/_base.scss +0 -14
- data/templates/project/screen.scss +0 -12
- data/test/config.rb +0 -10
- data/test/css/background.css +0 -16
- data/test/css/bleed.css +0 -20
- data/test/css/functions.css +0 -7
- data/test/css/grid.css +0 -134
- data/test/css/isolation.css +0 -46
- data/test/css/margin.css +0 -20
- data/test/css/media.css +0 -101
- data/test/css/padding.css +0 -12
- data/test/scss/background.scss +0 -11
- data/test/scss/bleed.scss +0 -19
- data/test/scss/functions.scss +0 -15
- data/test/scss/grid.scss +0 -77
- data/test/scss/isolation.scss +0 -19
- data/test/scss/margin.scss +0 -27
- data/test/scss/media.scss +0 -50
- data/test/scss/padding.scss +0 -19
@@ -0,0 +1,200 @@
|
|
1
|
+
// Bleed Syntax
|
2
|
+
// ============
|
3
|
+
|
4
|
+
// Bleed
|
5
|
+
// -----
|
6
|
+
// Add negative margins, and equal positive padding to create bleed.
|
7
|
+
// - $bleed : <span>
|
8
|
+
@mixin bleed(
|
9
|
+
$bleed: 0 gutter()
|
10
|
+
) {
|
11
|
+
$inspect : $bleed;
|
12
|
+
$output : get-bleed($bleed);
|
13
|
+
|
14
|
+
@if susy-get(global-box-sizing) != content-box {
|
15
|
+
$output: map-merge((box-sizing: content-box), $output);
|
16
|
+
}
|
17
|
+
|
18
|
+
@include susy-inspect(bleed, $inspect);
|
19
|
+
@include output($output);
|
20
|
+
}
|
21
|
+
|
22
|
+
|
23
|
+
// Bleed-x
|
24
|
+
// -------
|
25
|
+
// Shortcut for horizontal bleed.
|
26
|
+
// - $bleed : <span>
|
27
|
+
@mixin bleed-x(
|
28
|
+
$bleed: gutter()
|
29
|
+
) {
|
30
|
+
$bleed : parse-span($bleed);
|
31
|
+
$trbl : susy-get(span, $bleed);
|
32
|
+
|
33
|
+
@if length($trbl) == 1 {
|
34
|
+
$bleed: map-merge($bleed, (span: 0 nth($trbl, 1)));
|
35
|
+
} @else if length($trbl) == 2 {
|
36
|
+
$bleed: map-merge($bleed, (span: 0 nth($trbl, 2) 0 nth($trbl, 1)));
|
37
|
+
} @else {
|
38
|
+
@warn 'bleed-x only takes 2 lengths, but #{length($trbl)} were passed.';
|
39
|
+
}
|
40
|
+
|
41
|
+
@include bleed($bleed);
|
42
|
+
}
|
43
|
+
|
44
|
+
|
45
|
+
// Bleed-y
|
46
|
+
// -------
|
47
|
+
// Shortcut for vertical bleed.
|
48
|
+
// - $bleed : <span>
|
49
|
+
@mixin bleed-y(
|
50
|
+
$bleed: if(function-exists(rhythm), rhythm(1), 1em)
|
51
|
+
) {
|
52
|
+
$bleed : parse-span($bleed);
|
53
|
+
$trbl : susy-get(span, $bleed);
|
54
|
+
|
55
|
+
@if length($trbl) == 1 {
|
56
|
+
$bleed: map-merge($bleed, (span: nth($trbl, 1) 0));
|
57
|
+
} @else if length($trbl) == 2 {
|
58
|
+
$bleed: map-merge($bleed, (span: nth($trbl, 1) 0 nth($trbl, 2) 0));
|
59
|
+
} @else {
|
60
|
+
@warn 'bleed-y only takes 2 lengths, but #{length($trbl)} were passed.';
|
61
|
+
}
|
62
|
+
|
63
|
+
@include bleed($bleed);
|
64
|
+
}
|
65
|
+
|
66
|
+
|
67
|
+
// Get Bleed
|
68
|
+
// ---------
|
69
|
+
// Return bleed output values
|
70
|
+
// - $bleed: <span>
|
71
|
+
@function get-bleed(
|
72
|
+
$bleed
|
73
|
+
) {
|
74
|
+
$bleed : map-merge((spread: wide), parse-span($bleed));
|
75
|
+
$trbl : susy-get(span, $bleed);
|
76
|
+
$short : null;
|
77
|
+
$output : ();
|
78
|
+
|
79
|
+
@for $i from 1 through length($trbl) {
|
80
|
+
$this: nth($trbl, $i);
|
81
|
+
$new: ();
|
82
|
+
$margin: null;
|
83
|
+
$padding: null;
|
84
|
+
$padding-x: null;
|
85
|
+
|
86
|
+
@if $this > 0 {
|
87
|
+
$this: map-merge($bleed, (span: $this));
|
88
|
+
$margin: span($this);
|
89
|
+
$padding: $margin;
|
90
|
+
$padding-x: $padding;
|
91
|
+
}
|
92
|
+
|
93
|
+
@if $margin and $margin > 0 {
|
94
|
+
$margin: - $margin;
|
95
|
+
|
96
|
+
@if is-inside($this) {
|
97
|
+
$gutter: gutter($this);
|
98
|
+
$join: if($gutter and comparable($padding, $gutter), true, false);
|
99
|
+
$padding-x: if($join and $padding > 0, $padding + $gutter, $padding);
|
100
|
+
}
|
101
|
+
}
|
102
|
+
|
103
|
+
@if $i == 1 {
|
104
|
+
$new: (
|
105
|
+
margin-top: $margin,
|
106
|
+
padding-top: $padding,
|
107
|
+
margin-right: $margin,
|
108
|
+
padding-right: $padding-x,
|
109
|
+
margin-bottom: $margin,
|
110
|
+
padding-bottom: $padding,
|
111
|
+
margin-left: $margin,
|
112
|
+
padding-left: $padding-x,
|
113
|
+
);
|
114
|
+
} @else if $i == 2 {
|
115
|
+
$new: (
|
116
|
+
margin-right: $margin,
|
117
|
+
padding-right: $padding-x,
|
118
|
+
margin-left: $margin,
|
119
|
+
padding-left: $padding-x,
|
120
|
+
);
|
121
|
+
} @else if $i == 3 {
|
122
|
+
$new: (
|
123
|
+
margin-bottom: $margin,
|
124
|
+
padding-bottom: $padding,
|
125
|
+
);
|
126
|
+
} @else if $i == 4 {
|
127
|
+
$new: (
|
128
|
+
margin-left: $margin,
|
129
|
+
padding-left: $padding-x,
|
130
|
+
);
|
131
|
+
}
|
132
|
+
|
133
|
+
$output: map-merge($output, $new);
|
134
|
+
}
|
135
|
+
|
136
|
+
@each $prop, $value in $output {
|
137
|
+
$output: if($value == 0, map-merge($output, ($prop: null)), $output);
|
138
|
+
}
|
139
|
+
|
140
|
+
@return bleed-shorthand($output);
|
141
|
+
}
|
142
|
+
|
143
|
+
// Bleed Shorthand
|
144
|
+
// ---------------
|
145
|
+
// Convert bleed output into shorthand when possible.
|
146
|
+
// - $bleed: <output map>
|
147
|
+
@function bleed-shorthand(
|
148
|
+
$bleed
|
149
|
+
) {
|
150
|
+
$margin: ();
|
151
|
+
$padding: ();
|
152
|
+
$return: ();
|
153
|
+
|
154
|
+
@each $key, $value in $bleed {
|
155
|
+
@if str-index($key, margin) {
|
156
|
+
$margin: map-merge($margin, ($key: $value));
|
157
|
+
} @else if str-index($key, padding) > 0 {
|
158
|
+
$padding: map-merge($padding, ($key: $value));
|
159
|
+
}
|
160
|
+
}
|
161
|
+
|
162
|
+
$props: (
|
163
|
+
margin: $margin,
|
164
|
+
padding: $padding,
|
165
|
+
);
|
166
|
+
|
167
|
+
@each $name, $map in $props {
|
168
|
+
$four: if(length(map-keys($map)) == 4, true, false);
|
169
|
+
$null: if(index(map-values($map), null), true, false);
|
170
|
+
|
171
|
+
@if $four and not($null) {
|
172
|
+
$top: map-get($map, '#{$name}-top');
|
173
|
+
$right: map-get($map, '#{$name}-right');
|
174
|
+
$bottom: map-get($map, '#{$name}-bottom');
|
175
|
+
$left: map-get($map, '#{$name}-left');
|
176
|
+
|
177
|
+
$tb: if($top == $bottom, $top, null);
|
178
|
+
$rl: if($right == $left, $right, null);
|
179
|
+
$all: if($tb == $rl, $tb, null);
|
180
|
+
|
181
|
+
$new: if($all, $all, null);
|
182
|
+
|
183
|
+
@if not($new) {
|
184
|
+
@if $tb and $rl {
|
185
|
+
$new: $tb $rl;
|
186
|
+
} @else if $rl {
|
187
|
+
$new: $top $rl $bottom;
|
188
|
+
} @else {
|
189
|
+
$new: $top $right $bottom $left;
|
190
|
+
}
|
191
|
+
}
|
192
|
+
|
193
|
+
$return: map-merge($return, ($name: $new));
|
194
|
+
} @else {
|
195
|
+
$return: map-merge($return, $map);
|
196
|
+
}
|
197
|
+
}
|
198
|
+
|
199
|
+
@return $return;
|
200
|
+
}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
// Susy Box Sizing
|
2
|
+
// =================
|
3
|
+
|
4
|
+
// Global Box Sizing
|
5
|
+
// -----------------
|
6
|
+
// Set a box model globally on all elements.
|
7
|
+
// - [$box]: border-box | content-box
|
8
|
+
// - [$inherit]: true | false
|
9
|
+
@mixin global-box-sizing(
|
10
|
+
$box: susy-get(global-box-sizing),
|
11
|
+
$inherit: false
|
12
|
+
) {
|
13
|
+
$inspect: $box;
|
14
|
+
|
15
|
+
@if $inherit {
|
16
|
+
@at-root {
|
17
|
+
html { @include output((box-sizing: $box)); }
|
18
|
+
*, *:before, *:after { box-sizing: inherit; }
|
19
|
+
}
|
20
|
+
} @else {
|
21
|
+
*, *:before, *:after { @include output((box-sizing: $box)); }
|
22
|
+
}
|
23
|
+
|
24
|
+
@include susy-inspect(global-box-sizing, $inspect);
|
25
|
+
@include update-box-model($box);
|
26
|
+
}
|
27
|
+
|
28
|
+
// Border Box Sizing
|
29
|
+
// -----------------
|
30
|
+
// A legacy shortcut...
|
31
|
+
// - [$inherit]: true | false
|
32
|
+
@mixin border-box-sizing(
|
33
|
+
$inherit: false
|
34
|
+
) {
|
35
|
+
@include global-box-sizing(border-box, $inherit);
|
36
|
+
}
|
37
|
+
|
38
|
+
// Update Box Model
|
39
|
+
// ----------------
|
40
|
+
// PRIVATE: Updates global box model setting
|
41
|
+
@mixin update-box-model(
|
42
|
+
$box
|
43
|
+
) {
|
44
|
+
@if $box != susy-get(global-box-sizing) {
|
45
|
+
@include susy-set(global-box-sizing, $box);
|
46
|
+
}
|
47
|
+
}
|
@@ -0,0 +1,185 @@
|
|
1
|
+
// Breakpoint Integration
|
2
|
+
// ======================
|
3
|
+
|
4
|
+
$susy-media: () !default;
|
5
|
+
$susy-media-fallback: false !default;
|
6
|
+
|
7
|
+
$_susy-media-context: ();
|
8
|
+
|
9
|
+
|
10
|
+
// Susy Breakpoint
|
11
|
+
// ---------------
|
12
|
+
// Change grids at different media query breakpoints.
|
13
|
+
// - $query : <min-width> [<max-width>] | <property> <value> | <map>
|
14
|
+
// - $layout : <settings>
|
15
|
+
// - $no-query : <boolean> | <selector>
|
16
|
+
@mixin susy-breakpoint(
|
17
|
+
$query,
|
18
|
+
$layout: false,
|
19
|
+
$no-query: $susy-media-fallback
|
20
|
+
) {
|
21
|
+
@include susy-media-router($query, $no-query) {
|
22
|
+
@if $layout {
|
23
|
+
@include with-layout($layout) {
|
24
|
+
@content;
|
25
|
+
}
|
26
|
+
} @else {
|
27
|
+
@content;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
|
33
|
+
// Susy Media
|
34
|
+
// ----------
|
35
|
+
// - $query: <min-width> [<max-width>] | <property> <value>
|
36
|
+
// - $no-query: <boolean> | <selector>
|
37
|
+
@mixin susy-media(
|
38
|
+
$query,
|
39
|
+
$no-query: $susy-media-fallback
|
40
|
+
) {
|
41
|
+
$old-context: $_susy-media-context;
|
42
|
+
$name: if(map-has-key($susy-media, $query), $query, null);
|
43
|
+
$query: susy-get-media($query);
|
44
|
+
$query: susy-parse-media($query);
|
45
|
+
|
46
|
+
@include susy-media-context($query, $name);
|
47
|
+
|
48
|
+
@if $no-query and type-of($no-query) != string {
|
49
|
+
@content;
|
50
|
+
} @else {
|
51
|
+
@media #{susy-render-media($query)} {
|
52
|
+
@content;
|
53
|
+
}
|
54
|
+
|
55
|
+
@if type-of($no-query) == string {
|
56
|
+
#{$no-query} & {
|
57
|
+
@content;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
@include susy-media-context($old-context, $clean: true);
|
63
|
+
}
|
64
|
+
|
65
|
+
|
66
|
+
// Media Router
|
67
|
+
// ------------
|
68
|
+
// Rout media arguments to the correct mixin.
|
69
|
+
@mixin susy-media-router(
|
70
|
+
$query,
|
71
|
+
$no-query: $susy-media-fallback
|
72
|
+
) {
|
73
|
+
@if susy-support(breakpoint, (mixin: breakpoint), $warn: false) {
|
74
|
+
@include breakpoint($query, $no-query) {
|
75
|
+
@content;
|
76
|
+
}
|
77
|
+
} @else {
|
78
|
+
@include susy-media($query, $no-query) {
|
79
|
+
@content;
|
80
|
+
}
|
81
|
+
}
|
82
|
+
}
|
83
|
+
|
84
|
+
|
85
|
+
// Update Context
|
86
|
+
// -------------
|
87
|
+
// Set the new media context
|
88
|
+
@mixin susy-media-context(
|
89
|
+
$query,
|
90
|
+
$name: null,
|
91
|
+
$clean: false
|
92
|
+
) {
|
93
|
+
$query: map-merge((name: $name), $query);
|
94
|
+
|
95
|
+
@if $clean {
|
96
|
+
$_susy-media-context: $query !global;
|
97
|
+
} @else {
|
98
|
+
$_susy-media-context: map-merge($_susy-media-context, $query) !global;
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
|
103
|
+
// Media Context
|
104
|
+
// -------------
|
105
|
+
// Return the full media context, or a single media property (e.g. min-width)
|
106
|
+
@function susy-media-context(
|
107
|
+
$property: false
|
108
|
+
) {
|
109
|
+
@if $property {
|
110
|
+
@return map-get($_susy-media-context, $property);
|
111
|
+
} @else {
|
112
|
+
@return $_susy-media-context;
|
113
|
+
}
|
114
|
+
}
|
115
|
+
|
116
|
+
|
117
|
+
// Get Media
|
118
|
+
// ---------
|
119
|
+
// Return a named media-query from $susy-media.
|
120
|
+
// - $name: <key>
|
121
|
+
@function susy-get-media(
|
122
|
+
$name
|
123
|
+
) {
|
124
|
+
@if map-has-key($susy-media, $name) {
|
125
|
+
$map-value: map-get($susy-media, $name);
|
126
|
+
@if ($name == $map-value) {
|
127
|
+
$name: $map-value;
|
128
|
+
} @else {
|
129
|
+
$name: susy-get-media($map-value);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
@return $name;
|
134
|
+
}
|
135
|
+
|
136
|
+
|
137
|
+
// Render Media
|
138
|
+
// ------------
|
139
|
+
// Build a media-query string from various media settings
|
140
|
+
@function susy-render-media(
|
141
|
+
$query
|
142
|
+
) {
|
143
|
+
$output: null;
|
144
|
+
@each $property, $value in $query {
|
145
|
+
$string: null;
|
146
|
+
|
147
|
+
@if $property == media {
|
148
|
+
$string: $value;
|
149
|
+
} @else {
|
150
|
+
$string: '(#{$property}: #{$value})';
|
151
|
+
}
|
152
|
+
|
153
|
+
$output: if($output, '#{$output} and #{$string}', $string);
|
154
|
+
}
|
155
|
+
|
156
|
+
@return $output;
|
157
|
+
}
|
158
|
+
|
159
|
+
|
160
|
+
// Parse Media
|
161
|
+
// -----------
|
162
|
+
// Return parsed media-query settings based on shorthand
|
163
|
+
@function susy-parse-media(
|
164
|
+
$query
|
165
|
+
) {
|
166
|
+
$mq: null;
|
167
|
+
@if type-of($query) == map {
|
168
|
+
$mq: $query;
|
169
|
+
} @else if type-of($query) == number {
|
170
|
+
$mq: (min-width: $query);
|
171
|
+
} @else if type-of($query) == list and length($query) == 2 {
|
172
|
+
@if type-of(nth($query, 1)) == number {
|
173
|
+
$mq: (
|
174
|
+
min-width: min($query...),
|
175
|
+
max-width: max($query...),
|
176
|
+
);
|
177
|
+
} @else {
|
178
|
+
$mq: (nth($query, 1): nth($query, 2));
|
179
|
+
}
|
180
|
+
} @else {
|
181
|
+
$mq: (media: '#{$query}');
|
182
|
+
}
|
183
|
+
|
184
|
+
@return $mq;
|
185
|
+
}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
// Container Syntax
|
2
|
+
// ================
|
3
|
+
|
4
|
+
// Container [mixin]
|
5
|
+
// -----------------
|
6
|
+
// Set a container element
|
7
|
+
// - [$layout] : <settings>
|
8
|
+
@mixin container(
|
9
|
+
$layout: $susy
|
10
|
+
) {
|
11
|
+
$inspect : $layout;
|
12
|
+
$layout : parse-grid($layout);
|
13
|
+
|
14
|
+
$_width : get-container-width($layout);
|
15
|
+
$_justify : parse-container-position(susy-get(container-position, $layout));
|
16
|
+
$_property : if(susy-get(math, $layout) == static, width, max-width);
|
17
|
+
|
18
|
+
$_box : susy-get(box-sizing, $layout);
|
19
|
+
|
20
|
+
@if $_box {
|
21
|
+
@include output((box-sizing: $_box));
|
22
|
+
}
|
23
|
+
|
24
|
+
@include susy-inspect(container, $inspect);
|
25
|
+
@include float-container($_width, $_justify, $_property);
|
26
|
+
@include show-grid($layout);
|
27
|
+
}
|
28
|
+
|
29
|
+
// Container [function]
|
30
|
+
// --------------------
|
31
|
+
// Return container width
|
32
|
+
// - [$layout] : <settings>
|
33
|
+
@function container(
|
34
|
+
$layout: $susy
|
35
|
+
) {
|
36
|
+
$layout: parse-grid($layout);
|
37
|
+
@return get-container-width($layout);
|
38
|
+
}
|
39
|
+
|
40
|
+
// Get Container Width
|
41
|
+
// -------------------
|
42
|
+
// Calculate the container width
|
43
|
+
// - [$layout]: <settings>
|
44
|
+
@function get-container-width(
|
45
|
+
$layout: $susy
|
46
|
+
) {
|
47
|
+
$layout : parse-grid($layout);
|
48
|
+
$_width : susy-get(container, $layout);
|
49
|
+
$_column-width : susy-get(column-width, $layout);
|
50
|
+
$_math : susy-get(math, $layout);
|
51
|
+
|
52
|
+
@if not($_width) or $_width == auto {
|
53
|
+
@if valid-column-math($_math, $_column-width) {
|
54
|
+
$_columns : susy-get(columns, $layout);
|
55
|
+
$_gutters : susy-get(gutters, $layout);
|
56
|
+
$_spread : if(is-split($layout), wide, narrow);
|
57
|
+
$_width : susy-sum($_columns, $_gutters, $_spread) * $_column-width;
|
58
|
+
} @else {
|
59
|
+
$_width: 100%;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
@return $_width;
|
64
|
+
}
|
65
|
+
|
66
|
+
// Parse Container Position
|
67
|
+
// ------------------------
|
68
|
+
// Parse the $container-position into margin values.
|
69
|
+
// - [$justify] : left | center | right | <length> [<length>]
|
70
|
+
@function parse-container-position(
|
71
|
+
$justify: map-get($susy-defaults, container-position)
|
72
|
+
) {
|
73
|
+
$_return: if($justify == left, 0, auto) if($justify == right, 0, auto);
|
74
|
+
|
75
|
+
@if not(index(left right center, $justify)) {
|
76
|
+
$_return: nth($justify, 1);
|
77
|
+
$_return: $_return if(length($justify) > 1, nth($justify, 2), $_return);
|
78
|
+
}
|
79
|
+
|
80
|
+
@return $_return;
|
81
|
+
}
|