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.
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
+ }