archetype 0.0.1.pre.10 → 0.0.1.pre.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/archetype.rb +0 -4
  3. data/lib/archetype/functions/hash.rb +12 -28
  4. data/lib/archetype/functions/helpers.rb +13 -46
  5. data/lib/archetype/functions/styleguide_memoizer.rb +1 -9
  6. data/lib/archetype/sass_extensions/functions/lists.rb +42 -36
  7. data/lib/archetype/sass_extensions/functions/locale.rb +16 -32
  8. data/lib/archetype/sass_extensions/functions/styleguide.rb +39 -121
  9. data/lib/archetype/sass_extensions/functions/ui.rb +2 -3
  10. data/lib/archetype/sass_extensions/functions/version.rb +6 -11
  11. data/lib/archetype/sass_extensions/monkey_patches.rb +1 -1
  12. data/lib/archetype/version.rb +1 -1
  13. data/stylesheets/archetype/_base.scss +2 -7
  14. data/stylesheets/archetype/_config.scss +1 -8
  15. data/stylesheets/archetype/_hacks.scss +17 -51
  16. data/stylesheets/archetype/_ui.scss +5 -16
  17. data/stylesheets/archetype/base/_h5bp.scss +12 -12
  18. data/stylesheets/archetype/base/_normalize.scss +139 -178
  19. data/stylesheets/archetype/grid/_grid.scss +13 -13
  20. data/stylesheets/archetype/styleguide/components/_buttons.scss +0 -1
  21. data/stylesheets/archetype/util/_debug.scss +4 -4
  22. data/stylesheets/archetype/util/_lists.scss +1 -1
  23. data/stylesheets/archetype/util/_misc.scss +1 -1
  24. data/stylesheets/archetype/util/_rtl.scss +1 -1
  25. data/stylesheets/archetype/util/_spacing.scss +6 -6
  26. data/stylesheets/archetype/util/_styles.scss +10 -27
  27. data/stylesheets/archetype/util/_targeting.scss +1 -1
  28. data/test/fixtures/stylesheets/archetype/config.rb +0 -2
  29. data/test/fixtures/stylesheets/archetype/saved/styleguide/buttons.css +2027 -0
  30. data/test/fixtures/stylesheets/archetype/saved/styleguide/fallback_styles.css +9 -0
  31. data/test/fixtures/stylesheets/archetype/source/styleguide/buttons.scss +1 -5
  32. data/test/fixtures/stylesheets/archetype/source/styleguide/fallback_styles.scss +2 -1
  33. data/test/fixtures/stylesheets/archetype/source/styleguide/nested_styleguides.scss +1 -1
  34. data/test/fixtures/stylesheets/archetype/source/styleguide/selective_state.scss +1 -1
  35. data/test/fixtures/stylesheets/archetype/source/ui/glyph_icon.scss +0 -30
  36. data/test/fixtures/stylesheets/archetype/source/utilities/custom_output_styler.scss +3 -4
  37. data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-browser.scss +1 -8
  38. data/test/helpers/test_case.rb +2 -2
  39. data/test/integrations/archetype_test.rb +1 -3
  40. data/test/units/sass_extensions_test.rb +25 -18
  41. metadata +6 -29
  42. data/lib/archetype/actions/help.rb +0 -16
  43. data/lib/archetype/actions/theme.rb +0 -73
  44. data/lib/archetype/executor.rb +0 -27
  45. data/test/fixtures/stylesheets/archetype/saved/base.css +0 -349
  46. data/test/fixtures/stylesheets/archetype/saved/hacks/transparent_focusable.css +0 -4
  47. data/test/fixtures/stylesheets/archetype/saved/locale.css +0 -23
  48. data/test/fixtures/stylesheets/archetype/source/base.scss +0 -3
  49. data/test/fixtures/stylesheets/archetype/source/hacks/transparent_focusable.scss +0 -5
  50. data/test/fixtures/stylesheets/archetype/source/locale.scss +0 -43
  51. data/test/fixtures/stylesheets/archetype/source/styleguide/alerts.scss +0 -21
  52. data/test/fixtures/stylesheets/archetype/source/styleguide/drop.scss +0 -101
  53. data/test/fixtures/stylesheets/archetype/source/styleguide/extend.scss +0 -24
  54. data/test/fixtures/stylesheets/archetype/source/styleguide/invalid_structures.scss +0 -85
  55. data/test/fixtures/stylesheets/archetype/source/styleguide/multi_value.scss +0 -18
  56. data/test/fixtures/stylesheets/archetype/source/utilities/associative.scss +0 -24
@@ -18,11 +18,10 @@ module Archetype::SassExtensions::UI
18
18
  # - {String} the unique string
19
19
  #
20
20
  def unique(prefix = '')
21
- prefix = helpers.to_str(prefix, ' ', :quotes)
21
+ prefix = helpers.to_str(prefix).gsub(/\A"|"\Z/, '')
22
22
  prefix = '.' if prefix == 'class'
23
23
  prefix = '#' if prefix == 'id'
24
- suffix = Compass.configuration.testing ? "RANDOM_UID" : "#{Time.now.to_i}-#{rand(36**8).to_s(36)}-#{uid}"
25
- return Sass::Script::String.new("#{prefix}archetype-uid-#{suffix}")
24
+ return Sass::Script::String.new("#{prefix}archetype-uid-#{uid}")
26
25
  end
