themepile-abstractio 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +28 -0
  3. data/.rbenv-version +1 -0
  4. data/CONTRIBUTING.md +53 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE +22 -0
  7. data/README.md +136 -0
  8. data/Rakefile +2 -0
  9. data/abstractio.gemspec +18 -0
  10. data/js/foundation/foundation.alerts.js +50 -0
  11. data/js/foundation/foundation.clearing.js +516 -0
  12. data/js/foundation/foundation.cookie.js +74 -0
  13. data/js/foundation/foundation.dropdown.js +159 -0
  14. data/js/foundation/foundation.forms.js +516 -0
  15. data/js/foundation/foundation.joyride.js +842 -0
  16. data/js/foundation/foundation.js +403 -0
  17. data/js/foundation/foundation.magellan.js +130 -0
  18. data/js/foundation/foundation.orbit.js +373 -0
  19. data/js/foundation/foundation.placeholder.js +159 -0
  20. data/js/foundation/foundation.reveal.js +276 -0
  21. data/js/foundation/foundation.section.js +409 -0
  22. data/js/foundation/foundation.tooltips.js +206 -0
  23. data/js/foundation/foundation.topbar.js +252 -0
  24. data/js/foundation/index.js +16 -0
  25. data/js/vendor/custom.modernizr.js +4 -0
  26. data/js/vendor/jquery.js +9597 -0
  27. data/js/vendor/zepto.js +1884 -0
  28. data/lib/abstractio.rb +17 -0
  29. data/lib/abstractio/engine.rb +20 -0
  30. data/lib/abstractio/generators/USAGE +15 -0
  31. data/lib/abstractio/generators/install_generator.rb +54 -0
  32. data/lib/abstractio/generators/templates/application.html.erb +46 -0
  33. data/lib/abstractio/generators/templates/application.html.haml +31 -0
  34. data/lib/abstractio/generators/templates/application.html.slim +28 -0
  35. data/lib/abstractio/version.rb +3 -0
  36. data/lib/themepile-abstractio.rb +17 -0
  37. data/scss/abstractio.scss +46 -0
  38. data/scss/abstractio/_variables.scss +1224 -0
  39. data/scss/abstractio/components/_alert-boxes.scss +107 -0
  40. data/scss/abstractio/components/_block-grid.scss +68 -0
  41. data/scss/abstractio/components/_breadcrumbs.scss +125 -0
  42. data/scss/abstractio/components/_button-groups.scss +89 -0
  43. data/scss/abstractio/components/_buttons.scss +227 -0
  44. data/scss/abstractio/components/_clearing.scss +224 -0
  45. data/scss/abstractio/components/_custom-forms.scss +263 -0
  46. data/scss/abstractio/components/_dropdown-buttons.scss +115 -0
  47. data/scss/abstractio/components/_dropdown.scss +150 -0
  48. data/scss/abstractio/components/_flex-video.scss +46 -0
  49. data/scss/abstractio/components/_forms.scss +362 -0
  50. data/scss/abstractio/components/_global.scss +280 -0
  51. data/scss/abstractio/components/_grid.scss +186 -0
  52. data/scss/abstractio/components/_inline-lists.scss +53 -0
  53. data/scss/abstractio/components/_joyride.scss +215 -0
  54. data/scss/abstractio/components/_keystrokes.scss +57 -0
  55. data/scss/abstractio/components/_labels.scss +85 -0
  56. data/scss/abstractio/components/_magellan.scss +23 -0
  57. data/scss/abstractio/components/_orbit.scss +213 -0
  58. data/scss/abstractio/components/_pagination.scss +100 -0
  59. data/scss/abstractio/components/_panels.scss +77 -0
  60. data/scss/abstractio/components/_pricing-tables.scss +131 -0
  61. data/scss/abstractio/components/_progress-bars.scss +71 -0
  62. data/scss/abstractio/components/_reveal.scss +132 -0
  63. data/scss/abstractio/components/_section.scss +318 -0
  64. data/scss/abstractio/components/_side-nav.scss +69 -0
  65. data/scss/abstractio/components/_split-buttons.scss +167 -0
  66. data/scss/abstractio/components/_sub-nav.scss +68 -0
  67. data/scss/abstractio/components/_switch.scss +251 -0
  68. data/scss/abstractio/components/_tables.scss +84 -0
  69. data/scss/abstractio/components/_thumbs.scss +48 -0
  70. data/scss/abstractio/components/_tooltips.scss +117 -0
  71. data/scss/abstractio/components/_top-bar.scss +495 -0
  72. data/scss/abstractio/components/_type.scss +426 -0
  73. data/scss/abstractio/components/_visibility.scss +322 -0
  74. data/scss/normalize.scss +402 -0
  75. data/templates/project/.gitignore +44 -0
  76. data/templates/project/MIT-LICENSE.txt +20 -0
  77. data/templates/project/config.rb +26 -0
  78. data/templates/project/humans.txt +8 -0
  79. data/templates/project/index.html +124 -0
  80. data/templates/project/manifest.rb +45 -0
  81. data/templates/project/robots.txt +4 -0
  82. data/templates/project/scss/app.scss +48 -0
  83. data/templates/upgrade/manifest.rb +34 -0
  84. metadata +153 -0
