themepile-abstractio 1.0.2

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 (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,68 @@
1
+ //
2
+ // Sub Nav Variables
3
+ //
4
+ $include-html-nav-classes: $include-html-classes !default;
5
+
6
+ // We use these to control margin and padding
7
+ $sub-nav-list-margin: emCalc(-4px) 0 emCalc(18px) !default;
8
+ $sub-nav-list-padding-top: emCalc(4px) !default;
9
+
10
+ // We use this to control the definition
11
+ $sub-nav-font-size: emCalc(14px) !default;
12
+ $sub-nav-font-color: #999 !default;
13
+ $sub-nav-font-weight: normal !default;
14
+ $sub-nav-text-decoration: none !default;
15
+ $sub-nav-border-radius: 1000px !default;
16
+
17
+ // We use these to control the active item styles
18
+ $sub-nav-active-font-weight: bold !default;
19
+ $sub-nav-active-bg: $primary-color !default;
20
+ $sub-nav-active-color: #fff !default;
21
+ $sub-nav-active-padding: emCalc(3px) emCalc(9px) !default;
22
+ $sub-nav-active-cursor: default !default;
23
+
24
+ //
25
+ // Sub Nav Mixins
26
+ //
27
+
28
+ @mixin sub-nav($font-color:$sub-nav-font-color, $font-size:$sub-nav-font-size, $active-bg:$sub-nav-active-bg) {
29
+ display: block;
30
+ width: auto;
31
+ overflow: hidden;
32
+ margin: $sub-nav-list-margin;
33
+ padding-top: $sub-nav-list-padding-top;
34
+ margin-#{$opposite-direction}: 0;
35
+ margin-#{$default-float}: emCalc(-9px);
36
+
37
+ dt,
38
+ dd {
39
+ float: $default-float;
40
+ display: inline;
41
+ margin-#{$default-float}: emCalc(9px);
42
+ margin-bottom: emCalc(10px);
43
+ font-weight: $sub-nav-font-weight;
44
+ font-size: $font-size;
45
+
46
+ a {
47
+ color: $font-color;
48
+ text-decoration: $sub-nav-text-decoration; }
49
+
50
+ &.active a {
51
+ @include radius($sub-nav-border-radius);
52
+ font-weight: $sub-nav-active-font-weight;
53
+ background: $active-bg;
54
+ padding: $sub-nav-active-padding;
55
+ cursor: $sub-nav-active-cursor;
56
+ color: $sub-nav-active-color;
57
+ }
58
+ }
59
+
60
+ }
61
+
62
+
63
+ @if $include-html-nav-classes != false {
64
+
65
+ /* Side Nav */
66
+ .sub-nav { @include sub-nav; }
67
+
68
+ }
@@ -0,0 +1,251 @@
1
+ //
2
+ // Switch Variables
3
+ //
4
+ $include-html-form-classes: $include-html-classes !default;
5
+
6
+ // Controlling border styles and background colors for the switch container
7
+ $switch-border-color: darken(#fff, 20%) !default;
8
+ $switch-border-style: solid !default;
9
+ $switch-border-width: 1px !default;
10
+ $switch-bg: #fff !default;
11
+
12
+ // We use these to control the switch heights for our default classes
13
+ $switch-height-tny: 22px !default;
14
+ $switch-height-sml: 28px !default;
15
+ $switch-height-med: 36px !default;
16
+ $switch-height-lrg: 44px !default;
17
+ $switch-bottom-margin: emCalc(20px) !default;
18
+
19
+ // We use these to control default font sizes for our classes.
20
+ $switch-font-size-tny: 11px !default;
21
+ $switch-font-size-sml: 12px !default;
22
+ $switch-font-size-med: 14px !default;
23
+ $switch-font-size-lrg: 17px !default;
24
+ $switch-label-side-padding: 6px !default;
25
+
26
+ // We use these to style the switch-paddle
27
+ $switch-paddle-bg: #fff !default;
28
+ $switch-paddle-fade-to-color: darken($switch-paddle-bg, 10%) !default;
29
+ $switch-paddle-border-color: darken($switch-paddle-bg, 35%) !default;
30
+ $switch-paddle-border-width: 1px !default;
31
+ $switch-paddle-border-style: solid !default;
32
+ $switch-paddle-transition-speed: .1s !default;
33
+ $switch-paddle-transition-ease: ease-out !default;
34
+ $switch-positive-color: lighten($success-color, 50%) !default;
35
+ $switch-negative-color: #f5f5f5 !default;
36
+
37
+ // Outline Style for tabbing through switches
38
+ $switch-label-outline: 1px dotted #888 !default;
39
+
40
+
41
+ //
42
+ // Switch Mixins
43
+ //
44
+
45
+ // We use this mixin to create the base styles for our switch element.
46
+ @mixin switch-base($transition-speed:$switch-paddle-transition-speed, $transition-ease:$switch-paddle-transition-ease) {
47
+
48
+ // Default position and structure for switch container.
49
+ position: relative;
50
+ width: 100%;
51
+ padding: 0;
52
+ display: block;
53
+ overflow: hidden;
54
+ border-style: $switch-border-style;
55
+ border-width: $switch-border-width;
56
+ margin-bottom: $switch-bottom-margin;
57
+
58
+ // Default label styles for type and transition
59
+ label {
60
+ position: relative;
61
+ #{$default-float}: 0;
62
+ z-index: 2;
63
+ float: $default-float;
64
+ width: 50%;
65
+ height: 100%;
66
+ margin: 0;
67
+ font-weight: bold;
68
+ text-align: $default-float;
69
+
70
+ // Transition for the switch label to follow paddle
71
+ @include single-transition(all, $transition-speed, $transition-ease);
72
+ }
73
+
74
+ // So that we don't need to recreate the form with any JS, we use the
75
+ // existing radio button, but we cleverly position and hide it.
76
+ input {
77
+ position: absolute;
78
+ z-index: 3;
79
+ opacity: 0;
80
+ width: 100%;
81
+ height: 100%;
82
+ -moz-appearance: none;
83
+
84
+ // Hover and focus styles for the paddle
85
+ &:hover,
86
+ &:focus {
87
+ cursor: pointer;
88
+ }
89
+ }
90
+
91
+ // The toggle area for radio switches. We call is a paddle.
92
+ & > span {
93
+ position: absolute;
94
+ top: -1px;
95
+ #{$default-float}: -1px;
96
+ z-index: 1;
97
+ display: block;
98
+ padding: 0;
99
+ border-width: $switch-paddle-border-width;
100
+ border-style: $switch-paddle-border-style;
101
+
102
+ // Transition for the switch paddle
103
+ @include single-transition(all, $transition-speed, $transition-ease);
104
+ }
105
+
106
+ // When a label isn't :checked, we hide it as it slides away.
107
+ input:not(:checked) + label { opacity: 0; }
108
+
109
+ // Controlling the position of the labels as they are toggled.
110
+ input:checked { display: none !important; }
111
+ input { #{$default-float}: 0; display: block !important; }
112
+
113
+ // Left Label alignment and position changes, including fixes for while inside a custom form
114
+ input:first-of-type + label,
115
+ input:first-of-type + span + label { #{$default-float}: -50%; }
116
+ input:first-of-type:checked + label,
117
+ input:first-of-type:checked + span + label { #{$default-float}: 0%; }
118
+
119
+ // Right Label alignment and position changes, including fixes for while inside a custom form
120
+ input:last-of-type + label,
121
+ input:last-of-type + span + label {#{$opposite-direction}: -50%; #{$default-float}: auto; text-align: $opposite-direction; }
122
+ input:last-of-type:checked + label,
123
+ input:last-of-type:checked + span + label { #{$opposite-direction}: 0%; #{$default-float}: auto; }
124
+
125
+ // Hiding custom form spans since we auto-create them
126
+ span.custom { display: none !important; }
127
+
128
+ // Bugfix for older Webkit, including mobile Webkit. Adapted from:
129
+ // http://css-tricks.com/webkit-sibling-bug/
130
+ -webkit-animation: webkitSiblingBugfix infinite 1s;
131
+
132
+ }
133
+
134
+ // We use this mixin to create the size styles for switches.
135
+ @mixin switch-size($height:$switch-height-med, $font-size:$switch-font-size-med, $line-height:2.3em) {
136
+
137
+ height: $height;
138
+
139
+ label {
140
+ padding: 0 emCalc($switch-label-side-padding);
141
+ line-height: $line-height;
142
+ font-size: emCalc($font-size);
143
+ }
144
+
145
+ input {
146
+ // Move the paddle to the right position
147
+ &:first-of-type:checked ~ span {
148
+ #{$default-float}: 100%;
149
+ margin-#{$default-float}: emCalc(-$height + 1px);
150
+ }
151
+ }
152
+
153
+ & > span {
154
+ width: emCalc($height);
155
+ height: emCalc($height);
156
+ }
157
+
158
+ }
159
+
160
+ // We use this mixin to add color and other fanciness to the switches.
161
+ @mixin switch-style($paddle-bg:$switch-paddle-bg, $positive-color:$switch-positive-color, $negative-color:$switch-negative-color, $radius:false, $base-style:true) {
162
+
163
+ @if $base-style {
164
+ background: $switch-bg;
165
+ border-color: $switch-border-color;
166
+
167
+ & > span {
168
+ border-color: darken($paddle-bg, 30%);
169
+ background: $paddle-bg;
170
+ background: -moz-linear-gradient(top, $paddle-bg 0%, darken($paddle-bg, 5%) 100%);
171
+ background: -webkit-linear-gradient(top, $paddle-bg 0%, darken($paddle-bg, 5%) 100%);
172
+ background: linear-gradient(to bottom, $paddle-bg 0%, darken($paddle-bg, 5%) 100%);
173
+
174
+ // Building the alternating colored sides of the switch
175
+ -webkit-box-shadow: 2px 0 10px 0 rgba(0,0,0,0.07),
176
+ 1000px 0 0 1000px $positive-color,
177
+ -2px 0 10px 0 rgba(0,0,0,0.07),
178
+ -1000px 0 0 1000px $negative-color;
179
+ box-shadow: 2px 0 10px 0 rgba(0,0,0,0.07),
180
+ 1000px 0 0 980px $positive-color,
181
+ -2px 0 10px 0 rgba(0,0,0,0.07),
182
+ -1000px 0 0 1000px $negative-color;
183
+ }
184
+
185
+ &:hover,
186
+ &:focus {
187
+ & > span {
188
+ background: $paddle-bg;
189
+ background: -moz-linear-gradient(top, $paddle-bg 0%, darken($paddle-bg, 10%) 100%);
190
+ background: -webkit-linear-gradient(top, $paddle-bg 0%, darken($paddle-bg, 10%) 100%);
191
+ background: linear-gradient(to bottom, $paddle-bg 0%, darken($paddle-bg, 10%) 100%);
192
+ }
193
+ }
194
+
195
+ &:active { background: transparent; }
196
+ }
197
+
198
+ // Setting up the radius for switches
199
+ @if $radius == true {
200
+ @include radius(4px);
201
+ & > span { @include radius(3px); }
202
+ }
203
+ @else if $radius {
204
+ @include radius($radius);
205
+ & > span { @include radius($radius - 1px); }
206
+ }
207
+
208
+ }
209
+
210
+ // We use this to quickly create switches with a single mixin
211
+ @mixin switch($transition-speed:$switch-paddle-transition-speed, $transition-ease:$switch-paddle-transition-ease, $height:$switch-height-med, $font-size:$switch-font-size-med, $line-height:2.3em, $paddle-bg:$switch-paddle-bg, $positive-color:$switch-positive-color, $negative-color:$switch-negative-color, $radius:false, $base-style:true) {
212
+ @include switch-base($transition-speed, $transition-ease);
213
+ @include switch-size($height, $font-size, $line-height);
214
+ @include switch-style($paddle-bg, $positive-color, $negative-color, $radius, $base-style);
215
+ }
216
+
217
+ @if $include-html-form-classes != false {
218
+
219
+ /* Foundation Switches */
220
+ @media only screen {
221
+
222
+ // Containing element for the radio switch
223
+ div.switch {
224
+ @include switch;
225
+
226
+ // Large radio switches
227
+ &.large { @include switch-size($switch-height-lrg, $switch-font-size-lrg); }
228
+
229
+ // Small radio switches
230
+ &.small { @include switch-size($switch-height-sml, $switch-font-size-sml, 2.1em); }
231
+
232
+ // Tiny radio switches
233
+ &.tiny { @include switch-size($switch-height-tny, $switch-font-size-tny, 1.9em); }
234
+
235
+ // Add a radius to the switch
236
+ &.radius { @include radius(4px);
237
+ & > span { @include radius(3px); }
238
+ }
239
+
240
+ // Make the switch completely round, like a pill
241
+ &.round { @include radius(1000px);
242
+ & > span { @include radius(999px); }
243
+ label { padding: 0 emCalc($switch-label-side-padding + 3px); }
244
+ }
245
+
246
+ }
247
+
248
+ @-webkit-keyframes webkitSiblingBugfix { from { position: relative; } to { position: relative; } }
249
+
250
+ }
251
+ }
@@ -0,0 +1,84 @@
1
+ //
2
+ // Table Variables
3
+ //
4
+ $include-html-table-classes: $include-html-classes !default;
5
+
6
+ // These control the background color for the table and even rows
7
+ $table-bg: #fff !default;
8
+ $table-even-row-bg: #f9f9f9 !default;
9
+
10
+ // These control the table cell border style
11
+ $table-border-style: solid !default;
12
+ $table-border-size: 1px !default;
13
+ $table-border-color: #ddd !default;
14
+
15
+ // These control the table head styles
16
+ $table-head-bg: #f5f5f5 !default;
17
+ $table-head-font-size: emCalc(14px) !default;
18
+ $table-head-font-color: #222 !default;
19
+ $table-head-font-weight: bold !default;
20
+ $table-head-padding: emCalc(8px) emCalc(10px) emCalc(10px) !default;
21
+
22
+ // These control the row padding and font styles
23
+ $table-row-padding: emCalc(9px) emCalc(10px) !default;
24
+ $table-row-font-size: emCalc(14px) !default;
25
+ $table-row-font-color: #222 !default;
26
+ $table-line-height: emCalc(18px) !default;
27
+
28
+ // These are for controlling the display and margin of tables
29
+ $table-display: table-cell !default;
30
+ $table-margin-bottom: emCalc(20px) !default;
31
+
32
+
33
+ //
34
+ // Table Mixin
35
+ //
36
+ @mixin table {
37
+ background: $table-bg;
38
+ margin-bottom: $table-margin-bottom;
39
+ border: $table-border-style $table-border-size $table-border-color;
40
+
41
+ thead,
42
+ tfoot {
43
+ background: $table-head-bg;
44
+ font-weight: $table-head-font-weight;
45
+
46
+ tr {
47
+ th,
48
+ td {
49
+ padding: $table-head-padding;
50
+ font-size: $table-head-font-size;
51
+ color: $table-head-font-color;
52
+ text-align: $default-float;
53
+ }
54
+ }
55
+ }
56
+
57
+ tr {
58
+ th,
59
+ td {
60
+ padding: $table-row-padding;
61
+ font-size: $table-row-font-size;
62
+ color: $table-row-font-color;
63
+ }
64
+
65
+ &.even,
66
+ &.alt,
67
+ &:nth-of-type(even) { background: $table-even-row-bg; }
68
+ }
69
+
70
+ thead tr th,
71
+ tfoot tr th,
72
+ tbody tr td,
73
+ tr td,
74
+ tfoot tr td { display: $table-display; line-height: $table-line-height; }
75
+ }
76
+
77
+ @if $include-html-table-classes {
78
+
79
+ /* Tables */
80
+ table {
81
+ @include table;
82
+ }
83
+
84
+ }
@@ -0,0 +1,48 @@
1
+ //
2
+ // Image Thumbnail Variables
3
+ //
4
+ $include-html-media-classes: $include-html-classes !default;
5
+
6
+ // We use these to control border styles
7
+ $thumb-border-style: solid !default;
8
+ $thumb-border-width: 4px !default;
9
+ $thumb-border-color: #fff !default;
10
+ $thumb-box-shadow: 0 0 0 1px rgba(#000,.2) !default;
11
+ $thumb-box-shadow-hover: 0 0 6px 1px rgba($primary-color,0.5) !default;
12
+
13
+ // Radius and transition speed for thumbs
14
+ $thumb-radius: $global-radius !default;
15
+ $thumb-transition-speed: 200ms !default;
16
+
17
+ //
18
+ // Image Thumbnail Mixins
19
+ //
20
+
21
+ // We use this to create image thumbnail styles.
22
+ @mixin thumb($border-width:$thumb-border-width, $box-shadow:$thumb-box-shadow, $box-shadow-hover:$thumb-box-shadow-hover) {
23
+ line-height: 0;
24
+ display: inline-block;
25
+ border: $thumb-border-style $border-width $thumb-border-color;
26
+ -webkit-box-shadow: $box-shadow;
27
+ box-shadow: $box-shadow;
28
+
29
+ &:hover,
30
+ &:focus { -webkit-box-shadow: $box-shadow-hover; box-shadow: $box-shadow-hover; }
31
+ }
32
+
33
+
34
+ // If html classes are turned on we'll include these classes.
35
+ @if $include-html-media-classes != false {
36
+
37
+ /* Image Thumbnails */
38
+ .th {
39
+ @include thumb;
40
+ @include single-transition(all,$thumb-transition-speed,ease-out);
41
+
42
+ &.radius { @include radius($thumb-radius); }
43
+ }
44
+ a.th { display: block; }
45
+
46
+ }
47
+
48
+