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