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
@@ -1,12 +0,0 @@
1
- /* =============================================================================
2
- Resets only necessary in IE stylesheets
3
- ========================================================================== */
4
-
5
- audio[controls], canvas, video {
6
- display: inline-block; *display: inline; *zoom: 1;
7
- }
8
-
9
- img { -ms-interpolation-mode: bicubic; }
10
- legend { border: 0; *margin-left: -7px; padding: 0; }
11
- button, input, select, textarea { *vertical-align: middle; }
12
- button, input { *overflow: visible; }
@@ -1,255 +0,0 @@
1
- article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
2
- html {
3
- cursor: default;
4
- font-size: 100%;
5
- overflow-y: scroll;
6
- -webkit-tap-highlight-color: transparent;
7
- -ms-text-size-adjust: 100%;
8
- -webkit-text-size-adjust: 100%;
9
- }
10
-
11
- body, form, input, button, select, textarea{ font-size: 100%; margin: 0; }
12
- body { color:$font-color; margin: 0; font: $font-size $font-family; line-height: $line-height; }
13
-
14
- a{ color:$link-color;
15
- &:active{ color:$link-active-color; }
16
- &:hover{ color:$link-hover-color; }
17
- &:visited{ color:$link-visited-color; }
18
- &:active, &:hover{ outline:none; }
19
- &:focus{ outline:none; }
20
- }
21
-
22
-
23
- /* =============================================================================
24
- Selection
25
- ========================================================================== */
26
-
27
- /*
28
- * These selection declarations have to be separate
29
- * No text-shadow: twitter.com/miketaylr/status/12228805301
30
- */
31
-
32
- ::-moz-selection { background: $selection-background-color; color: $selection-color; text-shadow: none; }
33
- ::selection { background: $selection-background-color; color: $selection-color; text-shadow: none; }
34
-
35
-
36
- /* =============================================================================
37
- Typography
38
- ========================================================================== */
39
-
40
- /*
41
- * Corrects styling not present in IE6/7/8/9 S5 C10
42
- */
43
-
44
- abbr { _border-bottom: expression(this.title ? '1px dotted' : 'none'); }
45
- abbr[title] { border-bottom: 1px dotted; }
46
-
47
- /*
48
- * Corrects style set incorrectly as 'bolder' in FF3/4 S4/5 C10
49
- */
50
-
51
- b, strong{ font-weight: bold; }
52
-
53
- /*
54
- * Corrects styling not present in S5 C10
55
- */
56
-
57
- dfn{ font-style: italic; }
58
-
59
- /*
60
- * Corrects styling not present in IE6/7/8/9
61
- */
62
-
63
- mark{ background: #FF0; color: #000; }
64
-
65
- hr{
66
- display: block;
67
- height: 1px;
68
- border: 0;
69
- border-top: $horizontal-rule-size solid $horizontal-rule-color;
70
- margin: 1em 0;
71
- padding: 0;
72
- }
73
-
74
-
75
- /*
76
- * Corrects font family displayed oddly in IE6 S5 C10
77
- * en.wikipedia.org/wiki/User:Davidgothberg/Test59
78
- */
79
-
80
- pre, code, kbd, samp{ font-family: $fixed-font-family; _font-family: 'courier new', monospace; font-size: 1em; }
81
-
82
- /*
83
- * Improves readability of pre-formatted text in all browsers
84
- */
85
-
86
- pre{ white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
87
-
88
- /*
89
- * Addresses CSS quotes not supported in IE6/7
90
- */
91
-
92
- q{ quotes: none; }
93
-
94
- /*
95
- * Addresses quote property not supported in S4
96
- */
97
-
98
- q:before, q:after{ content: ''; content: none; }
99
-
100
- /*
101
- * Improves appearance in all browsers
102
- */
103
-
104
- small, sub, sup{ font-size: 75%; }
105
-
106
- /*
107
- * Improves appearance in all browsers
108
- * gist.github.com/413930
109
- */
110
-
111
- sub,sup { line-height: 0; position: relative; vertical-align: baseline; }
112
- sup{ top: -0.5em; }
113
- sub{ bottom: -0.25em; }
114
-
115
- small { font-size: 85%; }
116
-
117
-
118
- /* =============================================================================
119
- Lists
120
- ========================================================================== */
121
-
122
- ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
123
- dd { margin: 0 0 0 40px; }
124
- nav ul, nav ol { list-style: none; margin: 0; padding: 0; }
125
-
126
-
127
- /* =============================================================================
128
- Embedded content
129
- ========================================================================== */
130
-
131
- /*
132
- * Corrects display not defined in IE6/7/8/9 & FF3
133
- */
134
-
135
-
136
- audio { display: none; _display: expression(this.controls ? 'inline' : 'none'); *zoom: 1; }
137
- audio[controls] { display: inline-block; }
138
-
139
- /*
140
- * 1. Improves readability when inside 'a' in all browsers
141
- * 2. Improves visual appearance when scaled in IE7
142
- * code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
143
- */
144
-
145
- img {
146
- border: 0; /* 1 */
147
- }
148
-
149
- /*
150
- * Corrects overflow displayed oddly in IE9
151
- */
152
-
153
- svg:not(:root) {
154
- overflow: hidden;
155
- }
156
-
157
- /* =============================================================================
158
- Tables
159
- ========================================================================== */
160
-
161
- /*
162
- * Improves visual appearance in all browsers
163
- */
164
-
165
- table {
166
- border-collapse: collapse;
167
- border-spacing: 0;
168
- }
169
-
170
- /* =============================================================================
171
- Figures
172
- ========================================================================== */
173
-
174
- figure { margin: 0; }
175
-
176
-
177
- /* =============================================================================
178
- Forms
179
- ========================================================================== */
180
-
181
- form { margin: 0; }
182
- fieldset { border: 0; margin: 0; padding: 0; }
183
-
184
- /*
185
- * 1. Correct color not inheriting in IE6/7/8/9
186
- * 2. Correct alignment displayed oddly in IE6/7
187
- */
188
-
189
- legend { border: 0; padding: 0; }
190
-
191
- /* Indicate that 'label' will shift focus to the associated form element */
192
- label { cursor: pointer; }
193
-
194
- /*
195
- * 1. Correct font-size not inheriting in all browsers
196
- * 2. Remove margins in FF3/4 S5 Chrome
197
- * 3. Define consistent vertical alignment display in all browsers
198
- */
199
-
200
- button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; }
201
-
202
- /*
203
- * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
204
- * 2. Correct inner spacing displayed oddly in IE6/7
205
- */
206
-
207
- button, input { line-height: normal; }
208
-
209
- /*
210
- * 1. Display hand cursor for clickable form elements
211
- * 2. Allow styling of clickable form elements in iOS
212
- */
213
-
214
- button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
215
-
216
- /*
217
- * Consistent box sizing and appearance
218
- */
219
-
220
- input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
221
- input[type="search"]{
222
- -moz-box-sizing:content-box;
223
- -webkit-box-sizing:content-box;
224
- box-sizing: content-box;
225
- }
226
-
227
- /*
228
- * Remove inner padding and border in FF3/4
229
- * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
230
- */
231
-
232
- button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
233
-
234
- /* Remove default vertical scrollbar in IE6/7/8/9 */
235
- textarea { overflow: auto; vertical-align: top; }
236
-
237
- /* =======================================================
238
- Print styles.
239
- Inlined to avoid required HTTP connection: h5bp.com/r
240
- ========================================================================== */
241
-
242
- @media print {
243
- * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
244
- a, a:visited { text-decoration: underline; }
245
- a[href]:after { content: " (" attr(href) ")"; }
246
- abbr[title]:after { content: " (" attr(title) ")"; }
247
- .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
248
- pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
249
- thead { display: table-header-group; } /* h5bp.com/t */
250
- tr, img { page-break-inside: avoid; }
251
- img { max-width: 100% !important; }
252
- @page { margin: 0.5cm; }
253
- p, h2, h3 { orphans: 3; widows: 3; }
254
- h2, h3 { page-break-after: avoid; }
255
- }
@@ -1,91 +0,0 @@
1
- @import 'facades/setup';
2
-
3
- $em-size: $font-size / 1em;
4
- $em-unit: 1em;
5
- $font-scale: 0 2 4 6 8;
6
-
7
-
8
- @mixin font-size($size, $lines: lines-for-font-size($size)){
9
- $fsize: if(unit($size) == "em", $size, $size / $font-size);
10
- font-size: $fsize;
11
- @include leading($lines, $fsize);
12
- }
13
-
14
- @mixin leading($lines:1, $size:1em, $add-margin: false){
15
- line-height:rhythm($lines, $size);
16
- @if $add-margin == true {
17
- @include margin-trailer($lines, $size);
18
- }
19
- }
20
-
21
- @function rhythm($lines, $size: $font-size){
22
- $r-height: $em-unit * $lines * $line-height / $size;
23
- $r-height: if( unit($r-height) == "px", $r-height / $em-size, $r-height);
24
- @return $r-height;
25
- }
26
-
27
- @mixin margin-trailer($lines, $size: $font-size){
28
- margin-bottom:rhythm($lines, $size);
29
- }
30
-
31
-
32
- @mixin margin-leader($lines, $size: $font-size){
33
- margin-top:rhythm($lines, $size);
34
- }
35
-
36
- @mixin padding-leader($lines, $size: $font-size){
37
- padding-top:rhythm($lines, $size);
38
- }
39
-
40
- @mixin padding-trailer($lines, $size: $font-size){
41
- padding-bottom:rhythm($lines, $size);
42
- }
43
-
44
-
45
- @function lines-for-font-size($size:$font-size) {
46
- $rhythm-line-height:if(unit($line-height) == "px", $line-height / $em-size, $line-height);
47
- $lines: ceil($size / $rhythm-line-height);
48
- @return $lines;
49
- }
50
-
51
- body{ font:#{$font-size}/#{rhythm(1)} $default-font-family; }
52
-
53
- h1, h2, h3, h4, h5, h6, p, ol, ul{
54
- -webkit-margin-before:0;
55
- -webkit-margin-after:0;
56
- }
57
-
58
- h1{
59
- @include font-size(2em, 1);
60
- @include margin-trailer(1, 2em);
61
- }
62
-
63
- h2{
64
- @include font-size(1.75em, 1);
65
- @include margin-trailer(1, 1.75em);
66
- }
67
-
68
- h3{
69
- @include font-size(1.5em, 1);
70
- @include margin-trailer(1, 1.5em);
71
- }
72
-
73
- h4{
74
- @include font-size(1.25em, 1);
75
- @include margin-trailer(1, 1.25em);
76
- }
77
-
78
- h5{
79
- @include font-size(1em, 1);
80
- @include margin-trailer(1, 1em);
81
- }
82
-
83
- h6{
84
- @include font-size(0.9em, 1);
85
- @include margin-trailer(1, 0.9em);
86
- }
87
-
88
- p, ul, ol{
89
- @include font-size(1em, 1);
90
- @include margin-trailer(1, 1em);
91
- }
@@ -1,34 +0,0 @@
1
- @import 'facades/utilities';
2
-
3
- // Creates a horizontal list, generally used for navigation elements.
4
- @mixin inline-list($padding: false) {
5
- @include box-reset;
6
- @include clearfix;
7
- @include no-list;
8
- li{ @include inline-block;
9
- white-space:nowrap;
10
- @if $padding{
11
- padding-left:$padding;
12
- padding-right:$padding;
13
- }
14
- }
15
- }
16
-
17
- // 'alias' for compass compatability
18
- @mixin inline-block-list($padding:false){
19
- @include inline-list($padding);
20
- }
21
-
22
- // Remove list bullets for a particular list item
23
- @mixin no-bullet {
24
- list-style-image : none;
25
- list-style-type : none;
26
- margin-left : 0px;
27
- }
28
-
29
- // Convert a list into "not" a list.. removing all bullets and padding.
30
- @mixin no-list {
31
- list-style: none;
32
- padding-left:0;
33
- li { @include no-bullet; }
34
- }
@@ -1,8 +0,0 @@
1
- @mixin inset-text($offset-color, $lum:false, $down: false){
2
- $lum: if($lum, $lum, luminance($offset-color));
3
- $down: if($down, $down, -1px);
4
-
5
- $c: if($lum == dark, shade($offset-color, 40%), tint($offset-color, 70%));
6
- $o: if($lum == dark, $down, 1px);
7
- text-shadow:#{$c}, $o, $o, 0px;
8
- }
@@ -1,34 +0,0 @@
1
- @import 'facades/utilities';
2
-
3
- @mixin button-base($radius: $button-border-radius){
4
- @include inline-block;
5
- text-align:center;
6
- @if $radius not false and $radius not none{
7
- -webkit-border-radius:$radius;
8
- -moz-border-radius:$radius;
9
- border-radius:$radius;
10
- }
11
- }
12
-
13
- @mixin simple-button($bg-color, $text-color:white, $radius: $button-border-radius){
14
- @include button-base;
15
- color:$text-color;
16
- background-color:$bg-color;
17
- border-top:1px solid lighten($bg-color, 4%);
18
- border-bottom:1px solid darken($bg-color, 4%);
19
- &:hover{ background-color:lighten($color, 3%); }
20
- &:active{ background-color:darken($color, 3%); @include box-shadow(darken($color, 7%) 0px 0px 3px 3px inset); }
21
- }
22
-
23
- @mixin gradient-button($start-color, $end-color:darken($start-color, 5%), $text-color:white, $radius: $button-border-radius){
24
- @include button-base;
25
- color:$text-color;
26
- @include background-image(linear-gradient($start-color 10%, $end-color 90%));
27
- border-top:1px solid lighten($start-color, 4%);
28
- border-bottom:1px solid darken($end-color, 4%);
29
-
30
- &:hover{ @include background-image(linear-gradient(lighten($start-color, 3%) 10%, lighten($end-color, 3%) 90%)); }
31
- &:active{ @include background-image(linear-gradient(darken($start-color, 3%) 10%, lighten($end-color, 3%) 90%));
32
- @include box-shadow(darken($start-color, 7%) 0px 0px 3px 3px inset);
33
- }
34
- }
@@ -1,29 +0,0 @@
1
- //
2
- // Mixins for styling flash messages
3
- //
4
-
5
-
6
- @mixin flash-message{
7
- @include flash-message-base;
8
- @include flash-message-colors($flash-success-class, $flash-notice-class, $flash-error-class);
9
- }
10
-
11
- @mixin flash-message-base{ display:block; position:relative; }
12
-
13
- @mixin flash-message-colors($success: $flash-success-class, $notice: $flash-notice-class, $error: $flash-error-class){
14
- &.flash-message-#{unquote($success)}{
15
- color:$success-color;
16
- background-color:$success-bg-color;
17
- border-color:$success-border-color;
18
- }
19
- &.flash-message-#{unquote($notice)}{
20
- color:$notice-color;
21
- background-color:$notice-bg-color;
22
- border-color:$notice-border-color;
23
- }
24
- &.flash-message-#{unquote($error)}{
25
- color:$error-color;
26
- background-color:$error-bg-color;
27
- border-color:$error-border-color;
28
- }
29
- }
@@ -1,5 +0,0 @@
1
- @import 'facades/typography/lists';
2
-
3
- @mixin tabbed{
4
- ul.tab-nav{ @include inline-list; }
5
- }
@@ -1,44 +0,0 @@
1
- @import 'facades/utilities';
2
-
3
- //
4
- // Creates a pure CSS tool tip using border-styles
5
- //
6
- $tool-tip-color:#333 !default;
7
- $tool-tip-text-color:#fff !default;
8
-
9
- @mixin tool-tip($color: false, $dir: bl, $size: 7px, $text-color: $tool-tip-text-color){
10
- $text-color: if($text-color, $text-color, if(luminance($color) == dark, #fff, #333) );
11
- background:$color;
12
- color:$text-color;
13
- padding:.75em 1em;
14
- position:relative;
15
- @include inline-block;
16
-
17
- &:after{
18
- content:"";
19
- display:block;
20
- position:absolute;
21
- width:0;
22
- border-width:$size $size 0;
23
- border-style:solid;
24
- border-color:$color transparent;
25
- border-color:inherit transparent;
26
- @if( $dir == bl or $dir == br ){ bottom: -$size; }
27
- @if( $dir == tl or $dir == tr ){ top: -$size; }
28
- @if( $dir == tl or $dir == bl ){ left:1em; }
29
- @if( $dir == tl or $dir == bl ){ right:1em; }
30
- @if( $dir == left ){
31
- left:-$size;
32
- border-width:$size ($size * 1.8) $size 0;
33
- }
34
- @if( $dir == right ){
35
- right:-$size;
36
- border-width:$size 0 $size ($size * 1.8);
37
- }
38
- @if( $dir == right or $dir == left ){
39
- top:50%;
40
- margin-top:-$size;
41
- border-color:transparent $color;
42
- }
43
- }
44
- }
@@ -1,20 +0,0 @@
1
- // Cross browser clearfixing
2
- @mixin clearfix{
3
- &:before, &:after{
4
- content: ""; display: table;
5
- }
6
- &:after{
7
- clear: both;
8
- }
9
- zoom: 1;
10
- }
11
-
12
- // Legacy clearfixing
13
- @mixin pie-clearfix {
14
- &:after {
15
- content: "";
16
- display: table;
17
- clear: both;
18
- }
19
- zoom:1;
20
- }
@@ -1,7 +0,0 @@
1
- // Misc color utilities
2
- // --------------------------------------------------------------
3
-
4
- // Takes a color and returns a white if the color is dark or a black if the color is light.
5
- @function color-contrast($color, $threshold: 30%){
6
- @return if(lightness($color) < $threshold, #fff, #000);
7
- }
@@ -1,4 +0,0 @@
1
- @mixin hand-cursor{
2
- cursor: pointer;
3
- cursor: hand;
4
- }
@@ -1,17 +0,0 @@
1
- require 'facades/helpers'
2
- require File.expand_path("../../../../app/helpers/", __FILE__) << '/facades_helper'
3
-
4
- module Facades
5
- module Support
6
- # Enable facades helpers and files within serve projects
7
- # see get-serve.com for more info.
8
- module Serve
9
- extend ActiveSupport::Concern
10
-
11
- included do
12
- include ::FacadesHelper
13
- end
14
-
15
- end
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- require 'facades/helpers'
2
- require File.expand_path("../../../../app/helpers/", __FILE__) << '/facades_helper'
3
-
4
- module Facades
5
- module Support
6
- # Enable facades helpers and files within serve projects
7
- # see github.com/kurbmedia/tipsy for more info.
8
- module Tipsy
9
- extend ActiveSupport::Concern
10
-
11
- included do
12
- include ::FacadesHelper
13
- end
14
-
15
- end
16
- end
17
- end
@@ -1,86 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Facades::Helpers::Elements, :type => :helper do
4
-
5
- describe '#button_link' do
6
-
7
- subject{ button_link("home", "/", attrs).to_html }
8
- let(:attrs){ {} }
9
-
10
- it { should have_selector('a.button') }
11
-
12
- context 'when passing classes' do
13
- let(:attrs){ { :class => 'test_class' } }
14
-
15
- it { should have_selector('a.test_class') }
16
- end
17
-
18
- context 'when providing an icon' do
19
-
20
- let(:attrs) do
21
- { icon: 'sample.png' }
22
- end
23
-
24
- it 'adds an image to the link' do
25
- subject.should have_selector('img')
26
- end
27
- it 'should use the icon attribute as the image' do
28
- subject.first('img')[:src].should match "sample.png"
29
- end
30
- end
31
-
32
- end
33
-
34
- describe '#flash_messages' do
35
-
36
- let!(:flash) do
37
- { success: 'test flash message' }
38
- end
39
- subject{ flash_messages(attrs).to_html }
40
-
41
- let(:attrs){ {} }
42
-
43
- context 'when rendering normally' do
44
-
45
- it 'wraps the content in a div.flash_message' do
46
- should have_selector('div.flash_message')
47
- end
48
- it 'should have a span closer' do
49
- subject.first('div').should have_selector('span')
50
- end
51
-
52
- it 'adds the flash key as a html class' do
53
- should have_selector("div.success")
54
- end
55
- it 'adds :key_flash_message as a html class' do
56
- should have_selector("div.flash_message_success")
57
- end
58
- end
59
-
60
- context 'when passed false to :closer' do
61
-
62
- let(:attrs) do
63
- { closer: false }
64
- end
65
- it 'should not add a closer span' do
66
- subject.first('div').should_not have_selector('span')
67
- end
68
- end
69
-
70
- context 'when span is passed to :wrapper' do
71
-
72
- let(:attrs) do
73
- { wrapper: :span }
74
- end
75
-
76
- it 'should not use a div wrapper' do
77
- should_not have_selector('div')
78
- end
79
- it 'should have a span wrapper' do
80
- should have_selector('span.flash_message')
81
- end
82
- end
83
-
84
- end
85
-
86
- end
@@ -1,5 +0,0 @@
1
- require "spec_helper"
2
-
3
- describe Facades::Helpers::Layout, :type => :helper do
4
-
5
- end