foundation_apps_styles 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +41 -0
  6. data/Rakefile +13 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +7 -0
  9. data/foundation_apps_styles.gemspec +24 -0
  10. data/lib/foundation_apps_styles.rb +6 -0
  11. data/lib/foundation_apps_styles/version.rb +3 -0
  12. data/vendor/assets/iconic/account.svg +44 -0
  13. data/vendor/assets/iconic/action.svg +38 -0
  14. data/vendor/assets/iconic/ban.svg +17 -0
  15. data/vendor/assets/iconic/bell.svg +22 -0
  16. data/vendor/assets/iconic/bookmark.svg +14 -0
  17. data/vendor/assets/iconic/cart.svg +35 -0
  18. data/vendor/assets/iconic/chevron.svg +28 -0
  19. data/vendor/assets/iconic/circle-check.svg +25 -0
  20. data/vendor/assets/iconic/circle-x.svg +25 -0
  21. data/vendor/assets/iconic/cog.svg +17 -0
  22. data/vendor/assets/iconic/comment-square.svg +14 -0
  23. data/vendor/assets/iconic/dashboard.svg +38 -0
  24. data/vendor/assets/iconic/document.svg +28 -0
  25. data/vendor/assets/iconic/envelope.svg +44 -0
  26. data/vendor/assets/iconic/flag.svg +24 -0
  27. data/vendor/assets/iconic/home.svg +28 -0
  28. data/vendor/assets/iconic/lock.svg +55 -0
  29. data/vendor/assets/iconic/magnifying-glass.svg +26 -0
  30. data/vendor/assets/iconic/person.svg +62 -0
  31. data/vendor/assets/iconic/reload.svg +19 -0
  32. data/vendor/assets/iconic/share-boxed.svg +17 -0
  33. data/vendor/assets/iconic/star.svg +14 -0
  34. data/vendor/assets/iconic/thumb.svg +38 -0
  35. data/vendor/assets/iconic/zoom.svg +56 -0
  36. data/vendor/assets/stylesheets/_global.scss +131 -0
  37. data/vendor/assets/stylesheets/_includes.scss +33 -0
  38. data/vendor/assets/stylesheets/_settings.scss +614 -0
  39. data/vendor/assets/stylesheets/components/_accordion.scss +72 -0
  40. data/vendor/assets/stylesheets/components/_action-sheet.scss +265 -0
  41. data/vendor/assets/stylesheets/components/_block-list.scss +360 -0
  42. data/vendor/assets/stylesheets/components/_button-group.scss +197 -0
  43. data/vendor/assets/stylesheets/components/_button.scss +205 -0
  44. data/vendor/assets/stylesheets/components/_card.scss +93 -0
  45. data/vendor/assets/stylesheets/components/_extras.scss +54 -0
  46. data/vendor/assets/stylesheets/components/_forms.scss +460 -0
  47. data/vendor/assets/stylesheets/components/_grid.scss +422 -0
  48. data/vendor/assets/stylesheets/components/_iconic.scss +95 -0
  49. data/vendor/assets/stylesheets/components/_label.scss +134 -0
  50. data/vendor/assets/stylesheets/components/_list.scss +19 -0
  51. data/vendor/assets/stylesheets/components/_menu-bar.scss +382 -0
  52. data/vendor/assets/stylesheets/components/_modal.scss +129 -0
  53. data/vendor/assets/stylesheets/components/_motion.scss +525 -0
  54. data/vendor/assets/stylesheets/components/_notification.scss +207 -0
  55. data/vendor/assets/stylesheets/components/_off-canvas.scss +169 -0
  56. data/vendor/assets/stylesheets/components/_panel.scss +134 -0
  57. data/vendor/assets/stylesheets/components/_popup.scss +68 -0
  58. data/vendor/assets/stylesheets/components/_switch.scss +134 -0
  59. data/vendor/assets/stylesheets/components/_tabs.scss +100 -0
  60. data/vendor/assets/stylesheets/components/_title-bar.scss +135 -0
  61. data/vendor/assets/stylesheets/components/_typography.scss +345 -0
  62. data/vendor/assets/stylesheets/components/_utilities.scss +160 -0
  63. data/vendor/assets/stylesheets/foundation-apps.css +6146 -0
  64. data/vendor/assets/stylesheets/foundation.scss +50 -0
  65. data/vendor/assets/stylesheets/helpers/_breakpoints.scss +154 -0
  66. data/vendor/assets/stylesheets/helpers/_functions.scss +343 -0
  67. data/vendor/assets/stylesheets/helpers/_images.scss +19 -0
  68. data/vendor/assets/stylesheets/helpers/_mixins.scss +123 -0
  69. data/vendor/assets/stylesheets/vendor/_normalize.scss +424 -0
  70. metadata +140 -0
