compass-helium 0.0.1
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.
- data/README.md +47 -0
- data/lib/compass-helium.rb +3 -0
- data/stylesheets/_compass-helium.scss +17 -0
- data/stylesheets/compass-helium/buttons.scss +520 -0
- data/stylesheets/compass-helium/components.scss +109 -0
- data/stylesheets/compass-helium/config.scss +134 -0
- data/stylesheets/compass-helium/dropdowns.scss +94 -0
- data/stylesheets/compass-helium/forms.scss +272 -0
- data/stylesheets/compass-helium/grid.scss +113 -0
- data/stylesheets/compass-helium/master.scss +17 -0
- data/stylesheets/compass-helium/modals.scss +159 -0
- data/stylesheets/compass-helium/navs.scss +264 -0
- data/stylesheets/compass-helium/type.scss +150 -0
- data/stylesheets/compass-helium/utilities.scss +272 -0
- data/stylesheets/compass-helium/webfonts.scss +8 -0
- data/templates/project/config.rb +12 -0
- data/templates/project/fonts/entypo.eot +0 -0
- data/templates/project/fonts/entypo.svg +13 -0
- data/templates/project/fonts/entypo.ttf +0 -0
- data/templates/project/fonts/entypo.woff +0 -0
- data/templates/project/forms.html +439 -0
- data/templates/project/index.html +151 -0
- data/templates/project/js/bootstrap-collapse.js +156 -0
- data/templates/project/js/bootstrap-dropdown.js +153 -0
- data/templates/project/js/bootstrap-modal-ck.js +18 -0
- data/templates/project/js/bootstrap-modal.js +234 -0
- data/templates/project/js/bootstrap-transition.js +60 -0
- data/templates/project/js/bootstrap.min.js +6 -0
- data/templates/project/js/jquery.min.js +2 -0
- data/templates/project/manifest.rb +30 -0
- data/templates/project/modals.html +152 -0
- data/templates/project/sass/style.scss +3 -0
- metadata +116 -0
data/README.md
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
# 
|
2
|
+
|
3
|
+
This scaffolding is meant to encourage rapid development with Compass Extensions. Customize everything, make it your own! Build and publishing instructions are in the gemspec file.
|
4
|
+
|
5
|
+
## Contribute
|
6
|
+
Please fork this repository, then submit a pull request with your changes in a new branch.
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
### Bundler
|
11
|
+
If you want to bundle into your app, install bundler.
|
12
|
+
|
13
|
+
$ gem install bundler
|
14
|
+
|
15
|
+
With Bundler installed, add this to your Gemfile.
|
16
|
+
|
17
|
+
group :assets do
|
18
|
+
gem 'compass-helium'
|
19
|
+
end
|
20
|
+
|
21
|
+
Run this in the command line:
|
22
|
+
|
23
|
+
$ bundle install
|
24
|
+
$ git add Gemfile Gemfile.lock
|
25
|
+
|
26
|
+
### Manual
|
27
|
+
If bundler isn't your thing, install this gem.
|
28
|
+
|
29
|
+
$ gem install compass-helium
|
30
|
+
|
31
|
+
Next in your Compass project add this to your config.rb
|
32
|
+
|
33
|
+
require 'compass-helium'
|
34
|
+
|
35
|
+
## Documentation
|
36
|
+
|
37
|
+
To get started install into your project.
|
38
|
+
|
39
|
+
compass install compass-helium
|
40
|
+
|
41
|
+
Then verify it's installed.
|
42
|
+
|
43
|
+
compass help compass-helium
|
44
|
+
|
45
|
+
## Credits
|
46
|
+
|
47
|
+
This Compass extension for [helium](https://github.com/cbrauckmuller/helium) was created by **[Stephen Way](https://twitter.com/stephencway)**
|
@@ -0,0 +1,17 @@
|
|
1
|
+
// Compass files first
|
2
|
+
@import "compass/css3";
|
3
|
+
@import "compass/reset";
|
4
|
+
|
5
|
+
// Import core files in this order
|
6
|
+
@import "compass-helium/config";
|
7
|
+
@import "compass-helium/utilities";
|
8
|
+
@import "compass-helium/grid";
|
9
|
+
@import "compass-helium/type";
|
10
|
+
|
11
|
+
// Optional components
|
12
|
+
@import "compass-helium/webfonts";
|
13
|
+
@import "compass-helium/forms";
|
14
|
+
@import "compass-helium/buttons";
|
15
|
+
@import "compass-helium/navs";
|
16
|
+
@import "compass-helium/dropdowns";
|
17
|
+
@import "compass-helium/modals";
|
@@ -0,0 +1,520 @@
|
|
1
|
+
// Button sizing
|
2
|
+
// -------------
|
3
|
+
|
4
|
+
@mixin button-size($height, $font-size, $border-width, $border-color, $horizontal-padding) {
|
5
|
+
|
6
|
+
height: $height;
|
7
|
+
padding: ($height - $font-size - ($border-width * 2)) / 2 $horizontal-padding;
|
8
|
+
font-size: $font-size;
|
9
|
+
}
|
10
|
+
|
11
|
+
// Button border
|
12
|
+
// -------------
|
13
|
+
|
14
|
+
@mixin button-border($theme) {
|
15
|
+
@if $theme == "glossy" {
|
16
|
+
border-color: $button-border-color;
|
17
|
+
}
|
18
|
+
|
19
|
+
@if $theme == "flat" {
|
20
|
+
border-color: $button-border-color;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
// Button theme
|
25
|
+
// ------------
|
26
|
+
|
27
|
+
@mixin button-theme($theme) {
|
28
|
+
@if $theme == "glossy" {
|
29
|
+
@include background-image(
|
30
|
+
linear-gradient(
|
31
|
+
top,
|
32
|
+
$button-highlight 1px,
|
33
|
+
$button-shine 1px,
|
34
|
+
$button-shine 2px,
|
35
|
+
$button-highlight 2px,
|
36
|
+
$button-lowlight 100%
|
37
|
+
)
|
38
|
+
);
|
39
|
+
@include box-shadow($button-box-shadow);
|
40
|
+
text-shadow: 0px 1px 0px $button-shine;
|
41
|
+
}
|
42
|
+
|
43
|
+
@if $theme == "flat" {
|
44
|
+
background: $button-solid-background;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
// Custom colored buttons
|
49
|
+
// ----------------------
|
50
|
+
|
51
|
+
@mixin button-custom(
|
52
|
+
$theme,
|
53
|
+
$background-color,
|
54
|
+
$text-color,
|
55
|
+
$reversed: false
|
56
|
+
) {
|
57
|
+
|
58
|
+
@if $theme == "glossy" {
|
59
|
+
@include background-image(
|
60
|
+
linear-gradient(
|
61
|
+
top,
|
62
|
+
lighten($background-color, 5%) 1px,
|
63
|
+
lighten($background-color, 10%) 1px,
|
64
|
+
lighten($background-color, 10%) 2px,
|
65
|
+
lighten($background-color, 5%) 2px,
|
66
|
+
darken($background-color, 5%) 100%
|
67
|
+
)
|
68
|
+
);
|
69
|
+
}
|
70
|
+
|
71
|
+
@if $theme == "flat" {
|
72
|
+
background: $background-color;
|
73
|
+
}
|
74
|
+
|
75
|
+
@if $reversed == true {
|
76
|
+
text-shadow: 0px 1px 0px rgba(0,0,0,0.2);
|
77
|
+
@include box-shadow(0px 1px 0px rgba(0,0,0,0.2));
|
78
|
+
}
|
79
|
+
|
80
|
+
@if $reversed == false {
|
81
|
+
text-shadow: 0px 1px 0px rgba(0,0,0,0.2);
|
82
|
+
}
|
83
|
+
|
84
|
+
color: $text-color;
|
85
|
+
|
86
|
+
&:hover {
|
87
|
+
|
88
|
+
@if $theme == "glossy" {
|
89
|
+
@include background-image(
|
90
|
+
linear-gradient(
|
91
|
+
top,
|
92
|
+
lighten($background-color, 10%) 1px,
|
93
|
+
lighten($background-color, 15%) 1px,
|
94
|
+
lighten($background-color, 15%) 2px,
|
95
|
+
lighten($background-color, 15%) 2px,
|
96
|
+
darken($background-color, 0%) 100%
|
97
|
+
)
|
98
|
+
);
|
99
|
+
}
|
100
|
+
|
101
|
+
@if $theme == "flat" {
|
102
|
+
background: lighten($background-color, 5%);
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
&:active,
|
107
|
+
&.active {
|
108
|
+
|
109
|
+
@if $theme == "glossy" {
|
110
|
+
@include background-image(
|
111
|
+
linear-gradient(
|
112
|
+
top,
|
113
|
+
darken($background-color, 5%) 0%,
|
114
|
+
$background-color 100%
|
115
|
+
)
|
116
|
+
);
|
117
|
+
@include box-shadow(inset 0px 1px 2px rgba(0,0,0,0.15));
|
118
|
+
}
|
119
|
+
|
120
|
+
@if $theme == "flat" {
|
121
|
+
background: darken($background-color, 5%);
|
122
|
+
}
|
123
|
+
}
|
124
|
+
}
|
125
|
+
|
126
|
+
// Base button styles
|
127
|
+
// ------------------
|
128
|
+
|
129
|
+
.button {
|
130
|
+
|
131
|
+
@include clearfix();
|
132
|
+
@include background-origin(border-box);
|
133
|
+
@include background-clip(border-box);
|
134
|
+
@include border-radius($button-border-radius);
|
135
|
+
@include button-size($button-height, $button-font-size, $button-border-width, $button-border-color, $button-horizontal-padding);
|
136
|
+
@include button-border($button-theme);
|
137
|
+
@include button-theme($button-theme);
|
138
|
+
|
139
|
+
display: inline-block;
|
140
|
+
margin: 0 $base-font-size / 4 0 0;
|
141
|
+
border-width: $button-border-width;
|
142
|
+
border-style: solid;
|
143
|
+
cursor: pointer;
|
144
|
+
|
145
|
+
color: $button-font-color;
|
146
|
+
font-family: $button-font-family;
|
147
|
+
font-weight: $button-font-weight;
|
148
|
+
line-height: 1;
|
149
|
+
text-align: center;
|
150
|
+
text-decoration: none;
|
151
|
+
vertical-align: middle;
|
152
|
+
|
153
|
+
// Last child
|
154
|
+
// ----------
|
155
|
+
|
156
|
+
&:last-child {
|
157
|
+
margin-right: 0;
|
158
|
+
}
|
159
|
+
|
160
|
+
// Button icons
|
161
|
+
// ------------
|
162
|
+
|
163
|
+
.icon {
|
164
|
+
position: relative;
|
165
|
+
vertical-align: top;
|
166
|
+
top: ($button-font-size - $button-icon-size) / 2;
|
167
|
+
}
|
168
|
+
|
169
|
+
// Buttons with icon dividers
|
170
|
+
// --------------------------
|
171
|
+
|
172
|
+
&.has-icon-divider {
|
173
|
+
position: relative;
|
174
|
+
|
175
|
+
.icon.icon-prepend {
|
176
|
+
margin-right: ($button-font-size * 1.8);
|
177
|
+
}
|
178
|
+
|
179
|
+
&:before {
|
180
|
+
@include pseudo();
|
181
|
+
width: 1px;
|
182
|
+
height: 100%;
|
183
|
+
background: $button-border-color;
|
184
|
+
left: $button-horizontal-padding + $button-icon-size + $button-font-size - 2;
|
185
|
+
top: 0px;
|
186
|
+
}
|
187
|
+
}
|
188
|
+
|
189
|
+
// Hover state
|
190
|
+
// -----------
|
191
|
+
|
192
|
+
&:hover {
|
193
|
+
|
194
|
+
@if $button-theme == "glossy" {
|
195
|
+
|
196
|
+
@include background-image(
|
197
|
+
linear-gradient(
|
198
|
+
top,
|
199
|
+
$button-shine 0px,
|
200
|
+
lighten($button-highlight, 3%) 1px,
|
201
|
+
lighten($button-lowlight, 3%) 100%
|
202
|
+
)
|
203
|
+
);
|
204
|
+
|
205
|
+
}
|
206
|
+
|
207
|
+
@if $button-theme == "flat" {
|
208
|
+
background: lighten($button-solid-background, 5%);
|
209
|
+
}
|
210
|
+
|
211
|
+
color: $button-font-color;
|
212
|
+
text-decoration: none;
|
213
|
+
}
|
214
|
+
|
215
|
+
// Active state
|
216
|
+
// ------------
|
217
|
+
|
218
|
+
&:active,
|
219
|
+
&.active {
|
220
|
+
|
221
|
+
@if $button-theme == "glossy" {
|
222
|
+
@include background-image(
|
223
|
+
linear-gradient(
|
224
|
+
top,
|
225
|
+
$button-lowlight 0px,
|
226
|
+
$button-highlight 100%
|
227
|
+
)
|
228
|
+
);
|
229
|
+
@include box-shadow(inset 0px 1px 2px rgba(0,0,0,0.15));
|
230
|
+
}
|
231
|
+
|
232
|
+
@if $button-theme == "flat" {
|
233
|
+
background: darken($button-solid-background, 5%);
|
234
|
+
}
|
235
|
+
}
|
236
|
+
|
237
|
+
// Focus state
|
238
|
+
// -----------
|
239
|
+
|
240
|
+
&:focus {
|
241
|
+
outline: none;
|
242
|
+
}
|
243
|
+
|
244
|
+
// Large buttons
|
245
|
+
// -------------
|
246
|
+
|
247
|
+
&.button-large {
|
248
|
+
|
249
|
+
$height: $button-large-height;
|
250
|
+
$font-size: $button-large-font-size;
|
251
|
+
$border-width: $button-border-width;
|
252
|
+
$border-color: $button-border-color;
|
253
|
+
$horizontal-padding: $button-large-horizontal-padding;
|
254
|
+
|
255
|
+
@include button-size($height, $font-size, $border-width, $border-color, $horizontal-padding);
|
256
|
+
|
257
|
+
.icon {
|
258
|
+
top: ($font-size - $button-icon-size) / 2;
|
259
|
+
}
|
260
|
+
|
261
|
+
&.has-icon-divider {
|
262
|
+
|
263
|
+
.icon.icon-prepend {
|
264
|
+
margin-right: $horizontal-padding * 2;
|
265
|
+
}
|
266
|
+
|
267
|
+
&:before {
|
268
|
+
left: $horizontal-padding + $button-icon-size + $horizontal-padding - 2;
|
269
|
+
}
|
270
|
+
}
|
271
|
+
}
|
272
|
+
|
273
|
+
// Small buttons
|
274
|
+
// -------------
|
275
|
+
|
276
|
+
&.button-small {
|
277
|
+
|
278
|
+
$height: $button-small-height;
|
279
|
+
$font-size: $button-small-font-size;
|
280
|
+
$border-width: $button-border-width;
|
281
|
+
$border-color: $button-border-color;
|
282
|
+
$horizontal-padding: $button-small-horizontal-padding;
|
283
|
+
|
284
|
+
@include button-size($height, $font-size, $border-width, $border-color, $horizontal-padding);
|
285
|
+
|
286
|
+
.icon {
|
287
|
+
top: ($font-size - $button-icon-size) / 2;
|
288
|
+
}
|
289
|
+
|
290
|
+
&.has-icon-divider {
|
291
|
+
|
292
|
+
.icon.icon-prepend {
|
293
|
+
margin-right: $horizontal-padding * 2;
|
294
|
+
}
|
295
|
+
|
296
|
+
&:before {
|
297
|
+
left: $horizontal-padding + $button-icon-size + $horizontal-padding - 2;
|
298
|
+
}
|
299
|
+
}
|
300
|
+
}
|
301
|
+
|
302
|
+
// Pill buttons
|
303
|
+
// ------------
|
304
|
+
|
305
|
+
&.button-pill {
|
306
|
+
@include border-radius(100px);
|
307
|
+
padding-left: 1.5em;
|
308
|
+
padding-right: 1.5em;
|
309
|
+
}
|
310
|
+
|
311
|
+
// Custom buttons
|
312
|
+
// --------------
|
313
|
+
|
314
|
+
&.button-facebook {
|
315
|
+
@include button-custom(
|
316
|
+
$theme: $button-theme,
|
317
|
+
$background-color: $facebook-blue,
|
318
|
+
$text-color: #fff,
|
319
|
+
$reversed: true
|
320
|
+
);
|
321
|
+
}
|
322
|
+
|
323
|
+
&.button-twitter {
|
324
|
+
@include button-custom(
|
325
|
+
$theme: $button-theme,
|
326
|
+
$background-color: darken($twitter-blue, 5%),
|
327
|
+
$text-color: #fff,
|
328
|
+
$reversed: true
|
329
|
+
);
|
330
|
+
}
|
331
|
+
|
332
|
+
// Disabled buttons
|
333
|
+
// ----------------
|
334
|
+
|
335
|
+
&.button-disabled {
|
336
|
+
opacity: 0.5;
|
337
|
+
cursor: not-allowed;
|
338
|
+
}
|
339
|
+
}
|
340
|
+
|
341
|
+
// Button dropdowns
|
342
|
+
// ----------------
|
343
|
+
|
344
|
+
.has-dropdown.button-dropdown {
|
345
|
+
display: inline-block;
|
346
|
+
margin-right: $base-font-size / 4; // Add back button right margin
|
347
|
+
|
348
|
+
.button {
|
349
|
+
margin-right: 0; // Remove button right margin so button and container are coterminous
|
350
|
+
padding-right: ($button-horizontal-padding * 1.5) + ($button-caret-height * 2);
|
351
|
+
|
352
|
+
.caret {
|
353
|
+
display: block;
|
354
|
+
position: absolute;
|
355
|
+
top: 0;
|
356
|
+
right: $button-horizontal-padding;
|
357
|
+
width: $navbar-caret-height * 2;
|
358
|
+
height: $button-height;
|
359
|
+
|
360
|
+
&:after {
|
361
|
+
@include css-triangle($navbar-caret-height, $button-font-color, top);
|
362
|
+
position: absolute;
|
363
|
+
top: ($button-height / 2) - ($navbar-caret-height / 2);
|
364
|
+
left: 0;
|
365
|
+
}
|
366
|
+
}
|
367
|
+
}
|
368
|
+
|
369
|
+
.dropdown {
|
370
|
+
left: 0;
|
371
|
+
margin-top: -1px;
|
372
|
+
@include border-radius(0 $small-border-radius $small-border-radius $small-border-radius);
|
373
|
+
|
374
|
+
&.right {
|
375
|
+
left: auto;
|
376
|
+
right: 0;
|
377
|
+
@include border-radius($small-border-radius 0 $small-border-radius $small-border-radius);
|
378
|
+
|
379
|
+
}
|
380
|
+
|
381
|
+
> li {
|
382
|
+
> a {
|
383
|
+
padding-left: $button-horizontal-padding;
|
384
|
+
padding-right: $button-horizontal-padding;
|
385
|
+
}
|
386
|
+
}
|
387
|
+
}
|
388
|
+
|
389
|
+
&.open {
|
390
|
+
|
391
|
+
> .button {
|
392
|
+
|
393
|
+
@if $button-theme == "glossy" {
|
394
|
+
@include box-shadow($dropdown-box-shadow);
|
395
|
+
}
|
396
|
+
|
397
|
+
@if $button-theme == "flat" {
|
398
|
+
border-color: $button-border-color;
|
399
|
+
}
|
400
|
+
|
401
|
+
@include border-radius($button-border-radius $button-border-radius 0 0);
|
402
|
+
|
403
|
+
background: $dropdown-background;
|
404
|
+
color: $base-font-color;
|
405
|
+
text-shadow: none;
|
406
|
+
}
|
407
|
+
}
|
408
|
+
}
|
409
|
+
|
410
|
+
// Button groups
|
411
|
+
// -------------
|
412
|
+
|
413
|
+
.button-group {
|
414
|
+
|
415
|
+
@include clearfix();
|
416
|
+
display: inline-block;
|
417
|
+
vertical-align: middle;
|
418
|
+
margin: 0 $base-font-size / 4 0 0;
|
419
|
+
|
420
|
+
> * {
|
421
|
+
float: left;
|
422
|
+
}
|
423
|
+
|
424
|
+
.button {
|
425
|
+
@include border-radius(0);
|
426
|
+
margin-right: 0;
|
427
|
+
|
428
|
+
@if $button-theme == "glossy" {
|
429
|
+
border-right: none;
|
430
|
+
}
|
431
|
+
|
432
|
+
@if $button-theme == "flat" {
|
433
|
+
border-right-color: $button-border-color;
|
434
|
+
}
|
435
|
+
}
|
436
|
+
|
437
|
+
> .button {
|
438
|
+
|
439
|
+
&:first-child {
|
440
|
+
@include border-radius($button-border-radius 0 0 $button-border-radius);
|
441
|
+
}
|
442
|
+
|
443
|
+
&:last-child {
|
444
|
+
@include border-radius(0 $button-border-radius $button-border-radius 0);
|
445
|
+
@include button-border($button-theme);
|
446
|
+
border-right-style: solid;
|
447
|
+
border-right-width: $button-border-width;
|
448
|
+
}
|
449
|
+
}
|
450
|
+
|
451
|
+
// Dropdowns in button groups
|
452
|
+
// --------------------------
|
453
|
+
|
454
|
+
.has-dropdown.button-dropdown {
|
455
|
+
|
456
|
+
margin-right: 0;
|
457
|
+
|
458
|
+
.dropdown {
|
459
|
+
@include border-radius(0 0 $small-border-radius $small-border-radius);
|
460
|
+
}
|
461
|
+
|
462
|
+
&:first-child {
|
463
|
+
.button {
|
464
|
+
@include border-radius($button-border-radius 0 0 $button-border-radius);
|
465
|
+
}
|
466
|
+
}
|
467
|
+
|
468
|
+
&:last-child {
|
469
|
+
.button {
|
470
|
+
@include border-radius(0 $button-border-radius $button-border-radius 0);
|
471
|
+
@include button-border($button-theme);
|
472
|
+
border-right-style: solid;
|
473
|
+
border-right-width: $button-border-width;
|
474
|
+
|
475
|
+
@if $button-theme == "flat" {
|
476
|
+
border-left: none;
|
477
|
+
}
|
478
|
+
}
|
479
|
+
}
|
480
|
+
|
481
|
+
&.open {
|
482
|
+
.button {
|
483
|
+
@include border-radius(0);
|
484
|
+
|
485
|
+
@if $button-theme == "flat" {
|
486
|
+
border-color: $button-border-color;
|
487
|
+
}
|
488
|
+
}
|
489
|
+
|
490
|
+
&:first-child {
|
491
|
+
.button {
|
492
|
+
@include border-radius($button-border-radius 0 0 0);
|
493
|
+
}
|
494
|
+
}
|
495
|
+
|
496
|
+
&:last-child {
|
497
|
+
.button {
|
498
|
+
@include border-radius(0 $button-border-radius 0 0);
|
499
|
+
}
|
500
|
+
}
|
501
|
+
}
|
502
|
+
}
|
503
|
+
}
|
504
|
+
|
505
|
+
// Button icons
|
506
|
+
// ------------
|
507
|
+
|
508
|
+
.icon {
|
509
|
+
font-family: "Entypo";
|
510
|
+
display: inline-block;
|
511
|
+
width: 16px;
|
512
|
+
height: 16px;
|
513
|
+
@include border-radius(100px);
|
514
|
+
background: rgba(0,0,0,0.2);
|
515
|
+
vertical-align: middle;
|
516
|
+
|
517
|
+
&.icon-prepend {
|
518
|
+
margin-right: 0.8em;
|
519
|
+
}
|
520
|
+
}
|