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,210 @@
1
+ glass: 'f000'
2
+ music: 'f001'
3
+ search: 'f002'
4
+ envelope: 'f003'
5
+ heart: 'f004'
6
+ star: 'f005'
7
+ star_empty: 'f006'
8
+ user: 'f007'
9
+ film: 'f008'
10
+ th_large: 'f009'
11
+ th: 'f00a'
12
+ th_list: 'f00b'
13
+ ok: 'f00c'
14
+ remove: 'f00d'
15
+ zoom_in: 'f00e'
16
+ zoom_out: 'f010'
17
+ off: 'f011'
18
+ signal: 'f012'
19
+ cog: 'f013'
20
+ trash: 'f014'
21
+ home: 'f015'
22
+ file: 'f016'
23
+ time: 'f017'
24
+ road: 'f018'
25
+ download_alt: 'f019'
26
+ download: 'f01a'
27
+ upload: 'f01b'
28
+ inbox: 'f01c'
29
+ play_circle: 'f01d'
30
+ repeat: 'f01e'
31
+ refresh: 'f021'
32
+ list_alt: 'f022'
33
+ lock: 'f023'
34
+ flag: 'f024'
35
+ headphones: 'f025'
36
+ volume_off: 'f026'
37
+ volume_down: 'f027'
38
+ volume_up: 'f028'
39
+ qrcode: 'f029'
40
+ barcode: 'f02a'
41
+ tag: 'f02b'
42
+ tags: 'f02c'
43
+ book: 'f02d'
44
+ bookmark: 'f02e'
45
+ print: 'f02f'
46
+ camera: 'f030'
47
+ font: 'f031'
48
+ bold: 'f032'
49
+ italic: 'f033'
50
+ text_height: 'f034'
51
+ text_width: 'f035'
52
+ align_left: 'f036'
53
+ align_center: 'f037'
54
+ align_right: 'f038'
55
+ align_justify: 'f039'
56
+ list: 'f03a'
57
+ indent_left: 'f03b'
58
+ indent_right: 'f03c'
59
+ facetime_video: 'f03d'
60
+ picture: 'f03e'
61
+ pencil: 'f040'
62
+ map_marker: 'f041'
63
+ adjust: 'f042'
64
+ tint: 'f043'
65
+ edit: 'f044'
66
+ share: 'f045'
67
+ check: 'f046'
68
+ move: 'f047'
69
+ step_backward: 'f048'
70
+ fast_backward: 'f049'
71
+ backward: 'f04a'
72
+ play: 'f04b'
73
+ pause: 'f04c'
74
+ stop: 'f04d'
75
+ forward: 'f04e'
76
+ fast_forward: 'f050'
77
+ step_forward: 'f051'
78
+ eject: 'f052'
79
+ chevron_left: 'f053'
80
+ chevron_right: 'f054'
81
+ plus_sign: 'f055'
82
+ minus_sign: 'f056'
83
+ remove_sign: 'f057'
84
+ ok_sign: 'f058'
85
+ question_sign: 'f059'
86
+ info_sign: 'f05a'
87
+ screenshot: 'f05b'
88
+ remove_circle: 'f05c'
89
+ ok_circle: 'f05d'
90
+ ban_circle: 'f05e'
91
+ arrow_left: 'f060'
92
+ arrow_right: 'f061'
93
+ arrow_up: 'f062'
94
+ arrow_down: 'f063'
95
+ share_alt: 'f064'
96
+ resize_full: 'f065'
97
+ resize_small: 'f066'
98
+ plus: 'f067'
99
+ minus: 'f068'
100
+ asterisk: 'f069'
101
+ exclamation_sign: 'f06a'
102
+ gift: 'f06b'
103
+ leaf: 'f06c'
104
+ fire: 'f06d'
105
+ eye_open: 'f06e'
106
+ eye_close: 'f070'
107
+ warning_sign: 'f071'
108
+ plane: 'f072'
109
+ calendar: 'f073'
110
+ random: 'f074'
111
+ comment: 'f075'
112
+ magnet: 'f076'
113
+ chevron_up: 'f077'
114
+ chevron_down: 'f078'
115
+ retweet: 'f079'
116
+ shopping_cart: 'f07a'
117
+ folder_close: 'f07b'
118
+ folder_open: 'f07c'
119
+ resize_vertical: 'f07d'
120
+ resize_horizontal: 'f07e'
121
+ bar_chart: 'f080'
122
+ twitter_sign: 'f081'
123
+ facebook_sign: 'f082'
124
+ camera_retro: 'f083'
125
+ key: 'f084'
126
+ cogs: 'f085'
127
+ comments: 'f086'
128
+ thumbs_up: 'f087'
129
+ thumbs_down: 'f088'
130
+ star_half: 'f089'
131
+ heart_empty: 'f08a'
132
+ signout: 'f08b'
133
+ linkedin_sign: 'f08c'
134
+ pushpin: 'f08d'
135
+ external_link: 'f08e'
136
+ signin: 'f090'
137
+ trophy: 'f091'
138
+ github_sign: 'f092'
139
+ upload_alt: 'f093'
140
+ lemon: 'f094'
141
+ phone: 'f095'
142
+ check_empty: 'f096'
143
+ bookmark_empty: 'f097'
144
+ phone_sign: 'f098'
145
+ twitter: 'f099'
146
+ facebook: 'f09a'
147
+ github: 'f09b'
148
+ unlock: 'f09c'
149
+ credit_card: 'f09d'
150
+ rss: 'f09e'
151
+ hdd: 'f0a0'
152
+ bullhorn: 'f0a1'
153
+ bell: 'f0a2'
154
+ certificate: 'f0a3'
155
+ hand_right: 'f0a4'
156
+ hand_left: 'f0a5'
157
+ hand_up: 'f0a6'
158
+ hand_down: 'f0a7'
159
+ circle_arrow_left: 'f0a8'
160
+ circle_arrow_right: 'f0a9'
161
+ circle_arrow_up: 'f0aa'
162
+ circle_arrow_down: 'f0ab'
163
+ globe: 'f0ac'
164
+ wrench: 'f0ad'
165
+ tasks: 'f0ae'
166
+ filter: 'f0b0'
167
+ briefcase: 'f0b1'
168
+ fullscreen: 'f0b2'
169
+ group: 'f0c0'
170
+ link: 'f0c1'
171
+ cloud: 'f0c2'
172
+ beaker: 'f0c3'
173
+ cut: 'f0c4'
174
+ copy: 'f0c5'
175
+ paper_clip: 'f0c6'
176
+ save: 'f0c7'
177
+ sign_blank: 'f0c8'
178
+ reorder: 'f0c9'
179
+ list_ul: 'f0ca'
180
+ list_ol: 'f0cb'
181
+ strikethrough: 'f0cc'
182
+ underline: 'f0cd'
183
+ table: 'f0ce'
184
+ magic: 'f0d0'
185
+ truck: 'f0d1'
186
+ pinterest: 'f0d2'
187
+ pinterest_sign: 'f0d3'
188
+ google_plus_sign: 'f0d4'
189
+ google_plus: 'f0d5'
190
+ money: 'f0d6'
191
+ caret_down: 'f0d7'
192
+ caret_up: 'f0d8'
193
+ caret_left: 'f0d9'
194
+ caret_right: 'f0da'
195
+ columns: 'f0db'
196
+ sort: 'f0dc'
197
+ sort_down: 'f0dd'
198
+ sort_up: 'f0de'
199
+ envelope_alt: 'f0e0'
200
+ linkedin: 'f0e1'
201
+ undo: 'f0e2'
202
+ legal: 'f0e3'
203
+ dashboard: 'f0e4'
204
+ comment_alt: 'f0e5'
205
+ comments_alt: 'f0e6'
206
+ bolt: 'f0e7'
207
+ sitemap: 'f0e8'
208
+ umbrella: 'f0e9'
209
+ paste: 'f0ea'
210
+ user_md: 'f200'
@@ -0,0 +1,10 @@
1
+ //
2
+ // Button styles
3
+ // See buttons/simple, buttons/glossy, and buttons/gradient for various button styles.
4
+ // ----------------------------------------------------------------------------------------
5
+
6
+ @import 'facades/config';
7
+ @import 'facades/mixins';
8
+ @import 'facades/buttons/simple';
9
+ @import 'facades/buttons/glossy';
10
+ @import 'facades/buttons/gradient';
@@ -0,0 +1,99 @@
1
+ //
2
+ // Global configuration variables
3
+ // ----------------------------------------------------------------------------------------
4
+
5
+ // internal use... when calling facades/global, the imported mixins contain
6
+ // checks against adding duplicate css based on this value
7
+ $facades-global-import-used: false !default;
8
+
9
+ $font-color: #222 !default;
10
+ $font-size: 13px !default;
11
+ $line-height: 20px !default;
12
+
13
+ $font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !default;
14
+ $fixed-font-family: "Monaco", 'Courier New', monospace !default;
15
+ $serif-font-family: "Georgia", "Times", "Times New Roman", serif !default;
16
+
17
+ // font sizes for headings, h1 through h4
18
+ $heading-font-sizes: 30px 24px 18px 14px !default;
19
+
20
+ $selection-background-color: #fe57a1 !default; // hot pink selection action!
21
+ $selection-color: #fff !default;
22
+
23
+ // set to false to disable misc transition properties.
24
+ // for when you need to sacrifice beauty for file size
25
+ $enable-transitions: true !default;
26
+
27
+ $transition-property: all !default;
28
+ $transition-duration: .2s !default;
29
+
30
+ /*
31
+ // Icon Packs
32
+ // --------------------------
33
+ Available packs include
34
+ - Facades
35
+ - FontAwesome
36
+ */
37
+ $icon-pack:'facades' !default;
38
+ $icon-font-family:icon-font($icon-pack) !default;
39
+
40
+ $link-color: #00e !default;
41
+ $link-visited-color: darken($link-color, 5%) !default;
42
+ $link-hover-color: lighten($link-color, 5%) !default;
43
+
44
+ //
45
+ // General colors
46
+ // --------------------------
47
+
48
+ $horizontal-rule-color: #e5e5e5 !default;
49
+
50
+ $table-border-color: #ddd !default;
51
+ $table-stripe-color: #f5f5f5 !default;
52
+
53
+
54
+ //
55
+ // Notification colors
56
+ // --------------------------
57
+
58
+ $notice-color: #339BB9 !default;
59
+ $success-color: #57A957 !default;
60
+ $error-color: #C43C35 !default;
61
+ $warning-color: #EED74F !default;
62
+
63
+ //
64
+ // Forms and inputs
65
+ // --------------------------
66
+
67
+ $input-border-color: #ccc !default;
68
+ $input-focus-color: $font-color !default;
69
+ $input-focus-border-color: $notice-color !default;
70
+ $input-error-color: $error-color !default;
71
+ $input-error-border-color: $error-color !default;
72
+ $input-border-radius: 3px !default;
73
+ $input-disabled-color: #ccc;
74
+ $input-disabled-border-color: #ddd;
75
+
76
+ $input-box-shadow: #efefef 3px 3px 6px 0px inset !default;
77
+ $input-focus-box-shadow: rgba($input-focus-border-color, .6) 0 0 5px 0 !default;
78
+
79
+ $field-hint-color: #aaa;
80
+
81
+ //
82
+ // UI elements
83
+ // --------------------------
84
+
85
+ $button-border-radius: 3px !default;
86
+ $button-font-size: $font-size * 0.95 !default;
87
+ $tooltip-color: rgba(0,0,0,.8) !default;
88
+
89
+ $tab-border-color: #ccc !default;
90
+ $tab-accent-color: $notice-color !default; // the border color used on active tabs
91
+ $pill-color: $notice-color !default; // color of active pills
92
+ $pill-border-radius: 20px !default; // border radius of pill items
93
+
94
+ //
95
+ // Special colors
96
+ //
97
+
98
+ $facebook-blue:#39589d;
99
+ $twitter-blue:#00abf5;
@@ -0,0 +1,8 @@
1
+ @import 'compass/layout/grid-background';
2
+
3
+ $grid-background-baseline-color: #efefef;
4
+ $grid-align: ($line-height / $font-size) * 1em;
5
+
6
+ @mixin debug-baseline{
7
+ @include baseline-grid-background($grid-align);
8
+ }
@@ -0,0 +1,228 @@
1
+ @import 'facades/config';
2
+ @import 'facades/mixins';
3
+
4
+ /*
5
+ General form styles. By default this creates a 'stacked' forms
6
+ where the label placement is above each field.
7
+
8
+ Styles are setup for the use of ordered lists in laying out elements for
9
+ semantic value.
10
+
11
+ // ----------------------------------------------------------------------------------------
12
+
13
+
14
+ /*
15
+ Form field lists
16
+ ------------------------------------------------------------------
17
+ 1. .option-group: used for containing multiple checkbox or radio tags
18
+ 2. .select-group: similar to the option-group, but for selects
19
+
20
+ */
21
+
22
+ @mixin field-list{
23
+ margin:0;
24
+ padding:0;
25
+ list-style:none;
26
+
27
+ li{
28
+ @include padding(0 1);
29
+ display:block;
30
+ }
31
+
32
+ ul, ol{
33
+ @include clearfix;
34
+
35
+ li{ float:left;
36
+ &.clear{
37
+ clear:both; }
38
+ }
39
+ }
40
+
41
+ }
42
+
43
+ @mixin field-column-list{
44
+ @include clearfix;
45
+ li{ float:left;
46
+ margin-right:1.5em;
47
+ &.clear{
48
+ clear:both; }
49
+ }
50
+ }
51
+
52
+
53
+ @mixin form{
54
+ @include margins(0 1);
55
+
56
+ label{
57
+ display:block;
58
+ @include leading(1);
59
+ font-weight:bold;
60
+ }
61
+
62
+ fieldset{ @include fieldset; }
63
+
64
+ }
65
+
66
+
67
+ @mixin fieldset{
68
+ legend{
69
+ display: block;
70
+ margin-bottom: $line-height * 1.5;
71
+ font-size: $font-size * 1.5;
72
+ line-height: $line-height * 2;
73
+ -webkit-margin-collapse: separate;
74
+ }
75
+ }
76
+
77
+ @mixin form-fields{
78
+
79
+ #{input-types(all)}, select, textarea{
80
+ &:focus{
81
+ outline:none;
82
+ }
83
+ }
84
+
85
+ #{input-types(button)}{
86
+ width: auto;
87
+ height: auto;
88
+ }
89
+
90
+ #{input-types(text)},
91
+ select, textarea{
92
+ @if $input-box-shadow != false and $input-box-shadow != none{
93
+ @include box-shadow($input-box-shadow);
94
+ }
95
+ border-style:solid;
96
+ border-width:1px;
97
+ border-color:$input-border-color;
98
+ outline:none;
99
+ @if $enable-transitions == true{
100
+ @include transition-property(all);
101
+ @include transition-duration($transition-duration);
102
+ }
103
+
104
+ &:focus{
105
+ border-color:$input-focus-border-color;
106
+ @if $input-box-shadow != false and $input-box-shadow != none{
107
+ @include box-shadow($input-focus-box-shadow);
108
+ }
109
+ }
110
+
111
+ }
112
+
113
+ input[type=file], #{input-types(boolean)}, select{
114
+ &:focus{
115
+ border-color:$input-focus-border-color;
116
+ @include box-shadow(none);
117
+ outline: 1px dotted darken($input-border-color, 3%);
118
+ }
119
+ }
120
+
121
+ #{input-types(text)}, textarea{
122
+ @include optional-border-radius($input-border-radius);
123
+ margin:border-rhythm(1px, .35) 0;
124
+ padding:rhythm(.15) .25em;
125
+ line-height:normal !important;
126
+ height:1.7em;
127
+ }
128
+
129
+ input[type=file]{
130
+ height:2.2em;
131
+ vertical-align:middle;
132
+ }
133
+
134
+ textarea{ height:auto; }
135
+
136
+ select{
137
+ height:$line-height * 1.3;
138
+ padding:4px;
139
+ margin-top:border-rhythm(1px, .4);
140
+ margin-bottom:border-rhythm(1px, .5);
141
+ option{
142
+ padding-right:32px;
143
+ }
144
+ }
145
+
146
+ select[size]{
147
+ border-style:solid;
148
+ display:block;
149
+ @include box-sizing(content-box);
150
+ margin-top:border-rhythm(1px, .3);
151
+ margin-bottom:border-rhythm(1px, .6);
152
+ padding-top:rhythm(.1);
153
+ height:auto;
154
+ option{
155
+ text-indent:.3em;
156
+ }
157
+ }
158
+
159
+ select[size]{
160
+ @for $i from 1 through 8{
161
+ &[size='#{$i}']{
162
+ height:($line-height * $i);
163
+ }
164
+ }
165
+ }
166
+
167
+
168
+
169
+ // boolean inputs are inline-block.
170
+ // if labels follow them (instead of wrapped) those are inline-block as well.
171
+ #{input-types(boolean)}{
172
+ @include inline-block;
173
+ margin-right:.5em;
174
+
175
+ & + label{
176
+ @include inline-block;
177
+ }
178
+ }
179
+
180
+ input[disabled], textarea[disabled], input.disabled, textarea.disabled{
181
+ cursor: not-allowed;
182
+ border-color:$input-disabled-border-color;
183
+ color: $input-disabled-color;
184
+ background-color:#eee;
185
+ @if $input-box-shadow != false and $input-box-shadow != none{
186
+ @include box-shadow(none);
187
+ }
188
+ }
189
+
190
+
191
+
192
+ input, textarea{
193
+ & + .hint{
194
+ display:block;
195
+ color: $field-hint-color;
196
+ @include font-size($font-size - 2px);
197
+ }
198
+ }
199
+
200
+ }
201
+
202
+ @mixin select-group{
203
+ select{
204
+ @include inline-block;
205
+ }
206
+
207
+ select[size]{
208
+ vertical-align:top;
209
+ }
210
+ }
211
+
212
+ @mixin invalid-field{
213
+ &{
214
+ @if $input-box-shadow != false and $input-box-shadow != none{
215
+ @include box-shadow(rgba($input-error-color, .15) 3px 3px 6px 0 inset);
216
+ }
217
+ border-color: $input-error-border-color;
218
+ color: $input-error-color;
219
+ }
220
+
221
+ & + .hint{
222
+ display:none;
223
+ }
224
+
225
+ & + .error{
226
+ display:block;
227
+ }
228
+ }
@@ -0,0 +1,104 @@
1
+ //
2
+ // Global styles import. Includes all base styles and
3
+ // formatting, and sets up default classes.
4
+ // ----------------------------------------------------------------------------------------
5
+
6
+ @import 'facades/config';
7
+ @import 'facades/mixins';
8
+ @import 'facades/setup';
9
+ @import 'facades/typography';
10
+ @import 'facades/typography/tables';
11
+ @import 'facades/forms';
12
+ @import 'facades/patterns/labels';
13
+ @import 'facades/patterns/notifications';
14
+ @import 'facades/patterns/pagination';
15
+ @import 'facades/patterns/tabs';
16
+ @import 'facades/patterns/pills';
17
+ @import 'facades/patterns/twipsy';
18
+ @import 'facades/buttons';
19
+
20
+ $facades-global-import-used: true;
21
+
22
+ .label{
23
+ @include label;
24
+ }
25
+
26
+ .notification{
27
+ @include notification;
28
+ }
29
+
30
+ table.bordered{
31
+ @include bordered-table;
32
+ }
33
+
34
+ table.striped{
35
+ @include striped-table;
36
+ }
37
+
38
+ table.compressed{
39
+ @include compressed-table;
40
+ }
41
+
42
+ div.tabbed{
43
+ @include tabbed;
44
+ .tab-navigation, .pill-navigation{
45
+ @include inline-list;
46
+ }
47
+ .tab-navigation{
48
+ @include tab-navigation;
49
+ }
50
+ .pill-navigation{
51
+ @include pill-navigation;
52
+ }
53
+ }
54
+
55
+ ul, ol{
56
+ &.inline-list{
57
+ @include inline-list;
58
+ }
59
+
60
+ }
61
+
62
+ html.lt-ie8{
63
+ ul, ol{
64
+ &.inline-list li{
65
+ display:inline;
66
+ }
67
+ }
68
+ }
69
+
70
+ .button, input[type=button], input[type=submit]{
71
+ @include simple-button;
72
+ &.glossy{
73
+ @include glossy-button;
74
+ }
75
+ &.gradient{
76
+ @include gradient-button;
77
+ }
78
+ }
79
+
80
+ form{
81
+ @include form;
82
+
83
+ ul, ol{
84
+ @include field-list;
85
+ }
86
+
87
+ ul.columns, ol.columns{
88
+ @include field-column-list;
89
+ }
90
+
91
+ li.select-group, fieldset.select-group{
92
+ @include select-group;
93
+ }
94
+ }
95
+
96
+ @include form-fields;
97
+
98
+ input.invalid, textarea.invalid, select.invalid{
99
+ @include invalid-field;
100
+ }
101
+
102
+ fieldset{
103
+ @include fieldset;
104
+ }
@@ -0,0 +1,61 @@
1
+ @import 'facades/config';
2
+ @import 'facades/icons/classes';
3
+ @import 'facades/icons/legacy';
4
+
5
+ /*
6
+ CSS Psuedo font-face icons
7
+ Creates an inline font-face icon using $icon-font-family.
8
+ ------------------------------------------------------------------
9
+ */
10
+
11
+ @mixin icon($name, $size: $font-size, $psuedo: before, $adjust-sizing: true){
12
+ @if unquote($size) == before or unquote($size) == after{
13
+ $psuedo: $size;
14
+ $size: $font-size;
15
+ }
16
+
17
+ $psuedo:unquote($psuedo);
18
+
19
+ @if $legacy-icon-format{ @include icon-expression($name, $size, $psuedo); }
20
+ @else{
21
+ &:#{$psuedo}{
22
+ font-family:$icon-font-family;
23
+ @include icon-content($name);
24
+ }
25
+ }
26
+
27
+ }
28
+
29
+ @mixin icon-before($name, $size: $font-size){
30
+ @include icon($name, $size, before);
31
+ }
32
+
33
+ @mixin icon-after($name, $size: $font-size){
34
+ @include icon($name, $size, after);
35
+ }
36
+
37
+ // Creates a square sprite-like icon
38
+ @mixin icon-rect($size: 24px, $name: false){
39
+ &{
40
+ overflow:hidden;
41
+ width:$size;
42
+ height:$size;
43
+ line-height:$size;
44
+ font-size:ceil($size * 0.8);
45
+ white-space:nowrap;
46
+ display:inline-block;
47
+ }
48
+
49
+ &:before{
50
+ line-height:1.1;
51
+ display:inline-block;
52
+ width:$size;
53
+ height:$size;
54
+ text-align:center;
55
+ @if $name{ @include icon-content($name); }
56
+ }
57
+ }
58
+
59
+ @mixin icon-content($name){
60
+ content:"#{icon-glyph($name, $icon-pack)}";
61
+ }