facades 0.1.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. data/.gitignore +1 -0
  2. data/.rbenv-gemsets +1 -0
  3. data/.rvmrc +1 -0
  4. data/.travis.yml +6 -0
  5. data/Gemfile +12 -0
  6. data/Guardfile +19 -0
  7. data/README.md +115 -101
  8. data/Rakefile +8 -0
  9. data/app/assets/javascripts/facades/debug/grid.js +0 -0
  10. data/app/helpers/facades_helper.rb +1 -0
  11. data/config.ru +7 -0
  12. data/facades.gemspec +9 -2
  13. data/lib/facades/helpers/layout.rb +36 -73
  14. data/lib/facades/helpers/navigation.rb +182 -110
  15. data/lib/facades/helpers/{elements.rb → notifications.rb} +9 -36
  16. data/lib/facades/helpers.rb +6 -17
  17. data/lib/facades/patterns/tabs.rb +75 -0
  18. data/lib/facades/patterns.rb +7 -0
  19. data/lib/facades/{sass_ext → sass_extensions}/color.rb +5 -13
  20. data/lib/facades/sass_extensions/conversions.rb +27 -0
  21. data/lib/facades/sass_extensions/functions.rb +84 -0
  22. data/lib/facades/sass_extensions/icons.rb +66 -0
  23. data/lib/facades/sass_extensions.rb +21 -0
  24. data/lib/facades/support/compass/project/MIT-LICENSE.txt +20 -0
  25. data/lib/facades/support/compass/project/humans.txt +8 -0
  26. data/lib/facades/support/compass/project/index.html +45 -0
  27. data/lib/facades/support/compass/project/manifest.rb +18 -0
  28. data/lib/facades/support/compass/project/robots.txt +4 -0
  29. data/lib/facades/support/compass.rb +9 -0
  30. data/lib/facades/support/rails.rb +12 -15
  31. data/lib/facades/support/simple_form.rb +32 -0
  32. data/lib/facades/version.rb +1 -1
  33. data/lib/facades.rb +21 -44
  34. data/spec/internal/app/helpers/application_helper.rb +3 -0
  35. data/spec/internal/app/views/navigation/_multi_list.html.erb +11 -0
  36. data/spec/internal/app/views/navigation/_multi_option_list.html.erb +14 -0
  37. data/spec/internal/app/views/navigation/_single_list.html.erb +9 -0
  38. data/spec/internal/config/database.yml +3 -0
  39. data/spec/internal/config/routes.rb +3 -0
  40. data/spec/internal/db/schema.rb +3 -0
  41. data/spec/internal/log/.gitignore +1 -0
  42. data/spec/internal/public/favicon.ico +0 -0
  43. data/spec/spec_helper.rb +16 -6
  44. data/spec/unit/helpers/layout_spec.rb +4 -0
  45. data/spec/unit/helpers/navigation_spec.rb +384 -0
  46. data/spec/unit/helpers/notifications_spec.rb +4 -0
  47. data/spec/unit/patterns/tabs_spec.rb +58 -0
  48. data/src/icons/facades.yml +105 -0
  49. data/src/icons/font-awesome.yml +210 -0
  50. data/src/scss/facades/_buttons.scss +10 -0
  51. data/src/scss/facades/_config.scss +99 -0
  52. data/src/scss/facades/_debug.scss +8 -0
  53. data/src/scss/facades/_forms.scss +228 -0
  54. data/src/scss/facades/_global.scss +104 -0
  55. data/src/scss/facades/_icons.scss +61 -0
  56. data/src/scss/facades/_mixins.scss +115 -0
  57. data/src/scss/facades/_mobile.scss +3 -0
  58. data/src/scss/facades/_setup.scss +191 -0
  59. data/src/scss/facades/_typography.scss +220 -0
  60. data/src/scss/facades/buttons/_glossy.scss +29 -0
  61. data/src/scss/facades/buttons/_gradient.scss +36 -0
  62. data/src/scss/facades/buttons/_shared.scss +33 -0
  63. data/src/scss/facades/buttons/_simple.scss +28 -0
  64. data/src/scss/facades/icons/_classes.scss +37 -0
  65. data/src/scss/facades/icons/_legacy.scss +27 -0
  66. data/src/scss/facades/layout/_lists.scss +43 -0
  67. data/src/scss/facades/mixins/_gradients.scss +30 -0
  68. data/src/scss/facades/mixins/_rhythm.scss +37 -0
  69. data/src/scss/facades/mobile/_buttons.scss +97 -0
  70. data/src/scss/facades/mobile/_config.scss +30 -0
  71. data/src/scss/facades/mobile/_global.scss +81 -0
  72. data/src/scss/facades/mobile/_mixins.scss +49 -0
  73. data/src/scss/facades/mobile/_setup.scss +50 -0
  74. data/src/scss/facades/mobile/patterns/_navbar.scss +21 -0
  75. data/src/scss/facades/mobile/patterns/_panel.scss +37 -0
  76. data/src/scss/facades/mobile/patterns/_stage.scss +20 -0
  77. data/src/scss/facades/mobile/patterns/_toolbar.scss +25 -0
  78. data/src/scss/facades/mobile/themes/_apple.scss +17 -0
  79. data/src/scss/facades/patterns/_labels.scss +50 -0
  80. data/src/scss/facades/patterns/_navbar.scss +4 -0
  81. data/src/scss/facades/patterns/_notifications.scss +82 -0
  82. data/src/scss/facades/patterns/_pagination.scss +4 -0
  83. data/src/scss/facades/patterns/_pills.scss +50 -0
  84. data/src/scss/facades/patterns/_tabs.scss +83 -0
  85. data/src/scss/facades/patterns/_twipsy.scss +84 -0
  86. data/src/scss/facades/typography/_tables.scss +95 -0
  87. metadata +201 -58
  88. data/app/views/facades/_pagination.html.erb +0 -20
  89. data/lib/facades/builders/form/base.rb +0 -212
  90. data/lib/facades/builders/form/elements.rb +0 -112
  91. data/lib/facades/builders/form/helper.rb +0 -29
  92. data/lib/facades/builders/form.rb +0 -22
  93. data/lib/facades/builders/sprite.rb +0 -50
  94. data/lib/facades/builders/table.rb +0 -76
  95. data/lib/facades/debug/html.rb +0 -6
  96. data/lib/facades/helpers/builders.rb +0 -24
  97. data/lib/facades/helpers/mobile.rb +0 -57
  98. data/lib/facades/helpers/pagination.rb +0 -83
  99. data/lib/facades/helpers/utility.rb +0 -31
  100. data/lib/facades/sass_ext/form_elements.rb +0 -52
  101. data/lib/facades/sass_ext/funcs.rb +0 -33
  102. data/lib/facades/sass_ext.rb +0 -14
  103. data/lib/facades/stylesheets/facades/_common.scss +0 -7
  104. data/lib/facades/stylesheets/facades/_css3.scss +0 -93
  105. data/lib/facades/stylesheets/facades/_layout.scss +0 -5
  106. data/lib/facades/stylesheets/facades/_normalize.scss +0 -5
  107. data/lib/facades/stylesheets/facades/_setup.scss +0 -104
  108. data/lib/facades/stylesheets/facades/_typography.scss +0 -2
  109. data/lib/facades/stylesheets/facades/_ui.scss +0 -3
  110. data/lib/facades/stylesheets/facades/_utilities.scss +0 -32
  111. data/lib/facades/stylesheets/facades/layout/_dropdown-list.scss +0 -7
  112. data/lib/facades/stylesheets/facades/layout/_forms.scss +0 -53
  113. data/lib/facades/stylesheets/facades/layout/_grid.scss +0 -49
  114. data/lib/facades/stylesheets/facades/layout/_responsive_grid.scss +0 -164
  115. data/lib/facades/stylesheets/facades/setup/_forms.scss +0 -284
  116. data/lib/facades/stylesheets/facades/setup/_ie.scss +0 -12
  117. data/lib/facades/stylesheets/facades/setup/_reset.scss +0 -255
  118. data/lib/facades/stylesheets/facades/typography/_baseline.scss +0 -91
  119. data/lib/facades/stylesheets/facades/typography/_lists.scss +0 -34
  120. data/lib/facades/stylesheets/facades/typography/_shadow.scss +0 -8
  121. data/lib/facades/stylesheets/facades/ui/_buttons.scss +0 -34
  122. data/lib/facades/stylesheets/facades/ui/_flash-messages.scss +0 -29
  123. data/lib/facades/stylesheets/facades/ui/_tabbed.scss +0 -5
  124. data/lib/facades/stylesheets/facades/ui/_tool-tip.scss +0 -44
  125. data/lib/facades/stylesheets/facades/utilities/_clearfix.scss +0 -20
  126. data/lib/facades/stylesheets/facades/utilities/_color.scss +0 -7
  127. data/lib/facades/stylesheets/facades/utilities/_cursors.scss +0 -4
  128. data/lib/facades/support/serve.rb +0 -17
  129. data/lib/facades/support/tipsy.rb +0 -17
  130. data/spec/facades/helpers/elements_spec.rb +0 -86
  131. data/spec/facades/helpers/layout_helpers_spec.rb +0 -5
  132. 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,3 @@
1
+ @import 'facades/mobile/config';
2
+ @import 'facades/mobile/setup';
3
+
@@ -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
+ }