bootstrap-generators 2.0.4 → 2.1.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.
Files changed (104) hide show
  1. data/README.md +211 -63
  2. data/lib/bootstrap/generators/version.rb +1 -1
  3. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.css.scss +102 -28
  4. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.less +104 -31
  5. data/vendor/assets/images/glyphicons-halflings.png +0 -0
  6. data/vendor/assets/javascripts/bootstrap-affix.js +104 -0
  7. data/vendor/assets/javascripts/bootstrap-alert.js +1 -1
  8. data/vendor/assets/javascripts/bootstrap-button.js +2 -2
  9. data/vendor/assets/javascripts/bootstrap-carousel.js +12 -5
  10. data/vendor/assets/javascripts/bootstrap-collapse.js +4 -3
  11. data/vendor/assets/javascripts/bootstrap-dropdown.js +66 -16
  12. data/vendor/assets/javascripts/bootstrap-modal.js +95 -74
  13. data/vendor/assets/javascripts/bootstrap-popover.js +9 -4
  14. data/vendor/assets/javascripts/bootstrap-scrollspy.js +9 -9
  15. data/vendor/assets/javascripts/bootstrap-tab.js +2 -2
  16. data/vendor/assets/javascripts/bootstrap-tooltip.js +15 -15
  17. data/vendor/assets/javascripts/bootstrap-transition.js +2 -3
  18. data/vendor/assets/javascripts/bootstrap-typeahead.js +51 -36
  19. data/vendor/assets/javascripts/bootstrap.js +1 -1
  20. data/vendor/assets/stylesheets/bootstrap-responsive.css +1058 -0
  21. data/vendor/assets/stylesheets/bootstrap-responsive.min.css +9 -0
  22. data/vendor/assets/stylesheets/bootstrap.css +5774 -0
  23. data/vendor/assets/stylesheets/bootstrap.min.css +9 -0
  24. data/vendor/twitter/bootstrap/less/accordion.less +3 -2
  25. data/vendor/twitter/bootstrap/less/alerts.less +16 -9
  26. data/vendor/twitter/bootstrap/less/bootstrap.less +1 -1
  27. data/vendor/twitter/bootstrap/less/breadcrumbs.less +10 -10
  28. data/vendor/twitter/bootstrap/less/button-groups.less +79 -25
  29. data/vendor/twitter/bootstrap/less/buttons.less +107 -67
  30. data/vendor/twitter/bootstrap/less/carousel.less +13 -3
  31. data/vendor/twitter/bootstrap/less/close.less +4 -2
  32. data/vendor/twitter/bootstrap/less/code.less +6 -5
  33. data/vendor/twitter/bootstrap/less/component-animations.less +4 -2
  34. data/vendor/twitter/bootstrap/less/dropdowns.less +82 -15
  35. data/vendor/twitter/bootstrap/less/forms.less +124 -57
  36. data/vendor/twitter/bootstrap/less/grid.less +17 -1
  37. data/vendor/twitter/bootstrap/less/hero-unit.less +4 -2
  38. data/vendor/twitter/bootstrap/less/labels-badges.less +19 -2
  39. data/vendor/twitter/bootstrap/less/layouts.less +1 -2
  40. data/vendor/twitter/bootstrap/less/mixins.less +112 -77
  41. data/vendor/twitter/bootstrap/less/modals.less +12 -4
  42. data/vendor/twitter/bootstrap/less/navbar.less +245 -128
  43. data/vendor/twitter/bootstrap/less/navs.less +38 -17
  44. data/vendor/twitter/bootstrap/less/pager.less +11 -7
  45. data/vendor/twitter/bootstrap/less/pagination.less +23 -15
  46. data/vendor/twitter/bootstrap/less/popovers.less +101 -33
  47. data/vendor/twitter/bootstrap/less/progress-bars.less +18 -13
  48. data/vendor/twitter/bootstrap/less/reset.less +10 -4
  49. data/vendor/twitter/bootstrap/less/responsive-1200px-min.less +9 -7
  50. data/vendor/twitter/bootstrap/less/responsive-767px-max.less +95 -70
  51. data/vendor/twitter/bootstrap/less/responsive-768px-979px.less +7 -5
  52. data/vendor/twitter/bootstrap/less/responsive-navbar.less +30 -6
  53. data/vendor/twitter/bootstrap/less/responsive-utilities.less +17 -15
  54. data/vendor/twitter/bootstrap/less/responsive.less +5 -5
  55. data/vendor/twitter/bootstrap/less/scaffolding.less +27 -4
  56. data/vendor/twitter/bootstrap/less/sprites.less +21 -19
  57. data/vendor/twitter/bootstrap/less/tables.less +81 -12
  58. data/vendor/twitter/bootstrap/less/thumbnails.less +9 -4
  59. data/vendor/twitter/bootstrap/less/tooltip.less +47 -12
  60. data/vendor/twitter/bootstrap/less/type.less +75 -86
  61. data/vendor/twitter/bootstrap/less/utilities.less +9 -2
  62. data/vendor/twitter/bootstrap/less/variables.less +104 -31
  63. data/vendor/twitter/bootstrap/less/wells.less +7 -5
  64. data/vendor/twitter/bootstrap/sass/_accordion.scss +3 -2
  65. data/vendor/twitter/bootstrap/sass/_alerts.scss +15 -8
  66. data/vendor/twitter/bootstrap/sass/_breadcrumbs.scss +10 -10
  67. data/vendor/twitter/bootstrap/sass/_button-groups.scss +77 -23
  68. data/vendor/twitter/bootstrap/sass/_buttons.scss +106 -66
  69. data/vendor/twitter/bootstrap/sass/_carousel.scss +13 -3
  70. data/vendor/twitter/bootstrap/sass/_close.scss +5 -3
  71. data/vendor/twitter/bootstrap/sass/_code.scss +7 -6
  72. data/vendor/twitter/bootstrap/sass/_component-animations.scss +5 -3
  73. data/vendor/twitter/bootstrap/sass/_dropdowns.scss +85 -18
  74. data/vendor/twitter/bootstrap/sass/_forms.scss +121 -53
  75. data/vendor/twitter/bootstrap/sass/_grid.scss +17 -1
  76. data/vendor/twitter/bootstrap/sass/_hero-unit.scss +4 -2
  77. data/vendor/twitter/bootstrap/sass/_labels-badges.scss +29 -12
  78. data/vendor/twitter/bootstrap/sass/_layouts.scss +2 -3
  79. data/vendor/twitter/bootstrap/sass/_mixins.scss +163 -127
  80. data/vendor/twitter/bootstrap/sass/_modals.scss +12 -4
  81. data/vendor/twitter/bootstrap/sass/_navbar.scss +243 -127
  82. data/vendor/twitter/bootstrap/sass/_navs.scss +36 -15
  83. data/vendor/twitter/bootstrap/sass/_pager.scss +12 -8
  84. data/vendor/twitter/bootstrap/sass/_pagination.scss +23 -15
  85. data/vendor/twitter/bootstrap/sass/_popovers.scss +101 -33
  86. data/vendor/twitter/bootstrap/sass/_progress-bars.scss +18 -13
  87. data/vendor/twitter/bootstrap/sass/_reset.scss +8 -3
  88. data/vendor/twitter/bootstrap/sass/_responsive-1200px-min.scss +9 -7
  89. data/vendor/twitter/bootstrap/sass/_responsive-767px-max.scss +95 -70
  90. data/vendor/twitter/bootstrap/sass/_responsive-768px-979px.scss +8 -6
  91. data/vendor/twitter/bootstrap/sass/_responsive-navbar.scss +29 -5
  92. data/vendor/twitter/bootstrap/sass/_responsive-utilities.scss +32 -15
  93. data/vendor/twitter/bootstrap/sass/_scaffolding.scss +29 -4
  94. data/vendor/twitter/bootstrap/sass/_sprites.scss +21 -19
  95. data/vendor/twitter/bootstrap/sass/_tables.scss +79 -11
  96. data/vendor/twitter/bootstrap/sass/_thumbnails.scss +9 -4
  97. data/vendor/twitter/bootstrap/sass/_tooltip.scss +47 -12
  98. data/vendor/twitter/bootstrap/sass/_type.scss +74 -85
  99. data/vendor/twitter/bootstrap/sass/_utilities.scss +24 -2
  100. data/vendor/twitter/bootstrap/sass/_variables.scss +102 -28
  101. data/vendor/twitter/bootstrap/sass/_wells.scss +7 -5
  102. data/vendor/twitter/bootstrap/sass/bootstrap.scss +1 -1
  103. data/vendor/twitter/bootstrap/sass/responsive.scss +5 -5
  104. metadata +15 -10
