susy 2.2.14 → 3.0.0.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/{docs/changelog.rst → CHANGELOG.md} +0 -34
  3. data/README.md +135 -10
  4. data/VERSION +1 -1
  5. data/sass/_prefix.scss +10 -0
  6. data/sass/_susy.scss +4 -3
  7. data/sass/susy/_api.scss +134 -0
  8. data/sass/susy/_grids.scss +192 -0
  9. data/sass/susy/_parser.scss +284 -0
  10. data/sass/susy/_settings.scss +120 -0
  11. data/sass/susy/_unprefix.scss +53 -0
  12. data/sass/susy/_validation.scss +132 -0
  13. metadata +26 -75
  14. data/sass/_su.scss +0 -4
  15. data/sass/_susyone.scss +0 -4
  16. data/sass/susy/_su.scss +0 -7
  17. data/sass/susy/language/_susy.scss +0 -24
  18. data/sass/susy/language/_susyone.scss +0 -13
  19. data/sass/susy/language/susy/_background.scss +0 -385
  20. data/sass/susy/language/susy/_bleed.scss +0 -200
  21. data/sass/susy/language/susy/_box-sizing.scss +0 -47
  22. data/sass/susy/language/susy/_breakpoint-plugin.scss +0 -185
  23. data/sass/susy/language/susy/_container.scss +0 -81
  24. data/sass/susy/language/susy/_context.scss +0 -36
  25. data/sass/susy/language/susy/_gallery.scss +0 -94
  26. data/sass/susy/language/susy/_grids.scss +0 -64
  27. data/sass/susy/language/susy/_gutters.scss +0 -154
  28. data/sass/susy/language/susy/_isolate.scss +0 -77
  29. data/sass/susy/language/susy/_margins.scss +0 -94
  30. data/sass/susy/language/susy/_padding.scss +0 -74
  31. data/sass/susy/language/susy/_rows.scss +0 -138
  32. data/sass/susy/language/susy/_settings.scss +0 -216
  33. data/sass/susy/language/susy/_span.scss +0 -163
  34. data/sass/susy/language/susy/_validation.scss +0 -16
  35. data/sass/susy/language/susyone/_background.scss +0 -18
  36. data/sass/susy/language/susyone/_functions.scss +0 -377
  37. data/sass/susy/language/susyone/_grid.scss +0 -312
  38. data/sass/susy/language/susyone/_isolation.scss +0 -51
  39. data/sass/susy/language/susyone/_margin.scss +0 -93
  40. data/sass/susy/language/susyone/_media.scss +0 -105
  41. data/sass/susy/language/susyone/_padding.scss +0 -92
  42. data/sass/susy/language/susyone/_settings.scss +0 -60
  43. data/sass/susy/output/_float.scss +0 -9
  44. data/sass/susy/output/_shared.scss +0 -15
  45. data/sass/susy/output/_support.scss +0 -9
  46. data/sass/susy/output/float/_container.scss +0 -16
  47. data/sass/susy/output/float/_end.scss +0 -40
  48. data/sass/susy/output/float/_isolate.scss +0 -22
  49. data/sass/susy/output/float/_span.scss +0 -35
  50. data/sass/susy/output/shared/_background.scss +0 -26
  51. data/sass/susy/output/shared/_container.scss +0 -21
  52. data/sass/susy/output/shared/_direction.scss +0 -42
  53. data/sass/susy/output/shared/_inspect.scss +0 -25
  54. data/sass/susy/output/shared/_margins.scss +0 -23
  55. data/sass/susy/output/shared/_output.scss +0 -14
  56. data/sass/susy/output/shared/_padding.scss +0 -23
  57. data/sass/susy/output/support/_background.scss +0 -58
  58. data/sass/susy/output/support/_box-sizing.scss +0 -19
  59. data/sass/susy/output/support/_clearfix.scss +0 -18
  60. data/sass/susy/output/support/_prefix.scss +0 -19
  61. data/sass/susy/output/support/_rem.scss +0 -22
  62. data/sass/susy/output/support/_support.scss +0 -95
  63. data/sass/susy/su/_grid.scss +0 -103
  64. data/sass/susy/su/_settings.scss +0 -73
  65. data/sass/susy/su/_utilities.scss +0 -111
  66. data/sass/susy/su/_validation.scss +0 -57
  67. data/templates/project/_grids.scss +0 -9
  68. data/templates/project/manifest.rb +0 -15
  69. data/templates/project/style.scss +0 -4
