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