@@ -1,7 +1,6 @@
1
1
  //
2
2
  // Layouts
3
- // Fixed-width and fluid (with sidebar) layouts
4
- // --------------------------------------------
3
+ // --------------------------------------------------
5
4
 
6
5
 
7
6
  // Container (centered, fixed-width layouts)
@@ -14,4 +13,4 @@
14
13
  padding-right: $gridGutterWidth;
15
14
  padding-left: $gridGutterWidth;
16
15
  @include clearfix();
17
- }
16
+ }
@@ -1,6 +1,6 @@
1
+ //
1
2
  // Mixins
2
- // Snippets of reusable CSS to develop faster and keep code readable
3
- // -----------------------------------------------------------------
3
+ // --------------------------------------------------
4
4
 
5
5
 
6
6
  // UTILITY MIXINS
@@ -15,16 +15,15 @@
15
15
  &:after {
16
16
  display: table;
17
17
  content: "";
18
+ // Fixes Opera/contenteditable bug:
19
+ // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952
20
+ line-height: 0;
18
21
  }
19
22
  &:after {
20
23
  clear: both;
21
24
  }
22
25
  }
23
26
 
24
- .clearfix {
25
- @include clearfix();
26
- }
27
-
28
27
  // Webkit-style focus
29
28
  // ------------------