@@ -0,0 +1,54 @@
1
+ /*
2
+ Odds and ends.
3
+ */
4
+
5
+ /// @Foundation.settings
6
+ // Extras
7
+ $closebutton-position: (top right) !default;
8
+ $closebutton-size: 2em !default;
9
+ $closebutton-lineheight: 0.5 !default;
10
+ $closebutton-color: #999 !default;
11
+ $closebutton-color-hover: #333 !default;
12
+
13
+ $thumbnail-padding: 0.5rem !default;
14
+ $thumbnail-shadow: 0 3px 15px rgba(black, 0.25) !default;
15
+ ///
16
+
17
+ // A basic close button. They pin to the corner of the thing they're inside.
18
+ %close-button {
19
+ $x: nth($closebutton-position, 1);
20
+ $y: nth($closebutton-position, 2);
21
+
22
+ position: absolute;
23
+ color: $closebutton-color;
24
+ #{$x}: $global-padding;
25
+ #{$y}: $global-padding;
26
+ font-size: $closebutton-size;
27
+ line-height: $closebutton-lineheight;
28
+ cursor: pointer;
29
+
30
+ &:hover {
31
+ color: $closebutton-color-hover;
32
+ }
33
+ }
34
+
35
+ // Make your images fancy-like.
36
+ %thumbnail {
37
+ padding: $thumbnail-padding;
38
+ box-shadow: $thumbnail-shadow;
39
+ }
40
+
41
+ @include exports(extras) {
42
+ .close-button {
43
+ @extend %close-button;
44
+ }
45
+ .thumbnail {
46
+ @extend %thumbnail;
47
+ }
48
+ ul.thumbnails > li {
49
+ margin-bottom: 1rem;
50
+
51
+ a { display: block; }
52
+ img { @extend %thumbnail; }
53
+ }
54
+ }
@@ -0,0 +1,460 @@
1
+ /*
2
+ FORMS
3
+ -----
4
+
5
+ Our form styles include basic resets for text fields, select menus, and so on, along with some of our own custom components.
6
+
7
+ Includes:
8
+ - Text fields
9
+ - Text areas
10
+ - Select menus
11
+ - Checkboxes and radio buttons
12
+ - Range slider
13
+ - Progress bars and meters
14
+ */
15
+
16
+ /// @Foundation.settings
17
+ // Forms
18
+ // Basic form variables
19
+ $form-fontsize: 1rem !default;
20
+ $form-padding: 0.5rem !default;
21
+
22
+ // Text fields
23
+ $input-color: #000 !default;
24
+ $input-color-hover: $input-color !default;
25
+ $input-color-focus: $input-color !default;
26
+ $input-background: #fff !default;
27
+ $input-background-hover: $input-background !default;
28
+ $input-background-focus: $input-background !default;
29
+ $input-background-disabled: smartscale($input-background) !default;
30
+ $input-border: 1px solid #ccc !default;
31
+ $input-border-hover: 1px solid #bbb !default;
32
+ $input-border-focus: 1px solid #999 !default;
33
+ $input-cursor-disabled: not-allowed !default;
34
+
35
+ // Select menus
36
+ $select-color: #000 !default;
37
+ $select-background: #fafafa !default;
38
+ $select-background-hover: smartscale($select-background, 4%) !default;
39
+ $select-arrow: true !default;
40
+ $select-arrow-color: $select-color !default;
41
+
42
+ // Labels
43
+ $form-label-fontsize: 0.9rem !default;
44
+ $form-label-margin: 0.5rem !default;
45
+ $form-label-color: #333 !default;
46
+
47
+ // Inline labels
48
+ $inlinelabel-color: #333 !default;
49
+ $inlinelabel-background: #eee !default;
50
+ $inlinelabel-border: $input-border !default;
51
+
52
+ // Range slider
53
+ $slider-background: #ddd !default;
54
+ $slider-height: 1rem !default;
55
+ $slider-radius: 0px !default;
56
+ $slider-thumb-height: 1.5rem !default;
57
+ $slider-thumb-color: $primary-color !default;
58
+ $slider-thumb-radius: 0px !default;
59
+
60
+ // Progress and meter
61
+ $meter-height: 1.5rem !default;
62
+ $meter-background: #ccc !default;
63
+ $meter-fill: $primary-color !default;
64
+ $meter-fill-high: $success-color !default;
65
+ $meter-fill-medium: #e7cf00 !default;
66
+ $meter-fill-low: $alert-color !default;
67
+ $meter-radius: 0 !default;
68
+ ///
69
+
70
+ // Disable OS-level styles
71
+ @mixin no-appearance {
72
+ -webkit-appearance: none;
73
+ -moz-appearance: none;
74
+ }
75
+
76
+ @include exports(forms) {
77
+ // Text fields
78
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
79
+ #{$text-input-selectors} {
80
+ $top-padding: get-side($form-padding, top);
81
+ $bottom-padding: get-side($form-padding, bottom);
82
+ $height: ($form-fontsize * 1.4) + $top-padding + $bottom-padding;
83
+
84
+ @include no-appearance;
85
+ display: block;
86
+ width: 100%;
87
+ height: $height;
88
+ padding: $form-padding;
89
+ margin: 0 0 $global-padding 0;
90
+ border: $input-border;
91
+ border-radius: 0;
92
+ background: $input-background;
93
+ color: $input-color;
94
+ font-size: $form-fontsize;
95
+ -webkit-font-smoothing: antialiased;
96
+ vertical-align: middle;
97
+
98
+ &:hover {
99
+ border: $input-border-hover;
100
+ background: $input-background-hover;
101
+ color: $input-color-hover;
102
+ }
103
+ &:focus {
104
+ outline: 0;
105
+ border: $input-border-focus;
106
+ background: $input-background-focus;
107
+ color: $input-color-focus;
108
+ }
109
+
110
+ label > & {
111
+ margin-top: $form-label-margin;
112
+ }
113
+ }
114
+
115
+ // Override the content-box declaration set by Normalize
116
+ input[type="search"] {
117
+ box-sizing: border-box;
118
+ }
119
+
120
+ // Disabled state
121
+ input, textarea {
122
+ &.disabled,
123
+ &[disabled],
124
+ &[readonly],
125
+ fieldset[disabled] & {
126
+ cursor: $input-cursor-disabled;
127
+
128
+ &, &:hover {
129
+ background-color: $input-background-disabled;
130
+ }
131
+ }
132
+ }
133
+
134
+ // Labels
135
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
136
+ label {
137
+ display: block;
138
+ font-size: $form-label-fontsize;
139
+ margin-bottom: $form-label-margin;
140
+ color: $form-label-color;
141
+
142
+ > input, > textarea {
143
+ margin-top: $form-label-margin;
144
+ }
145
+ }
146
+
147
+ // Checkbox/radio buttons
148
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
149
+ input[type="checkbox"], input[type="radio"] {
150
+ width: 1rem;
151
+ height: 1rem;
152
+
153
+ // Input inside of a label
154
+ label > & {
155
+ margin-right: $form-padding * 0.5;
156
+ }
157
+
158
+ // Input next to a label
159
+ & + label {
160
+ display: inline-block;
161
+ margin-left: $form-padding;
162
+ margin-right: $form-padding * 2;
163
+ margin-bottom: 0;
164
+ vertical-align: baseline;
165
+ }
166
+ }
167
+
168
+ // Inline labels
169
+ // Inline labels allow you to prefix or postfix special labels to inputs
170
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
171
+ .inline-label {
172
+ display: flex;
173
+ flex-flow: row nowrap;
174
+ align-items: stretch;
175
+ margin-bottom: $global-padding;
176
+
177
+ // Imitates the top margin on normal inputs
178
+ label > & {
179
+ margin-top: $form-label-margin;
180
+ }
181
+
182
+ // Inputs stretch all the way out
183
+ > input, > select {
184
+ flex: 1;
185
+ margin: 0;
186
+ }
187
+
188
+ // Inline labels and buttons shrink
189
+ > .form-label {
190
+ flex: 0 0 auto;
191
+ background: $inlinelabel-background;
192
+ color: $inlinelabel-color;
193
+ border: $inlinelabel-border;
194
+ padding: 0 $form-padding;
195
+ display: flex;
196
+ align-items: center;
197
+
198
+ &:first-child { border-right: 0; }
199
+ &:last-child { border-left: 0; }
200
+ }
201
+ // Buttons also shrink
202
+ > a,
203
+ > button,
204
+ > input[type="button"],
205
+ > input[type="submit"] {
206
+ flex: 0 0 auto;
207
+ display: flex;
208
+ align-items: center;
209
+ padding-top: 0;
210
+ padding-bottom: 0;
211
+ margin: 0;
212
+ border-radius: 0;
213
+ }
214
+ }
215
+
216
+ // Text areas
217
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
218
+ textarea {
219
+ height: auto;
220
+ width: 100%;
221
+ min-height: 50px;
222
+ }
223
+
224
+ // Select menus
225
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
226
+ select {
227
+ $top-padding: get-side($form-padding, top);
228
+ $bottom-padding: get-side($form-padding, bottom);
229
+ $height: ($form-fontsize * 1.4) + $top-padding + $bottom-padding;
230
+ $color: isitlight($select-background);
231
+
232
+ @include no-appearance;
233
+ display: block;
234
+ width: 100%;
235
+ height: $height;
236
+ padding: $form-padding;
237
+ margin: 0 0 $global-padding 0;
238
+ font-size: $form-fontsize;
239
+ color: $select-color;
240
+ border-radius: 0;
241
+ border: $input-border;
242
+
243
+ @if $select-arrow {
244
+ background: $select-background url(image-triangle($select-arrow-color)) right 10px center no-repeat;
245
+ background-size: 8px 8px;
246
+ padding-right: rem-calc(18px) + $form-padding;
247
+ }
248
+ @else {
249
+ background-color: $select-background
250
+ }
251
+
252
+ &:hover {
253
+ background-color: $select-background-hover;
254
+ }
255
+
256
+ &:focus {
257
+ outline: 0;
258
+ }
259
+
260
+ // Remove the dropdown arrow added in IE10/11
261
+ &::-ms-expand {
262
+ display: none;
263
+ }
264
+ }
265
+
266
+ // Range slider
267
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
268
+ input[type="range"] {
269
+ $margin: ($slider-thumb-height - $slider-height) / 2;
270
+
271
+ @include no-appearance;
272
+ display: block;
273
+ width: 100%;
274
+ height: auto;
275
+ cursor: pointer;
276
+ margin-top: $margin;
277
+ margin-bottom: $margin;
278
+ border: 0;
279
+ line-height: 1;
280
+
281
+ @if hasvalue($slider-radius) {
282
+ border-radius: $slider-radius;
283
+ }
284
+
285
+ &:focus {
286
+ outline: 0;
287
+ }
288
+
289
+ // Chrome/Safari
290
+ &::-webkit-slider-runnable-track {
291
+ height: $slider-height;
292
+ background: $slider-background;
293
+ }
294
+ &::-webkit-slider-thumb {
295
+ -webkit-appearance: none;
296
+ background: $slider-thumb-color;
297
+ width: $slider-thumb-height;
298
+ height: $slider-thumb-height;
299
+ margin-top: -$margin;
300
+ @if hasvalue($slider-thumb-radius) {
301
+ border-radius: $slider-thumb-radius;
302
+ }
303
+ }
304
+ // Firefox
305
+ &::-moz-range-track {
306
+ -moz-appearance: none;
307
+ height: $slider-height;
308
+ background: #ccc;
309
+ }
310
+ &::-moz-range-thumb {
311
+ -moz-appearance: none;
312
+ background: $slider-thumb-color;
313
+ width: $slider-thumb-height;
314
+ height: $slider-thumb-height;
315
+ margin-top: -$margin;
316
+ @if hasvalue($slider-thumb-radius) {
317
+ border-radius: $slider-thumb-radius;
318
+ }
319
+ }
320
+ // Internet Explorer
321
+ &::-ms-track {
322
+ height: $slider-height;
323
+ background: $slider-background;
324
+ color: transparent;
325
+ border: 0;
326
+ overflow: visible;
327
+ border-top: $margin solid $body-background;
328
+ border-bottom: $margin solid $body-background;
329
+ }
330
+ &::-ms-thumb {
331
+ background: $slider-thumb-color;
332
+ width: $slider-thumb-height;
333
+ height: $slider-thumb-height;
334
+ border: 0;
335
+ @if hasvalue($slider-thumb-radius) {
336
+ border-radius: $slider-thumb-radius;
337
+ }
338
+ }
339
+ &::-ms-fill-lower, &::-ms-fill-upper {
340
+ background: $slider-background;
341
+ }
342
+ }
343
+ output {
344
+ line-height: $slider-thumb-height;
345
+ vertical-align: middle;
346
+ margin-left: 0.5em;
347
+ }
348
+
349
+ // Number inputs
350
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
351
+ input[type="number"] {
352
+ &::-webkit-inner-spin-button {
353
+
354
+ }
355
+ &::-webkit-outer-spin-button {
356
+ -webkit-appearance: none;
357
+ background: $primary-color;
358
+ }
359
+ }
360
+
361
+ // Progress and meter
362
+ // - - - - - - - - - - - - - - - - - - - - - - - - -
363
+ progress, meter {
364
+ @include no-appearance;
365
+ display: block;
366
+ width: 100%;
367
+ height: $meter-height;
368
+ margin-bottom: 1rem;
369
+
370
+ @if hasvalue($meter-radius) {
371
+ border-radius: $meter-radius;
372
+ }
373
+
374
+ // For Firefox
375
+ background: $meter-background;
376
+ border: 0;
377
+ }
378
+
379
+ progress {
380
+ &::-webkit-progress-bar {
381
+ background: $meter-background;
382
+ @if hasvalue($meter-radius) {
383
+ border-radius: $meter-radius;
384
+ }
385
+ }
386
+ &::-webkit-progress-value {
387
+ background: $meter-fill;
388
+ @if hasvalue($meter-radius) {
389
+ border-radius: $meter-radius;
390
+ }
391
+ }
392
+ &::-moz-progress-bar {
393
+ background: $meter-fill;
394
+ @if hasvalue($meter-radius) {
395
+ border-radius: $meter-radius;
396
+ }
397
+ }
398
+
399
+ @each $name, $color in (high: $meter-fill-high, medium: $meter-fill-medium, low: $meter-fill-low) {
400
+ &.#{$name} {
401
+ &::-webkit-progress-value {
402
+ background: $color;
403
+ }
404
+ &::-moz-progress-bar {
405
+ background: $color;
406
+ }
407
+ }
408
+ }
409
+ }
410
+ meter {
411
+ // Chrome/Safari
412
+ &::-webkit-meter-bar {
413
+ background: $meter-background;
414
+ @if hasvalue($meter-radius) {
415
+ border-radius: $meter-radius;
416
+ }
417
+ }
418
+ &::-webkit-meter-inner-element {
419
+ @if hasvalue($meter-radius) {
420
+ border-radius: $meter-radius;
421
+ }
422
+ }
423
+ &::-webkit-meter-optimum-value {
424
+ background: $meter-fill-high;
425
+ @if hasvalue($meter-radius) {
426
+ border-radius: $meter-radius;
427
+ }
428
+ }
429
+ &::-webkit-meter-suboptimum-value {
430
+ background: $meter-fill-medium;
431
+ @if hasvalue($meter-radius) {
432
+ border-radius: $meter-radius;
433
+ }
434
+ }
435
+ &::-webkit-meter-even-less-good-value {
436
+ background: $meter-fill-low;
437
+ @if hasvalue($meter-radius) {
438
+ border-radius: $meter-radius;
439
+ }
440
+ }
441
+
442
+ // Firefox
443
+ background: $meter-background;
444
+ &::-moz-meter-bar {
445
+ background: $primary-color;
446
+ @if hasvalue($meter-radius) {
447
+ border-radius: $meter-radius;
448
+ }
449
+ }
450
+ &:-moz-meter-optimum::-moz-meter-bar {
451
+ background: $meter-fill-high;
452
+ }
453
+ &:-moz-meter-sub-optimum::-moz-meter-bar {
454
+ background: $meter-fill-medium;
455
+ }
456
+ &:-moz-meter-sub-sub-optimum::-moz-meter-bar {
457
+ background: $meter-fill-low;
458
+ }
459
+ }
460
+ }