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,40 +0,0 @@
1
- // Float Ends API
2
- // ==============
3
-
4
- // Susy End Defaults
5
- // -----------------
6
- // - PRIVATE
7
- @include susy-defaults((
8
- last-flow: to,
9
- ));
10
-
11
- // Float Last
12
- // ----------
13
- // - [$flow] : ltr | rtl
14
- @mixin float-last(
15
- $flow: map-get($susy-defaults, flow),
16
- $last-flow: map-get($susy-defaults, last-flow),
17
- $margin: 0
18
- ) {
19
- $to: to($flow);
20
-
21
- $output: (
22
- float: if($last-flow == to, $to, null),
23
- margin-#{$to}: $margin,
24
- );
25
-
26
- @include output($output);
27
- }
28
-
29
- // Float First
30
- // -----------
31
- // - [$flow] : ltr | rtl
32
- @mixin float-first(
33
- $flow: map-get($susy-defaults, flow)
34
- ) {
35
- $output: (
36
- margin-#{from($flow)}: 0,
37
- );
38
-
39
- @include output($output);
40
- }
@@ -1,22 +0,0 @@
1
- // Float Isolation API
2
- // ===================
3
-
4
- // Isolate Output
5
- // --------------
6
- // - $push : <length>
7
- // - [$flow] : ltr | rtl
8
- @mixin isolate-output(
9
- $push,
10
- $flow: map-get($susy-defaults, flow)
11
- ) {
12
- $to: to($flow);
13
- $from: from($flow);
14
-
15
- $output: (
16
- float: $from,
17
- margin-#{$from}: $push,
18
- margin-#{$to}: -100%,
19
- );
20
-
21
- @include output($output);
22
- }
@@ -1,35 +0,0 @@
1
- // Float Span API
2
- // ==============
3
-
4
- // Float Span Output
5
- // -----------------
6
- // - $width : <length>
7
- // - [$float] : from | to
8
- // - [$margin-before] : <length>
9
- // - [$margin-after] : <length>
10
- // - [$padding-before] : <length>
11
- // - [$padding-after] : <length>
12
- // - [$flow] : ltr | rtl
13
- @mixin float-span-output(
14
- $width,
15
- $float : from,
16
- $margin-before : null,
17
- $margin-after : null,
18
- $padding-before : null,
19
- $padding-after : null,
20
- $flow : map-get($susy-defaults, flow)
21
- ) {
22
- $to : to($flow);
23
- $from : from($flow);
24
-
25
- $output: (
26
- width: $width,
27
- float: if($float == to, $to, null) or if($float == from, $from, null),
28
- margin-#{$from}: $margin-before,
29
- margin-#{$to}: $margin-after,
30
- padding-#{$from}: $padding-before,
31
- padding-#{$to}: $padding-after,
32
- );
33
-
34
- @include output($output);
35
- }
@@ -1,26 +0,0 @@
1
- // Grid Background API
2
- // ===================
3
- // - Sub-pixel rounding can lead to several pixels variation between browsers.
4
-
5
- // Grid Background Output
6
- // ----------------------
7
- // - $image: background-image
8
- // - $size: background-size
9
- // - $clip: background-clip
10
- // - [$flow]: ltr | rtl
11
- @mixin background-grid-output (
12
- $image,
13
- $size: null,
14
- $clip: null,
15
- $flow: map-get($susy-defaults, flow)
16
- ) {
17
- $output: (
18
- background-image: $image,
19
- background-size: $size,
20
- background-origin: $clip,
21
- background-clip: $clip,
22
- background-position: from($flow) top,
23
- );
24
-
25
- @include output($output);
26
- }
@@ -1,21 +0,0 @@
1
- // Shared Container API
2
- // ====================
3
-
4
- // Container Output
5
- // ----------------
6
- // - [$width] : <length>
7
- // - [$justify] : left | center | right
8
- // - [$math] : fluid | static
9
- @mixin container-output(
10
- $width,
11
- $justify: auto auto,
12
- $property: max-width
13
- ) {
14
- $output: (
15
- #{$property}: $width or 100%,
16
- margin-left: nth($justify, 1),
17
- margin-right: nth($justify, 2),
18
- );
19
-
20
- @include output($output);
21
- }
@@ -1,42 +0,0 @@
1
- // Direction Helpers
2
- // =================
3
-
4
- // Susy Flow Defaults
5
- // ------------------
6
- // - PRIVATE
7
- @include susy-defaults((
8
- flow: ltr,
9
- ));
10
-
11
- // Get Direction
12
- // -------------
13
- // Return the 'from' or 'to' direction of a ltr or rtl flow.
14
- // - [$flow] : ltr | rtl
15
- // - [$key] : from | to
16
- @function get-direction(
17
- $flow: map-get($susy-defaults, flow),
18
- $key: from
19
- ) {
20
- $return: if($flow == rtl, (from: right, to: left), (from: left, to: right));
21
- @return map-get($return, $key);
22
- }
23
-
24
- // To
25
- // --
26
- // Return the 'to' direction of a flow
27
- // - [$flow] : ltr | rtl
28
- @function to(
29
- $flow: map-get($susy-defaults, flow)
30
- ) {
31
- @return get-direction($flow, to);
32
- }
33
-
34
- // From
35
- // ----
36
- // Return the 'from' direction of a flow
37
- // - [$flow] : ltr | rtl
38
- @function from(
39
- $flow: map-get($susy-defaults, flow)
40
- ) {
41
- @return get-direction($flow, from);
42
- }
@@ -1,25 +0,0 @@
1
- // Debugging
2
- // =========
3
-
4
- // Susy Inspect
5
- // ------------
6
- // Output arguments passed to a inspect.
7
- // - $mixin : <susy mixin>
8
- // - $inspec : <mixin arguments>
9
-
10
- @mixin susy-inspect(
11
- $mixin,
12
- $inspect
13
- ) {
14
- $show: false;
15
-
16
- @each $item in $inspect {
17
- @if index($item, inspect) {
18
- $show: true;
19
- }
20
- }
21
-
22
- @if $show or susy-get(debug inspect) {
23
- -susy-#{$mixin}: inspect($inspect);
24
- }
25
- }
@@ -1,23 +0,0 @@
1
- // Margins API
2
- // ===========
3
-
4
- // Margin Output
5
- // -------------
6
- // - $before : <length>
7
- // - $after : <length>
8
- // - [$flow] : ltr | rtl
9
- @mixin margin-output(
10
- $before,
11
- $after,
12
- $flow: map-get($susy-defaults, flow)
13
- ) {
14
- $to: to($flow);
15
- $from: from($flow);
16
-
17
- $output: (
18
- margin-#{$from}: $before,
19
- margin-#{$to}: $after,
20
- );
21
-
22
- @include output($output);
23
- }
@@ -1,14 +0,0 @@
1
- // Output
2
- // ======
3
-
4
- // Output
5
- // ------
6
- // Output CSS with proper browser support.
7
- // - $styles : <map of css property-value pairs>
8
- @mixin output(
9
- $styles
10
- ) {
11
- @each $prop, $val in $styles {
12
- @include susy-support($prop, $val);
13
- }
14
- }
@@ -1,23 +0,0 @@
1
- // Padding API
2
- // ===========
3
-
4
- // Padding Output
5
- // --------------
6
- // - $before : <length>
7
- // - $after : <length>
8
- // - [$flow] : ltr | rtl
9
- @mixin padding-output(
10
- $before,
11
- $after,
12
- $flow: map-get($susy-defaults, flow)
13
- ) {
14
- $to: to($flow);
15
- $from: from($flow);
16
-
17
- $output: (
18
- padding-#{$from}: $before,
19
- padding-#{$to}: $after,
20
- );
21
-
22
- @include output($output);
23
- }
@@ -1,58 +0,0 @@
1
- // Background Properties
2
- // =====================
3
-
4
- // Susy Background Image
5
- // ---------------------
6
- // Check for an existing support mixin, or provide a simple fallback.
7
- // - $image: <background-image>
8
- @mixin susy-background-image(
9
- $image
10
- ) {
11
- @if susy-support(background-image, (mixin: background-image), $warn: false) {
12
- @include background-image($image...);
13
- } @else {
14
- background-image: $image;
15
- }
16
- }
17
-
18
- // Susy Background Size
19
- // ---------------------
20
- // Check for an existing support mixin, or provide a simple fallback.
21
- // - $image: <background-size>
22
- @mixin susy-background-size(
23
- $size
24
- ) {
25
- @if susy-support(background-options, (mixin: background-size)) {
26
- @include background-size($size);
27
- } @else {
28
- background-size: $size;
29
- }
30
- }
31
-
32
- // Susy Background Origin
33
- // ----------------------
34
- // Check for an existing support mixin, or provide a simple fallback.
35
- // - $image: <background-origin>
36
- @mixin susy-background-origin(
37
- $origin
38
- ) {
39
- @if susy-support(background-options, (mixin: background-origin)) {
40
- @include background-origin($origin);
41
- } @else {
42
- background-origin: $origin;
43
- }
44
- }
45
-
46
- // Susy Background Clip
47
- // --------------------
48
- // Check for an existing support mixin, or provide a simple fallback.
49
- // - $image: <background-clip>
50
- @mixin susy-background-clip(
51
- $clip
52
- ) {
53
- @if susy-support(background-options, (mixin: background-clip)) {
54
- @include background-clip($clip);
55
- } @else {
56
- background-clip: $clip;
57
- }
58
- }
@@ -1,19 +0,0 @@
1
- // Box Sizing
2
- // ==========
3
-
4
- // Box Sizing
5
- // ----------
6
- // Check for an existing support mixin, or provide a simple fallback.
7
- // - $model: <box-sizing>
8
- @mixin susy-box-sizing(
9
- $model: content-box
10
- ) {
11
- @if $model {
12
- @if susy-support(box-sizing, (mixin: box-sizing), $warn: false) {
13
- @include box-sizing($model);
14
- } @else {
15
- $prefix: (moz, webkit, official);
16
- @include susy-prefix(box-sizing, $model, $prefix);
17
- }
18
- }
19
- }
@@ -1,18 +0,0 @@
1
- // Susy Fallback Clearfix
2
- // ======================
3
-
4
-
5
- // Clearfix
6
- // --------
7
- // Check for an existing support mixin, or provide a simple fallback.
8
- @mixin susy-clearfix {
9
- @if susy-support(clearfix, (mixin: clearfix)) {
10
- @include clearfix;
11
- } @else {
12
- &:after {
13
- content: " ";
14
- display: block;
15
- clear: both;
16
- }
17
- }
18
- }
@@ -1,19 +0,0 @@
1
- // Susy Prefix
2
- // ===========
3
-
4
- // Prefix
5
- // ------
6
- // Output simple prefixed properties.
7
- // - $prop : <css property>
8
- // - $val : <css value>
9
- // - [$prefix] : <browser prefix list>
10
- @mixin susy-prefix(
11
- $prop,
12
- $val,
13
- $prefix: official
14
- ) {
15
- @each $fix in $prefix {
16
- $fix: if($fix == official or not($fix), $prop, '-#{$fix}-#{$prop}');
17
- @include susy-rem($fix, $val);
18
- }
19
- }
@@ -1,22 +0,0 @@
1
- // rem Support
2
- // ===========
3
-
4
- // rem
5
- // ---
6
- // Check for an existing support mixin, or output directly.
7
- // - $prop : <css property>
8
- // - $val : <css value>
9
- @mixin susy-rem(
10
- $prop,
11
- $val
12
- ) {
13
- $_reqs: (
14
- variable: rhythm-unit rem-with-px-fallback,
15
- mixin: rem,
16
- );
17
- @if susy-support(rem, $_reqs, $warn: false) and $rhythm-unit == rem {
18
- @include rem($prop, $val);
19
- } @else {
20
- #{$prop}: $val;
21
- }
22
- }
@@ -1,95 +0,0 @@
1
- // Browser Support
2
- // ===============
3
-
4
- // Susy Support Defaults
5
- // ---------------------
6
- @include susy-defaults((
7
- use-custom: (
8
- clearfix: false,
9
- background-image: true,
10
- background-options: false,
11
- breakpoint: true,
12
- box-sizing: true,
13
- rem: true,
14
- ),
15
- ));
16
-
17
-
18
- // Susy Support [mixin]
19
- // --------------------
20
- // Send property-value pairs to the proper support modules.
21
- // - $prop : <css property>
22
- // - $val : <css value>
23
- @mixin susy-support(
24
- $prop,
25
- $val
26
- ) {
27
- // Background Support
28
- @if $prop == background-image {
29
- @include susy-background-image($val);
30
- } @else if $prop == background-size {
31
- @include susy-background-size($val);
32
- } @else if $prop == background-origin {
33
- @include susy-background-origin($val);
34
- } @else if $prop == background-clip {
35
- @include susy-background-clip($val);
36
- }
37
-
38
- // Box-Sizing Support
39
- @else if $prop == box-sizing {
40
- @include susy-box-sizing($val);
41
- }
42
-
43
- // Rem Support
44
- @else {
45
- @include susy-rem($prop, $val);
46
- }
47
- }
48
-
49
-
50
- // Susy Support [function]
51
- // -----------------------
52
- // Check for support of a feature.
53
- // - $feature : <string>
54
- // - e.g "rem" or "box-sizing"
55
- // - $requirements : <map>
56
- // - e.g (variable: rem-with-px-fallback, mixin: rem)
57
- // - $warn : <bool>
58
- @function susy-support(
59
- $feature,
60
- $requirements: (),
61
- $warn: true
62
- ) {
63
- $_support: susy-get(use-custom $feature);
64
-
65
- @if $_support {
66
- $_fail: false;
67
-
68
- @each $_type, $_req in $requirements {
69
- @each $_i in $_req {
70
-
71
- $_pass : null;
72
-
73
- // sass 3.5 or greater
74
- @if function-exists('get-function') {
75
- $_pass: call(get-function(unquote("#{$_type}-exists")), $_i);
76
- }
77
- // sass 3.4 or less
78
- @else {
79
- $_pass: call(unquote("#{$_type}-exists"), $_i);
80
- }
81
-
82
- @if not($_pass) {
83
- $_fail: true;
84
- @if $warn {
85
- @warn "You requested custom support of #{$feature}, but the #{$_i} #{$_type} is not available.";
86
- }
87
- }
88
- }
89
- }
90
-
91
- $_support: if($_fail, false, $_support);
92
- }
93
-
94
- @return $_support;
95
- }