bootstrap-generators 2.0.4 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
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
+ }