susy 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,12 @@
1
1
  Susy Changelog
2
2
  ==============
3
3
 
4
+ v1.0.4 [Nov 3, 2012]
5
+ ---------------------
6
+
7
+ * Fix bug in nested mixins that adjust support (e.g. `nth-omeg` inside `at-breakpoint`).
8
+ * Remove non-ie experimental support in `at-breakpoint` ie-fallback output.
9
+
4
10
  v1.0.3 [Oct 20, 2012]
5
11
  ---------------------
6
12
 
data/Manifest CHANGED
@@ -13,17 +13,20 @@ sass/susy/_margin.scss
13
13
  sass/susy/_media.scss
14
14
  sass/susy/_padding.scss
15
15
  sass/susy/_settings.scss
16
+ sass/susy/_support.scss
16
17
  susy.gemspec
17
18
  templates/project/_base.scss
18
19
  templates/project/manifest.rb
19
20
  templates/project/screen.scss
20
21
  test/config.rb
21
22
  test/css/background.css
23
+ test/css/functions.css
22
24
  test/css/grid.css
23
25
  test/css/margin.css
24
26
  test/css/media.css
25
27
  test/css/padding.css
26
28
  test/scss/background.scss
29
+ test/scss/functions.scss
27
30
  test/scss/grid.scss
28
31
  test/scss/margin.scss
29
32
  test/scss/media.scss
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.3
1
+ 1.0.4
@@ -1,63 +1,10 @@
1
- // ---------------------------------------------------------------------------
2
- // Helpers
3
- // @@@ These only live here until they land in Compass.
4
-
5
- // Change the experimental-support settings in specific contexts.
6
- @mixin set-experimental-support($moz: false, $webkit: false, $ms: false, $o: false, $khtml: false) {
7
- $experimental-support-for-mozilla: $moz;
8
- $experimental-support-for-webkit: $webkit;
9
- $experimental-support-for-microsoft: $ms;
10
- $experimental-support-for-opera: $o;
11
- $experimental-support-for-khtml: $khtml;
12
- }
13
-
14
- // Change the legacy-support-for-ie* settings in specific contexts.
15
- @mixin set-legacy-ie-support($ie6: false, $ie7: false, $ie8: false) {
16
- $legacy-support-for-ie6: $ie6;
17
- $legacy-support-for-ie7: $ie7;
18
- $legacy-support-for-ie8: $ie8;
19
- }
20
-
21
- // This mixin allows you to change the experimental support settings for
22
- // child (@content) styles.
23
- @mixin with-only-support-for($moz: false, $webkit: false, $ms: false, $o: false, $khtml: false, $legacy-ie: false) {
24
- // Capture the current state
25
- $original-moz: $experimental-support-for-mozilla;
26
- $original-webkit: $experimental-support-for-webkit;
27
- $original-o: $experimental-support-for-opera;
28
- $original-ms: $experimental-support-for-microsoft;
29
- $original-khtml: $experimental-support-for-khtml;
30
- $original-ie6: $legacy-support-for-ie6;
31
- $original-ie7: $legacy-support-for-ie7;
32
- $original-ie8: $legacy-support-for-ie8;
33
- // Change support settings
34
- @include set-experimental-support($moz, $webkit, $ms, $o, $khtml);
35
- @include set-legacy-ie-support($legacy-ie, $legacy-ie, $legacy-ie);
36
- // Apply styles
37
- @content;
38
- // Return to original support settings
39
- @include set-legacy-ie-support($original-ie6, $original-ie7, $original-ie8);
40
- @include set-experimental-support($original-moz, $original-webkit, $original-ms, $original-o, $original-khtml);
41
- }
42
-
43
- // This mixin is a shortcut for making slight adjustments to browser support
44
- // for child (@content) styles
45
- @mixin adjust-support-for(
46
- $moz: $experimental-support-for-mozilla,
47
- $webkit: $experimental-support-for-webkit,
48
- $ms: $experimental-support-for-microsoft,
49
- $o: $experimental-support-for-opera,
50
- $khtml: $experimental-support-for-khtml,
51
- $legacy-ie: $legacy-support-for-ie
52
- ) {
53
- @include with-only-support-for($moz, $webkit, $ms, $o, $khtml, $legacy-ie) {
54
- @content;
55
- }
56
- }
57
-
58
1
  // ---------------------------------------------------------------------------
59
2
  // Partials
60
3
 
4
+ // temporary
5
+ @import "susy/support";
6
+
7
+ // permanent
61
8
  @import "susy/settings";