30
29
  @mixin tab-focus() {
@@ -46,7 +45,7 @@
46
45
  // IE7 inline-block
47
46
  // ----------------
48
47
  @mixin ie7-inline-block() {
49
- *display: inline; // IE7 inline-block hack
48
+ *display: inline; /* IE7 inline-block hack */
50
49
  *zoom: 1;
51
50
  }
52
51
 
@@ -66,10 +65,6 @@
66
65
 
67
66
  @mixin ie7-restore-right-whitespace() {
68
67
  *margin-right: .3em;
69
-
70
- &:last-child {
71
- *margin-left: 0;
72
- }
73
68
  }
74
69
 
75
70
  // Sizing shortcuts
@@ -85,13 +80,13 @@
85
80
  // Placeholder text
86
81
  // -------------------------
87
82
  @mixin placeholder($color: $placeholderText) {
88
- :-moz-placeholder {
83
+ &:-moz-placeholder {
89
84
  color: $color;
90
85
  }
91
- :-ms-input-placeholder {
86
+ &:-ms-input-placeholder {
92
87
  color: $color;
93
88
  }
94
- ::-webkit-input-placeholder {
89
+ &::-webkit-input-placeholder {
95
90
  color: $color;
96
91
  }
97
92
  }
@@ -116,10 +111,6 @@
116
111
  border: 0;
117
112
  }
118
113
 
119
- .hide-text {
120
- @include hide-text();
121
- }
122
-
123
114
  // FONTS
124
115
  // --------------------------------------------------
125
116
 
@@ -158,11 +149,12 @@
158
149
  @mixin input-block-level {
159
150
  display: block;
160
151
  width: 100%;
161
- min-height: 28px; // Make inputs at least the height of their button counterpart
152
+ min-height: 30px; // Make inputs at least the height of their button counterpart
162
153
  @include box-sizing(border-box); // Makes inputs behave like true block-level elements
163
154
  }
164
155
 
165
156
 
157
+
166
158
  // Mixin for form field states
167
159
  @mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) {
168
160
  // Set the text color
@@ -178,10 +170,15 @@
178
170
  select,
179
171
  textarea {
180
172
  color: $textColor;
173
+ }
174
+ input,
175
+ select,
176
+ textarea {
181
177
  border-color: $borderColor;
178
+ @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
182
179
  &:focus {
183
180
  border-color: darken($borderColor, 10%);
184
- @include box-shadow(0 0 6px lighten($borderColor, 20%));
181
+ @include box-shadow(#{inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($borderColor, 20%)});
185
182
  }
186
183
  }
187
184
  // Give a small background color for input-prepend/-append
@@ -205,8 +202,48 @@
205
202
  border-radius: $radius;
206
203
  }
207
204
 
205
+ // Single Corner Border Radius
206
+ @mixin border-top-left-radius($radius) {
207
+ -webkit-border-top-left-radius: $radius;
208
+ -moz-border-radius-topleft: $radius;
209
+ border-top-left-radius: $radius;
210
+ }
211
+ @mixin border-top-right-radius($radius) {
212
+ -webkit-border-top-right-radius: $radius;
213
+ -moz-border-radius-topright: $radius;
214
+ border-top-right-radius: $radius;
215
+ }
216
+ @mixin border-bottom-right-radius($radius) {
217
+ -webkit-border-bottom-right-radius: $radius;
218
+ -moz-border-radius-bottomright: $radius;
219
+ border-bottom-right-radius: $radius;
220
+ }
221
+ @mixin border-bottom-left-radius($radius) {
222
+ -webkit-border-bottom-left-radius: $radius;
223
+ -moz-border-radius-bottomleft: $radius;
224
+ border-bottom-left-radius: $radius;
225
+ }
226
+
227
+ // Single Side Border Radius
228
+ @mixin border-top-radius($radius) {
229
+ @include border-top-right-radius($radius);
230
+ @include border-top-left-radius($radius);
231
+ }
232
+ @mixin border-right-radius($radius) {
233
+ @include border-top-right-radius($radius);
234
+ @include border-bottom-right-radius($radius);
235
+ }
236
+ @mixin border-bottom-radius($radius) {
237
+ @include border-bottom-right-radius($radius);
238
+ @include border-bottom-left-radius($radius);
239
+ }
240
+ @mixin border-left-radius($radius) {
241
+ @include border-top-left-radius($radius);
242
+ @include border-bottom-left-radius($radius);
243
+ }
244
+
208
245
  // Drop shadows
209
- @mixin box-shadow($shadow) {
246
+ @mixin box-shadow($shadow) { // ToDo: Multiple shadow solution for SASS
210
247
  -webkit-box-shadow: $shadow;
211
248
  -moz-box-shadow: $shadow;
212
249
  box-shadow: $shadow;
@@ -216,11 +253,17 @@
216
253
  @mixin transition($transition) {
217
254
  -webkit-transition: $transition;
218
255
  -moz-transition: $transition;
219
- -ms-transition: $transition;
220
256
  -o-transition: $transition;
221
257
  transition: $transition;
222
258
  }
223
259
 
260
+ @mixin transition-delay($transition-delay) {
261
+ -webkit-transition-delay: $transition-delay;
262
+ -moz-transition-delay: $transition-delay;
263
+ -o-transition-delay: $transition-delay;
264
+ transition-delay: $transition-delay;
265
+ }
266
+
224
267
  // Transformations
225
268
  @mixin rotate($degrees) {
226
269
  -webkit-transform: rotate($degrees);
@@ -243,21 +286,18 @@
243
286
  -o-transform: translate($x, $y);
244
287
  transform: translate($x, $y);
245
288
  }
246
-
247
289
  @mixin skew($x, $y) {
248
290
  -webkit-transform: skew($x, $y);
249
291
  -moz-transform: skew($x, $y);
250
- -ms-transform: skew($x, $y);
292
+ -ms-transform: skewX($x) skewY($y); // See https://github.com/twitter/bootstrap/issues/4885
251
293
  -o-transform: skew($x, $y);
252
294
  transform: skew($x, $y);
253
295
  }
254
-
255
296
  @mixin translate3d($x, $y, $z) {
256
- -webkit-transform: translate($x, $y, $z);
257
- -moz-transform: translate($x, $y, $z);
258
- -ms-transform: translate($x, $y, $z);
259
- -o-transform: translate($x, $y, $z);
260
- transform: translate($x, $y, $z);
297
+ -webkit-transform: translate3d($x, $y, $z);
298
+ -moz-transform: translate3d($x, $y, $z);
299
+ -o-transform: translate3d($x, $y, $z);
300
+ transform: translate3d($x, $y, $z);
261
301
  }
262
302
 
263
303
  // Backface visibility
@@ -267,7 +307,6 @@
267
307
  @mixin backface-visibility($visibility){
268
308
  -webkit-backface-visibility: $visibility;
269
309
  -moz-backface-visibility: $visibility;
270
- -ms-backface-visibility: $visibility;
271
310
  backface-visibility: $visibility;
272
311
  }
273
312
 
@@ -292,15 +331,9 @@
292
331
  @mixin box-sizing($boxmodel) {
293
332
  -webkit-box-sizing: $boxmodel;
294
333
  -moz-box-sizing: $boxmodel;
295
- -ms-box-sizing: $boxmodel;
296
334
  box-sizing: $boxmodel;
297
335
  }
298
336
 
299
- // Uses box-sizing mixin, so must be defined here
300
- .input-block-level {
301
- @include input-block-level();
302
- }
303
-
304
337
  // User select
305
338
  // For selecting text on the page
306
339
  @mixin user-select($select) {
@@ -359,7 +392,9 @@
359
392
  }
360
393
 
361
394
  // Gradient Bar Colors for buttons and alerts
362
- @mixin gradientBar($primaryColor, $secondaryColor) {
395
+ @mixin gradientBar($primaryColor, $secondaryColor, $textColor: #fff, $textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
396
+ color: $textColor;
397
+ text-shadow: $textShadow;
363
398
  @include gradient-vertical($primaryColor, $secondaryColor);
364
399
  border-color: $secondaryColor $secondaryColor darken($secondaryColor, 15%);
365
400
  border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fade-in(rgba(0,0,0,.1), 0.15);
@@ -369,60 +404,54 @@
369
404
  @mixin gradient-horizontal($startColor: #555, $endColor: #333) {
370
405
  background-color: $endColor;
371
406
  background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
372
- background-image: -ms-linear-gradient(left, $startColor, $endColor); // IE10
373
407
  background-image: -webkit-gradient(linear, 0 0, 100% 0, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
374
408
  background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
375
409
  background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
376
- background-image: linear-gradient(left, $startColor, $endColor); // Le standard
410
+ background-image: linear-gradient(to right, $startColor, $endColor); // Standard, IE10
377
411
  background-repeat: repeat-x;
378
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{darken($startColor, 1%)}', endColorstr='#{darken($endColor, 1%)}', GradientType=1); // IE9 and down
412
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down
379
413
  }
380
414
  @mixin gradient-vertical($startColor: #555, $endColor: #333) {
381
- background-color: mix($startColor, $endColor, 60%);
415
+ background-color: mix($startColor, $endColor, 62.5%);
382
416
  background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
383
- background-image: -ms-linear-gradient(top, $startColor, $endColor); // IE10
384
417
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
385
418
  background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+
386
419
  background-image: -o-linear-gradient(top, $startColor, $endColor); // Opera 11.10
387
- background-image: linear-gradient(top, $startColor, $endColor); // The standard
420
+ background-image: linear-gradient(to bottom, $startColor, $endColor); // Standard, IE10
388
421
  background-repeat: repeat-x;
389
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{darken($startColor, 1%)}', endColorstr='#{darken($endColor, 1%)}', GradientType=0); // IE9 and down
422
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=0); // IE9 and down
390
423
  }
391
424
  @mixin gradient-directional($startColor: #555, $endColor: #333, $deg: 45deg) {
392
425
  background-color: $endColor;
393
426
  background-repeat: repeat-x;
394
427
  background-image: -moz-linear-gradient($deg, $startColor, $endColor); // FF 3.6+
395
- background-image: -ms-linear-gradient($deg, $startColor, $endColor); // IE10
396
428
  background-image: -webkit-linear-gradient($deg, $startColor, $endColor); // Safari 5.1+, Chrome 10+
397
429
  background-image: -o-linear-gradient($deg, $startColor, $endColor); // Opera 11.10
398
- background-image: linear-gradient($deg, $startColor, $endColor); // The standard
430
+ background-image: linear-gradient($deg, $startColor, $endColor); // Standard, IE10
399
431
  }
400
432
  @mixin gradient-vertical-three-colors($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
401
433
  background-color: mix($midColor, $endColor, 80%);
402
434
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
403
435
  background-image: -webkit-linear-gradient($startColor, $midColor $colorStop, $endColor);
404
436
  background-image: -moz-linear-gradient(top, $startColor, $midColor $colorStop, $endColor);
405
- background-image: -ms-linear-gradient($startColor, $midColor $colorStop, $endColor);
406
437
  background-image: -o-linear-gradient($startColor, $midColor $colorStop, $endColor);
407
438
  background-image: linear-gradient($startColor, $midColor $colorStop, $endColor);
408
439
  background-repeat: no-repeat;
409
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{darken($startColor, 1%)}', endColorstr='#{darken($endColor, 1%)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
440
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
410
441
  }
411
442
  @mixin gradient-radial($innerColor: #555, $outerColor: #333) {
412
443
  background-color: $outerColor;
413
444
  background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($innerColor), to($outerColor));
414
445
  background-image: -webkit-radial-gradient(circle, $innerColor, $outerColor);
415
446
  background-image: -moz-radial-gradient(circle, $innerColor, $outerColor);
416
- background-image: -ms-radial-gradient(circle, $innerColor, $outerColor);
417
447
  background-image: -o-radial-gradient(circle, $innerColor, $outerColor);
418
448
  background-repeat: no-repeat;
419
449
  }
420
- @mixin gradient-striped($color, $angle: -45deg) {
450
+ @mixin gradient-striped($color: #555, $angle: 45deg) {
421
451
  background-color: $color;
422
452
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
423
453
  background-image: -webkit-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
424
454
  background-image: -moz-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
425
- background-image: -ms-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
426
455
  background-image: -o-linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
427
456
  background-image: linear-gradient($angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
428
457
  }
@@ -456,14 +485,15 @@
456
485
 
457
486
  // Button backgrounds
458
487
  // ------------------
459
- @mixin buttonBackground($startColor, $endColor) {
488
+ @mixin buttonBackground($startColor, $endColor, $textColor: #fff, $textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
460
489
  // gradientBar will set the background to a pleasing blend of these, to support IE<=9
461
- @include gradientBar($startColor, $endColor);
490
+ @include gradientBar($startColor, $endColor, $textColor, $textShadow);
462
491
  *background-color: $endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
463
492
  @include gradient-reset-filter();
464
493
 
465
494
  // in these cases the gradient won't cover the background, so we override
466
495
  &:hover, &:active, &.active, &.disabled, &[disabled] {
496
+ color: $textColor;
467
497
  background-color: $endColor;
468
498
  *background-color: darken($endColor, 5%);
469
499
  }
@@ -483,41 +513,7 @@
483
513
  margin-top: ($navbarHeight - $elementHeight) / 2;
484
514
  }
485
515
 
486
- // Popover arrows
487
- // -------------------------
488
- // For tipsies and popovers
489
- @mixin popoverArrow-top($arrowWidth: 5px, $color: $black) {
490
- bottom: 0;
491
- left: 50%;
492
- margin-left: -$arrowWidth;
493
- border-left: $arrowWidth solid transparent;
494
- border-right: $arrowWidth solid transparent;
495
- border-top: $arrowWidth solid $color;
496
- }
497
- @mixin popoverArrow-left($arrowWidth: 5px, $color: $black) {
498
- top: 50%;
499
- right: 0;
500
- margin-top: -$arrowWidth;
501
- border-top: $arrowWidth solid transparent;
502
- border-bottom: $arrowWidth solid transparent;
503
- border-left: $arrowWidth solid $color;
504
- }
505
- @mixin popoverArrow-bottom($arrowWidth: 5px, $color: $black) {
506
- top: 0;
507
- left: 50%;
508
- margin-left: -$arrowWidth;
509
- border-left: $arrowWidth solid transparent;
510
- border-right: $arrowWidth solid transparent;
511
- border-bottom: $arrowWidth solid $color;
512
- }
513
- @mixin popoverArrow-right($arrowWidth: 5px, $color: $black) {
514
- top: 50%;
515
- left: 0;
516
- margin-top: -$arrowWidth;
517
- border-top: $arrowWidth solid transparent;
518
- border-bottom: $arrowWidth solid transparent;
519
- border-right: $arrowWidth solid $color;
520
- }
516
+
521
517
 
522
518
  // Grid System
523
519
  // -----------
@@ -548,15 +544,8 @@
548
544
  width: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1));
549
545
  }
550
546
 
551
- // The Grid
552
- @mixin core-offset($columns, $gridColumnWidth, $gridGutterWidth) {
553
- margin-left: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns + 1));
554
- }
555
-
556
- @mixin core-span($columns, $gridColumnWidth, $gridGutterWidth) {
557
- width: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1));
558
- }
559
547
 
548
+ // The Grid
560
549
  @mixin grid-core($gridColumnWidth, $gridGutterWidth) {
561
550
  .row {
562
551
  margin-left: $gridGutterWidth * -1;
@@ -565,35 +554,47 @@
565
554
 
566
555
  [class*="span"] {
567
556
  float: left;
557
+ min-height: 1px; // prevent collapsing columns
568
558
  margin-left: $gridGutterWidth;
569
559
  }
570
560
 
571
561
  // Set the container width, and override it for fixed navbars in media queries
572
562
  .container,
563
+ .navbar-static-top .container,
573
564
  .navbar-fixed-top .container,
574
565
  .navbar-fixed-bottom .container {
575
- @include core-span($gridColumns, $gridColumnWidth, $gridGutterWidth);
566
+ @include grid-core-span($gridColumns, $gridColumnWidth, $gridGutterWidth);
576
567
  }
577
568
 
578
569
  // generate .spanX and .offsetX
579
- $i: $gridColumns;
580
- @while $i > 0 {
581
- .span#{$i} { @include core-span($i, $gridColumnWidth, $gridGutterWidth); }
582
- $i: $i - 1;
570
+ @include grid-core-span-x($gridColumns, $gridColumnWidth, $gridGutterWidth);
571
+ @include grid-core-offset-x($gridColumns, $gridColumnWidth, $gridGutterWidth);
572
+ }
573
+
574
+ @mixin grid-core-span-x($gridColumns, $gridColumnWidth, $gridGutterWidth) {
575
+ @while $gridColumns > 0 {
576
+ .span#{$gridColumns} { @include grid-core-span($gridColumns, $gridColumnWidth, $gridGutterWidth)}
577
+ $gridColumns: $gridColumns - 1;
583
578
  }
579
+ }
584
580
 
585
- $i: $gridColumns;
586
- @while $i > 0 {
587
- .offset#{$i} { @include core-offset($i, $gridColumnWidth, $gridGutterWidth); }
588
- $i: $i - 1;
581
+ @mixin grid-core-offset-x($gridColumns, $gridColumnWidth, $gridGutterWidth) {
582
+ @while $gridColumns > 0 {
583
+ .offset#{$gridColumns} { @include grid-core-offset($gridColumns, $gridColumnWidth, $gridGutterWidth); }
584
+ $gridColumns: $gridColumns - 1;
589
585
  }
590
586
  }
591
587
 
592
- @mixin fluid-span($columns, $fluidGridColumnWidth, $fluidGridGutterWidth) {
593
- width: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1));
594
- *width: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1)) - (.5 / $gridRowWidth * 100px * 1%);
588
+ @mixin grid-core-span($columns, $gridColumnWidth, $gridGutterWidth) {
589
+ width: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns - 1));
595
590
  }
