susy 1.0.9 → 2.2.14

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.
Files changed (90) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +1 -1
  3. data/README.md +20 -115
  4. data/VERSION +1 -1
  5. data/docs/changelog.rst +783 -0
  6. data/lib/compass-susy.rb +1 -0
  7. data/lib/susy.rb +14 -4
  8. data/sass/_su.scss +4 -0
  9. data/sass/_susy.scss +3 -15
  10. data/sass/_susyone.scss +4 -0
  11. data/sass/susy/_su.scss +7 -0
  12. data/sass/susy/language/_susy.scss +24 -0
  13. data/sass/susy/language/_susyone.scss +13 -0
  14. data/sass/susy/language/susy/_background.scss +385 -0
  15. data/sass/susy/language/susy/_bleed.scss +200 -0
  16. data/sass/susy/language/susy/_box-sizing.scss +47 -0
  17. data/sass/susy/language/susy/_breakpoint-plugin.scss +185 -0
  18. data/sass/susy/language/susy/_container.scss +81 -0
  19. data/sass/susy/language/susy/_context.scss +36 -0
  20. data/sass/susy/language/susy/_gallery.scss +94 -0
  21. data/sass/susy/language/susy/_grids.scss +64 -0
  22. data/sass/susy/language/susy/_gutters.scss +154 -0
  23. data/sass/susy/language/susy/_isolate.scss +77 -0
  24. data/sass/susy/language/susy/_margins.scss +94 -0
  25. data/sass/susy/language/susy/_padding.scss +74 -0
  26. data/sass/susy/language/susy/_rows.scss +138 -0
  27. data/sass/susy/language/susy/_settings.scss +216 -0
  28. data/sass/susy/language/susy/_span.scss +163 -0
  29. data/sass/susy/language/susy/_validation.scss +16 -0
  30. data/sass/susy/{_background.scss → language/susyone/_background.scss} +0 -0
  31. data/sass/susy/{_functions.scss → language/susyone/_functions.scss} +23 -22
  32. data/sass/susy/{_grid.scss → language/susyone/_grid.scss} +76 -50
  33. data/sass/susy/{_isolation.scss → language/susyone/_isolation.scss} +0 -0
  34. data/sass/susy/{_margin.scss → language/susyone/_margin.scss} +0 -0
  35. data/sass/susy/{_media.scss → language/susyone/_media.scss} +26 -33
  36. data/sass/susy/{_padding.scss → language/susyone/_padding.scss} +0 -0
  37. data/sass/susy/{_settings.scss → language/susyone/_settings.scss} +4 -0
  38. data/sass/susy/output/_float.scss +9 -0
  39. data/sass/susy/output/_shared.scss +15 -0
  40. data/sass/susy/output/_support.scss +9 -0
  41. data/sass/susy/output/float/_container.scss +16 -0
  42. data/sass/susy/output/float/_end.scss +40 -0
  43. data/sass/susy/output/float/_isolate.scss +22 -0
  44. data/sass/susy/output/float/_span.scss +35 -0
  45. data/sass/susy/output/shared/_background.scss +26 -0
  46. data/sass/susy/output/shared/_container.scss +21 -0
  47. data/sass/susy/output/shared/_direction.scss +42 -0
  48. data/sass/susy/output/shared/_inspect.scss +25 -0
  49. data/sass/susy/output/shared/_margins.scss +23 -0
  50. data/sass/susy/output/shared/_output.scss +14 -0
  51. data/sass/susy/output/shared/_padding.scss +23 -0
  52. data/sass/susy/output/support/_background.scss +58 -0
  53. data/sass/susy/output/support/_box-sizing.scss +19 -0
  54. data/sass/susy/output/support/_clearfix.scss +18 -0
  55. data/sass/susy/output/support/_prefix.scss +19 -0
  56. data/sass/susy/output/support/_rem.scss +22 -0
  57. data/sass/susy/output/support/_support.scss +95 -0
  58. data/sass/susy/su/_grid.scss +103 -0
  59. data/sass/susy/su/_settings.scss +73 -0
  60. data/sass/susy/su/_utilities.scss +111 -0
  61. data/sass/susy/su/_validation.scss +57 -0
  62. data/templates/project/_grids.scss +9 -0
  63. data/templates/project/manifest.rb +6 -10
  64. data/templates/project/style.scss +4 -0
  65. metadata +106 -111
  66. data/CHANGELOG.mkdn +0 -296
  67. data/Manifest +0 -39
  68. data/Rakefile +0 -19
  69. data/sass/susy/_support.scss +0 -198
  70. data/sass/susy/_units.scss +0 -159
  71. data/susy.gemspec +0 -35
  72. data/templates/project/_base.scss +0 -14
  73. data/templates/project/screen.scss +0 -12
  74. data/test/config.rb +0 -10
  75. data/test/css/background.css +0 -16
  76. data/test/css/bleed.css +0 -20
  77. data/test/css/functions.css +0 -7
  78. data/test/css/grid.css +0 -134
  79. data/test/css/isolation.css +0 -46
  80. data/test/css/margin.css +0 -20
  81. data/test/css/media.css +0 -101
  82. data/test/css/padding.css +0 -12
  83. data/test/scss/background.scss +0 -11
  84. data/test/scss/bleed.scss +0 -19
  85. data/test/scss/functions.scss +0 -15
  86. data/test/scss/grid.scss +0 -77
  87. data/test/scss/isolation.scss +0 -19
  88. data/test/scss/margin.scss +0 -27
  89. data/test/scss/media.scss +0 -50
  90. data/test/scss/padding.scss +0 -19