27
26
 
28
27
  #
@@ -8,7 +8,7 @@ require 'sass/version'
8
8
  #
9
9
  module Archetype::SassExtensions::Version
10
10
  # :stopdoc:
11
- COMPARATOR_PATTERN = /(\s[neqglt]+\s|[><=!]+)/
11
+ COMPARATOR_PATTERN = /([neglt]+|[><=!]+)/
12
12
  VERSION_PATTERN = /\d+(\.\d+)*(\.[x|\*])?/
13
13
  # :startdoc:
14
14
 
@@ -21,15 +21,10 @@ module Archetype::SassExtensions::Version
21
21
  # - {String|Boolean} if no test or test is just a lookup of a framework, it returns the version of that framework, otherwise it returns the result of the test
22
22
  #
23
23
  def archetype_version(test = nil)
24
- test = test.nil? ? 'archetype' : helpers.to_str(test, ' ', :quotes).downcase
25
- lib = ''
26
- if test.include?('compass')
27
- lib = Compass::VERSION
28
- elsif test.include?('sass')
29
- lib = Sass::VERSION
30
- else
31
- lib = Archetype::VERSION
32
- end
24
+ test = test.nil? ? 'archetype' : helpers.to_str(test).gsub(/\A"|"\Z/, '').downcase
25
+ lib = Archetype::VERSION
26
+ lib = Compass::VERSION if test.include?('compass')
27
+ lib = Sass::VERSION if test.include?('sass')
33
28
  # strip off any non-official versioning (e.g. pre/alpha/rc)
34
29
  lib = lib.match(VERSION_PATTERN)[0]
35
30
  result = compare_version(lib, test.match(VERSION_PATTERN), test.match(COMPARATOR_PATTERN))
@@ -60,7 +55,7 @@ private
60
55
  # check for wild cards
61
56
  wild = version.index('x')
62
57
  # check the comparison
63
- comparator = ((comparator || [])[0] || 'eq').strip
58
+ comparator = (comparator || [])[0] || 'eq'
64
59
  eq = comparator =~ /(e|=)/
65
60
  lt = comparator =~ /(l|<)/
66
61
  gt = comparator =~ /(g|>)/
@@ -1,3 +1,3 @@
1
1
  %w(handle_include_loop).each do |patch|
2
2
  require "archetype/sass_extensions/monkey_patches/#{patch}"
3
- end
3
+ end
@@ -1,3 +1,3 @@
1
1
  module Archetype
2
- VERSION = '0.0.1.pre.10'
2
+ VERSION = '0.0.1.pre.11'
3
3
  end
@@ -2,7 +2,6 @@
2
2
  @import "base/normalize";
3
3
  @import "base/reset";
4
4
  @import "base/hybrid";
5
- @import "base/h5bp";
6
5
 
7
6
  // protect against multiple resets
8
7
  $RESET_INIT: false !default;
@@ -12,8 +11,8 @@ $RESET_INIT: false !default;
12
11
  // sets the base styles for the page (e.g. reset or normalize)
13
12
  // @mixin base
14
13
  // @param $exclude {List} the list of styles to exclude @see _normalize.scss and _reset.scss