596
591
 
592
+ @mixin grid-core-offset($columns, $gridColumnWidth, $gridGutterWidth) {
593
+ margin-left: ($gridColumnWidth * $columns) + ($gridGutterWidth * ($columns + 1));
594
+ }
595
+
596
+
597
+
597
598
  @mixin grid-fluid($fluidGridColumnWidth, $fluidGridGutterWidth) {
598
599
  .row-fluid {
599
600
  width: 100%;
@@ -608,21 +609,44 @@
608
609
  margin-left: 0;
609
610
  }
610
611
 
611
- // generate .spanX
612
- $i: $gridColumns;
613
- @while $i > 0 {
614
- .span#{$i} {
615
- @include fluid-span($i, $fluidGridColumnWidth, $fluidGridGutterWidth);
616
- }
617
- $i: $i - 1;
618
- }
612
+ // generate .spanX and .offsetX
613
+ @include grid-fluid-span-x($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth);
614
+ @include grid-fluid-offset-x($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth);
619
615
  }
620
616
  }
621
617
 
622
- @mixin input-span($columns, $gridColumnWidth, $gridGutterWidth) {
623
- width: (($gridColumnWidth) * $columns) + ($gridGutterWidth * ($columns - 1)) - 10;
618
+ @mixin grid-fluid-span-x($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth) {
619
+ @while $gridColumns > 0 {
620
+ .span#{$gridColumns} { @include grid-fluid-span($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth); }
621
+ $gridColumns: $gridColumns - 1;
622
+ }
623
+ }
624
+
625
+ @mixin grid-fluid-offset-x($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth) {
626
+ @while $gridColumns > 0 {
627
+ .offset#{$gridColumns} { @include grid-fluid-offset($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth); }
628
+ .offset#{$gridColumns}:first-child { @include grid-fluid-offset-first-child($gridColumns, $fluidGridColumnWidth, $fluidGridGutterWidth); }
629
+ $gridColumns: $gridColumns - 1;
630
+ }
624
631
  }
625
632
 
633
+ @mixin grid-fluid-span($columns, $fluidGridColumnWidth, $fluidGridGutterWidth) {
634
+ width: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1));
635
+ *width: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1)) - (.5 / $gridRowWidth * 100px * 1%);
636
+ }
637
+
638
+ @mixin grid-fluid-offset($columns, $fluidGridColumnWidth, $fluidGridGutterWidth) {
639
+ margin-left: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1)) + ($fluidGridGutterWidth * 2);
640
+ *margin-left: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1)) - (.5 / $gridRowWidth * 100px * 1%) + ($fluidGridGutterWidth * 2) - (.5 / $gridRowWidth * 100px * 1%);
641
+ }
642
+
643
+ @mixin grid-fluid-offset-first-child($columns, $fluidGridColumnWidth, $fluidGridGutterWidth) {
644
+ margin-left: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1)) + ($fluidGridGutterWidth);
645
+ *margin-left: ($fluidGridColumnWidth * $columns) + ($fluidGridGutterWidth * ($columns - 1)) - (.5 / $gridRowWidth * 100px * 1%) + $fluidGridGutterWidth - (.5 / $gridRowWidth * 100px * 1%);
646
+ }
647
+
648
+
649
+
626
650
  @mixin grid-input($gridColumnWidth, $gridGutterWidth) {
627
651
  input,
628
652
  textarea,
@@ -630,14 +654,26 @@
630
654
  margin-left: 0; // override margin-left from core grid system
631
655
  }