@@ -42,6 +42,10 @@ $container-style : magic !default;
42
42
  // and simply apply the border-box-sizing mixin.
43
43
  $border-box-sizing : false !default;
44
44
 
45
+ // Pixel Values only:
46
+ // Make sure only pixel values are set for the container width.
47
+ $pixel-values-only : false !default;
48
+
45
49
  // ---------------------------------------------------------------------------
46
50
  // IE Settings
47
51
 
@@ -0,0 +1,9 @@
1
+ // Float API
2
+ // =========
3
+
4
+ @import "shared";
5
+
6
+ @import "float/container";
7
+ @import "float/span";
8
+ @import "float/end";
9
+ @import "float/isolate";
@@ -0,0 +1,15 @@
1
+ // Shared API
2
+ // ==========
3
+
4
+ @import "support";
5
+
6
+ @import "shared/inspect";
7
+ @import "shared/output";
8
+ @import "shared/direction";
9
+ @import "shared/background";
10
+ @import "shared/container";
11
+ @import "shared/margins";
12
+ @import "shared/padding";
13
+
14
+
15
+
@@ -0,0 +1,9 @@
1
+ // Susy Browser Support
2
+ // ====================
3
+
4
+ @import "support/support";
5
+ @import "support/prefix";
6
+ @import "support/background";
7
+ @import "support/box-sizing";
8
+ @import "support/rem";
9
+ @import "support/clearfix";
@@ -0,0 +1,16 @@
1
+ // Float Container API
2
+ // ===================
3
+
4
+ // Float Container
5
+ // ---------------
6
+ // - [$width] : <length>
7
+ // - [$justify] : left | center | right
8
+ // - [$math] : fluid | static
9
+ @mixin float-container(
10
+ $width,
11
+ $justify: auto auto,
12
+ $property: max-width
13
+ ) {
14
+ @include susy-clearfix;
15
+ @include container-output($width, $justify, $property);
16
+ }
@@ -0,0 +1,40 @@
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
+ }
@@ -0,0 +1,22 @@
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
+ }
@@ -0,0 +1,35 @@
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
+ }
@@ -0,0 +1,26 @@
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
+ }
@@ -0,0 +1,21 @@
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
+ }
@@ -0,0 +1,42 @@
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
+ }
@@ -0,0 +1,25 @@
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
+ }
@@ -0,0 +1,23 @@
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
+ }
@@ -0,0 +1,14 @@
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
+ }
@@ -0,0 +1,23 @@
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
+ }
@@ -0,0 +1,58 @@
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
+ }
@@ -0,0 +1,19 @@
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
+ }
@@ -0,0 +1,18 @@
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
+ }