archetype 0.0.1.pre.10 → 0.0.1.pre.11
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.
- checksums.yaml +4 -4
- data/lib/archetype.rb +0 -4
- data/lib/archetype/functions/hash.rb +12 -28
- data/lib/archetype/functions/helpers.rb +13 -46
- data/lib/archetype/functions/styleguide_memoizer.rb +1 -9
- data/lib/archetype/sass_extensions/functions/lists.rb +42 -36
- data/lib/archetype/sass_extensions/functions/locale.rb +16 -32
- data/lib/archetype/sass_extensions/functions/styleguide.rb +39 -121
- data/lib/archetype/sass_extensions/functions/ui.rb +2 -3
- data/lib/archetype/sass_extensions/functions/version.rb +6 -11
- data/lib/archetype/sass_extensions/monkey_patches.rb +1 -1
- data/lib/archetype/version.rb +1 -1
- data/stylesheets/archetype/_base.scss +2 -7
- data/stylesheets/archetype/_config.scss +1 -8
- data/stylesheets/archetype/_hacks.scss +17 -51
- data/stylesheets/archetype/_ui.scss +5 -16
- data/stylesheets/archetype/base/_h5bp.scss +12 -12
- data/stylesheets/archetype/base/_normalize.scss +139 -178
- data/stylesheets/archetype/grid/_grid.scss +13 -13
- data/stylesheets/archetype/styleguide/components/_buttons.scss +0 -1
- data/stylesheets/archetype/util/_debug.scss +4 -4
- data/stylesheets/archetype/util/_lists.scss +1 -1
- data/stylesheets/archetype/util/_misc.scss +1 -1
- data/stylesheets/archetype/util/_rtl.scss +1 -1
- data/stylesheets/archetype/util/_spacing.scss +6 -6
- data/stylesheets/archetype/util/_styles.scss +10 -27
- data/stylesheets/archetype/util/_targeting.scss +1 -1
- data/test/fixtures/stylesheets/archetype/config.rb +0 -2
- data/test/fixtures/stylesheets/archetype/saved/styleguide/buttons.css +2027 -0
- data/test/fixtures/stylesheets/archetype/saved/styleguide/fallback_styles.css +9 -0
- data/test/fixtures/stylesheets/archetype/source/styleguide/buttons.scss +1 -5
- data/test/fixtures/stylesheets/archetype/source/styleguide/fallback_styles.scss +2 -1
- data/test/fixtures/stylesheets/archetype/source/styleguide/nested_styleguides.scss +1 -1
- data/test/fixtures/stylesheets/archetype/source/styleguide/selective_state.scss +1 -1
- data/test/fixtures/stylesheets/archetype/source/ui/glyph_icon.scss +0 -30
- data/test/fixtures/stylesheets/archetype/source/utilities/custom_output_styler.scss +3 -4
- data/test/fixtures/stylesheets/archetype/source/utilities/targeting/target-browser.scss +1 -8
- data/test/helpers/test_case.rb +2 -2
- data/test/integrations/archetype_test.rb +1 -3
- data/test/units/sass_extensions_test.rb +25 -18
- metadata +6 -29
- data/lib/archetype/actions/help.rb +0 -16
- data/lib/archetype/actions/theme.rb +0 -73
- data/lib/archetype/executor.rb +0 -27
- data/test/fixtures/stylesheets/archetype/saved/base.css +0 -349
- data/test/fixtures/stylesheets/archetype/saved/hacks/transparent_focusable.css +0 -4
- data/test/fixtures/stylesheets/archetype/saved/locale.css +0 -23
- data/test/fixtures/stylesheets/archetype/source/base.scss +0 -3
- data/test/fixtures/stylesheets/archetype/source/hacks/transparent_focusable.scss +0 -5
- data/test/fixtures/stylesheets/archetype/source/locale.scss +0 -43
- data/test/fixtures/stylesheets/archetype/source/styleguide/alerts.scss +0 -21
- data/test/fixtures/stylesheets/archetype/source/styleguide/drop.scss +0 -101
- data/test/fixtures/stylesheets/archetype/source/styleguide/extend.scss +0 -24
- data/test/fixtures/stylesheets/archetype/source/styleguide/invalid_structures.scss +0 -85
- data/test/fixtures/stylesheets/archetype/source/styleguide/multi_value.scss +0 -18
- 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
|
21
|
+
prefix = helpers.to_str(prefix).gsub(/\A"|"\Z/, '')
|
22
22
|
prefix = '.' if prefix == 'class'
|
23
23
|
prefix = '#' if prefix == 'id'
|
24
|
-
|
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 = /(
|
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
|
25
|
-
lib =
|
26
|
-
if test.include?('compass')
|
27
|
-
|
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 = (
|
58
|
+
comparator = (comparator || [])[0] || 'eq'
|
64
59
|
eq = comparator =~ /(e|=)/
|
65
60
|
lt = comparator =~ /(l|<)/
|
66
61
|
gt = comparator =~ /(g|>)/
|
data/lib/archetype/version.rb
CHANGED
@@ -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|
|
16
|
-
// @param $force {
|
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
|
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
|
38
|
-
// @param
|
39
|
-
// @param
|
40
|
-
// @param
|
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
|
50
|
-
// @param
|
51
|
-
// @param
|
52
|
-
// @param
|
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
|
64
|
-
// @param
|
65
|
-
// @param
|
66
|
-
// @param
|
67
|
-
// @param
|
68
|
-
|
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
|
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
|
-
//
|
120
|
+
// revert hide element with config
|
121
121
|
// @mixin unhide-element
|
122
|
-
// @
|
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
|
172
|
-
|
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:
|
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 | @
|
280
|
+
/*! HTML5 Boilerplate | MIT License | @b378ce239d */
|
281
281
|
/*
|
282
282
|
* HTML5 Boilerplate
|
283
283
|
*
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// normalize.css v2.1
|
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
|
-
|
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
|
-
|
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
|
-
|
40
|
-
|
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
|
-
|
50
|
-
|
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
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
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
|
-
|
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
|
-
|
99
|
-
|
100
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
188
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
336
|
-
|
337
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
405
|
-
|
406
|
-
|
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
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
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
|
-
|
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
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
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
|
-
|
484
|
-
|
443
|
+
/*
|
444
|
+
* Re-set default cursor for disabled elements.
|
445
|
+
*/
|
485
446
|
|
486
447
|
button[disabled],
|
487
|
-
|
448
|
+
input[disabled] {
|
488
449
|
cursor: default;
|
489
450
|
}
|
490
451
|
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
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
|
-
|
511
|
-
|
512
|
-
|
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
|
-
|
525
|
-
|
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
|
-
|
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
|
-
|
546
|
-
|
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
|
-
|
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
|
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();
|