632
656
 
657
+ // Space grid-sized controls properly if multiple per line
658
+ .controls-row [class*="span"] + [class*="span"] {
659
+ margin-left: $gridGutterWidth;
660
+ }
661
+
633
662
  // generate .spanX
634
- $i: $gridColumns;
635
- @while $i > 0 {
636
- input.span#{$i},
637
- textarea.span#{$i},
638
- .uneditable-input.span#{$i} {
639
- @include input-span($i, $gridColumnWidth, $gridGutterWidth);
663
+ @include grid-input-span-x($gridColumns, $gridColumnWidth, $gridGutterWidth);
664
+ }
665
+
666
+ @mixin grid-input-span-x($gridColumns, $gridColumnWidth, $gridGutterWidth) {
667
+ @while $gridColumns > 0 {
668
+ input.span#{$gridColumns},
669
+ textarea.span#{$gridColumns},
670
+ .uneditable-input.span#{$gridColumns} {
671
+ @include grid-input-span($gridColumns, $gridColumnWidth, $gridGutterWidth);
640
672
  }
641
- $i: $i - 1;
673
+ $gridColumns: $gridColumns - 1;
642
674
  }
643
- }
675
+ }
676
+
677
+ @mixin grid-input-span($columns, $gridColumnWidth, $gridGutterWidth) {
678
+ width: (($gridColumnWidth) * $columns) + ($gridGutterWidth * ($columns - 1)) - 14;
679
+ }