facades 0.1.0 → 1.0.0
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.
- data/.gitignore +1 -0
- data/.rbenv-gemsets +1 -0
- data/.rvmrc +1 -0
- data/.travis.yml +6 -0
- data/Gemfile +12 -0
- data/Guardfile +19 -0
- data/README.md +115 -101
- data/Rakefile +8 -0
- data/app/assets/javascripts/facades/debug/grid.js +0 -0
- data/app/helpers/facades_helper.rb +1 -0
- data/config.ru +7 -0
- data/facades.gemspec +9 -2
- data/lib/facades/helpers/layout.rb +36 -73
- data/lib/facades/helpers/navigation.rb +182 -110
- data/lib/facades/helpers/{elements.rb → notifications.rb} +9 -36
- data/lib/facades/helpers.rb +6 -17
- data/lib/facades/patterns/tabs.rb +75 -0
- data/lib/facades/patterns.rb +7 -0
- data/lib/facades/{sass_ext → sass_extensions}/color.rb +5 -13
- data/lib/facades/sass_extensions/conversions.rb +27 -0
- data/lib/facades/sass_extensions/functions.rb +84 -0
- data/lib/facades/sass_extensions/icons.rb +66 -0
- data/lib/facades/sass_extensions.rb +21 -0
- data/lib/facades/support/compass/project/MIT-LICENSE.txt +20 -0
- data/lib/facades/support/compass/project/humans.txt +8 -0
- data/lib/facades/support/compass/project/index.html +45 -0
- data/lib/facades/support/compass/project/manifest.rb +18 -0
- data/lib/facades/support/compass/project/robots.txt +4 -0
- data/lib/facades/support/compass.rb +9 -0
- data/lib/facades/support/rails.rb +12 -15
- data/lib/facades/support/simple_form.rb +32 -0
- data/lib/facades/version.rb +1 -1
- data/lib/facades.rb +21 -44
- data/spec/internal/app/helpers/application_helper.rb +3 -0
- data/spec/internal/app/views/navigation/_multi_list.html.erb +11 -0
- data/spec/internal/app/views/navigation/_multi_option_list.html.erb +14 -0
- data/spec/internal/app/views/navigation/_single_list.html.erb +9 -0
- data/spec/internal/config/database.yml +3 -0
- data/spec/internal/config/routes.rb +3 -0
- data/spec/internal/db/schema.rb +3 -0
- data/spec/internal/log/.gitignore +1 -0
- data/spec/internal/public/favicon.ico +0 -0
- data/spec/spec_helper.rb +16 -6
- data/spec/unit/helpers/layout_spec.rb +4 -0
- data/spec/unit/helpers/navigation_spec.rb +384 -0
- data/spec/unit/helpers/notifications_spec.rb +4 -0
- data/spec/unit/patterns/tabs_spec.rb +58 -0
- data/src/icons/facades.yml +105 -0
- data/src/icons/font-awesome.yml +210 -0
- data/src/scss/facades/_buttons.scss +10 -0
- data/src/scss/facades/_config.scss +99 -0
- data/src/scss/facades/_debug.scss +8 -0
- data/src/scss/facades/_forms.scss +228 -0
- data/src/scss/facades/_global.scss +104 -0
- data/src/scss/facades/_icons.scss +61 -0
- data/src/scss/facades/_mixins.scss +115 -0
- data/src/scss/facades/_mobile.scss +3 -0
- data/src/scss/facades/_setup.scss +191 -0
- data/src/scss/facades/_typography.scss +220 -0
- data/src/scss/facades/buttons/_glossy.scss +29 -0
- data/src/scss/facades/buttons/_gradient.scss +36 -0
- data/src/scss/facades/buttons/_shared.scss +33 -0
- data/src/scss/facades/buttons/_simple.scss +28 -0
- data/src/scss/facades/icons/_classes.scss +37 -0
- data/src/scss/facades/icons/_legacy.scss +27 -0
- data/src/scss/facades/layout/_lists.scss +43 -0
- data/src/scss/facades/mixins/_gradients.scss +30 -0
- data/src/scss/facades/mixins/_rhythm.scss +37 -0
- data/src/scss/facades/mobile/_buttons.scss +97 -0
- data/src/scss/facades/mobile/_config.scss +30 -0
- data/src/scss/facades/mobile/_global.scss +81 -0
- data/src/scss/facades/mobile/_mixins.scss +49 -0
- data/src/scss/facades/mobile/_setup.scss +50 -0
- data/src/scss/facades/mobile/patterns/_navbar.scss +21 -0
- data/src/scss/facades/mobile/patterns/_panel.scss +37 -0
- data/src/scss/facades/mobile/patterns/_stage.scss +20 -0
- data/src/scss/facades/mobile/patterns/_toolbar.scss +25 -0
- data/src/scss/facades/mobile/themes/_apple.scss +17 -0
- data/src/scss/facades/patterns/_labels.scss +50 -0
- data/src/scss/facades/patterns/_navbar.scss +4 -0
- data/src/scss/facades/patterns/_notifications.scss +82 -0
- data/src/scss/facades/patterns/_pagination.scss +4 -0
- data/src/scss/facades/patterns/_pills.scss +50 -0
- data/src/scss/facades/patterns/_tabs.scss +83 -0
- data/src/scss/facades/patterns/_twipsy.scss +84 -0
- data/src/scss/facades/typography/_tables.scss +95 -0
- metadata +201 -58
- data/app/views/facades/_pagination.html.erb +0 -20
- data/lib/facades/builders/form/base.rb +0 -212
- data/lib/facades/builders/form/elements.rb +0 -112
- data/lib/facades/builders/form/helper.rb +0 -29
- data/lib/facades/builders/form.rb +0 -22
- data/lib/facades/builders/sprite.rb +0 -50
- data/lib/facades/builders/table.rb +0 -76
- data/lib/facades/debug/html.rb +0 -6
- data/lib/facades/helpers/builders.rb +0 -24
- data/lib/facades/helpers/mobile.rb +0 -57
- data/lib/facades/helpers/pagination.rb +0 -83
- data/lib/facades/helpers/utility.rb +0 -31
- data/lib/facades/sass_ext/form_elements.rb +0 -52
- data/lib/facades/sass_ext/funcs.rb +0 -33
- data/lib/facades/sass_ext.rb +0 -14
- data/lib/facades/stylesheets/facades/_common.scss +0 -7
- data/lib/facades/stylesheets/facades/_css3.scss +0 -93
- data/lib/facades/stylesheets/facades/_layout.scss +0 -5
- data/lib/facades/stylesheets/facades/_normalize.scss +0 -5
- data/lib/facades/stylesheets/facades/_setup.scss +0 -104
- data/lib/facades/stylesheets/facades/_typography.scss +0 -2
- data/lib/facades/stylesheets/facades/_ui.scss +0 -3
- data/lib/facades/stylesheets/facades/_utilities.scss +0 -32
- data/lib/facades/stylesheets/facades/layout/_dropdown-list.scss +0 -7
- data/lib/facades/stylesheets/facades/layout/_forms.scss +0 -53
- data/lib/facades/stylesheets/facades/layout/_grid.scss +0 -49
- data/lib/facades/stylesheets/facades/layout/_responsive_grid.scss +0 -164
- data/lib/facades/stylesheets/facades/setup/_forms.scss +0 -284
- data/lib/facades/stylesheets/facades/setup/_ie.scss +0 -12
- data/lib/facades/stylesheets/facades/setup/_reset.scss +0 -255
- data/lib/facades/stylesheets/facades/typography/_baseline.scss +0 -91
- data/lib/facades/stylesheets/facades/typography/_lists.scss +0 -34
- data/lib/facades/stylesheets/facades/typography/_shadow.scss +0 -8
- data/lib/facades/stylesheets/facades/ui/_buttons.scss +0 -34
- data/lib/facades/stylesheets/facades/ui/_flash-messages.scss +0 -29
- data/lib/facades/stylesheets/facades/ui/_tabbed.scss +0 -5
- data/lib/facades/stylesheets/facades/ui/_tool-tip.scss +0 -44
- data/lib/facades/stylesheets/facades/utilities/_clearfix.scss +0 -20
- data/lib/facades/stylesheets/facades/utilities/_color.scss +0 -7
- data/lib/facades/stylesheets/facades/utilities/_cursors.scss +0 -4
- data/lib/facades/support/serve.rb +0 -17
- data/lib/facades/support/tipsy.rb +0 -17
- data/spec/facades/helpers/elements_spec.rb +0 -86
- data/spec/facades/helpers/layout_helpers_spec.rb +0 -5
- data/spec/facades/helpers/navigation_spec.rb +0 -107
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
$legacy-support-for-ie8: true !default;
|
|
2
|
+
$legacy-support-for-ie7: true !default;
|
|
3
|
+
$legacy-support-for-ie6: false !default;
|
|
4
|
+
$support-for-original-webkit-gradients: false !default;
|
|
5
|
+
$experimental-support-for-svg: false !default;
|
|
6
|
+
$experimental-support-for-khtml: false !default;
|
|
7
|
+
|
|
8
|
+
@import 'facades/config';
|
|
9
|
+
@import 'facades/mixins/rhythm';
|
|
10
|
+
@import 'compass/css3';
|
|
11
|
+
@import 'facades/mixins/gradients';
|
|
12
|
+
|
|
13
|
+
// Custom opacity mixin, uses whole numbers instead of floats.
|
|
14
|
+
@mixin opacity($opacity: 100) {
|
|
15
|
+
@if $legacy-support-for-ie7{
|
|
16
|
+
filter: alpha(opacity=#{$opacity});
|
|
17
|
+
}
|
|
18
|
+
@if $legacy-support-for-ie8{
|
|
19
|
+
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=#{$opacity})";
|
|
20
|
+
}
|
|
21
|
+
opacity: $opacity / 100;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// override compass's version because we don't need prefixing
|
|
25
|
+
@mixin border-radius($radians){
|
|
26
|
+
border-radius:$radians;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// compass uses the overflow style clearfix which can be rather annoying when you
|
|
30
|
+
// dont want overflow:hidden on things.
|
|
31
|
+
@mixin clearfix{
|
|
32
|
+
&:before, &:after{
|
|
33
|
+
content:"";
|
|
34
|
+
display:table;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&:after{
|
|
38
|
+
clear:both;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@if $legacy-support-for-ie8 or $legacy-support-for-ie7{
|
|
42
|
+
&{ zoom:1; }
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Custom box-shadow mixin to skip false or none values
|
|
47
|
+
@mixin optional-box-shadow($props){
|
|
48
|
+
@if $props != false and $props != none{
|
|
49
|
+
@include border-radius($props);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Custom border-radius mixin to skip false or none values
|
|
54
|
+
@mixin optional-border-radius($props){
|
|
55
|
+
@if $props != false and $props != none{
|
|
56
|
+
@include border-radius($props);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Cross browser inline-block implementations
|
|
61
|
+
@mixin inline-block($align: middle){
|
|
62
|
+
display: inline-block;
|
|
63
|
+
vertical-align: $align;
|
|
64
|
+
@if $legacy-support-for-ie7{
|
|
65
|
+
*display: inline;
|
|
66
|
+
*vertical-align: auto;
|
|
67
|
+
*zoom:1;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
@mixin user-select($val: "none"){
|
|
72
|
+
@include experimental("user-select", unquote($val), -moz, -webkit, -khtml, -ms, official);
|
|
73
|
+
@include experimental("touch-callout", unquote($val), -webkit, official, not -moz, not -khtml, not -ms);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
//
|
|
77
|
+
// Clip properties
|
|
78
|
+
// Creates a clip rect, including IE specific version.
|
|
79
|
+
//
|
|
80
|
+
@mixin clipped{
|
|
81
|
+
@include clip(1px, 1px, 1px, 1px);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@mixin clip($top: 1px, $right: 1px, $bottom: 1px, $left: 1px, $shape: rect, $abs: true){
|
|
85
|
+
$shape:unquote($shape);
|
|
86
|
+
|
|
87
|
+
clip: unquote("#{$shape}(#{$top}, #{$right}, #{$bottom}, #{$left})");
|
|
88
|
+
@if $legacy-support-for-ie{
|
|
89
|
+
clip: unquote("#{$shape}(#{$top} #{$right} #{$bottom} #{$left})"); // Stupid IE
|
|
90
|
+
}
|
|
91
|
+
@if $abs{ position: absolute; }
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
// returns a contrasting version of a color based on luminance
|
|
96
|
+
@function contrasting-color($color, $contrast: 100%) {
|
|
97
|
+
@return if(lightness($color) > 50, darken($color, $contrast), lighten($color, $contrast));
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
// sets a contrasting text shadow based on $color
|
|
102
|
+
@mixin bevel-text($color){
|
|
103
|
+
$dark-shadow: rgba(0,0,0,.5) 0 -.08em 0;
|
|
104
|
+
$light-shadow: rgba(255,255,255,.25) 0 .08em 0;
|
|
105
|
+
text-shadow:if(luminance($color) == light, $dark-shadow, $light-shadow);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// creates an empty psuedo element
|
|
109
|
+
@mixin pseudo-element($width: 0, $height: auto, $content: "", $display: block, $position: absolute){
|
|
110
|
+
content: $content;
|
|
111
|
+
@if ($position != default){ position: $position; }
|
|
112
|
+
@if ($display != default){ display: $display; }
|
|
113
|
+
@if ($width != auto){ width: $width; }
|
|
114
|
+
@if ($height != auto){ height: $height; }
|
|
115
|
+
}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
@import 'facades/config';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* HTML5 Boilerplate
|
|
5
|
+
*
|
|
6
|
+
* What follows is the result of much research on cross-browser styling.
|
|
7
|
+
* Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
|
|
8
|
+
* Kroc Camen, and the H5BP dev community and team.
|
|
9
|
+
*
|
|
10
|
+
* Detailed information about this CSS: h5bp.com/css
|
|
11
|
+
*
|
|
12
|
+
* ==|== normalize ==========================================================
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
/* =============================================================================
|
|
17
|
+
HTML5 display definitions
|
|
18
|
+
========================================================================== */
|
|
19
|
+
|
|
20
|
+
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
|
|
21
|
+
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
|
|
22
|
+
audio:not([controls]) { display: none; }
|
|
23
|
+
[hidden] { display: none; }
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
/* =============================================================================
|
|
27
|
+
Base
|
|
28
|
+
========================================================================== */
|
|
29
|
+
|
|
30
|
+
/*
|
|
31
|
+
* 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
|
|
32
|
+
* 2. Force vertical scrollbar in non-IE
|
|
33
|
+
* 3. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
html { font-size: 100%; overflow-y: scroll; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
|
|
37
|
+
|
|
38
|
+
body { margin: 0; }
|
|
39
|
+
|
|
40
|
+
body, button, input, select, textarea { font-family: $font-family; color: $font-color; }
|
|
41
|
+
|
|
42
|
+
/*
|
|
43
|
+
* Remove text-shadow in selection highlight: h5bp.com/i
|
|
44
|
+
* These selection declarations have to be separate
|
|
45
|
+
* Also: hot pink! (or customize the background color to match your design)
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
::-moz-selection { background: $selection-background-color; color: $selection-color; text-shadow: none; }
|
|
49
|
+
::selection { background: $selection-background-color; color: $selection-color; text-shadow: none; }
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
/* Improve readability when focused and hovered in all browsers: h5bp.com/h */
|
|
53
|
+
a:hover, a:active { outline: 0; }
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
/* =============================================================================
|
|
57
|
+
Typography
|
|
58
|
+
========================================================================== */
|
|
59
|
+
|
|
60
|
+
abbr[title] { border-bottom: 1px dotted; }
|
|
61
|
+
|
|
62
|
+
b, strong { font-weight: bold; }
|
|
63
|
+
|
|
64
|
+
blockquote { margin: 1em 40px; }
|
|
65
|
+
|
|
66
|
+
dfn { font-style: italic; }
|
|
67
|
+
|
|
68
|
+
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
|
|
69
|
+
|
|
70
|
+
ins { background: #ff9; color: #000; text-decoration: none; }
|
|
71
|
+
|
|
72
|
+
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
|
|
73
|
+
|
|
74
|
+
/* Redeclare monospace font family: h5bp.com/j */
|
|
75
|
+
pre, code, kbd, samp { font-family: monospace, serif; _font-family: 'courier new', monospace; font-size: 1em; }
|
|
76
|
+
|
|
77
|
+
/* Improve readability of pre-formatted text in all browsers */
|
|
78
|
+
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
|
|
79
|
+
|
|
80
|
+
q { quotes: none; }
|
|
81
|
+
q:before, q:after { content: ""; content: none; }
|
|
82
|
+
|
|
83
|
+
small { font-size: 85%; }
|
|
84
|
+
|
|
85
|
+
/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
|
|
86
|
+
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
|
|
87
|
+
sup { top: -0.5em; }
|
|
88
|
+
sub { bottom: -0.25em; }
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
/* =============================================================================
|
|
92
|
+
Lists
|
|
93
|
+
========================================================================== */
|
|
94
|
+
|
|
95
|
+
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
/* =============================================================================
|
|
99
|
+
Embedded content
|
|
100
|
+
========================================================================== */
|
|
101
|
+
|
|
102
|
+
/*
|
|
103
|
+
* 1. Improve image quality when scaled in IE7: h5bp.com/d
|
|
104
|
+
* 2. Remove the gap between images and borders on image containers: h5bp.com/e
|
|
105
|
+
*/
|
|
106
|
+
|
|
107
|
+
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
|
|
108
|
+
|
|
109
|
+
/*
|
|
110
|
+
* Correct overflow not hidden in IE9
|
|
111
|
+
*/
|
|
112
|
+
|
|
113
|
+
svg:not(:root) { overflow: hidden; }
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
/* =============================================================================
|
|
117
|
+
Figures
|
|
118
|
+
========================================================================== */
|
|
119
|
+
|
|
120
|
+
figure { margin: 0; }
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
/* =============================================================================
|
|
124
|
+
Forms
|
|
125
|
+
========================================================================== */
|
|
126
|
+
|
|
127
|
+
form { margin: 0; }
|
|
128
|
+
fieldset { border: 0; margin: 0; padding: 0; }
|
|
129
|
+
|
|
130
|
+
/* Indicate that 'label' will shift focus to the associated form element */
|
|
131
|
+
label { cursor: pointer; }
|
|
132
|
+
|
|
133
|
+
/*
|
|
134
|
+
* 1. Correct color not inheriting in IE6/7/8/9
|
|
135
|
+
* 2. Correct alignment displayed oddly in IE6/7
|
|
136
|
+
*/
|
|
137
|
+
|
|
138
|
+
legend { border: 0; *margin-left: -7px; padding: 0; }
|
|
139
|
+
|
|
140
|
+
/*
|
|
141
|
+
* 1. Correct font-size not inheriting in all browsers
|
|
142
|
+
* 2. Remove margins in FF3/4 S5 Chrome
|
|
143
|
+
* 3. Define consistent vertical alignment display in all browsers
|
|
144
|
+
*/
|
|
145
|
+
|
|
146
|
+
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
|
|
147
|
+
|
|
148
|
+
/*
|
|
149
|
+
* 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
|
|
150
|
+
*/
|
|
151
|
+
|
|
152
|
+
button, input { line-height: normal; }
|
|
153
|
+
|
|
154
|
+
/*
|
|
155
|
+
* 1. Display hand cursor for clickable form elements
|
|
156
|
+
* 2. Allow styling of clickable form elements in iOS
|
|
157
|
+
* 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
|
|
158
|
+
*/
|
|
159
|
+
|
|
160
|
+
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; *overflow: visible; }
|
|
161
|
+
|
|
162
|
+
/*
|
|
163
|
+
* Consistent box sizing and appearance
|
|
164
|
+
*/
|
|
165
|
+
|
|
166
|
+
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
|
|
167
|
+
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
|
|
168
|
+
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
|
|
169
|
+
|
|
170
|
+
/*
|
|
171
|
+
* Remove inner padding and border in FF3/4: h5bp.com/l
|
|
172
|
+
*/
|
|
173
|
+
|
|
174
|
+
select::-moz-focus-inner, button::-moz-focus-inner, input::-moz-focus-inner { border: 0 !important; padding: 0 !important; }
|
|
175
|
+
|
|
176
|
+
/*
|
|
177
|
+
* 1. Remove default vertical scrollbar in IE6/7/8/9
|
|
178
|
+
* 2. Allow only vertical resizing
|
|
179
|
+
*/
|
|
180
|
+
|
|
181
|
+
textarea { overflow: auto; vertical-align: top; resize: vertical; }
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
/* =============================================================================
|
|
185
|
+
Tables
|
|
186
|
+
========================================================================== */
|
|
187
|
+
|
|
188
|
+
table { border-collapse: collapse; border-spacing: 0; }
|
|
189
|
+
td { vertical-align: top; }
|
|
190
|
+
|
|
191
|
+
a:active{ outline:none; }
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
@import 'facades/config';
|
|
2
|
+
@import 'facades/mixins';
|
|
3
|
+
|
|
4
|
+
//
|
|
5
|
+
// Global typography styles for headings, paragraphs etc.
|
|
6
|
+
// ----------------------------------------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
/*
|
|
9
|
+
Headings
|
|
10
|
+
------------------------------------
|
|
11
|
+
1. Fixes spacing and optimizes appearance
|
|
12
|
+
2. Sexier rendering in webkit and ios/android
|
|
13
|
+
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
body{
|
|
19
|
+
font-family: $font-family;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@include establish-baseline($font-size);
|
|
23
|
+
|
|
24
|
+
// links
|
|
25
|
+
a { color: $link-color; }
|
|
26
|
+
a:visited { color: $link-visited-color; }
|
|
27
|
+
a:hover { color: $link-hover-color; }
|
|
28
|
+
a:focus { outline: thin dotted; }
|
|
29
|
+
|
|
30
|
+
h1, h2, h3, h4, h5, h6 {
|
|
31
|
+
margin:0;
|
|
32
|
+
font-weight: bold;
|
|
33
|
+
text-rendering: optimizelegibility; // 1
|
|
34
|
+
-webkit-font-smoothing: subpixel-antialiased;
|
|
35
|
+
&.headline{
|
|
36
|
+
@include box-sizing(border-box);
|
|
37
|
+
}
|
|
38
|
+
// this fixes rhythm breakage introduced by the added tag
|
|
39
|
+
small{
|
|
40
|
+
@include inline-block(baseline);
|
|
41
|
+
margin:-.2em 0;
|
|
42
|
+
font-size:.75em;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@function _heading_size($num){
|
|
47
|
+
$sizes: $heading-font-sizes;
|
|
48
|
+
$orig: 30px 24px 18px 14px;
|
|
49
|
+
|
|
50
|
+
@if $num > length($sizes){ @return nth($orig, $num); }
|
|
51
|
+
@return nth($sizes, $num);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
h1 {
|
|
55
|
+
@include font-size(_heading_size(1), 2);
|
|
56
|
+
&.headline{
|
|
57
|
+
@include leading(1, _heading_size(1));
|
|
58
|
+
@include margins(1, _heading_size(1));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
h2 {
|
|
63
|
+
@include font-size(_heading_size(2));
|
|
64
|
+
@include margins(.5, _heading_size(2));
|
|
65
|
+
&.headline{
|
|
66
|
+
@include margins(1, _heading_size(2));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
h3 {
|
|
72
|
+
@include font-size(_heading_size(3));
|
|
73
|
+
@include margins(.5, _heading_size(3));
|
|
74
|
+
&.headline{
|
|
75
|
+
@include margins(.5, _heading_size(3));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
h4 {
|
|
82
|
+
@include font-size(_heading_size(4));
|
|
83
|
+
@include margins(.5, _heading_size(4));
|
|
84
|
+
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
h5 {
|
|
88
|
+
@include font-size(12px);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
h6 {
|
|
92
|
+
@include font-size(11px);
|
|
93
|
+
text-transform:uppercase;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
/*
|
|
98
|
+
Headings
|
|
99
|
+
------------------------------------
|
|
100
|
+
*/
|
|
101
|
+
|
|
102
|
+
p {
|
|
103
|
+
font-size:$font-size;
|
|
104
|
+
line-height:$line-height;
|
|
105
|
+
@include margins(0 1, $font-size);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
/*
|
|
110
|
+
Lists
|
|
111
|
+
------------------------------------
|
|
112
|
+
*/
|
|
113
|
+
|
|
114
|
+
ul, ol {
|
|
115
|
+
@include font-size($font-size, 1);
|
|
116
|
+
@include margins(0 1, $font-size);
|
|
117
|
+
line-height:1;
|
|
118
|
+
margin-left: 1.6em;
|
|
119
|
+
padding:0;
|
|
120
|
+
|
|
121
|
+
&.block{
|
|
122
|
+
margin-left:0;
|
|
123
|
+
list-style:none;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
ul, ol{
|
|
127
|
+
@include margins(.5, $font-size);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
ul {
|
|
135
|
+
list-style: disc;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
ol {
|
|
139
|
+
list-style: decimal;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
li {
|
|
143
|
+
@include leading(1);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// for some reason older ie makes list items slightly smaller?
|
|
147
|
+
.lt-ie9 li{
|
|
148
|
+
@include leading(1.01);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
dl{
|
|
152
|
+
dt{
|
|
153
|
+
font-weight:bold;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
dd{
|
|
157
|
+
margin:rhythm(.5) 0 rhythm(.5) rhythm(.5);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/*
|
|
162
|
+
Misc items.
|
|
163
|
+
------------------------------------
|
|
164
|
+
*/
|
|
165
|
+
|
|
166
|
+
hr {
|
|
167
|
+
border: 0;
|
|
168
|
+
line-height:$line-height;
|
|
169
|
+
margin-bottom:.3em;
|
|
170
|
+
overflow:hidden;
|
|
171
|
+
height:1.25em;
|
|
172
|
+
@include box-sizing(content-box);
|
|
173
|
+
position:relative;
|
|
174
|
+
padding:0;
|
|
175
|
+
display:block;
|
|
176
|
+
border-top: 1px solid $horizontal-rule-color;
|
|
177
|
+
border-bottom:1px solid rgba(white,0);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
html.lt-ie9{
|
|
181
|
+
hr{ margin-bottom:.4em; }
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
// useful for using email addresses in text. type the text
|
|
186
|
+
// in reverse and apply this style.
|
|
187
|
+
span.rev, a.rev{
|
|
188
|
+
unicode-bidi: bidi-override;
|
|
189
|
+
direction: rtl
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
address {
|
|
193
|
+
display: block;
|
|
194
|
+
margin-bottom: $line-height;
|
|
195
|
+
line-height: $line-height;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
code {
|
|
199
|
+
font-size:$font-size * .9;
|
|
200
|
+
@include leading(1, $font-size + 1px);
|
|
201
|
+
padding:1px .5em;
|
|
202
|
+
position:relative;
|
|
203
|
+
top:-1px;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
pre {
|
|
207
|
+
display: block;
|
|
208
|
+
@include margins(0 1, 12px);
|
|
209
|
+
@include font-size(12px);
|
|
210
|
+
white-space: pre;
|
|
211
|
+
white-space: pre-wrap;
|
|
212
|
+
word-break: break-all;
|
|
213
|
+
padding:rhythm(0.5);
|
|
214
|
+
border-style:solid;
|
|
215
|
+
|
|
216
|
+
code {
|
|
217
|
+
padding: 0;
|
|
218
|
+
background-color: transparent;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Glossy buttons
|
|
3
|
+
// Apple style buttons with active and hover states
|
|
4
|
+
// ----------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
@import 'shared';
|
|
7
|
+
|
|
8
|
+
@mixin glossy-button($color: $notice-color, $radius: $button-border-radius){
|
|
9
|
+
@if $facades-global-import-used == false{
|
|
10
|
+
@include button-base($radius);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@include glossy-button-colors($color);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@mixin glossy-button-colors($color: $notice-color){
|
|
17
|
+
border:1px solid darken($color, 7%);
|
|
18
|
+
background-color:$color;
|
|
19
|
+
@include background-image(linear-gradient(rgba(255,255,255,0.075) 0%, rgba(255,255,255, 0.075) 50%, rgba(0,0,0,.1) 51%));
|
|
20
|
+
text-shadow:darken($color, 4%) 0 -1px 1px;
|
|
21
|
+
|
|
22
|
+
&:hover{
|
|
23
|
+
background-color:lighten($color, 5%);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&:active{
|
|
27
|
+
background-color:darken($color, 5%);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Gradient buttons
|
|
3
|
+
// Linear gradient buttons with active and hover states
|
|
4
|
+
// ----------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@import 'shared';
|
|
8
|
+
|
|
9
|
+
@mixin gradient-button($color: $notice-color, $radius: $button-border-radius){
|
|
10
|
+
@if $facades-global-import-used == false{
|
|
11
|
+
@include button-base($radius);
|
|
12
|
+
}
|
|
13
|
+
@include gradient-button-colors($color);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@mixin gradient-button-colors($color: $notice-color){
|
|
17
|
+
border-color:darken($color, 10%);
|
|
18
|
+
border-top:1px solid darken($color, 10%);
|
|
19
|
+
@include box-shadow(lighten($color, 30%) 0 1px 1px 0 inset);
|
|
20
|
+
background-color:$color;
|
|
21
|
+
text-shadow:darken($color, 5%) 0px 1px 0px;
|
|
22
|
+
@include background-image(linear-gradient(lighten($color, 5%), $color 25%, darken($color, 10%)));
|
|
23
|
+
|
|
24
|
+
&:hover{
|
|
25
|
+
background-color:lighten($color, 7%);
|
|
26
|
+
@include box-shadow(lighten($color, 20%) 0 1px 1px 0 inset);
|
|
27
|
+
@include background-image(linear-gradient(lighten($color, 7%), lighten($color, 3%) 25%, darken($color, 5%)));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:active{
|
|
31
|
+
background-color:darken($color, 7%);
|
|
32
|
+
@include box-shadow($color 0 1px 1px 0 inset);
|
|
33
|
+
@include background-image(linear-gradient(darken($color, 7%), darken($color, 3%) 25%, darken($color, 10%)));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Shared button styles
|
|
3
|
+
// ----------------------------------------------------------------------------------------
|
|
4
|
+
|
|
5
|
+
@import 'facades/config';
|
|
6
|
+
@import 'facades/mixins';
|
|
7
|
+
|
|
8
|
+
@mixin button-base($radius: $button-border-radius){
|
|
9
|
+
@include inline-block;
|
|
10
|
+
@include box-shadow(none);
|
|
11
|
+
@include box-sizing(border-box);
|
|
12
|
+
@include font-size($button-font-size);
|
|
13
|
+
margin:border-rhythm(1px, .2, $button-font-size) 0;
|
|
14
|
+
padding:rhythm(.3, $button-font-size) 1em;
|
|
15
|
+
@include optional-border-radius($radius);
|
|
16
|
+
|
|
17
|
+
@include transition-property(all);
|
|
18
|
+
@include transition-duration(0.15s);
|
|
19
|
+
@include transition-timing-function(ease-in-out);
|
|
20
|
+
|
|
21
|
+
&.large{
|
|
22
|
+
$bsize: $font-size * 1.1;
|
|
23
|
+
@include font-size($bsize);
|
|
24
|
+
padding:border-rhythm(1px, .5, $bsize) 1.5em;
|
|
25
|
+
margin-top:0;
|
|
26
|
+
margin-bottom:0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&:active{
|
|
30
|
+
@include box-shadow(rgba(0,0,0,0.1) 0 0 3px 0 inset);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Simple buttons
|
|
3
|
+
// Basic solid color buttons with active and hover states
|
|
4
|
+
// ----------------------------------------------------------------------------------------
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@import 'shared';
|
|
8
|
+
|
|
9
|
+
@mixin simple-button($color: $notice-color, $radius: $button-border-radius){
|
|
10
|
+
@include button-base($radius);
|
|
11
|
+
@include simple-button-colors($color);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@mixin simple-button-colors($color: $notice-color){
|
|
15
|
+
background:$color;
|
|
16
|
+
color:white;
|
|
17
|
+
border:1px solid darken($color, 7%);
|
|
18
|
+
text-shadow:darken($color, 5%) 0px 1px 0px;
|
|
19
|
+
@include box-shadow(rgba(255,255,255,0.2) 0 0 3px 0 inset);
|
|
20
|
+
|
|
21
|
+
&:hover{
|
|
22
|
+
background-color:lighten($color, 4%);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&:active{
|
|
26
|
+
background-color:darken($color, 3%);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
@import 'facades/config';
|
|
2
|
+
|
|
3
|
+
@mixin icon-classes($prefix:'icon-', $names: false){
|
|
4
|
+
|
|
5
|
+
$prefix:unquote($prefix);
|
|
6
|
+
|
|
7
|
+
[class^="#{$prefix}"]:before, [class*=" #{$prefix}"]:before{
|
|
8
|
+
display: inline;
|
|
9
|
+
width: auto;
|
|
10
|
+
height: auto;
|
|
11
|
+
line-height: inherit;
|
|
12
|
+
vertical-align: baseline;
|
|
13
|
+
font-weight:normal;
|
|
14
|
+
font-family:$icon-font-family;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@if type-of($names) != list{
|
|
18
|
+
$names: icon-names($icon-pack);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@each $ico in $names{
|
|
22
|
+
$ico: unquote($ico);
|
|
23
|
+
.#{$prefix}#{$ico}:before{ @include icon-content($ico); }
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.#{$prefix}large:before {
|
|
27
|
+
vertical-align: top;
|
|
28
|
+
display:inline-block;
|
|
29
|
+
font-size: 1.3333333333333333em;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@mixin icon-rect-classes{
|
|
34
|
+
.icon-16{ @include icon-rect(16px); }
|
|
35
|
+
.icon-32{ @include icon-rect(32px); }
|
|
36
|
+
.icon-24{ @include icon-rect(24px); }
|
|
37
|
+
}
|