15
- // @param $method {String} reset method [reset|normalize|h5bp|hybrid]
16
- // @param $force {Boolean} force reset to invoke; by default base() can only be invoked once, to re-invoke must pass in $force: true
14
+ // @param $method {String} reset method [reset|normalize|hybrid]
15
+ // @param $force {Bool} force reset to invoke; by default base() can only be invoked once, to re-invoke must pass in $force: true
17
16
  @mixin base($exclude: $CONFIG_RESET_EXCLUDES, $method: $CONFIG_RESET_METHOD, $force: false) {
18
17
  @if not $RESET_INIT or $force {
19
18
  $RESET_INIT: true;
@@ -21,10 +20,6 @@ $RESET_INIT: false !default;
21
20
  @if $method == normalize {
22
21
  @include base-normalize($exclude: $exclude);
23
22
  }
24
- // html5 boiler plate
25
- @else if $method == h5bp {
26
- @include base-h5bp($exclude: $exclude);
27
- }
28
23
  // hyrbid reset (reset + some normalize)
29
24
  @else if $method == hybrid {
30
25
  @include base-hybrid($exclude: $exclude);
@@ -40,7 +40,6 @@ $CONTENT_PLACEHOLDER: '\0020' !default;
40
40
  $CONFIG_DISABLED_CSS: () !default; // a list of CSS3 features to always disable when using output-style()
41
41
  $CONFIG_GENERATED_TAG_PREFIX: x-archetype !default; // the prefix for the tag name to create when using ie-pseudo method
42
42
  $CONFIG_GENERATED_TAG_CSS: false !default; // styles to apply to the generated tag when using ie-pseudo method (use this as a way to reset styles on these tags)
43
- $CONFIG_GENERATED_TAG_INLINE: true !default; // if `true` insert the styles inline on the generated tag, otherwise insert the styles in a unique css rule
44
43
 
45
44
  // z-layers
46
45
  $CONFIG_Z_INDEX_BASE: 0 !default; // the default starting layer for z-index calculations
@@ -61,7 +60,7 @@ $CONFIG_KEYFRAME_LOADERS: archetype-loader !default;
61
60
  $CONFIG_GLYPHS_NAME: FontAwesome !default; // name for the font-face
62
61
  $CONFIG_GLYPHS_VERSION: '0.0.1' !default; // the glyph library version number
63
62
  $CONFIG_GLYPHS_SVG_ID: $CONFIG_GLYPHS_NAME !default;
64
- $CONFIG_GLYPHS_BASE_PATH: 'vendor/archetype/fontawesome-webfont' !default; // generic path to all glyph fonts (sans extensions)
63
+ $CONFIG_GLYPHS_BASE_PATH: 'vendor/archetype/fontawesome-webfont' !default; // generic path to all glpyh fonts (sans extensions)
65
64
  $CONFIG_GLYPHS_EOT: '#{$CONFIG_GLYPHS_BASE_PATH}.eot' !default;
66
65
  $CONFIG_GLYPHS_FILES: font-files('#{$CONFIG_GLYPHS_BASE_PATH}.woff', '#{$CONFIG_GLYPHS_BASE_PATH}.ttf', '#{$CONFIG_GLYPHS_BASE_PATH}.svg##{$CONFIG_GLYPHS_SVG_ID}') !default;
67
66
  $CONFIG_GLYPHS_WEIGHT: normal !default; // font-weight for glyphs
@@ -381,9 +380,3 @@ $CORE_SAFE_FONTS: (
381
380
  ); // note that this declaration isn't a `default`, but rather is enforced everytime. this can be modified (via extending $CONFIG_SAFE_FONTS)
382
381
  $CONFIG_SAFE_FONTS: () !default;
383
382
  $CONFIG_SAFE_FONTS: associative-merge($CORE_SAFE_FONTS, $CONFIG_SAFE_FONTS);
384
-
385
- $archetype-glyph-selector: false !default;
386
- $archetype-pseudo-selector: false !default;
387
-
388
- $CORE_GLYPH_SELECTOR_VAR: '$archetype-glyph-selector';
389
- $CORE_GLYPH_SELECTOR_VAR: '$archetype-pseudo-selector';
@@ -34,44 +34,33 @@
34
34
  }
35
35
 
36
36
  // proxy for ie-pseudo
37
- // @mixin ie-pseudo-before
38
- // @param $styles {String} the styles to apply to the pseudo-element
39
- // @param $content {String} the content to insert into the element (similar to css `content` attribute)
40
- // @param $name {String} the name of the element
41
- // @content
37
+ // @mixin ie-pseudo-before
38
+ // @param $styles {String} the styles to apply to the pseudo-element
39
+ // @param $content {String} the content to insert into the element (similar to css `content` attribute)
40
+ // @param $name {String} the name of the element
42
41
  @mixin ie-pseudo-before($styles: false, $content: false, $name: '') {
43
- @include ie-pseudo($styles, $content, before, $name) {
44
- @content;
45
- }
42
+ @include ie-pseudo($styles, $content, before, $name);
46
43
  }
47
44
 
48
45
  // proxy for ie-pseudo
49
- // @mixin ie-pseudo-after
50
- // @param $styles {String} the styles to apply to the pseudo-element
51
- // @param $content {String} the content to insert into the element (similar to css `content` attribute)
52
- // @param $name {String} the name of the element
53
- // @content
46
+ // @mixin ie-pseudo-after
47
+ // @param $styles {String} the styles to apply to the pseudo-element
48
+ // @param $content {String} the content to insert into the element (similar to css `content` attribute)
49
+ // @param $name {String} the name of the element
54
50
  @mixin ie-pseudo-after($styles: false, $content: false, $name: '') {
55
- @include ie-pseudo($styles, $content, after, $name) {
56
- @content;
57
- }
51
+ @include ie-pseudo($styles, $content, after, $name);
58
52
  }
59
53
 
60
54
  // this creates a one-type executing expression that inserts an element relative to `this` element.
61
55
  // this allows some level of support for :before/:after in IE6/7
62
56
  // inspired by http://nicolasgallagher.com/better-float-containment-in-ie/
63
- // @mixin ie-pseudo
64
- // @param $styles {String} the styles to apply to the pseudo-element
65
- // @param $content {String} the content to insert into the element (similar to css `content` attribute)
66
- // @param $placement {String} [before|after] simulate :before or :after behavior
67
- // @param $name {String} the name of the element
68
- // @param $uid {String} a custom, unique identifier for the generate element
69
- // @content
70
- @mixin ie-pseudo($styles: false, $content: false, $placement: before, $name: '', $uid: false) {
71
- $archetype-pseudo-selector: false;
57
+ // @mixin ie-pseudo
58
+ // @param $styles {String} the styles to apply to the pseudo-element
59
+ // @param $content {String} the content to insert into the element (similar to css `content` attribute)
60
+ // @param $placement {String} [before|after] simulate :before or :after behavior
61
+ // @param $name {String} the name of the element
62
+ @mixin ie-pseudo($styles: false, $content: false, $placement: before, $name: '') {
72
63
  @if $legacy-support-for-ie6 or $legacy-support-for-ie7 {
73
- $uid: if($uid, $uid, unique('ie-pseudo-'));
74
- $archetype-pseudo-selector: '& ##{$uid}';
75
64
  $this: 't';
76
65
  $cmd: (unquote('#{$this}.el=document.createElement("#{prefixed-tag($name)}")'));
77
66
  $method: if($placement == before, insertBefore, appendChild);
@@ -81,7 +70,7 @@
81
70
  @if $CONFIG_GENERATED_TAG_CSS {
82
71
  $styles: if($styles and $styles != nil, #{$CONFIG_GENERATED_TAG_CSS}#{$styles}, $CONFIG_GENERATED_TAG_CSS);
83
72
  }
84
- @if $styles and $styles != nil and $styles != '' and $CONFIG_GENERATED_TAG_INLINE {
73
+ @if $styles and $styles != nil {
85
74
  // sets the icon styles on the node
86
75
  $cmd: append($cmd, unquote('#{$this}.el.style.cssText="#{$styles}"'), comma);
87
76
  }
@@ -94,28 +83,5 @@
94
83
  // this prevents an edge case in IE crashing with an `Operation Aborted` if the node hasn't finished rendering yet
95
84
  // http://www.nczonline.net/blog/2008/03/17/the-dreaded-operation-aborted-error/
96
85
  *zoom: expression(#{$runOnce},(function(#{$this}){setTimeout(function(){#{$cmd}})}(this)));
97
-
98
- // if we're NOT using inline styles...
99
- @if not $CONFIG_GENERATED_TAG_INLINE {
100
- // output it on the generated selector
101
- #{$archetype-pseudo-selector} {
102
- @include to-styles(-style-string-to-list(unquote($styles)));
103
- @if archetype-version('Sass >= 3.2') {
104
- @content;
105
- }
106
- }
107
- }
108
86
  }
109
87
  }
110
-
111
- // a hack that allows elements with transparent backgrounds to be focusable in IE
112
- // @mixin transparent-focusable
113
- // @param $url {String} an optional URL to point to an image (not required)
114
- // @param $data {String} an optional data URI for a transparent image (not required)
115
- @mixin transparent-focusable($url: url(https://), $data: 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7') {
116
- $bg: (transparent);
117
- background: append($bg, $data);
118
- @if $url {
119
- @include target-browser(ie lte 7, background, append($bg, $url));
120
- }
121
- }
@@ -117,9 +117,9 @@
117
117
  clip: rect(1px, 1px, 1px, 1px);
118
118
  }
119
119
 
120
- // reverse hide-element and make the element visible again
120
+ // revert hide element with config
121
121
  // @mixin unhide-element
122
- // @see hide-element
122
+ // @link http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
123
123
  // @param $position {String} value for the position property
124
124
  // @param $height {String} value for the height property
125
125
  // @param $width {String} value for the width property
@@ -168,11 +168,8 @@
168
168
  // @param $size {Number} the size of the icon
169
169
  // @param $color {Color} the color of the font
170
170
  // @param $placement {String} where to place the icon [before|after|inline]
171
- // @param $ie-styles {String} styles to apply to IE6/7 (this is needed because the faux :before isn't extendable)
172
- // @param $ie-uid {String} a custom, unique identifier for the generate IE6/7 element
173
- // @content
174
- @mixin glyph-icon($icon, $size: default, $color: inherit, $placement: before, $ie-styles: false, $ie-uid: false) {
175
- $archetype-glyph-selector: false;
171
+ // @param $ie-styles {String} styles to apply to IE6/7 (this is needed because the faux :before isn't extensible)
172
+ @mixin glyph-icon($icon, $size: default, $color: inherit, $placement: before, $ie-styles: false) {
176
173
  $char-mapping: nil;
177
174
  $char-code: nil;
178
175
  @if $icon {
@@ -207,7 +204,6 @@
207
204
  content: $char-code;
208
205
  }
209
206
  }
210
- $archetype-glyph-selector: $selector;
211
207
  @if($selector != '&' and $ie-styles != nil) {
212
208
  // support for IE6/7
213
209
  $styles: "font-family:'#{$CONFIG_GLYPHS_NAME}-#{$CONFIG_GLYPHS_VERSION}', '#{$CONFIG_GLYPHS_NAME}';font-weight:#{$CONFIG_GLYPHS_WEIGHT};font-style:#{$CONFIG_GLYPHS_STYLE};text-decoration:inherit;";
@@ -220,14 +216,7 @@
220
216
  @if($ie-styles) {
221
217
  $styles: $styles + $ie-styles;
222
218
  }
223
-
224
- @include ie-pseudo($styles: $styles, $content: $char-code, $placement: $placement, $name: glyph, $uid: $ie-uid);
225
- @if $archetype-pseudo-selector {
226
- $archetype-glyph-selector: '#{$selector}, #{$archetype-pseudo-selector}';
227
- }
228
- }
229
- #{$archetype-glyph-selector} {
230
- @content;
219
+ @include ie-pseudo($styles: $styles, $content: $char-code, $placement: $placement, $name: glyph);
231
220
  }
232
221
  }
233
222
  }
@@ -6,7 +6,7 @@
6
6
  /* ==========================================================================
7
7
  Base styles: opinionated defaults
8
8
  ========================================================================== */
9
-
9
+
10
10
  html,
11
11
  button,
12
12
  input,
@@ -14,32 +14,32 @@
14
14
  textarea {
15
15
  color: #222;
16
16
  }
17
-
17
+
18
18
  body {
19
19
  font-size: 1em;
20
20
  line-height: 1.4;
21
21
  }
22
-
22
+
23
23
  /*
24
24
  * Remove text-shadow in selection highlight: h5bp.com/i
25
25
  * These selection declarations have to be separate.
26
26
  * Customize the background color to match your design.
27
27
  */
28
-
28
+
29
29
  ::-moz-selection {
30
30
  background: #b3d4fc;
31
31
  text-shadow: none;
32
32
  }
33
-
33
+
34
34
  ::selection {
35
35
  background: #b3d4fc;
36
36
  text-shadow: none;
37
37
  }
38
-
38
+
39
39
  /*
40
40
  * A better looking default horizontal rule
41
41
  */
42
-
42
+
43
43
  hr {
44
44
  display: block;
45
45
  height: 1px;
@@ -54,7 +54,7 @@
54
54
  /*
55
55
  * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
56
56
  */
57
-
57
+
58
58
  img {
59
59
  vertical-align: middle;
60
60
  }
@@ -77,7 +77,7 @@
77
77
  /*
78
78
  * Allow only vertical resizing of textareas.
79
79
  */
80
-
80
+
81
81
  textarea {
82
82
  resize: vertical;
83
83
  }
@@ -87,7 +87,7 @@
87
87
  /* ==========================================================================
88
88
  Chrome Frame prompt
89
89
  ========================================================================== */
90
-
90
+
91
91
  .chromeframe {
92
92
  margin: 0.2em 0;
93
93
  background: #ccc;
@@ -117,7 +117,7 @@
117
117
  content: "";
118
118
  display: block;
119
119
  width: 0;
120
- height: 150%;
120
+ height: 100%;
121
121
  }
122
122
 
123
123
  /*
@@ -277,7 +277,7 @@
277
277
  // @param $exclude {List} the list of features to exclude from the reset
278
278
  // @link https://github.com/h5bp/html5-boilerplate/
279
279
  @mixin base-h5bp($exclude: ()) {
280
- /*! HTML5 Boilerplate | MIT License | @9ec546569b */
280
+ /*! HTML5 Boilerplate | MIT License | @b378ce239d */
281
281
  /*
282
282
  * HTML5 Boilerplate
283
283
  *
@@ -1,4 +1,4 @@
1
- // normalize.css v2.1.2 | MIT License | git.io/normalize
1
+ // normalize.css v2.0.1 | MIT License | git.io/normalize
2
2
 
3
3
  // @category base
4
4
  @mixin base-normalize-html5() {
@@ -6,9 +6,9 @@
6
6
  HTML5 display definitions
7
7
  ========================================================================== */
8
8
 
9
- /**
10
- * Corrects `block` display not defined in IE 8/9.
11
- */
9
+ /*
10
+ * Corrects `block` display not defined in IE 8/9.
11
+ */
12
12
 
13
13
  article,
14
14
  aside,
@@ -18,16 +18,15 @@
18
18
  footer,
19
19
  header,
20
20
  hgroup,
21
- main,
22
21
  nav,
23
22
  section,
24
23
  summary {
25
24
  display: block;
26
25
  }
27
26
 
28
- /**
29
- * Corrects `inline-block` display not defined in IE 8/9.
30
- */
27
+ /*
28
+ * Corrects `inline-block` display not defined in IE 8/9.
29
+ */
31
30
 
32
31
  audio,
33
32
  canvas,
@@ -35,43 +34,41 @@
35
34
  @include inline-block();
36
35
  }
37
36
 
38
- /**
39
- * Prevents modern browsers from displaying `audio` without controls.
40
- * Remove excess height in iOS 5 devices.
41
- */
37
+ /*
38
+ * Prevents modern browsers from displaying `audio` without controls.
39
+ * Remove excess height in iOS 5 devices.
40
+ */
42
41
 
43
42
  audio:not([controls]) {
44
43
  display: none;
45
44
  height: 0;
46
45
  }
47
46
 
48
- /**
49
- * Addresses styling for `hidden` attribute not present in IE 8/9.
50
- * Hide the `template` element in IE, Safari, and Firefox < 22.
51
- */
47
+ /*
48
+ * Addresses styling for `hidden` attribute not present in IE 8/9.
49
+ */
52
50
 
53
- [hidden],
54
- template {
51
+ [hidden] {
55
52
  display: none;
56
53
  }
57
54
  }
58
55
 
59
56
  @mixin base-normalize-text-adjust() {
60
- /**
61
- * 0. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
62
- * http://clagnut.com/blog/348/#c790
63
- * 1. Sets default font family to sans-serif.
64
- * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
65
- * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
66
- */
57
+ /*
58
+ * 0. Corrects text resizing oddly in IE6/7 when body font-size is set using em units
59
+ * http://clagnut.com/blog/348/#c790
60
+ * 1. Sets default font family to sans-serif.
61
+ * 2. Prevents iOS text size adjust after orientation change, without disabling user zoom
62
+ * www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
63
+ */
67
64
  html {
68
65
  // legacy
69
66
  @if $legacy-support-for-ie7 or $legacy-support-for-ie6 {
70
67
  font-size: 100%; /* 0 */
71
68
  }
72
69
  font-family: sans-serif; /* 1 */
73
- -ms-text-size-adjust: 100%; /* 2 */
74
70
  -webkit-text-size-adjust: 100%; /* 2 */
71
+ -ms-text-size-adjust: 100%; /* 2 */
75
72
  }
76
73
 
77
74
  }
@@ -81,9 +78,9 @@
81
78
  Base
82
79
  ========================================================================== */
83
80
 
84
- /**
85
- * Removes default margin.
86
- */
81
+ /*
82
+ * Removes default margin.
83
+ */
87
84
 
88
85
  body {
89
86
  margin: 0;
@@ -95,29 +92,17 @@
95
92
  Links
96
93
  ========================================================================== */
97
94
 
98
- // TODO: need to evaluate this change given the issue known issue with
99
- // transparent background elements not gaining :focus state
100
- // so disabling this change for now :(
101
- // @see transparent-focusable
102
- ///**
103
- // * Remove the gray background color from active links in IE 10.
104
- // */
105
- //
106
- //a {
107
- // background: transparent;
108
- //}
109
-
110
- /**
111
- * Addresses `outline` inconsistency between Chrome and other browsers.
112
- */
95
+ /*
96
+ * Addresses `outline` inconsistency between Chrome and other browsers.
97
+ */
113
98
 
114
99
  a:focus {
115
100
  outline: thin dotted;
116
101
  }
117
102
 
118
- /**
119
- * Improves readability when focused and also mouse hovered in all browsers.
120
- */
103
+ /*
104
+ * Improves readability when focused and also mouse hovered in all browsers.
105
+ */
121
106
 
122
107
  a:active,
123
108
  a:hover {
@@ -126,9 +111,9 @@
126
111
  }
127
112
 
128
113
  @mixin base-normalize-typogrpahy-core() {
129
- /**
130
- * Corrects font family set oddly in Safari 5 and Chrome.
131
- */
114
+ /*
115
+ * Corrects font family set oddly in Safari 5 and Chrome.
116
+ */
132
117
 
133
118
  code,
134
119
  kbd,
@@ -138,9 +123,9 @@
138
123
  font-size: 1em;
139
124
  }
140
125
 
141
- /**
142
- * Improves readability of pre-formatted text in all browsers.
143
- */
126
+ /*
127
+ * Improves readability of pre-formatted text in all browsers.
128
+ */
144
129
 
145
130
  pre {
146
131
  white-space: pre;
@@ -149,17 +134,17 @@
149
134
  }
150
135
 
151
136
 
152
- /**
153
- * Addresses inconsistent and variable font size in all browsers.
154
- */
137
+ /*
138
+ * Addresses inconsistent and variable font size in all browsers.
139
+ */
155
140
 
156
141
  small {
157
142
  font-size: 80%;
158
143
  }
159
144
 
160
- /**
161
- * Prevents `sub` and `sup` affecting `line-height` in all browsers.
162
- */
145
+ /*
146
+ * Prevents `sub` and `sup` affecting `line-height` in all browsers.
147
+ */
163
148
 
164
149
  sub,
165
150
  sup {
@@ -183,10 +168,10 @@
183
168
  Typography
184
169
  ========================================================================== */
185
170
 
186
- /**
187
- * Addresses font sizes and margins set differently in IE6/7
188
- * Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
189
- */
171
+ /*
172
+ * Addresses font sizes and margins set differently in IE6/7
173
+ * Addresses font sizes within 'section' and 'article' in FF4+, Chrome, S5
174
+ */
190
175
 
191
176
  h1 {
192
177
  font-size: 2em;
@@ -218,45 +203,33 @@
218
203
  margin: 2.33em 0;
219
204
  }
220
205
 
221
- /**
222
- * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
223
- */
206
+ /*
207
+ * Addresses styling not present in IE 8/9, Safari 5, and Chrome.
208
+ */
224
209
 
225
210
  abbr[title] {
226
211
  border-bottom: 1px dotted;
227
212
  }
228
213
 
229
- /**
230
- * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
231
- */
214
+ /*
215
+ * Addresses style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
216
+ */
232
217
 
233
218
  b,
234
219
  strong {
235
220
  font-weight: bold;
236
221
  }
237
-
238
- /**
239
- * Addresses styling not present in Safari 5 and Chrome.
240
- */
222
+ /*
223
+ * Addresses styling not present in Safari 5 and Chrome.
224
+ */
241
225
 
242
226
  dfn {
243
227
  font-style: italic;
244
228
  }
245
229
 
246
- /**
247
- * Address differences between Firefox and other browsers.
248
- */
249
-
250
- hr {
251
- -moz-box-sizing: content-box;
252
- box-sizing: content-box;
253
- height: 0;
254
- }
255
-
256
-
257
- /**
258
- * Addresses styling not present in IE 8/9.
259
- */
230
+ /*
231
+ * Addresses styling not present in IE 8/9.
232
+ */
260
233
 
261
234
  mark {
262
235
  background: #ff0;
@@ -267,9 +240,9 @@
267
240
  margin: 1em 40px;
268
241
  }
269
242
 
270
- /**
271
- * Addresses margins set differently in IE6/7
272
- */
243
+ /*
244
+ * Addresses margins set differently in IE6/7
245
+ */
273
246
 
274
247
  p,
275
248
  pre {
@@ -278,9 +251,9 @@
278
251
  }
279
252
 
280
253
  @mixin base-normalize-quotes() {
281
- /**
282
- * Sets consistent quote types.
283
- */
254
+ /*
255
+ * Sets consistent quote types.
256
+ */
284
257
  q {
285
258
  quotes: "\201C" "\201D" "\2018" "\2019";
286
259
  }
@@ -293,7 +266,7 @@
293
266
  Lists
294
267
  ========================================================================== */
295
268
 
296
- /**
269
+ /*
297
270
  * Addresses margins set differently in IE6/7
298
271
  */
299
272
 
@@ -308,7 +281,7 @@
308
281
  margin: 0 0 0 40px;
309
282
  }
310
283
 
311
- /**
284
+ /*
312
285
  * Addresses paddings set differently in IE6/7
313
286
  */
314
287
 
@@ -318,7 +291,7 @@
318
291
  padding: 0 0 0 40px;
319
292
  }
320
293
 
321
- /**
294
+ /*
322
295
  * Corrects list images handled incorrectly in IE7
323
296
  */
324
297
 
@@ -331,11 +304,11 @@
331
304
  }
332
305
 
333
306
  @mixin base-normalize-image() {
334
- /**
335
- * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
336
- * 2. Improves image quality when scaled in IE7
337
- * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
338
- */
307
+ /*
308
+ * 1. Removes border when inside 'a' element in IE6/7/8/9, FF3
309
+ * 2. Improves image quality when scaled in IE7
310
+ * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
311
+ */
339
312
 
340
313
  img {
341
314
  border: 0; /* 1 */
@@ -351,10 +324,10 @@
351
324
  Embedded content
352
325
  ========================================================================== */
353
326
  @include base-normalize-image();
354
-
355
- /**
356
- * Corrects overflow displayed oddly in IE9
357
- */
327
+
328
+ /*
329
+ * Corrects overflow displayed oddly in IE9
330
+ */
358
331
 
359
332
  svg:not(:root) {
360
333
  overflow: hidden;
@@ -366,9 +339,9 @@
366
339
  Figures
367
340
  ========================================================================== */
368
341
 
369
- /**
370
- * Addresses margin not present in IE6/7/8/9, S5, O11
371
- */
342
+ /*
343
+ * Addresses margin not present in IE6/7/8/9, S5, O11
344
+ */
372
345
 
373
346
  figure {
374
347
  margin: 0;
@@ -376,9 +349,9 @@
376
349
  }
377
350
 
378
351
  @mixin base-normalize-fieldset() {
379
- /**
380
- * Define consistent border, margin, and padding.
381
- */
352
+ /*
353
+ * Define consistent border, margin, and padding.
354
+ */
382
355
 
383
356
  fieldset {
384
357
  border: 1px solid #c0c0c0;
@@ -392,19 +365,19 @@
392
365
  Forms
393
366
  ========================================================================== */
394
367
 
395
- /**
396
- * Corrects margin displayed oddly in IE6/7
397
- */
368
+ /*
369
+ * Corrects margin displayed oddly in IE6/7
370
+ */
398
371
 
399
372
  form {
400
373
  margin: 0;
401
374
  }
402
375
 
403
- /**
404
- * 1. Corrects color not being inherited in IE6/7/8/9
405
- * 2. Corrects text not wrapping in FF3
406
- * 3. Corrects alignment displayed oddly in IE6/7
407
- */
376
+ /*
377
+ * 1. Corrects color not being inherited in IE6/7/8/9
378
+ * 2. Corrects text not wrapping in FF3
379
+ * 3. Corrects alignment displayed oddly in IE6/7
380
+ */
408
381
 
409
382
  legend {
410
383
  border: 0; /* 1 */
@@ -416,12 +389,12 @@
416
389
  }
417
390
  }
418
391
 
419
- /**
420
- * 1. Corrects font family not being inherited in all browsers.
421
- * 2. Corrects font size not being inherited in all browsers.
422
- * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
423
- * 4. Improves appearance and consistency in all browsers
424
- */
392
+ /*
393
+ * 1. Corrects font family not being inherited in all browsers.
394
+ * 2. Corrects font size not being inherited in all browsers.
395
+ * 3. Addresses margins set differently in Firefox 4+, Safari 5, and Chrome
396
+ * 4. Improves appearance and consistency in all browsers
397
+ */
425
398
 
426
399
  button,
427
400
  input,
@@ -437,35 +410,23 @@
437
410
  }
438
411
  }
439
412
 
440
- /**
441
- * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
442
- */
413
+ /*
414
+ * Addresses FF3/4 setting line-height on 'input' using !important in the UA stylesheet
415
+ */
443
416
 
444
417
  button,
445
418
  input {
446
419
  line-height: normal; /* 1 */
447
420
  }
448
421
 
449
- /**
450
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
451
- * All other form control elements do not inherit `text-transform` values.
452
- * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
453
- * Correct `select` style inheritance in Firefox 4+ and Opera.
454
- */
455
-
456
- button,
457
- select {
458
- text-transform: none;
459
- }
460
-
461
- /**
462
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
463
- * and `video` controls.
464
- * 2. Correct inability to style clickable `input` types in iOS.
465
- * 3. Improve usability and consistency of cursor style between image-type
466
- * `input` and others.
467
- * 4. Removes inner spacing in IE7 without affecting normal text inputs
468
- */
422
+ /*
423
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
424
+ * and `video` controls.
425
+ * 2. Corrects inability to style clickable `input` types in iOS.
426
+ * 3. Improves usability and consistency of cursor style between image-type
427
+ * `input` and others.
428
+ * 4. Removes inner spacing in IE7 without affecting normal text inputs
429
+ */
469
430
 
470
431
  button,
471
432
  html input[type="button"], /* 1 */
@@ -479,21 +440,21 @@
479
440
  }
480
441
  }
481
442
 
482
- /**
483
- * Re-set default cursor for disabled elements.
484
- */
443
+ /*
444
+ * Re-set default cursor for disabled elements.
445
+ */
485
446
 
486
447
  button[disabled],
487
- html input[disabled] {
448
+ input[disabled] {
488
449
  cursor: default;
489
450
  }
490
451
 
491
- /**
492
- * 1. Addresses box sizing set to `content-box` in IE 8/9.
493
- * 2. Removes excess padding in IE 8/9.
494
- * 3. Removes excess padding in IE7
452
+ /*
453
+ * 1. Addresses box sizing set to `content-box` in IE 8/9.
454
+ * 2. Removes excess padding in IE 8/9.
455
+ * 3. Removes excess padding in IE7
495
456
  Known issue: excess padding remains in IE6
496
- */
457
+ */
497
458
 
498
459
  input[type="checkbox"],
499
460
  input[type="radio"] {
@@ -506,11 +467,11 @@
506
467
  }
507
468
  }
508
469
 
509
- /**
510
- * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
511
- * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
512
- * (include `-moz` to future-proof).
513
- */
470
+ /*
471
+ * 1. Addresses `appearance` set to `searchfield` in Safari 5 and Chrome.
472
+ * 2. Addresses `box-sizing` set to `border-box` in Safari 5 and Chrome
473
+ * (include `-moz` to future-proof).
474
+ */
514
475
 
515
476
  input[type="search"] {
516
477
  -webkit-appearance: textfield; /* 1 */
@@ -520,10 +481,10 @@
520
481
  }
521
482
 
522
483
 
523
- /**
524
- * Removes inner padding and search cancel button in Safari 5 and Chrome
525
- * on OS X.
526
- */
484
+ /*
485
+ * Removes inner padding and search cancel button in Safari 5 and Chrome
486
+ * on OS X.
487
+ */
527
488
 
528
489
  input[type="search"]::-webkit-search-cancel-button,
529
490
  input[type="search"]::-webkit-search-decoration {
@@ -531,9 +492,9 @@
531
492
  }
532
493
 
533
494
 
534
- /**
535
- * Removes inner padding and border in Firefox 4+.
536
- */
495
+ /*
496
+ * Removes inner padding and border in Firefox 4+.
497
+ */
537
498
 
538
499
  button::-moz-focus-inner,
539
500
  input::-moz-focus-inner {
@@ -541,16 +502,16 @@
541
502
  padding: 0;
542
503
  }
543
504
 
544
- /**
545
- * 1. Removes default vertical scrollbar in IE6/7/8/9
546
- * 2. Improves readability and alignment in all browsers
547
- */
505
+ /*
506
+ * 1. Removes default vertical scrollbar in IE6/7/8/9
507
+ * 2. Improves readability and alignment in all browsers
508
+ */
548
509
 
549
510
  textarea {
550
511
  overflow: auto; /* 1 */
551
512
  vertical-align: top; /* 2 */
552
513
  }
553
-
514
+
554
515
  }
555
516
 
556
517
  @mixin base-normalize-ime() {
@@ -568,9 +529,9 @@
568
529
  Tables
569
530
  ========================================================================== */
570
531
 
571
- /**
572
- * Remove most spacing between table cells.
573
- */
532
+ /*
533
+ * Remove most spacing between table cells.
534
+ */
574
535
 
575
536
  table {
576
537
  border-collapse: collapse;
@@ -584,7 +545,7 @@
584
545
  // @param $exclude {List} the list of features to exclude from the reset
585
546
  // @link http://github.com/necolas/normalize.css
586
547
  @mixin base-normalize($exclude: ()) {
587
- /*! normalize.css v2.1.2 | MIT License | git.io/normalize */
548
+ /*! normalize.css v2.0.1 | MIT License | git.io/normalize */
588
549
  $exclude: -compass-list($exclude);
589
550
  @if(not index($exclude, normalize-html5)) {
590
551
  @include base-normalize-html5();