susy 1.0.9 → 2.2.14

Sign up to get free protection for your applications and to get access to all the features.
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
+ }