@@ -1,36 +0,0 @@
1
- // Context Syntax
2
- // ==============
3
-
4
- // Nested [function]
5
- // -----------------
6
- // Return a subset grid for nested context.
7
- // - $context : <span>
8
- @function nested(
9
- $context
10
- ) {
11
- $context : parse-span($context);
12
- $span : susy-get(span, $context);
13
- $location : get-location($context);
14
- $columns : susy-get(columns, $context);
15
-
16
- @return susy-slice($span, $location, $columns);
17
- }
18
-
19
- // Nested [mixin]
20
- // --------------
21
- // Use a subset grid for a nested context
22
- // - $context : <span>
23
- // - @content : <content>
24
- @mixin nested(
25
- $context
26
- ) {
27
- $inspect : $context;
28
- $context : parse-span($context);
29
- $old : susy-get(columns);
30
- $susy : map-merge($susy, (columns: nested($context))) !global;
31
-
32
- @include susy-inspect(nested, $inspect);
33
- @content;
34
-
35
- $susy : map-merge($susy, (columns: $old)) !global;
36
- }
@@ -1,94 +0,0 @@
1
- // Gallery Syntax
2
- // ==============
3
-
4
- // Gallery
5
- // -------
6
- // Create an isolated gallery
7
- // - $span : <span>
8
- // - [$selector] : child | of-type
9
- @mixin gallery(
10
- $span,
11
- $selector: child
12
- ) {
13
- $inspect : $span;
14
- $span : parse-span($span);
15
- $span : map-merge($span, (location: 1));
16
-
17
- $n : susy-get(span, $span);
18
- $columns : susy-get(columns, $span);
19
- $context : susy-count($columns);
20
- $flow : susy-get(flow, $span);
21
-
22
- $inside : is-inside($span);
23
- $from : from($flow);
24
- $line : floor($context / $n);
25
- $symmetrical : is-symmetrical($columns);
26
-
27
- $output: (
28
- width : null,
29
- float : from,
30
- margin-before : null,
31
- margin-after : null,
32
- padding-before : null,
33
- padding-after : null,
34
- flow : $flow,
35
- );
36
-
37
- @if $inside {
38
- $gutters: get-gutters($span);
39
- $output: map-merge($output, (
40
- padding-before: map-get($gutters, before),
41
- padding-after: map-get($gutters, after),
42
- ));
43
- }
44
-
45
- @if $symmetrical {
46
- $output: map-merge($output, (width: get-span-width($span)));
47
- }
48
-
49
- $box : susy-get(box-sizing, $span);
50
- $global-box : if(susy-get(global-box-sizing) == 'border-box', true, false);
51
-
52
- @include susy-inspect(gallery, $inspect);
53
-
54
- // Collective Output
55
- @if $box == border-box or ($inside and not($box) and not($global-box)) {
56
- @include output((box-sizing: border-box));
57
- } @else if $box == content-box {
58
- @include output((box-sizing: content-box));
59
- }
60
-
61
- @include float-span-output($output...);
62
-
63
- // Individual Loop
64
- @for $item from 1 through $line {
65
- $nth: '#{$line}n + #{$item}';
66
- &:nth-#{$selector}(#{$nth}) {
67
- // Individual Prep
68
- $output: (
69
- width : if($symmetrical, null, get-span-width($span)),
70
- float : null,
71
- margin-before : get-isolation($span),
72
- margin-after : -100%,
73
- padding-before : null,
74
- padding-after : null,
75
- flow : $flow,
76
- );
77
-
78
- // Individual Output
79
- @include float-span-output($output...);
80
-
81
- @if get-edge($span) == first {
82
- @include break;
83
- @include first($span);
84
- } @else {
85
- @include nobreak;
86
- }
87
-
88
- // Individual Location Increment
89
- $location: get-location($span) + $n;
90
- $location: if($location > $context, 1, $location);
91
- $span: map-merge($span, (location: $location));
92
- }
93
- }
94
- }
@@ -1,64 +0,0 @@
1
- // Grid Syntax
2
- // ===========
3
-
4
-
5
- // Layout
6
- // ------
7
- // Set a new layout using a shorthand
8
- // - $layout: <settings>
9
- // - $clean: boolean
10
- @mixin layout(
11
- $layout,
12
- $clean: false
13
- ) {
14
- $inspect : $layout;
15
- $susy : _get-layout($layout, $clean) !global;
16
-
17
- @include susy-inspect(layout, $inspect);
18
- }
19
-
20
-
21
- // Use Grid
22
- // --------
23
- // Use an arbitrary layout for a section of code
24
- // - $layout: <settings>
25
- // - $clean: boolean
26
- @mixin with-layout(
27
- $layout,
28
- $clean: false
29
- ) {
30
- $inspect : $layout;
31
- $old : $susy;
32
- $susy : _get-layout($layout, $clean) !global;
33
-
34
- @include susy-inspect(with-layout, $inspect);
35
-
36
- @content;
37
-
38
- $susy: $old !global;
39
- }
40
-
41
-
42
- // Layout
43
- // ------
44
- // Return a parsed layout map based on shorthand syntax
45
- // - $layout: <settings>
46
- @function layout(
47
- $layout: $susy
48
- ) {
49
- @return parse-grid($layout);
50
- }
51
-
52
-
53
- // Get Layout
54
- // ----------
55
- // Return a new layout based on current and given settings
56
- // - $layout: <settings>
57
- // - $clean: boolean
58
- @function _get-layout(
59
- $layout,
60
- $clean: false
61
- ) {
62
- $layout: layout($layout);
63
- @return if($clean, $layout, _susy-deep-merge($susy, $layout));
64
- }
@@ -1,154 +0,0 @@
1
- // Gutter Syntax
2
- // =============
3
-
4
-
5
- // Gutters
6
- // -------
7
- // Set gutters on an element.
8
- // - [$span] : <settings>
9
- @mixin gutters(
10
- $span: $susy
11
- ) {
12
- $inspect : $span;
13
- $span : parse-gutters($span);
14
- $_gutters : get-gutters($span);
15
-
16
- $_output: (
17
- before: map-get($_gutters, before),
18
- after: map-get($_gutters, after),
19
- flow: susy-get(flow, $span),
20
- );
21
-
22
- @include susy-inspect(gutters, $inspect);
23
-
24
- @if is-inside($span) {
25
- @include padding-output($_output...);
26
- } @else {
27
- @include margin-output($_output...);
28
- }
29
- }
30
-
31
- @mixin gutter(
32
- $span: $susy
33
- ) {
34
- @include gutters($span);
35
- }
36
-
37
-
38
- // Gutter
39
- // ------
40
- // Return the width of a gutter.
41
- // - [$span] : <settings>
42
- @function gutter(
43
- $span: $susy
44
- ) {
45
- $span: parse-gutters($span);
46
-
47
- $_gutters: get-gutters($span);
48
- $_gutters: map-get($_gutters, before) or map-get($_gutters, after);
49
-
50
- @return $_gutters;
51
- }
52
-
53
- @function gutters(
54
- $span: $susy
55
- ) {
56
- @return gutter($span);
57
- }
58
-
59
-
60
- // Get Gutter Width
61
- // ----------------
62
- // Return gutter width.
63
- // - [$context]: <context>
64
- @function get-gutter-width(
65
- $context: $susy
66
- ) {
67
- $context : parse-gutters($context);
68
-
69
- $_gutters : susy-get(gutters, $context);
70
- $_gutter : susy-get(gutter-override, $context);
71
-
72
- @if $_gutters and ($_gutters > 0) and not($_gutter) {
73
- $_column-width: susy-get(column-width, $context);
74
- $_math: gutter-math($context);
75
- @if $_math == static {
76
- $_gutter: $_gutters * valid-column-math($_math, $_column-width);
77
- } @else {
78
- $_columns : susy-get(columns, $context);
79
- $_spread : if(is-split($context), wide, susy-get(spread, $context));
80
- $_gutter : percentage($_gutters / susy-sum($_columns, $_gutters, $_spread));
81
- }
82
- }
83
-
84
- $_gutter: if($_gutter == 'no-gutters' or $_gutter == 'no-gutter', null, $_gutter);
85
-
86
- @return $_gutter;
87
- }
88
-
89
-
90
- // Get Gutters
91
- // -----------
92
- // Return before and after gutter values.
93
- // - [$context]: <context>
94
- @function get-gutters(
95
- $context: $susy
96
- ) {
97
- $context : parse-gutters($context);
98
-
99
- $_gutter-position : susy-get(gutter-position, $context);
100
- $_gutter : get-gutter-width($context);
101
-
102
- $_return : (before: null, after: null);
103
-
104
- @if is-split($context) and $_gutter {
105
- $_gutter: $_gutter / 2;
106
- $_return: map-merge($_return, (before: $_gutter, after: $_gutter));
107
- } @else {
108
- $_return: map-merge($_return, ($_gutter-position: $_gutter));
109
- }
110
-
111
- @return $_return;
112
- }
113
-
114
-
115
- // Is Inside
116
- // ---------
117
- // Returns true if gutters are inside.
118
- // $context: <context>
119
- @function is-inside(
120
- $context
121
- ) {
122
- $_inside: inside inside-static;
123
- $_gutter-position: susy-get(gutter-position, $context);
124
-
125
- @return if(index($_inside, $_gutter-position), true, false);
126
- }
127
-
128
-
129
- // Is Split
130
- // --------
131
- // Returns true if gutters are split.
132
- // $context: <context>
133
- @function is-split(
134
- $context
135
- ) {
136
- $_split: split inside inside-static;
137
- $_gutter-position: susy-get(gutter-position, $context);
138
-
139
- @return if(index($_split, $_gutter-position), true, false);
140
- }
141
-
142
-
143
- // Gutter Math
144
- // -----------
145
- // Return the math to use for gutter calculations
146
- // $context: <context>
147
- @function gutter-math(
148
- $context: $susy
149
- ) {
150
- $_return : susy-get(math, $context);
151
- $_return : if(susy-get(gutter-position, $context) == inside-static, static, $_return);
152
-
153
- @return $_return;
154
- }
@@ -1,77 +0,0 @@
1
- // Isolation Syntax
2
- // ================
3
-
4
-
5
- // Isolate [Mixin]
6
- // ---------------
7
- // Set isolation as an override.
8
- // - $location: <span>
9
- @mixin isolate(
10
- $isolate: 1
11
- ) {
12
- $inspect: $isolate;
13
-
14
- $output: (
15
- push: isolate($isolate),
16
- flow: susy-get(flow, $isolate),
17
- );
18
-
19
- @include susy-inspect(isolate, $inspect);
20
- @include isolate-output($output...);
21
- }
22
-
23
-
24
- // Isolate [function]
25
- // ------------------
26
- // Return an isolation offset width.
27
- // - $location: <span>
28
- @function isolate(
29
- $isolate: 1
30
- ) {
31
- $isolate: parse-span($isolate);
32
- $isolation: susy-get(span, $isolate);
33
-
34
- @if $isolation and not(get-location($isolate)) {
35
- $new: (
36
- span: null,
37
- location: $isolation,
38
- );
39
- $isolate: map-merge($isolate, $new);
40
- }
41
-
42
- @return get-isolation($isolate);
43
- }
44
-
45
-
46
- // Get Isolation
47
- // -------------
48
- // Return the isolation offset width
49
- // - $input: <map>
50
- @function get-isolation(
51
- $input
52
- ) {
53
- $location : get-location($input);
54
- $columns : susy-get(columns, $input);
55
- $width : null;
56
-
57
- @if type-of($location) == number and not(unitless($location)) {
58
- $width: $location;
59
- } @else if $location {
60
- $push: $location - 1;
61
- @if $push > 0 {
62
- $push: map-merge($input, (
63
- span: $push,
64
- location: 1,
65
- spread: wide,
66
- ));
67
- $width: get-span-width($push);
68
- }
69
- }
70
-
71
- @if susy-get(gutter-position, $input) == split
72
- and susy-get(gutters, $input) > 0 {
73
- $width: if($width == null, gutters($input), $width + gutters($input));
74
- }
75
-
76
- @return $width or 0;
77
- }
@@ -1,94 +0,0 @@
1
- // Margin Syntax
2
- // =============
3
-
4
- // Pre
5
- // ---
6
- // Add spanning-margins before an element.
7
- // - $span : <span>
8
- @mixin pre(
9
- $span
10
- ) {
11
- $inspect: $span;
12
- $span : map-merge((spread: wide), parse-span($span));
13
- $flow : susy-get(flow, $span);
14
- $split : if(susy-get(gutter-position, $span) == split, true, false);
15
- $gutter : gutter($span);
16
- $span : span($span);
17
- $width : if($split and $gutter, $span + $gutter, $span);
18
-
19
- @include susy-inspect(pre, $inspect);
20
- @include margin-output($width, null, $flow);
21
- }
22
-
23
- // Post
24
- // ----
25
- // Add spanning-margins after an element.
26
- // - $span : <span>
27
- @mixin post(
28
- $span
29
- ) {
30
- $inspect : $span;
31
- $span : map-merge((spread: wide), parse-span($span));
32
- $flow : susy-get(flow, $span);
33
- $split : if(susy-get(gutter-position, $span) == split, true, false);
34
- $width : if($split, span($span) + gutter($span), span($span));
35
-
36
- @include susy-inspect(post, $inspect);
37
- @include margin-output(null, $width, $flow);
38
- }
39
-
40
- // Push
41
- // ----
42
- // Simple synonymn for pre.
43
- // - $span : <span>
44
- @mixin push(
45
- $span
46
- ) {
47
- @include pre($span);
48
- }
49
-
50
- // Pull
51
- // ----
52
- // Add negative spanning-margins before an element.
53
- // - $span : <span>
54
- @mixin pull(
55
- $span
56
- ) {
57
- $inspect : $span;
58
- $span : map-merge((spread: wide), parse-span($span));
59
- $flow : susy-get(flow, $span);
60
- $split : if(susy-get(gutter-position, $span) == split, true, false);
61
- $width : if($split, 0 - span($span) + gutter($span), 0 - span($span));
62
-
63
- @include susy-inspect(pull, $inspect);
64
- @include margin-output($width, null, $flow);
65
- }
66
-
67
- // Squish
68
- // ------
69
- // Add spanning-margins before and after an element.
70
- // - $pre : <span>
71
- // - [$post] : <span>
72
- @mixin squish(
73
- $pre,
74
- $post: false
75
- ) {
76
- $inspect : ($pre, $post);
77
- $pre : map-merge((spread: wide), parse-span($pre));
78
-
79
- @if $post {
80
- $post: map-merge((spread: wide), parse-span($post));
81
- } @else {
82
- $span: susy-get(span, $pre);
83
- @if length($span) > 1 {
84
- $pre: map-merge($pre, (span: nth($span, 1)));
85
- $post: map-merge($pre, (span: nth($span, 2)));
86
- } @else {
87
- $post: $pre;
88
- }
89
- }
90
-
91
- @include susy-inspect(squish, $inspect);
92
- @include pre($pre);
93
- @include post($post);
94
- }