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,103 +0,0 @@
1
- // Column math
2
- // ===========
3
-
4
-
5
- // Is Symmetrical
6
- // --------------
7
- // Returns true if a grid is symmetrical.
8
- // - [$columns] : <number> | <list>
9
- @function is-symmetrical(
10
- $columns: susy-get(columns)
11
- ) {
12
- $columns: valid-columns($columns);
13
- @return if(type-of($columns) == number, $columns, null);
14
- }
15
-
16
-
17
- // Susy Count
18
- // ----------
19
- // Find the number of columns in a given layout
20
- // - [$columns] : <number> | <list>
21
- @function susy-count(
22
- $columns: susy-get(columns)
23
- ) {
24
- $columns: valid-columns($columns);
25
- @return is-symmetrical($columns) or length($columns);
26
- }
27
-
28
-
29
- // Susy Sum
30
- // --------
31
- // Find the total sum of column-units in a layout
32
- // - [$columns] : <number> | <list>
33
- // - [$gutters] : <ratio>
34
- // - [$spread] : false/narrow | wide | wider
35
- @function susy-sum(
36
- $columns : susy-get(columns),
37
- $gutters : susy-get(gutters),
38
- $spread : false
39
- ) {
40
- $columns: valid-columns($columns);
41
- $gutters: valid-gutters($gutters);
42
-
43
- $spread: if($spread == wide, 0, if($spread == wider, 1, -1));
44
- $gutter-sum: (susy-count($columns) + $spread) * $gutters;
45
- $column-sum: is-symmetrical($columns);
46
-
47
- @if not($column-sum) {
48
- @each $column in $columns {
49
- $column-sum: ($column-sum or 0) + $column;
50
- }
51
- }
52
-
53
- @return $column-sum + $gutter-sum;
54
- }
55
-
56
-
57
- // Susy Slice
58
- // ----------
59
- // Return a subset of columns at a given location.
60
- // - $span : <number>
61
- // - $location : <number>
62
- // - [$columns] : <number> | <list>
63
- @function susy-slice(
64
- $span,
65
- $location,
66
- $columns: susy-get(columns)
67
- ) {
68
- $columns: valid-columns($columns);
69
- $sub-columns: $span;
70
-
71
- @if not(is-symmetrical($columns)) {
72
- $location: $location or 1;
73
- $sub-columns: ();
74
- @for $i from $location to ($location + $span) {
75
- $sub-columns: append($sub-columns, nth($columns, $i));
76
- }
77
- }
78
-
79
- @return $sub-columns;
80
- }
81
-
82
-
83
- // Susy
84
- // ----
85
- // Find the sum of a column-span.
86
- // - $span : <number>
87
- // - $location : <number>
88
- // - [$columns] : <number> | <list>
89
- // - [$gutters] : <ratio>
90
- // - [$spread] : false/narrow | wide | wider
91
- @function susy(
92
- $span,
93
- $location : false,
94
- $columns : susy-get(columns),
95
- $gutters : susy-get(gutters),
96
- $spread : false
97
- ) {
98
- $columns: valid-columns($columns);
99
- $gutters: valid-gutters($gutters);
100
- $span: susy-slice($span, $location, $columns);
101
-
102
- @return susy-sum($span, $gutters, $spread);
103
- }
@@ -1,73 +0,0 @@
1
- // Settings
2
- // ========
3
-
4
- // Version
5
- // -------
6
- $su-version: 1.1;
7
-
8
-
9
- // Default Settings
10
- // ----------------
11
- // PRIVATE: The basic settings
12
- $susy-defaults: (
13
- columns: 4,
14
- gutters: .25,
15
- );
16
-
17
-
18
- // User Settings
19
- // -------------
20
- // - Define the $susy variable with a map of your own settings.
21
- // - Set EITHER $column-width OR $container
22
- // - Use $column-width for static layouts
23
- $susy: () !default;
24
-
25
-
26
- // Susy Defaults
27
- // -------------
28
- // PRIVATE: Add defaults to Susy
29
- @mixin susy-defaults(
30
- $defaults
31
- ) {
32
- $susy-defaults: map-merge($susy-defaults, $defaults) !global;
33
- }
34
-
35
-
36
- // Susy Set
37
- // --------
38
- // Change one setting
39
- // - $key : setting name
40
- // - $value : setting value
41
- @mixin susy-set(
42
- $key-value...
43
- ) {
44
- $susy: _susy-deep-set($susy, $key-value...) !global;
45
- }
46
-
47
-
48
- // Susy Get
49
- // --------
50
- // Return one setting from a grid
51
- // - $key : <keyword>
52
- // - $layout : <settings>
53
- @function susy-get(
54
- $key,
55
- $layout: map-merge($susy-defaults, $susy)
56
- ) {
57
- $layout: parse-grid($layout);
58
- $_options: $layout $susy $susy-defaults;
59
- $_break: false;
60
- $_return: null;
61
-
62
- @each $opt in $_options {
63
- @if type-of($opt) == map and not($_break) {
64
- $_keyset: _susy-deep-has-key($opt, $key...);
65
- @if $_keyset {
66
- $_return: _susy-deep-get($opt, $key...);
67
- $_break: true;
68
- }
69
- }
70
- }
71
-
72
- @return $_return;
73
- }
@@ -1,111 +0,0 @@
1
- // Map Functions
2
- // =============
3
-
4
-
5
- // Truncate List
6
- // -------------
7
- // - Return a list, truncated to a given length
8
- @function _susy-truncate-list(
9
- $list,
10
- $length
11
- ) {
12
- $_return: ();
13
-
14
- @for $i from 1 through length($list) {
15
- $_return: if($i <= $length, append($_return, nth($list, $i)), $_return);
16
- }
17
-
18
- @return $_return;
19
- }
20
-
21
-
22
- // Deep Get
23
- // --------
24
- // - Return a value deep in nested maps
25
- @function _susy-deep-get(
26
- $map,
27
- $keys...
28
- ) {
29
- $_return: $map;
30
-
31
- @each $key in $keys {
32
- @if type-of($_return) == map {
33
- $_return: map-get($_return, $key);
34
- }
35
- }
36
-
37
- @return $_return;
38
- }
39
-
40
-
41
- // Deep Set
42
- // --------
43
- // - Set a value deep in nested maps
44
- @function _susy-deep-set(
45
- $map,
46
- $keys-value...
47
- ) {
48
- $_value: nth($keys-value, -1);
49
- $_keys: _susy-truncate-list($keys-value, length($keys-value) - 1);
50
- $_length: length($_keys);
51
- $_return: ();
52
-
53
- @for $i from 1 through $_length {
54
- $_n: 0 - $i;
55
- $_level: _susy-truncate-list($_keys, $_length + $_n);
56
- $_level: _susy-deep-get($map, $_level...);
57
- $_merge: nth($_keys, $_n);
58
- $_merge: ($_merge: $_value);
59
- $_return: if($_level, map-merge($_level, $_merge), $_merge);
60
- $_value: $_return;
61
- }
62
-
63
- @return $_return;
64
- }
65
-
66
-
67
- // Deep Merge
68
- // ----------
69
- // Return 2 objects of any depth, merged
70
- @function _susy-deep-merge(
71
- $map1,
72
- $map2
73
- ) {
74
-
75
- @if type-of($map1) != map or type-of($map2) != map {
76
- $map1: $map2;
77
- } @else {
78
- @each $key, $value in $map2 {
79
- $_new: ($key: _susy_deep-merge(map-get($map1, $key), $value));
80
- $map1: map-merge($map1, $_new);
81
- }
82
- }
83
-
84
- @return $map1;
85
- }
86
-
87
-
88
- // Deep Has-Key
89
- // ------------
90
- // - Return true if a deep key exists
91
- @function _susy-deep-has-key(
92
- $map,
93
- $keys...
94
- ) {
95
- $_return: null;
96
- $_stop: false;
97
-
98
- @each $key in $keys {
99
- @if not($_stop) {
100
- $_return: map-has-key($map, $key);
101
- }
102
-
103
- @if $_return {
104
- $map: map-get($map, $key);
105
- } @else {
106
- $_stop: true;
107
- }
108
- }
109
-
110
- @return $_return;
111
- }
@@ -1,57 +0,0 @@
1
- // Math Validation
2
- // ===============
3
-
4
-
5
- // Valid Columns
6
- // -------------
7
- // Check that a column setting is valid.
8
- @function valid-columns(
9
- $columns,
10
- $silent: false
11
- ) {
12
- $type: type-of($columns);
13
- $return: null;
14
-
15
- @if $type == number and unitless($columns) {
16
- $return: $columns;
17
- } @else if $type == list {
18
- $fail: null;
19
- @each $col in $columns {
20
- @if type-of($col) == number {
21
- $fail: $fail or if(unitless($col), null, true);
22
- } @else {
23
- $fail: true;
24
- }
25
- }
26
- $return: if($fail, $return, $columns);
27
- }
28
-
29
- @if $return != $columns and not($silent) {
30
- $return: null;
31
- $warn: '$columns must be a unitless number or list of unitless numbers.';
32
- @warn $warn + ' Current value [#{$type}]: #{$columns}';
33
- }
34
-
35
- @return $return;
36
- }
37
-
38
-
39
- // Valid Gutters
40
- // -------------
41
- // Check that a gutter setting is valid.
42
- @function valid-gutters(
43
- $gutters,
44
- $silent: false
45
- ) {
46
- $type: type-of($gutters);
47
- $return: null;
48
-
49
- @if $type == number and unitless($gutters) {
50
- $return: $gutters;
51
- } @else if not($silent) {
52
- $warn: '$gutters must be a unitless number.';
53
- @warn $warn + ' Current value [#{$type}]: #{$gutters}';
54
- }
55
-
56
- @return $return;
57
- }
@@ -1,9 +0,0 @@
1
- // Requirements
2
- // ============
3
-
4
- @import "susy";
5
-
6
- $susy: (
7
- columns: 12,
8
- gutters: 1/4,
9
- );
@@ -1,15 +0,0 @@
1
- description "Susy: custom Sass layouts. Your markup, your design, our math."
2
-
3
- discover :stylesheets
4
-
5
- help %Q{
6
- Full documentation and tutorials available online:
7
-
8
- http://susy.oddbird.net/
9
- }
10
-
11
- welcome_message %Q{
12
- Welcome to Susy! Check out the full documentation online:
13
-
14
- http://susy.oddbird.net/
15
- }
@@ -1,4 +0,0 @@
1
- // Screen
2
- // ======
3
-
4
- @import "grids";