@@ -0,0 +1,224 @@
1
+ //
2
+ // Clearing Variables
3
+ //
4
+ $include-html-clearing-classes: $include-html-classes !default;
5
+
6
+ // We use these to set the background colors for parts of Clearing.
7
+ $clearing-bg: #111 !default;
8
+ $clearing-caption-bg: $clearing-bg !default;
9
+ $clearing-carousel-bg: #111 !default;
10
+ $clearing-img-bg: $clearing-bg !default;
11
+
12
+ // We use these to style the close button
13
+ $clearing-close-color: #fff !default;
14
+ $clearing-close-size: 40px !default;
15
+
16
+ // We use these to style the arrows
17
+ $clearing-arrow-size: 16px !default;
18
+ $clearing-arrow-color: $clearing-close-color !default;
19
+
20
+ // We use these to style captions
21
+ $clearing-caption-font-color: #fff !default;
22
+ $clearing-caption-padding: 10px 30px !default;
23
+
24
+ // We use these to make the image and carousel height and style
25
+ $clearing-active-img-height: 75% !default;
26
+ $clearing-carousel-height: 150px !default;
27
+ $clearing-carousel-thumb-width: 175px !default;
28
+ $clearing-carousel-thumb-active-border: 4px solid rgb(255,255,255) !default;
29
+
30
+ @if $include-html-clearing-classes {
31
+ // We decided to not create a mixin for Clearing because it relies
32
+ // on predefined classes and structure to work properly.
33
+ // The variables above should give enough control.
34
+
35
+ /* Clearing Styles */
36
+ [data-clearing] {
37
+ @include clearfix;
38
+ margin-bottom: 0;
39
+ list-style: none;
40
+
41
+ li {
42
+ float: $default-float;
43
+ margin-#{$opposite-direction}: 10px;
44
+ }
45
+ }
46
+
47
+ .clearing-blackout {
48
+ background: $clearing-bg;
49
+ position: fixed;
50
+ width: 100%;
51
+ height: 100%;
52
+ top: 0;
53
+ #{$default-float}: 0;
54
+ z-index: 998;
55
+
56
+ .clearing-close { display: block; }
57
+ }
58
+
59
+ .clearing-container {
60
+ position: relative;
61
+ z-index: 998;
62
+ height: 100%;
63
+ overflow: hidden;
64
+ margin: 0;
65
+ }
66
+
67
+ .visible-img {
68
+ height: 95%;
69
+ position: relative;
70
+
71
+ img {
72
+ position: absolute;
73
+ #{$default-float}: 50%;
74
+ top: 50%;
75
+ margin-#{$default-float}: -50%;
76
+ max-height: 100%;
77
+ max-width: 100%;
78
+ }
79
+ }
80
+
81
+ .clearing-caption {
82
+ color: $clearing-caption-font-color;
83
+ line-height: 1.3;
84
+ margin-bottom: 0;
85
+ text-align: center;
86
+ bottom: 0;
87
+ background: $clearing-caption-bg;
88
+ width: 100%;
89
+ padding: $clearing-caption-padding;
90
+ position: absolute;
91
+ #{$default-float}: 0;
92
+ }
93
+
94
+ .clearing-close {
95
+ z-index: 999;
96
+ padding-#{$default-float}: 20px;
97
+ padding-top: 10px;
98
+ font-size: $clearing-close-size;
99
+ line-height: 1;
100
+ color: $clearing-close-color;
101
+ display: none;
102
+
103
+ &:hover,
104
+ &:focus { color: #ccc; }
105
+ }
106
+
107
+ .clearing-assembled .clearing-container { height: 100%;
108
+ .carousel > ul { display: none; }
109
+ }
110
+
111
+ // If you want to show a lightbox, but only have a single image come through as the thumbnail
112
+ .clearing-feature li {
113
+ display: none;
114
+ &.clearing-featured-img {
115
+ display: block;
116
+ }
117
+ }
118
+
119
+ // Large screen overrides
120
+ @media #{$small} {
121
+ .clearing-main-prev,
122
+ .clearing-main-next {
123
+ position: absolute;
124
+ height: 100%;
125
+ width: 40px;
126
+ top: 0;
127
+ & > span {
128
+ position: absolute;
129
+ top: 50%;
130
+ display: block;
131
+ width: 0;
132
+ height: 0;
133
+ border: solid $clearing-arrow-size;
134
+ }
135
+ }
136
+ .clearing-main-prev {
137
+ #{$default-float}: 0;
138
+ & > span {
139
+ #{$default-float}: 5px;
140
+ border-color: transparent;
141
+ border-#{$opposite-direction}-color: $clearing-arrow-color;
142
+ }
143
+ }
144
+ .clearing-main-next {
145
+ #{$opposite-direction}: 0;
146
+ & > span {
147
+ border-color: transparent;
148
+ border-#{$default-float}-color: $clearing-arrow-color;
149
+ }
150
+ }
151
+
152
+ .clearing-main-prev.disabled,
153
+ .clearing-main-next.disabled { opacity: 0.5; }
154
+
155
+ .clearing-assembled .clearing-container {
156
+
157
+ .carousel {
158
+ background: $clearing-carousel-bg;
159
+ height: $clearing-carousel-height;
160
+ margin-top: 5px;
161
+
162
+ & > ul {
163
+ display: block;
164
+ z-index: 999;
165
+ width: 200%;
166
+ height: 100%;
167
+ margin-#{$default-float}: 0;
168
+ position: relative;
169
+ #{$default-float}: 0;
170
+
171
+ li {
172
+ display: block;
173
+ width: $clearing-carousel-thumb-width;
174
+ height: inherit;
175
+ padding: 0;
176
+ float: $default-float;
177
+ overflow: hidden;
178
+ margin-#{$opposite-direction}: 1px;
179
+ position: relative;
180
+ cursor: pointer;
181
+ opacity: 0.4;
182
+
183
+ &.fix-height {
184
+ img {
185
+ min-height: 100%;
186
+ height: 100%;
187
+ max-width: none;
188
+ }
189
+ }
190
+
191
+ a.th {
192
+ border: none;
193
+ -webkit-box-shadow: none;
194
+ box-shadow: none;
195
+ display: block;
196
+ }
197
+
198
+ img {
199
+ cursor: pointer !important;
200
+ min-width: 100% !important;
201
+ }
202
+
203
+ &.visible { opacity: 1; }
204
+ }
205
+ }
206
+ }
207
+
208
+ .visible-img {
209
+ background: $clearing-img-bg;
210
+ overflow: hidden;
211
+ height: $clearing-active-img-height;
212
+ }
213
+ }
214
+
215
+ .clearing-close {
216
+ position: absolute;
217
+ top: 10px;
218
+ #{$opposite-direction}: 20px;
219
+ padding-#{$default-float}: 0;
220
+ padding-top: 0;
221
+ }
222
+ }
223
+
224
+ }
@@ -0,0 +1,263 @@
1
+ //
2
+ // FIX THE "X" ON CUSTOM FORMS
3
+ //
4
+
5
+
6
+ //
7
+ // Custom Form Variables
8
+ //
9
+ $include-html-custom-form-classes: $include-html-classes !default;
10
+
11
+ // We use these to control the basic form styles input styles
12
+ $custom-form-border-color: #ccc !default;
13
+ $custom-form-border-size: 1px !default;
14
+ $custom-form-bg: #fff !default;
15
+ $custom-form-bg-disabled: #ddd !default;
16
+ $custom-form-input-size: 16px !default;
17
+ $custom-form-check-color: #222 !default;
18
+ $custom-form-check-size: 16px !default;
19
+ $custom-form-radio-size: 8px !default;
20
+ $custom-form-checkbox-radius: 0px !default;
21
+
22
+ // We use these to style the custom select form element.
23
+ $custom-select-bg: #fff !default;
24
+ $custom-select-fade-to-color: #f3f3f3 !default;
25
+ $custom-select-border-color: #ddd !default;
26
+ $custom-select-triangle-color: #aaa !default;
27
+ $custom-select-triangle-color-open: #222 !default;
28
+ $custom-select-height: emCalc(13px) + ($form-spacing * 1.5) !default;
29
+ $custom-select-margin-bottom: emCalc(20px) !default;
30
+ $custom-select-font-color-selected: #141414 !default;
31
+ $custom-select-disabled-color: #888 !default;
32
+
33
+ // We use these to control the style of the custom select dropdown element.
34
+ $custom-dropdown-height: 200px !default;
35
+ $custom-dropdown-bg: #fff !default;
36
+ $custom-dropdown-border-color: darken(#fff, 20%) !default;
37
+ $custom-dropdown-border-width: 1px !default;
38
+ $custom-dropdown-border-style: solid !default;
39
+ $custom-dropdown-font-color: #555 !default;
40
+ $custom-dropdown-font-size: emCalc(14px) !default;
41
+ $custom-dropdown-color-selected: #eeeeee !default;
42
+ $custom-dropdown-font-color-selected: #000 !default;
43
+ $custom-dropdown-shadow: 0 2px 2px 0px rgba(0,0,0,0.1) !default;
44
+ $custom-dropdown-offset-top: auto !default;
45
+ $custom-dropdown-list-padding: emCalc(4px) !default;
46
+ $custom-dropdown-default-float-padding: emCalc(6px) !default;
47
+ $custom-dropdown-opposite-padding: emCalc(38px) !default;
48
+ $custom-dropdown-list-item-min-height: emCalc(24px) !default;
49
+ $custom-dropdown-width-small: 134px !default;
50
+ $custom-dropdown-width-medium: 254px !default;
51
+ $custom-dropdown-width-large: 434px !default;
52
+
53
+ // We decided not to make a mixin for the custom forms because
54
+ // they rely on a very specific class naming structure.
55
+ // We may look at updating this in the future.
56
+ @mixin custom-form-input($radius:0px, $mark-size:0px) {
57
+ @include radius($radius);
58
+ padding: (($custom-form-input-size - $mark-size) / 2) - $custom-form-border-size;
59
+ }
60
+
61
+ // Only include these classes if the variable is true, otherwise they'll be left out.
62
+ @if $include-html-custom-form-classes != false {
63
+
64
+ /* Custom Checkbox and Radio Inputs */
65
+ form.custom {
66
+
67
+ .hidden-field {
68
+ margin-#{$default-float}: -99999px;
69
+ position: absolute;
70
+ visibility: hidden;
71
+ }
72
+
73
+ .custom {
74
+ display: inline-block;
75
+ width: $custom-form-input-size;
76
+ height: $custom-form-input-size;
77
+ position: relative;
78
+ vertical-align: middle;
79
+ border: solid $custom-form-border-size $custom-form-border-color;
80
+ background: $custom-form-bg;
81
+
82
+ &.checkbox {
83
+ @include custom-form-input($radius:$custom-form-checkbox-radius, $mark-size:$custom-form-check-size);
84
+ }
85
+
86
+ &.radio {
87
+ @include custom-form-input($radius:1000px, $mark-size:$custom-form-radio-size);
88
+ }
89
+
90
+ &.checkbox {
91
+ &:before {
92
+ content: "";
93
+ display: block;
94
+ font-size: $custom-form-check-size;
95
+ color: $custom-form-bg;
96
+ }
97
+ }
98
+
99
+ &.radio.checked {
100
+ &:before {
101
+ content: "";
102
+ display: block;
103
+ width: $custom-form-radio-size;
104
+ height: $custom-form-radio-size;
105
+ @include radius(1000px);
106
+ background: $custom-form-check-color;
107
+ position: relative;
108
+ }
109
+ }
110
+
111
+ &.checkbox.checked {
112
+ &:before {
113
+ content: "\00d7";
114
+ color: $custom-form-check-color;
115
+ position: absolute;
116
+ top: -50%;
117
+ left: 50%;
118
+ margin-top: 4px;
119
+ margin-left: -5px;
120
+ }
121
+ }
122
+ }
123
+ }
124
+
125
+ /* Custom Select Options and Dropdowns */
126
+ form.custom {
127
+ .custom.dropdown {
128
+ display: block;
129
+ position: relative;
130
+ top: 0;
131
+ height: $custom-select-height;
132
+ margin-bottom: $custom-select-margin-bottom;
133
+ margin-top: 0px;
134
+ padding: 0px;
135
+ width: 100%;
136
+ background: $custom-dropdown-bg;
137
+ background: -moz-linear-gradient(top, $custom-dropdown-bg 0%, $custom-select-fade-to-color 100%);
138
+ background: -webkit-linear-gradient(top, $custom-dropdown-bg 0%,$custom-select-fade-to-color 100%);
139
+ background: linear-gradient(to bottom, $custom-dropdown-bg 0%,$custom-select-fade-to-color 100%);
140
+ -webkit-box-shadow: none;
141
+ box-shadow: none;
142
+ font-size: $custom-dropdown-font-size;
143
+ vertical-align: top;
144
+
145
+ ul {
146
+ overflow-y: auto;
147
+ max-height: $custom-dropdown-height;
148
+ }
149
+
150
+ .current {
151
+ cursor:default;
152
+ white-space: nowrap;
153
+ line-height: $custom-select-height - emCalc(1px);
154
+ color: $input-font-color;
155
+ text-decoration: none;
156
+ overflow: hidden;
157
+ display: block;
158
+ margin-#{$default-float}: $form-spacing / 2;
159
+ margin-#{$opposite-direction}: $custom-select-height;
160
+ }
161
+
162
+ .selector {
163
+ cursor:default;
164
+ position: absolute;
165
+ width: $form-spacing * 2.5;
166
+ height: $custom-select-height;
167
+ display: block;
168
+ #{$opposite-direction}: 0;
169
+ top: 0;
170
+ &:after {
171
+ content: "";
172
+ display: block;
173
+ @include css-triangle(5px, $custom-select-triangle-color, top);
174
+ position: absolute;
175
+ #{$default-float}: ($form-spacing * 2.5) / 2 - emCalc(5px);
176
+ top: 50%;
177
+ margin-top: -3px;
178
+ }
179
+ }
180
+
181
+ &:hover, &.open {
182
+ a.selector {
183
+ &:after { @include css-triangle(5px, $custom-select-triangle-color-open, top); }
184
+ }
185
+ }
186
+
187
+ .disabled {
188
+ color: $custom-select-disabled-color;
189
+ &:hover {
190
+ background: transparent;
191
+ color: $custom-select-disabled-color;
192
+ &:after { display: none; }
193
+ }
194
+ }
195
+
196
+ &.open ul {
197
+ display: block;
198
+ z-index: 10;
199
+ min-width:100%;
200
+ @include box-sizing(content-box);
201
+ }
202
+
203
+ &.small { max-width: $custom-dropdown-width-small; }
204
+ &.medium { max-width: $custom-dropdown-width-medium; }
205
+ &.large { max-width: $custom-dropdown-width-large; }
206
+ &.expand { width: 100% !important; }
207
+
208
+ &.open.small ul { min-width: $custom-dropdown-width-small; @include box-sizing(border-box); }
209
+ &.open.medium ul { min-width: $custom-dropdown-width-medium; @include box-sizing(border-box); }
210
+ &.open.large ul { min-width: $custom-dropdown-width-large; @include box-sizing(border-box); }
211
+ }
212
+
213
+ .custom.dropdown ul {
214
+ position: absolute;
215
+ width: auto;
216
+ display: none;
217
+ margin: 0;
218
+ #{$default-float}: -$input-border-width;
219
+ top: $custom-dropdown-offset-top;
220
+ -webkit-box-shadow: $custom-dropdown-shadow;
221
+ box-shadow: $custom-dropdown-shadow;
222
+ margin: 0;
223
+ padding: 0;
224
+ background: $custom-dropdown-bg;
225
+ border: $custom-dropdown-border-style $custom-dropdown-border-width $custom-dropdown-border-color;
226
+ font-size: $em-base;
227
+
228
+ li {
229
+ color: $custom-dropdown-font-color;
230
+ font-size: $custom-dropdown-font-size;
231
+ cursor: default;
232
+ padding-top: $custom-dropdown-list-padding;
233
+ padding-bottom: $custom-dropdown-list-padding;
234
+ padding-#{$default-float}: $custom-dropdown-default-float-padding;
235
+ padding-#{$opposite-direction}: $custom-dropdown-opposite-padding;
236
+ min-height: $custom-dropdown-list-item-min-height;
237
+ line-height: $custom-dropdown-list-item-min-height;
238
+ margin: 0;
239
+ white-space: nowrap;
240
+ list-style: none;
241
+
242
+ &.selected {
243
+ background: $custom-dropdown-color-selected;
244
+ color: $custom-dropdown-font-color-selected;
245
+ }
246
+ &:hover {
247
+ background-color: darken($custom-dropdown-color-selected, 4%);
248
+ color: $custom-dropdown-font-color-selected;
249
+ }
250
+ &.selected:hover {
251
+ background: $custom-dropdown-color-selected;
252
+ cursor: default;
253
+ color: $custom-dropdown-font-color-selected;
254
+ }
255
+ }
256
+
257
+ &.show { display: block; }
258
+ }
259
+
260
+ /* Custom input, disabled */
261
+ .custom.disabled { background: $custom-form-bg-disabled; }
262
+ }
263
+ }