susy 2.0.0.alpha.3 → 2.0.0.alpha.4
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.
- checksums.yaml +5 -5
- data/sass/susy/_settings.scss +6 -0
- data/sass/susy/api/_shared.scss +1 -1
- data/sass/susy/api/float/_container.scss +2 -0
- data/sass/susy/api/float/_end.scss +6 -2
- data/sass/susy/api/shared/{_grid-background.scss → _background.scss} +10 -5
- data/sass/susy/language/shared/_settings.scss +3 -1
- data/sass/susy/language/susy/_background.scss +10 -10
- data/sass/susy/language/susy/_container.scss +1 -1
- data/sass/susy/language/susy/_gallery.scss +3 -1
- data/sass/susy/language/susy/_gutters.scss +40 -25
- data/sass/susy/language/susy/_margins.scss +36 -0
- data/sass/susy/language/susy/_padding.scss +5 -5
- data/sass/susy/language/susy/_span.scss +58 -10
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
SHA512:
|
3
|
-
data.tar.gz: 7bc217525b1ca257b1d45a1bdd688ddc09417358c26228cc53083ba64f914ec1057154f51feefb76c0cf463a8ab52f368227219b69c978d73951cafdea5f1e9a
|
4
|
-
metadata.gz: 0c0f837b5286717bf4dfdcd78bddafd15b19ee4d5aa9441a63774f160490133e27a5bf09f77d617c959ae883da55b93b979d959c75286fb1e09ff96700d1be92
|
5
2
|
SHA1:
|
6
|
-
|
7
|
-
|
3
|
+
metadata.gz: 46be92875abbfabd5a08c7190610555dbaca91ae
|
4
|
+
data.tar.gz: fe798a70237e5369c6a007550753af7a95523044
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3e4c356738b99d6148a9b2d4af4664ee6c51e3600e59e6747b02536b481b2d35ed7af1b3d633e32a77d3d90cda1782d9e08ef6e0aaec6b4912200bdbb6757c30
|
7
|
+
data.tar.gz: caf82262dd8131a8384fda277375fc6393a18cbdf60686ba15afc2666b53b89edf52e2f4911eb6d51990813719dce2b18b103818d1caba7ed565615a7b07b062
|
data/sass/susy/_settings.scss
CHANGED
data/sass/susy/api/_shared.scss
CHANGED
@@ -2,18 +2,23 @@
|
|
2
2
|
// ===================
|
3
3
|
// - Sub-pixel rounding can lead to several pixels variation between browsers.
|
4
4
|
|
5
|
-
@import "compass/css3";
|
6
5
|
@import "compass/layout/grid-background";
|
6
|
+
@import "compass/css3/images";
|
7
|
+
@import "compass/css3/background-size";
|
8
|
+
|
9
|
+
// Set the line height for your vertical rhythm.
|
10
|
+
$base-line-height : 24px !default;
|
7
11
|
|
8
12
|
// Grid Background Output
|
9
13
|
// ----------------------
|
10
14
|
// $stops : <list> (gradient color-stops)
|
11
15
|
// [$show] : show | show-columns | show-gutters | hide
|
12
16
|
// [$flow] : ltr | rtl
|
13
|
-
@mixin grid-
|
17
|
+
@mixin background-grid-output (
|
14
18
|
$stops,
|
15
|
-
$
|
16
|
-
$
|
19
|
+
$line-height : $base-line-height,
|
20
|
+
$show : $show-grids,
|
21
|
+
$flow : $flow
|
17
22
|
) {
|
18
23
|
$to : to($flow);
|
19
24
|
$from : from($flow);
|
@@ -35,7 +40,7 @@
|
|
35
40
|
@include background($background);
|
36
41
|
|
37
42
|
@if $show != show-columns {
|
38
|
-
@include background-size(100% $
|
43
|
+
@include background-size(100% $line-height);
|
39
44
|
background-position: left top;
|
40
45
|
}
|
41
46
|
|
@@ -22,7 +22,7 @@ $box-sizing : false !default;
|
|
22
22
|
$container-position : center !default;
|
23
23
|
|
24
24
|
// gutter handling
|
25
|
-
// - before | after | split
|
25
|
+
// - before | after | split | inside | inside-static | no-gutters
|
26
26
|
$gutter-position : after !default;
|
27
27
|
|
28
28
|
// show/hide grids
|
@@ -177,6 +177,8 @@ $show-grids : show-columns !default;
|
|
177
177
|
$new-gutter-position: split;
|
178
178
|
} @else if $value == inside {
|
179
179
|
$new-gutter-position: inside;
|
180
|
+
} @else if $value == inside-static {
|
181
|
+
$new-gutter-position: inside-static;
|
180
182
|
} @else if $value == no-gutters {
|
181
183
|
$new-gutter-position: no-gutters;
|
182
184
|
}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
// Background Grid Syntax
|
2
2
|
// ======================
|
3
3
|
|
4
|
+
@import "compass/css3/border-radius";
|
5
|
+
@import "compass/css3/box-shadow";
|
4
6
|
@import "compass/layout/stretching";
|
5
7
|
|
6
8
|
// The overlay is painted over your container's ::after pseudo-element,
|
@@ -12,16 +14,13 @@ $overlay-position : relative !default;
|
|
12
14
|
$grid-toggle-position : left bottom !default;
|
13
15
|
|
14
16
|
// Set the color of background grids.
|
15
|
-
$grid-
|
16
|
-
|
17
|
-
// Set the line height for your vertical rhythm.
|
18
|
-
$base-line-height : 24px !default;
|
17
|
+
$grid-color : rgba(#66f, .25) !default;
|
19
18
|
|
20
19
|
// Grid Background
|
21
20
|
// ---------------
|
22
21
|
// Show a grid background on any element.
|
23
22
|
// - [$grid] : <settings>
|
24
|
-
@mixin grid
|
23
|
+
@mixin background-grid(
|
25
24
|
$grid: get-grid()
|
26
25
|
) {
|
27
26
|
$grid : get-adjusted-grid($grid);
|
@@ -31,14 +30,14 @@ $base-line-height : 24px !default;
|
|
31
30
|
|
32
31
|
$stops : get-grid-color-stops($grid);
|
33
32
|
|
34
|
-
@include grid-
|
33
|
+
@include background-grid-output($stops, $show: $this-show, $flow: $this-flow);
|
35
34
|
}
|
36
35
|
|
37
36
|
// Grid Overlay
|
38
37
|
// ------------
|
39
38
|
// Generate an icon to trigger grid-overlays on any given elements.
|
40
39
|
// $grids... : <selector> [<settings>] [, <selector>]*
|
41
|
-
@mixin grid
|
40
|
+
@mixin overlay-grid (
|
42
41
|
$grids...
|
43
42
|
) {
|
44
43
|
$vert: nth($grid-toggle-position, 1);
|
@@ -76,7 +75,7 @@ $base-line-height : 24px !default;
|
|
76
75
|
position: unquote($overlay-position);
|
77
76
|
&::before {
|
78
77
|
@extend %grid-overlay-base;
|
79
|
-
@include grid
|
78
|
+
@include background-grid($grid);
|
80
79
|
}
|
81
80
|
}
|
82
81
|
}
|
@@ -98,7 +97,7 @@ $base-line-height : 24px !default;
|
|
98
97
|
$grid: parse-grid()
|
99
98
|
) {
|
100
99
|
$stops : ();
|
101
|
-
$color : $grid-
|
100
|
+
$color : $grid-color;
|
102
101
|
$trans : transparent;
|
103
102
|
$light : lighten($color, 15%);
|
104
103
|
|
@@ -122,8 +121,9 @@ $base-line-height : 24px !default;
|
|
122
121
|
$this-stop: append($this-stop, $light, comma);
|
123
122
|
} @else {
|
124
123
|
$end-color: $light;
|
124
|
+
$inside: if($this-gutter-position == inside or $this-gutter-position == inside-static, true, false);
|
125
125
|
|
126
|
-
@if $
|
126
|
+
@if not $inside {
|
127
127
|
$gutter: get-span-width($location, 1, $this-columns, $this-gutters, $this-column-width, $this-layout-math, $this-gutter-position);
|
128
128
|
$this-stop: append($this-stop, $light $gutter, comma);
|
129
129
|
$this-stop: append($this-stop, $trans $gutter, comma);
|
@@ -1,6 +1,8 @@
|
|
1
1
|
// Gallery Syntax
|
2
2
|
// ==============
|
3
3
|
|
4
|
+
@import "compass/css3/box-sizing";
|
5
|
+
|
4
6
|
// Gallery
|
5
7
|
// -------
|
6
8
|
// Create an isolated gallery
|
@@ -23,7 +25,7 @@
|
|
23
25
|
$this-flow : get-span-setting(flow, $input);
|
24
26
|
|
25
27
|
$box : get-span-setting(box-sizing, $input);
|
26
|
-
$inside : if(
|
28
|
+
$inside : if($this-gutter-position == inside or $this-gutter-position == inside-static, true, false);
|
27
29
|
|
28
30
|
$from : from($this-flow);
|
29
31
|
$context : column-count($this-columns);
|
@@ -6,22 +6,25 @@
|
|
6
6
|
// Set gutters on an element.
|
7
7
|
// - [$context] : <settings>
|
8
8
|
@mixin gutters(
|
9
|
-
$context: get-grid()
|
9
|
+
$context: join((of), get-grid())
|
10
10
|
) {
|
11
|
-
$context:
|
11
|
+
$context : parse-span($context);
|
12
12
|
|
13
|
-
$
|
14
|
-
$this-
|
15
|
-
$this-
|
16
|
-
$this-
|
17
|
-
$this-
|
18
|
-
$this-
|
13
|
+
$override : get-span-setting(span, $context);
|
14
|
+
$this-columns : get-span-setting(columns, $context);
|
15
|
+
$this-gutters : get-span-setting(gutters, $context);
|
16
|
+
$this-column-width : get-span-setting(column-width, $context);
|
17
|
+
$this-layout-math : get-span-setting(layout-math, $context);
|
18
|
+
$this-gutter-position : get-span-setting(gutter-position, $context);
|
19
|
+
$this-flow : get-span-setting(flow, $context);
|
19
20
|
|
20
21
|
$from: from($this-flow);
|
21
22
|
$to: to($this-flow);
|
22
23
|
|
23
|
-
|
24
|
-
|
24
|
+
@if $override { $override: if(unitless($override), false, $override); }
|
25
|
+
|
26
|
+
$this-gutters: get-gutters($this-columns, $this-gutters, $this-column-width, $this-layout-math, $this-gutter-position, $override);
|
27
|
+
$property: if($this-gutter-position == inside or $this-gutter-position == inside-static, padding, margin);
|
25
28
|
|
26
29
|
#{$property}-#{$from}: nth($this-gutters, 1);
|
27
30
|
#{$property}-#{$to}: nth($this-gutters, 2);
|
@@ -34,17 +37,20 @@
|
|
34
37
|
@function gutter(
|
35
38
|
$context: get-grid()
|
36
39
|
) {
|
37
|
-
$context
|
40
|
+
$context : get-adjusted-grid($context);
|
38
41
|
|
39
|
-
$this-columns
|
40
|
-
$this-gutters
|
41
|
-
$this-column-width
|
42
|
-
$this-layout-math
|
42
|
+
$this-columns : get-setting(columns, $context);
|
43
|
+
$this-gutters : get-setting(gutters, $context);
|
44
|
+
$this-column-width : get-setting(column-width, $context);
|
45
|
+
$this-layout-math : get-setting(layout-math, $context);
|
43
46
|
$this-gutter-position : get-setting(gutter-position, $context);
|
44
47
|
|
45
|
-
$
|
48
|
+
$this-layout-math: if($this-gutter-position == inside-static, static, $this-layout-math);
|
49
|
+
$width: get-gutter-width($this-columns, $this-gutters, $this-column-width, $this-layout-math, $this-gutter-position);
|
50
|
+
|
51
|
+
$split: if($this-gutter-position == before or $this-gutter-position == after, false, true);
|
46
52
|
|
47
|
-
@if $
|
53
|
+
@if $split {
|
48
54
|
$width: $width / 2;
|
49
55
|
}
|
50
56
|
|
@@ -59,17 +65,25 @@
|
|
59
65
|
// - [$column-width] : <length>
|
60
66
|
// - [$layout-math] : fluid | static
|
61
67
|
@function get-gutter-width(
|
62
|
-
$columns
|
63
|
-
$gutters
|
64
|
-
$column-width
|
65
|
-
$layout-math
|
68
|
+
$columns : $columns,
|
69
|
+
$gutters : $gutters,
|
70
|
+
$column-width : $column-width,
|
71
|
+
$layout-math : $layout-math,
|
72
|
+
$gutter-position : $gutter-position
|
66
73
|
) {
|
67
|
-
$context :
|
74
|
+
$context : null;
|
68
75
|
$gutter : null;
|
69
76
|
|
77
|
+
$inside: if($gutter-position == inside or $gutter-position == inside-static, true, false);
|
78
|
+
|
70
79
|
@if $layout-math == static {
|
71
80
|
$gutter: $gutters * $column-width;
|
72
81
|
} @else {
|
82
|
+
@if $inside {
|
83
|
+
$context: column-sum($columns, $gutters, outer);
|
84
|
+
} @else {
|
85
|
+
$context: column-sum($columns, $gutters);
|
86
|
+
}
|
73
87
|
$gutter: percentage($gutters / $context);
|
74
88
|
}
|
75
89
|
|
@@ -100,15 +114,16 @@
|
|
100
114
|
@if $gutter-override {
|
101
115
|
$gutter: $gutter-override;
|
102
116
|
} @else {
|
103
|
-
$
|
117
|
+
$layout-math: if($gutter-position == inside-static, static, $layout-math);
|
118
|
+
$gutter: get-gutter-width($columns, $gutters, $column-width, $layout-math, $gutter-position);
|
104
119
|
}
|
105
120
|
|
106
121
|
@if $gutter-position == before {
|
107
122
|
$before: $gutter;
|
108
123
|
} @else if $gutter-position == after {
|
109
124
|
$after: $gutter;
|
110
|
-
} @else if $gutter-position == split or $gutter-position == inside {
|
111
|
-
$gutter:
|
125
|
+
} @else if $gutter-position == split or $gutter-position == inside or $gutter-position == inside-static {
|
126
|
+
$gutter: $gutter / 2;
|
112
127
|
$before: $gutter;
|
113
128
|
$after: $gutter;
|
114
129
|
}
|
@@ -90,3 +90,39 @@
|
|
90
90
|
|
91
91
|
@include margin-output($before, $after, $flow);
|
92
92
|
}
|
93
|
+
|
94
|
+
// Bleed
|
95
|
+
// -----
|
96
|
+
// Add negative margins, and equal positive padding to create bleed.
|
97
|
+
// - $span : <span>
|
98
|
+
// - $sides : [ top | right | bottom | left | all ]
|
99
|
+
@mixin bleed(
|
100
|
+
$span : gutter(),
|
101
|
+
$sides : left right
|
102
|
+
) {
|
103
|
+
$margin: span(append($span, outer));
|
104
|
+
$padding: $margin;
|
105
|
+
|
106
|
+
$context: get-span-context($span);
|
107
|
+
|
108
|
+
$this-gutter-position: get-span-setting(gutter-position, $span, parse);
|
109
|
+
$inside: if($this-gutter-position == inside or $this-gutter-position == inside-static, true, false);
|
110
|
+
$gutter-width: gutter($context);
|
111
|
+
|
112
|
+
@if $inside and comparable($padding, $gutter-width) {
|
113
|
+
$padding: $padding + $gutter-width;
|
114
|
+
}
|
115
|
+
|
116
|
+
@if $box-sizing == border-box { @include box-sizing(content-box); }
|
117
|
+
|
118
|
+
@if $sides == all {
|
119
|
+
margin: 0 - $margin;
|
120
|
+
padding: $padding;
|
121
|
+
} @else {
|
122
|
+
@each $side in $sides {
|
123
|
+
margin-#{$side}: 0 - $margin;
|
124
|
+
padding-#{$side}: $padding;
|
125
|
+
}
|
126
|
+
}
|
127
|
+
}
|
128
|
+
|
@@ -38,15 +38,15 @@
|
|
38
38
|
$pre,
|
39
39
|
$post: $pre
|
40
40
|
) {
|
41
|
-
$pre
|
42
|
-
$post
|
41
|
+
$pre : if(index($pre, outer), $pre, append($pre, outer));
|
42
|
+
$post : if(index($post, outer), $post, append($post, outer));
|
43
43
|
|
44
44
|
$get-pre : parse-span($pre);
|
45
45
|
$get-post : parse-span($post);
|
46
46
|
|
47
|
-
$flow
|
48
|
-
$before
|
49
|
-
$after
|
47
|
+
$flow : get-span-setting(flow, $get-pre);
|
48
|
+
$before : null;
|
49
|
+
$after : null;
|
50
50
|
|
51
51
|
// get the various contexts
|
52
52
|
$default-context : $columns $gutters;
|
@@ -1,6 +1,8 @@
|
|
1
1
|
// Span Syntax
|
2
2
|
// ===========
|
3
3
|
|
4
|
+
@import "compass/css3/box-sizing";
|
5
|
+
|
4
6
|
// Span [mixin]
|
5
7
|
// ------------
|
6
8
|
// Set a spanning element using shorthand syntax.
|
@@ -11,7 +13,9 @@
|
|
11
13
|
$span : parse-span($span);
|
12
14
|
$output : span-math($span...);
|
13
15
|
$box : get-span-setting(box-sizing, $span);
|
14
|
-
|
16
|
+
|
17
|
+
$this-gutter-position: get-span-setting(gutter-position, $span);
|
18
|
+
$inside : if($this-gutter-position == inside or $this-gutter-position == inside-static, true, false);
|
15
19
|
|
16
20
|
@if $box == border-box or $inside {
|
17
21
|
@include box-sizing(border-box);
|
@@ -20,6 +24,8 @@
|
|
20
24
|
}
|
21
25
|
|
22
26
|
@include float-span-output($output...);
|
27
|
+
|
28
|
+
@include nested($span) { @content; }
|
23
29
|
}
|
24
30
|
|
25
31
|
// Span [function]
|
@@ -121,6 +127,8 @@
|
|
121
127
|
$new-gutter-position: split;
|
122
128
|
} @else if $value == inside {
|
123
129
|
$new-gutter-position: inside;
|
130
|
+
} @else if $value == inside-static {
|
131
|
+
$new-gutter-position: inside-static;
|
124
132
|
} @else if $value == no-gutter or $value == no-gutters {
|
125
133
|
$new-gutter-position: no-gutters;
|
126
134
|
}
|
@@ -208,13 +216,15 @@
|
|
208
216
|
// - $setting : <keyword> (see $options below)
|
209
217
|
// - $span : <span>
|
210
218
|
// - $parse : <boolean>
|
219
|
+
|
220
|
+
$susy-span-options: span location columns gutters column-width layout-method layout-math outer flow gutter-position is-container gutter-override;
|
221
|
+
|
211
222
|
@function get-span-setting(
|
212
223
|
$setting,
|
213
224
|
$span,
|
214
225
|
$parse: false
|
215
226
|
) {
|
216
|
-
$
|
217
|
-
$key : index($options, $setting);
|
227
|
+
$key : index($susy-span-options, $setting);
|
218
228
|
$value : false;
|
219
229
|
|
220
230
|
@if $parse {
|
@@ -255,7 +265,8 @@
|
|
255
265
|
$flow : $flow,
|
256
266
|
$gutter-position : $gutter-position,
|
257
267
|
$is-container : false,
|
258
|
-
$gutter-override : false
|
268
|
+
$gutter-override : false,
|
269
|
+
$last-flow : $last-flow
|
259
270
|
) {
|
260
271
|
$float : from;
|
261
272
|
$width : $span;
|
@@ -269,11 +280,15 @@
|
|
269
280
|
$width: get-span-width($span, $location, $columns, $gutters, $column-width, $layout-math, $gutter-position, $outer);
|
270
281
|
$this-gutters: get-gutters($columns, $gutters, $column-width, $layout-math, $gutter-position, $gutter-override);
|
271
282
|
|
283
|
+
$inside: if($gutter-position == inside or $gutter-position == inside-static, true, false);
|
284
|
+
|
272
285
|
// apply gutters
|
273
|
-
@if $
|
274
|
-
$
|
275
|
-
|
276
|
-
|
286
|
+
@if $inside {
|
287
|
+
@if not $is-container {
|
288
|
+
$padding-before: nth($this-gutters,1);
|
289
|
+
$padding-after: nth($this-gutters,2);
|
290
|
+
}
|
291
|
+
} @else {
|
277
292
|
$margin-before: nth($this-gutters,1);
|
278
293
|
$margin-after: nth($this-gutters,2);
|
279
294
|
}
|
@@ -284,7 +299,7 @@
|
|
284
299
|
$margin-after: -100%;
|
285
300
|
} @else {
|
286
301
|
@if is-last($span, $location, $columns) {
|
287
|
-
$float:
|
302
|
+
$float: $last-flow;
|
288
303
|
$margin-after: null;
|
289
304
|
} @else if is-first($location) {
|
290
305
|
$margin-before: null;
|
@@ -319,8 +334,10 @@
|
|
319
334
|
$span-sum : null;
|
320
335
|
$width : null;
|
321
336
|
|
337
|
+
$inside: if($gutter-position == inside or $gutter-position == inside-static, true, false);
|
338
|
+
|
322
339
|
@if unitless($span) {
|
323
|
-
@if $
|
340
|
+
@if $inside {
|
324
341
|
$context: column-sum($columns, $gutters, outer);
|
325
342
|
$span-sum: get-column-span-sum($span, $location, $columns, $gutters, outer);
|
326
343
|
} @else {
|
@@ -339,3 +356,34 @@
|
|
339
356
|
|
340
357
|
@return $width;
|
341
358
|
}
|
359
|
+
|
360
|
+
// Get Span Context
|
361
|
+
// ----------------
|
362
|
+
// - $span: <span>
|
363
|
+
@function get-span-context(
|
364
|
+
$span
|
365
|
+
) {
|
366
|
+
$parsed: parse-span($span);
|
367
|
+
$context: compact();
|
368
|
+
|
369
|
+
$width: get-span-setting(span, $parsed);
|
370
|
+
$location: get-span-setting(location, $parsed);
|
371
|
+
|
372
|
+
$removed-width: false;
|
373
|
+
$removed-location: false;
|
374
|
+
|
375
|
+
@each $setting in $span {
|
376
|
+
@if $setting != of and $setting != at {
|
377
|
+
@if $setting == $width and not $removed-width {
|
378
|
+
$removed-width: true;
|
379
|
+
} @else if $setting == $location and not $removed-location {
|
380
|
+
$removed-location: true;
|
381
|
+
} @else {
|
382
|
+
$context: append($context, $setting, space);
|
383
|
+
}
|
384
|
+
}
|
385
|
+
}
|
386
|
+
|
387
|
+
@return $context;
|
388
|
+
}
|
389
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: susy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.alpha.
|
4
|
+
version: 2.0.0.alpha.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Meyer
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2013-
|
19
|
+
date: 2013-09-04 00:00:00 Z
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: compass
|
@@ -70,8 +70,8 @@ files:
|
|
70
70
|
- sass/susy/api/float/_end.scss
|
71
71
|
- sass/susy/api/float/_isolate.scss
|
72
72
|
- sass/susy/api/float/_span.scss
|
73
|
+
- sass/susy/api/shared/_background.scss
|
73
74
|
- sass/susy/api/shared/_container.scss
|
74
|
-
- sass/susy/api/shared/_grid-background.scss
|
75
75
|
- sass/susy/api/shared/_margins.scss
|
76
76
|
- sass/susy/api/shared/_padding.scss
|
77
77
|
- sass/susy/helpers/_direction.scss
|