62
9
  @import "susy/functions";
63
10
  @import "susy/grid";
@@ -170,7 +170,7 @@
170
170
  $from : $from-direction
171
171
  ) {
172
172
  $ie: if($n == "first", true, false);
173
- @include adjust-support-for($legacy-ie: $ie) {
173
+ @include adjust-support-for($ie6: $ie, $ie7: $ie, $ie8: $ie) {
174
174
  &:#{format-nth($n,$selector)} { @include omega($from); }
175
175
  }
176
176
  }
@@ -230,7 +230,7 @@
230
230
  $from : $from-direction
231
231
  ) {
232
232
  $ie: if($n == "first", true, false);
233
- @include adjust-support-for($legacy-ie: $ie) {
233
+ @include adjust-support-for($ie6: $ie, $ie7: $ie, $ie8: $ie) {
234
234
  &:#{format-nth($n,$selector)} { @include remove-omega($context,$from); }
235
235
  }
236
236
  }
@@ -53,31 +53,35 @@
53
53
  // Set our new layout context.
54
54
  @include layout($layout) {
55
55
  @if $breakpoint-media-output {
56
- @include adjust-support-for($legacy-ie: false) {
57
- @if $min and $max {
58
- // Both $min and $max
59
- @media (min-width: $min) and (max-width: $max) {
56
+ // Capture current state of ie support and set new
57
+ $atbreak-legacy-ie-matrix: capture-legacy-ie-matrix();
58
+ @include set-legacy-ie-support;
59
+
60
+ @if $min and $max {
61
+ // Both $min and $max
62
+ @media (min-width: $min) and (max-width: $max) {
63
+ @content;
64
+ }
65
+ } @else {
66
+ @if (not $min) and (not $max) {
67
+ // Neither $min nor $max:
68
+ // We can create a breakpoint based on the number of columns in the layout.
69
+ $min: fix-ems(container-outer-width());
70
+ }
71
+ @if $min {
72
+ // Min only:
73
+ @media (min-width: $min) {
60
74
  @content;
61
75
  }
62
76
  } @else {
63
- @if (not $min) and (not $max) {
64
- // Neither $min nor $max:
65
- // We can create a breakpoint based on the number of columns in the layout.
66
- $min: fix-ems(container-outer-width());
67
- }
68
- @if $min {
69
- // Min only:
70
- @media (min-width: $min) {
71
- @content;
72
- }
73
- } @else {
74
- // Max only:
75
- @media (max-width: $max) {
76
- @content;
77
- }
77
+ // Max only:
78
+ @media (max-width: $max) {
79
+ @content;
78
80
  }
79
81
  }
80
82
  }
83
+ // Return legacy-ie support to original
84
+ @include set-legacy-ie-support($atbreak-legacy-ie-matrix...);
81
85
  }
82
86
  // Set an IE fallback
83
87
  @if $ie and $breakpoint-ie-output {
@@ -85,7 +89,10 @@
85
89
  $ie: 'lt-ie9';
86
90
  }
87
91
  .#{$ie} & {
92
+ $atbreak-experimental-matrix: capture-experimental-matrix();
93
+ @include set-experimental-support($ms: true);
88
94
  @content;
95
+ @include set-experimental-support($atbreak-experimental-matrix...);
89
96
  }
90
97
  }
91
98
 
@@ -0,0 +1,198 @@
1
+ // @@@ These helpers only live here until they land in Compass.
2
+
3
+ // ---------------------------------------------------------------------------
4
+ // Imports
5
+
6
+ @import "compass/support";
7
+
8
+ // ---------------------------------------------------------------------------
9
+ // Helpers
10
+
11
+ // A debug tool for checking browser support
12
+ @mixin debug-support-matrix($experimental: true, $ie: true) {
13
+ @debug #{'$moz—'}$experimental-support-for-mozilla
14
+ #{'$webkit—'}$experimental-support-for-webkit
15
+ #{'$microsoft—'}$experimental-support-for-microsoft
16
+ #{'$opera—'}$experimental-support-for-opera
17
+ #{'$khtml—'}$experimental-support-for-khtml;
18
+ @debug #{'$ie6—'}$legacy-support-for-ie6
19
+ #{'$ie7—'}$legacy-support-for-ie7
20
+ #{'$ie8—'}$legacy-support-for-ie8;
21
+ }
22
+
23
+ // Capture the current exerimental support settings
24
+ @function capture-experimental-matrix() {
25
+ @return $experimental-support-for-mozilla
26
+ $experimental-support-for-webkit
27
+ $experimental-support-for-microsoft
28
+ $experimental-support-for-opera
29
+ $experimental-support-for-khtml;
30
+ }
31
+
32
+ // Capture the current legacy-ie support settings
33
+ @function capture-legacy-ie-matrix() {
34
+ @return $legacy-support-for-ie6
35
+ $legacy-support-for-ie7
36
+ $legacy-support-for-ie8;
37
+ }
38
+
39
+ // Capture and store support
40
+ $experimental-matrix: capture-experimental-matrix();
41
+ $legacy-ie-matrix: capture-legacy-ie-matrix();
42
+
43
+ @mixin capture-experimental-matrix {
44
+ $experimental-matrix: capture-experimental-matrix();
45
+ }
46
+
47
+ @mixin capture-legacy-ie-matrix {
48
+ $legacy-ie-matrix: capture-legacy-ie-matrix();
49
+ }
50
+
51
+ @mixin capture-support-matrix {
52
+ @include capture-experimental-matrix;
53
+ @include capture-legacy-ie-matrix;
54
+ }
55
+
56
+ // Change the experimental-support settings in specific contexts.
57
+ @mixin set-experimental-support(
58
+ $moz : false,
59
+ $webkit : false,
60
+ $ms : false,
61
+ $o : false,
62
+ $khtml : false
63
+ ) {
64
+ $experimental-support-for-mozilla : $moz;
65
+ $experimental-support-for-webkit : $webkit;
66
+ $experimental-support-for-microsoft : $ms;
67
+ $experimental-support-for-opera : $o;
68
+ $experimental-support-for-khtml : $khtml;
69
+ }
70
+
71
+ @mixin capture-and-set-experimental(
72
+ $moz : false,
73
+ $webkit : false,
74
+ $ms : false,
75
+ $o : false,
76
+ $khtml : false
77
+ ) {
78
+ @include capture-experimental-matrix;
79
+ @include set-experimental-support($moz, $webkit, $ms, $o, $khtml);
80
+ }
81
+
82
+ @mixin capture-and-adjust-experimental(
83
+ $moz : $experimental-support-for-mozilla,
84
+ $webkit : $experimental-support-for-webkit,
85
+ $ms : $experimental-support-for-microsoft,
86
+ $o : $experimental-support-for-opera,
87
+ $khtml : $experimental-support-for-khtml
88
+ ) {
89
+ @include capture-experimental-matrix;
90
+ @include set-experimental-support($moz, $webkit, $ms, $o, $khtml);
91
+ }
92
+
93
+ // Change the legacy-support-for-ie* settings in specific contexts.
94
+ @mixin set-legacy-ie-support(
95
+ $ie6: false,
96
+ $ie7: false,
97
+ $ie8: false
98
+ ) {
99
+ $legacy-support-for-ie6: $ie6;
100
+ $legacy-support-for-ie7: $ie7;
101
+ $legacy-support-for-ie8: $ie8;
102
+ }
103
+
104
+ @mixin capture-and-set-legacy-ie(
105
+ $ie6: false,
106
+ $ie7: false,
107
+ $ie8: false
108
+ ) {
109
+ @include capture-legacy-ie-matrix;
110
+ @include set-legacy-ie-support($ie6, $ie7, $ie8);
111
+ }
112
+
113
+ @mixin capture-and-adjust-legacy-ie(
114
+ $ie6: $legacy-support-for-ie6,
115
+ $ie7: $legacy-support-for-ie7,
116
+ $ie8: $legacy-support-for-ie8
117
+ ) {
118
+ @include capture-and-set-legacy-ie($ie6, $ie7, $ie8);
119
+ }
120
+
121
+ // Capture current browser support matrix, and set a new matrix of support.
122
+ @mixin capture-and-set-support(
123
+ $moz : false,
124
+ $webkit : false,
125
+ $ms : false,
126
+ $o : false,
127
+ $khtml : false,
128
+ $ie6 : false,
129
+ $ie7 : false,
130
+ $ie8 : false
131
+ ) {
132
+ // Capture the current state
133
+ @include capture-support-matrix;
134
+
135
+ // Change support settings
136
+ @include set-experimental-support($moz, $webkit, $ms, $o, $khtml);
137
+ @include set-legacy-ie-support($ie6, $ie7, $ie8);
138
+ }
139
+
140
+ // Capture current browser support matrix, and set a new matrix of support.
141
+ @mixin capture-and-adjust-support(
142
+ $moz : $experimental-support-for-mozilla,
143
+ $webkit : $experimental-support-for-webkit,
144
+ $ms : $experimental-support-for-microsoft,
145
+ $o : $experimental-support-for-opera,
146
+ $khtml : $experimental-support-for-khtml,
147
+ $ie6 : $legacy-support-for-ie6,
148
+ $ie7 : $legacy-support-for-ie7,
149
+ $ie8 : $legacy-support-for-ie8
150
+ ) {
151
+ @include capture-and-set-support($moz, $webkit, $ms, $o, $khtml, $ie6, $ie7, $ie8);
152
+ }
153
+
154
+
155
+ // This mixin allows you to change the experimental support settings for
156
+ // child (@content) styles.
157
+ @mixin with-only-support-for(
158
+ $moz : false,
159
+ $webkit : false,
160
+ $ms : false,
161
+ $o : false,
162
+ $khtml : false,
163
+ $ie6 : false,
164
+ $ie7 : false,
165
+ $ie8 : false
166
+ ) {
167
+ // Capture current state
168
+ $wo-experimental-matrix : capture-experimental-matrix();
169
+ $wo-legacy-ie-matrix : capture-legacy-ie-matrix();
170
+
171
+ // Set new states
172
+ @include set-experimental-support($moz, $webkit, $ms, $o, $khtml);
173
+ @include set-legacy-ie-support($ie6, $ie7, $ie8);
174
+
175
+ // Apply styles
176
+ @content;
177
+
178
+ // Return to original support settings
179
+ @include set-experimental-support($wo-experimental-matrix...);
180
+ @include set-legacy-ie-support($wo-legacy-ie-matrix...);
181
+ }
182
+
183
+ // This mixin is a shortcut for making slight adjustments to browser support
184
+ // for child (@content) styles
185
+ @mixin adjust-support-for(
186
+ $moz : $experimental-support-for-mozilla,
187
+ $webkit : $experimental-support-for-webkit,
188
+ $ms : $experimental-support-for-microsoft,
189
+ $o : $experimental-support-for-opera,
190
+ $khtml : $experimental-support-for-khtml,
191
+ $ie6 : $legacy-support-for-ie6,
192
+ $ie7 : $legacy-support-for-ie7,
193
+ $ie8 : $legacy-support-for-ie8
194
+ ) {
195
+ @include with-only-support-for($moz, $webkit, $ms, $o, $khtml, $ie6, $ie7, $ie8) {
196
+ @content;
197
+ }
198
+ }
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{susy}
5
- s.version = "1.0.3"
5
+ s.version = "1.0.4"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Eric Meyer"]
9
- s.date = %q{2012-10-20}
9
+ s.date = %q{2012-11-03}
10
10
  s.description = %q{Susy grids are fluid on the inside, ready to respond at any moment, but contained in the candy shell of your choice, so they respond how and when and where you want them to. We don't design your site or dictate your markup, we just do the math and get out of your way.}
11
11
  s.email = %q{eric@oddbird.net}
12
12
  s.extra_rdoc_files = ["CHANGELOG.mkdn", "LICENSE.txt", "README.md", "lib/susy.rb"]
13
- s.files = ["CHANGELOG.mkdn", "LICENSE.txt", "Manifest", "README.md", "Rakefile", "VERSION", "lib/susy.rb", "sass/_susy.scss", "sass/susy/_background.scss", "sass/susy/_functions.scss", "sass/susy/_grid.scss", "sass/susy/_margin.scss", "sass/susy/_media.scss", "sass/susy/_padding.scss", "sass/susy/_settings.scss", "susy.gemspec", "templates/project/_base.scss", "templates/project/manifest.rb", "templates/project/screen.scss", "test/config.rb", "test/css/background.css", "test/css/grid.css", "test/css/margin.css", "test/css/media.css", "test/css/padding.css", "test/scss/background.scss", "test/scss/grid.scss", "test/scss/margin.scss", "test/scss/media.scss", "test/scss/padding.scss"]
13
+ s.files = ["CHANGELOG.mkdn", "LICENSE.txt", "Manifest", "README.md", "Rakefile", "VERSION", "lib/susy.rb", "sass/_susy.scss", "sass/susy/_background.scss", "sass/susy/_functions.scss", "sass/susy/_grid.scss", "sass/susy/_margin.scss", "sass/susy/_media.scss", "sass/susy/_padding.scss", "sass/susy/_settings.scss", "sass/susy/_support.scss", "susy.gemspec", "templates/project/_base.scss", "templates/project/manifest.rb", "templates/project/screen.scss", "test/config.rb", "test/css/background.css", "test/css/functions.css", "test/css/grid.css", "test/css/margin.css", "test/css/media.css", "test/css/padding.css", "test/scss/background.scss", "test/scss/functions.scss", "test/scss/grid.scss", "test/scss/margin.scss", "test/scss/media.scss", "test/scss/padding.scss"]
14
14
  s.homepage = %q{http://susy.oddbird.net/}
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Susy", "--main", "README.md"]
16
16
  s.require_paths = ["lib"]
@@ -0,0 +1,7 @@
1
+ .container-outer-width-default {
2
+ width: 59em;
3
+ }
4
+
5
+ .container-outer-width-explicit {
6
+ width: 39em;
7
+ }
@@ -26,12 +26,33 @@
26
26
  display: table;
27
27
  clear: both;
28
28
  }
29
+ .breakpoint .nth-omega:nth-child(3n) {
30
+ float: right;
31
+ margin-right: 0;
32
+ }
29
33
  }
30
34
  @media (min-width: 30em) and (max-width: 60em) {
31
35
  .breakpoint .break60-8-30 {
32
36
  max-width: 39em;
33
37
  }
34
38
  }
39
+ @media (min-width: 119em) {
40
+ .breakpoint .break-ltie9 {
41
+ max-width: 119em;
42
+ -webkit-border-radius: 5px;
43
+ -moz-border-radius: 5px;
44
+ -ms-border-radius: 5px;
45
+ -o-border-radius: 5px;
46
+ border-radius: 5px;
47
+ }
48
+ }
49
+ .lt-ie9 .breakpoint .break-ltie9 {
50
+ max-width: 119em;
51
+ _width: 119em;
52
+ *zoom: 1;
53
+ -ms-border-radius: 5px;
54
+ border-radius: 5px;
55
+ }
35
56
 
36
57
  .with-settings6-3-2-1 {
37
58
  *zoom: 1;
@@ -0,0 +1,15 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Imports
3
+
4
+ @import "../../sass/susy";
5
+
6
+ // ---------------------------------------------------------------------------
7
+ // Functions
8
+
9
+ .container-outer-width-default {
10
+ width: container-outer-width();
11
+ }
12
+
13
+ .container-outer-width-explicit {
14
+ width: container-outer-width(8);
15
+ }
@@ -2,6 +2,7 @@
2
2
  // Imports
3
3
 
4
4
  @import "../../sass/susy";
5
+ @import "compass/css3/border-radius";
5
6
 
6
7
  // ---------------------------------------------------------------------------
7
8
  // Media
@@ -13,11 +14,20 @@
13
14
  .breakpoint{
14
15
  @include at-breakpoint(6) {
15
16
  .break6 { @include container; }
17
+ .nth-omega { @include nth-omega(3n); }
16
18
  }
17
19
 
18
20
  @include at-breakpoint(60em 8 30em) {
19
21
  .break60-8-30 { @include set-container-width; }
20
22
  }
23
+
24
+ @include at-breakpoint(24 lt-ie9) {
25
+ .break-ltie9 {
26
+ @include set-container-width;
27
+ @include has-layout; // test adjustments to experimental support
28
+ @include border-radius; // test adjustments to experimental support
29
+ }
30
+ }
21
31
  }
22
32
 
23
33
  @include with-grid-settings(6,3em,2em,1em) {
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 0
8
- - 3
9
- version: 1.0.3
8
+ - 4
9
+ version: 1.0.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - Eric Meyer
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2012-10-20 00:00:00 -06:00
17
+ date: 2012-11-03 00:00:00 -06:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -72,17 +72,20 @@ files:
72
72
  - sass/susy/_media.scss
73
73
  - sass/susy/_padding.scss
74
74
  - sass/susy/_settings.scss
75
+ - sass/susy/_support.scss
75
76
  - susy.gemspec
76
77
  - templates/project/_base.scss
77
78
  - templates/project/manifest.rb
78
79
  - templates/project/screen.scss
79
80
  - test/config.rb
80
81
  - test/css/background.css
82
+ - test/css/functions.css
81
83
  - test/css/grid.css
82
84
  - test/css/margin.css
83
85
  - test/css/media.css
84
86
  - test/css/padding.css
85
87
  - test/scss/background.scss
88
+ - test/scss/functions.scss
86
89
  - test/scss/grid.scss
87
90
  - test/scss/margin.scss
88
91
  - test/scss/media.scss