bootstrap-sass 2.0.4.2 → 2.1.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bootstrap-sass might be problematic. Click here for more details.

Files changed (57) hide show
  1. data/README.md +3 -6
  2. data/vendor/assets/images/glyphicons-halflings.png +0 -0
  3. data/vendor/assets/javascripts/bootstrap-affix.js +104 -0
  4. data/vendor/assets/javascripts/bootstrap-alert.js +1 -1
  5. data/vendor/assets/javascripts/bootstrap-button.js +1 -1
  6. data/vendor/assets/javascripts/bootstrap-carousel.js +12 -5
  7. data/vendor/assets/javascripts/bootstrap-collapse.js +4 -3
  8. data/vendor/assets/javascripts/bootstrap-dropdown.js +66 -16
  9. data/vendor/assets/javascripts/bootstrap-modal.js +95 -74
  10. data/vendor/assets/javascripts/bootstrap-popover.js +9 -4
  11. data/vendor/assets/javascripts/bootstrap-scrollspy.js +9 -9
  12. data/vendor/assets/javascripts/bootstrap-tab.js +2 -2
  13. data/vendor/assets/javascripts/bootstrap-tooltip.js +15 -15
  14. data/vendor/assets/javascripts/bootstrap-transition.js +2 -3
  15. data/vendor/assets/javascripts/bootstrap-typeahead.js +51 -36
  16. data/vendor/assets/javascripts/bootstrap.js +1 -0
  17. data/vendor/assets/stylesheets/_bootstrap-responsive.scss +15 -8
  18. data/vendor/assets/stylesheets/_bootstrap.scss +2 -2
  19. data/vendor/assets/stylesheets/bootstrap/_accordion.scss +3 -2
  20. data/vendor/assets/stylesheets/bootstrap/_alerts.scss +19 -10
  21. data/vendor/assets/stylesheets/bootstrap/_breadcrumbs.scss +11 -11
  22. data/vendor/assets/stylesheets/bootstrap/_button-groups.scss +94 -28
  23. data/vendor/assets/stylesheets/bootstrap/_buttons.scss +94 -54
  24. data/vendor/assets/stylesheets/bootstrap/_carousel.scss +22 -7
  25. data/vendor/assets/stylesheets/bootstrap/_close.scss +5 -3
  26. data/vendor/assets/stylesheets/bootstrap/_code.scss +8 -6
  27. data/vendor/assets/stylesheets/bootstrap/_component-animations.scss +7 -4
  28. data/vendor/assets/stylesheets/bootstrap/_dropdowns.scss +90 -17
  29. data/vendor/assets/stylesheets/bootstrap/_forms.scss +243 -90
  30. data/vendor/assets/stylesheets/bootstrap/_grid.scss +17 -2
  31. data/vendor/assets/stylesheets/bootstrap/_hero-unit.scss +4 -2
  32. data/vendor/assets/stylesheets/bootstrap/_labels-badges.scss +25 -5
  33. data/vendor/assets/stylesheets/bootstrap/_layouts.scss +1 -2
  34. data/vendor/assets/stylesheets/bootstrap/_mixins.scss +143 -134
  35. data/vendor/assets/stylesheets/bootstrap/_modals.scss +13 -6
  36. data/vendor/assets/stylesheets/bootstrap/_navbar.scss +263 -141
  37. data/vendor/assets/stylesheets/bootstrap/_navs.scss +75 -31
  38. data/vendor/assets/stylesheets/bootstrap/_pager.scss +7 -5
  39. data/vendor/assets/stylesheets/bootstrap/_pagination.scss +22 -11
  40. data/vendor/assets/stylesheets/bootstrap/_popovers.scss +101 -33
  41. data/vendor/assets/stylesheets/bootstrap/_progress-bars.scss +23 -19
  42. data/vendor/assets/stylesheets/bootstrap/_reset.scss +35 -11
  43. data/vendor/assets/stylesheets/bootstrap/_responsive-1200px-min.scss +9 -7
  44. data/vendor/assets/stylesheets/bootstrap/_responsive-767px-max.scss +103 -72
  45. data/vendor/assets/stylesheets/bootstrap/_responsive-768px-979px.scss +8 -5
  46. data/vendor/assets/stylesheets/bootstrap/_responsive-navbar.scss +26 -9
  47. data/vendor/assets/stylesheets/bootstrap/_responsive-utilities.scss +17 -15
  48. data/vendor/assets/stylesheets/bootstrap/_scaffolding.scss +26 -4
  49. data/vendor/assets/stylesheets/bootstrap/_sprites.scss +19 -9
  50. data/vendor/assets/stylesheets/bootstrap/_tables.scss +94 -23
  51. data/vendor/assets/stylesheets/bootstrap/_thumbnails.scss +10 -7
  52. data/vendor/assets/stylesheets/bootstrap/_tooltip.scss +47 -12
  53. data/vendor/assets/stylesheets/bootstrap/_type.scss +71 -89
  54. data/vendor/assets/stylesheets/bootstrap/_utilities.scss +9 -2
  55. data/vendor/assets/stylesheets/bootstrap/_variables.scss +108 -68
  56. data/vendor/assets/stylesheets/bootstrap/_wells.scss +8 -6
  57. metadata +3 -2
@@ -1,5 +1,20 @@
1
+ //
2
+ // Grid system
3
+ // --------------------------------------------------
4
+
1
5
  // Fixed (940px)
2
- @include gridCore($gridColumnWidth, $gridGutterWidth);
6
+ @include grid-core($gridColumnWidth, $gridGutterWidth);
3
7
 
4
8
  // Fluid (940px)
5
- @include gridFluid($fluidGridColumnWidth, $fluidGridGutterWidth);
9
+ @include grid-fluid($fluidGridColumnWidth, $fluidGridGutterWidth);
10
+
11
+ // Reset utility classes due to specificity
12
+ [class*="span"].hide,
13
+ .row-fluid [class*="span"].hide {
14
+ display: none;
15
+ }
16
+
17
+ [class*="span"].pull-right,
18
+ .row-fluid [class*="span"].pull-right {
19
+ float: right;
20
+ }
@@ -1,5 +1,7 @@
1
- // HERO UNIT
2
- // ---------
1
+ //
2
+ // Hero unit
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  .hero-unit {
5
7
  padding: 60px;
@@ -1,8 +1,11 @@
1
- // LABELS & BADGES
2
- // ---------------
1
+ //
2
+ // Labels and badges
3
+ // --------------------------------------------------
4
+
3
5
 
4
6
  // Base classes
5
- .label, .badge {
7
+ .label,
8
+ .badge {
6
9
  font-size: $baseFontSize * .846;
7
10
  font-weight: bold;
8
11
  line-height: 14px; // ensure proper line-height if floated
@@ -24,7 +27,8 @@
24
27
 
25
28
  // Hover state, but only for links
26
29
  a {
27
- &.label:hover, &.badge:hover {
30
+ &.label:hover,
31
+ &.badge:hover {
28
32
  color: $white;
29
33
  text-decoration: none;
30
34
  cursor: pointer;
@@ -33,6 +37,7 @@ a {
33
37
 
34
38
  // Colors
35
39
  // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute)
40
+
36
41
  // Important (red)
37
42
  .label-important, .badge-important { background-color: $errorText; }
38
43
  .label-important[href], .badge-important[href] { background-color: darken($errorText, 10%); }
@@ -47,4 +52,19 @@ a {
47
52
  .label-info[href], .badge-info[href] { background-color: darken($infoText, 10%); }
48
53
  // Inverse (black)
49
54
  .label-inverse, .badge-inverse { background-color: $grayDark; }
50
- .label-inverse[href], .badge-inverse[href] { background-color: darken($grayDark, 10%); }
55
+ .label-inverse[href], .badge-inverse[href] { background-color: darken($grayDark, 10%); }
56
+
57
+ // Quick fix for labels/badges in buttons
58
+ .btn {
59
+ .label,
60
+ .badge {
61
+ position: relative;
62
+ top: -1px;
63
+ }
64
+ }
65
+ .btn-mini {
66
+ .label,
67
+ .badge {
68
+ top: 0;
69
+ }
70
+ }
@@ -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)
@@ -1,6 +1,6 @@
1
- // Mixins.less
2
- // Snippets of reusable CSS to develop faster and keep code readable
3
- // -----------------------------------------------------------------
1
+ //
2
+ // Mixins
3
+ // --------------------------------------------------
4
4
 
5
5
 
6
6
  // UTILITY MIXINS
@@ -15,6 +15,9 @@
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;
@@ -63,10 +66,6 @@
63
66
 
64
67
  @mixin ie7-restore-right-whitespace() {
65
68
  *margin-right: .3em;
66
-
67
- &:last-child {
68
- *margin-left: 0;
69
- }
70
69
  }
71
70
 
72
71
  // Sizing shortcuts
@@ -93,21 +92,9 @@
93
92
  }
94
93
  }
95
94
 
96
- // Sass doesn't support using & at base level, so we need a special root placeholder mixin.
97
- @mixin rootPlaceholder($color: $placeholderText) {
98
- :-moz-placeholder {
99
- color: $color;
100
- }
101
- :-ms-input-placeholder {
102
- color: $color;
103
- }
104
- ::-webkit-input-placeholder {
105
- color: $color;
106
- }
107
- }
108
-
109
95
  // Text overflow
110
- // ------------------------
96
+ // -------------------------
97
+ // Requires inline-block or block for proper styling
111
98
  @mixin text-overflow() {
112
99
  overflow: hidden;
113
100
  text-overflow: ellipsis;
@@ -156,35 +143,47 @@
156
143
  }
157
144
 
158
145
 
159
-
160
146
  // FORMS
161
147
  // --------------------------------------------------
162
148
 
149
+ // Block level inputs
163
150
  @mixin input-block-level() {
164
151
  display: block;
165
152
  width: 100%;
166
- min-height: 28px; // Make inputs at least the height of their button counterpart
153
+ min-height: 30px; // Make inputs at least the height of their button counterpart
167
154
  @include box-sizing(border-box); // Makes inputs behave like true block-level elements
168
155
  }
169
156
 
170
157
 
158
+
171
159
  // Mixin for form field states
172
160
  @mixin formFieldState($textColor: #555, $borderColor: #ccc, $backgroundColor: #f5f5f5) {
173
161
  // Set the text color
174
- > label, .help-block, .help-inline {
162
+ > label,
163
+ .help-block,
164
+ .help-inline {
175
165
  color: $textColor;
176
166
  }
177
167
  // Style inputs accordingly
178
- .checkbox, .radio, input, select, textarea {
168
+ .checkbox,
169
+ .radio,
170
+ input,
171
+ select,
172
+ textarea {
179
173
  color: $textColor;
180
174
  border-color: $borderColor;
175
+ @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
181
176
  &:focus {
182
177
  border-color: darken($borderColor, 10%);
183
- @include box-shadow(0 0 6px lighten($borderColor, 20%));
178
+ // Write out in full since the lighten() function isn't easily escaped
179
+ -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($borderColor, 20%);
180
+ -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($borderColor, 20%);
181
+ box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($borderColor, 20%);
184
182
  }
185
183
  }
186
184
  // Give a small background color for input-prepend/-append
187
- .input-prepend .add-on, .input-append .add-on {
185
+ .input-prepend .add-on,
186
+ .input-append .add-on {
188
187
  color: $textColor;
189
188
  background-color: $backgroundColor;
190
189
  border-color: $textColor;
@@ -192,6 +191,7 @@
192
191
  }
193
192
 
194
193
 
194
+
195
195
  // CSS3 PROPERTIES
196
196
  // --------------------------------------------------
197
197
 
@@ -202,6 +202,46 @@
202
202
  border-radius: $radius;
203
203
  }
204
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
+
205
245
  // Drop shadows
206
246
  @mixin box-shadow($shadow) {
207
247
  -webkit-box-shadow: $shadow;
@@ -213,7 +253,6 @@
213
253
  @mixin transition($transition) {
214
254
  -webkit-transition: $transition;
215
255
  -moz-transition: $transition;
216
- -ms-transition: $transition;
217
256
  -o-transition: $transition;
218
257
  transition: $transition;
219
258
  }
@@ -240,7 +279,6 @@
240
279
  -o-transform: translate($x, $y);
241
280
  transform: translate($x, $y);
242
281
  }
243
-
244
282
  @mixin skew($x, $y) {
245
283
  -webkit-transform: skew($x, $y);
246
284
  -moz-transform: skew($x, $y);
@@ -248,13 +286,11 @@
248
286
  -o-transform: skew($x, $y);
249
287
  transform: skew($x, $y);
250
288
  }
251
-
252
289
  @mixin translate3d($x, $y, $z) {
253
- -webkit-transform: translate($x, $y, $z);
254
- -moz-transform: translate($x, $y, $z);
255
- -ms-transform: translate($x, $y, $z);
256
- -o-transform: translate($x, $y, $z);
257
- transform: translate($x, $y, $z);
290
+ -webkit-transform: translate3d($x, $y, $z);
291
+ -moz-transform: translate3d($x, $y, $z);
292
+ -o-transform: translate3d($x, $y, $z);
293
+ transform: translate3d($x, $y, $z);
258
294
  }
259
295
 
260
296
  // Backface visibility
@@ -262,10 +298,9 @@
262
298
  // Default value is `visible`, but can be changed to `hidden
263
299
  // See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
264
300
  @mixin backface-visibility($visibility){
265
- -webkit-backface-visibility: $visibility;
266
- -moz-backface-visibility: $visibility;
267
- -ms-backface-visibility: $visibility;
268
- backface-visibility: $visibility;
301
+ -webkit-backface-visibility: $visibility;
302
+ -moz-backface-visibility: $visibility;
303
+ backface-visibility: $visibility;
269
304
  }
270
305
 
271
306
  // Background clipping
@@ -289,7 +324,6 @@
289
324
  @mixin box-sizing($boxmodel) {
290
325
  -webkit-box-sizing: $boxmodel;
291
326
  -moz-box-sizing: $boxmodel;
292
- -ms-box-sizing: $boxmodel;
293
327
  box-sizing: $boxmodel;
294
328
  }
295
329
 
@@ -319,7 +353,6 @@
319
353
  column-gap: $columnGap;
320
354
  }
321
355
 
322
-
323
356
  // Optional hyphenation
324
357
  @mixin hyphens($mode: auto) {
325
358
  word-wrap: break-word;
@@ -331,7 +364,7 @@
331
364
  }
332
365
 
333
366
  // Opacity
334
- @mixin opacity($opacity: 1) {
367
+ @mixin opacity($opacity) {
335
368
  opacity: $opacity;
336
369
  filter: alpha(opacity=#{$opacity * 100});
337
370
  }
@@ -351,7 +384,9 @@
351
384
  }
352
385
 
353
386
  // Gradient Bar Colors for buttons and alerts
354
- @mixin gradientBar($primaryColor, $secondaryColor) {
387
+ @mixin gradientBar($primaryColor, $secondaryColor, $textColor: #fff, $textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
388
+ color: $textColor;
389
+ text-shadow: $textShadow;
355
390
  @include gradient-vertical($primaryColor, $secondaryColor);
356
391
  border-color: $secondaryColor $secondaryColor darken($secondaryColor, 15%);
357
392
  border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
@@ -361,22 +396,20 @@
361
396
  @mixin gradient-horizontal($startColor: #555, $endColor: #333) {
362
397
  background-color: $endColor;
363
398
  background-image: -moz-linear-gradient(left, $startColor, $endColor); // FF 3.6+
364
- background-image: -ms-linear-gradient(left, $startColor, $endColor); // IE10
365
399
  background-image: -webkit-gradient(linear, 0 0, 100% 0, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
366
400
  background-image: -webkit-linear-gradient(left, $startColor, $endColor); // Safari 5.1+, Chrome 10+
367
401
  background-image: -o-linear-gradient(left, $startColor, $endColor); // Opera 11.10
368
- background-image: linear-gradient(left, $startColor, $endColor); // Le standard
402
+ background-image: linear-gradient(to right, $startColor, $endColor); // Standard, IE10
369
403
  background-repeat: repeat-x;
370
404
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=1); // IE9 and down
371
405
  }
372
406
  @mixin gradient-vertical($startColor: #555, $endColor: #333) {
373
407
  background-color: mix($startColor, $endColor, 60%);
374
408
  background-image: -moz-linear-gradient(top, $startColor, $endColor); // FF 3.6+
375
- background-image: -ms-linear-gradient(top, $startColor, $endColor); // IE10
376
409
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), to($endColor)); // Safari 4+, Chrome 2+
377
410
  background-image: -webkit-linear-gradient(top, $startColor, $endColor); // Safari 5.1+, Chrome 10+
378
411
  background-image: -o-linear-gradient(top, $startColor, $endColor); // Opera 11.10
379
- background-image: linear-gradient(top, $startColor, $endColor); // The standard
412
+ background-image: linear-gradient(to bottom, $startColor, $endColor); // Standard, IE10
380
413
  background-repeat: repeat-x;
381
414
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($startColor)}', endColorstr='#{ie-hex-str($endColor)}', GradientType=0); // IE9 and down
382
415
  }
@@ -384,17 +417,15 @@
384
417
  background-color: $endColor;
385
418
  background-repeat: repeat-x;
386
419
  background-image: -moz-linear-gradient($deg, $startColor, $endColor); // FF 3.6+
387
- background-image: -ms-linear-gradient($deg, $startColor, $endColor); // IE10
388
420
  background-image: -webkit-linear-gradient($deg, $startColor, $endColor); // Safari 5.1+, Chrome 10+
389
421
  background-image: -o-linear-gradient($deg, $startColor, $endColor); // Opera 11.10
390
- background-image: linear-gradient($deg, $startColor, $endColor); // The standard
422
+ background-image: linear-gradient($deg, $startColor, $endColor); // Standard, IE10
391
423
  }
392
424
  @mixin gradient-vertical-three-colors($startColor: #00b3ee, $midColor: #7a43b6, $colorStop: 50%, $endColor: #c3325f) {
393
425
  background-color: mix($midColor, $endColor, 80%);
394
426
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from($startColor), color-stop($colorStop, $midColor), to($endColor));
395
427
  background-image: -webkit-linear-gradient($startColor, $midColor $colorStop, $endColor);
396
- background-image: -moz-linear-gradient(top, $startColor, $midColor $colorStop, $endColor);
397
- background-image: -ms-linear-gradient($startColor, $midColor $colorStop, $endColor);
428
+ background-image: -moz-linear-gradient(top, $startColor, $midColor $colorStop*100%, $endColor);
398
429
  background-image: -o-linear-gradient($startColor, $midColor $colorStop, $endColor);
399
430
  background-image: linear-gradient($startColor, $midColor $colorStop, $endColor);
400
431
  background-repeat: no-repeat;
@@ -405,30 +436,30 @@
405
436
  background-image: -webkit-gradient(radial, center center, 0, center center, 460, from($innerColor), to($outerColor));
406
437
  background-image: -webkit-radial-gradient(circle, $innerColor, $outerColor);
407
438
  background-image: -moz-radial-gradient(circle, $innerColor, $outerColor);
408
- background-image: -ms-radial-gradient(circle, $innerColor, $outerColor);
409
439
  background-image: -o-radial-gradient(circle, $innerColor, $outerColor);
410
440
  background-repeat: no-repeat;
411
441
  }
412
- @mixin gradient-striped($color, $angle: -45deg) {
442
+ @mixin gradient-striped($color, $angle: 45deg) {
413
443
  background-color: $color;
414
444
  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));
415
445
  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);
416
446
  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);
417
- 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);
418
447
  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);
419
- background-image: linear-gradient($angle, rgba(255,255,255,.15) 25%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0));
448
+ 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);
420
449
  }
450
+
421
451
  // Reset filters for IE
422
452
  @mixin reset-filter() {
423
453
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
424
454
  }
425
455
 
426
456
 
457
+
427
458
  // COMPONENT MIXINS
428
459
  // --------------------------------------------------
429
460
 
430
461
  // Horizontal dividers
431
- // -------------------
462
+ // -------------------------
432
463
  // Dividers (basically an hr) within dropdowns and nav lists
433
464
  @mixin nav-divider($top: #e5e5e5, $bottom: $white) {
434
465
  // IE7 needs a set width since we gave a height. Restricting just
@@ -446,20 +477,22 @@
446
477
 
447
478
  // Button backgrounds
448
479
  // ------------------
449
- @mixin buttonBackground($startColor, $endColor) {
480
+ @mixin buttonBackground($startColor, $endColor, $textColor: #fff, $textShadow: 0 -1px 0 rgba(0,0,0,.25)) {
450
481
  // gradientBar will set the background to a pleasing blend of these, to support IE<=9
451
- @include gradientBar($startColor, $endColor);
452
- *background-color: $endColor; // Darken IE7 buttons by default so they stand out more given they won't have borders
482
+ @include gradientBar($startColor, $endColor, $textColor, $textShadow);
483
+ *background-color: $endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */
453
484
  @include reset-filter();
454
485
 
455
486
  // in these cases the gradient won't cover the background, so we override
456
487
  &:hover, &:active, &.active, &.disabled, &[disabled] {
488
+ color: $textColor;
457
489
  background-color: $endColor;
458
490
  *background-color: darken($endColor, 5%);
459
491
  }
460
492
 
461
493
  // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
462
- &:active, &.active {
494
+ &:active,
495
+ &.active {
463
496
  background-color: darken($endColor, 10%) \9;
464
497
  }
465
498
  }
@@ -472,41 +505,7 @@
472
505
  margin-top: ($navbarHeight - $elementHeight) / 2;
473
506
  }
474
507
 
475
- // Popover arrows
476
- // -------------------------
477
- // For tipsies and popovers
478
- @mixin popoverArrowTop($arrowWidth: 5px, $color: $black) {
479
- bottom: 0;
480
- left: 50%;
481
- margin-left: -$arrowWidth;
482
- border-left: $arrowWidth solid transparent;
483
- border-right: $arrowWidth solid transparent;
484
- border-top: $arrowWidth solid $color;
485
- }
486
- @mixin popoverArrowLeft($arrowWidth: 5px, $color: $black) {
487
- top: 50%;
488
- right: 0;
489
- margin-top: -$arrowWidth;
490
- border-top: $arrowWidth solid transparent;
491
- border-bottom: $arrowWidth solid transparent;
492
- border-left: $arrowWidth solid $color;
493
- }
494
- @mixin popoverArrowBottom($arrowWidth: 5px, $color: $black) {
495
- top: 0;
496
- left: 50%;
497
- margin-left: -$arrowWidth;
498
- border-left: $arrowWidth solid transparent;
499
- border-right: $arrowWidth solid transparent;
500
- border-bottom: $arrowWidth solid $color;
501
- }
502
- @mixin popoverArrowRight($arrowWidth: 5px, $color: $black) {
503
- top: 50%;
504
- left: 0;
505
- margin-top: -$arrowWidth;
506
- border-top: $arrowWidth solid transparent;
507
- border-bottom: $arrowWidth solid transparent;
508
- border-right: $arrowWidth solid $color;
509
- }
508
+
510
509
 
511
510
  // Grid System
512
511
  // -----------
@@ -538,41 +537,44 @@
538
537
  }
539
538
 
540
539
  // The Grid
541
- @mixin gridCore($columnWidth, $gutterWidth) {
540
+ @mixin grid-core($gridColumnWidth, $gridGutterWidth) {
542
541
  .row {
543
- margin-left: $gutterWidth * -1;
542
+ margin-left: $gridGutterWidth * -1;
544
543
  @include clearfix();
545
544
  }
546
545
 
547
546
  [class*="span"] {
548
547
  float: left;
549
- margin-left: $gutterWidth;
548
+ margin-left: $gridGutterWidth;
550
549
  }
551
550
 
552
551
  // Set the container width, and override it for fixed navbars in media queries
553
- .container, .navbar-fixed-top .container, .navbar-fixed-bottom .container { @include gridCoreSpan($gridColumns, $columnWidth, $gutterWidth); }
552
+ .container,
553
+ .navbar-static-top .container,
554
+ .navbar-fixed-top .container,
555
+ .navbar-fixed-bottom .container { @include grid-core-span($gridColumns, $gridColumnWidth, $gridGutterWidth); }
554
556
 
555
- @include gridCoreSpanX($gridColumns, $columnWidth, $gutterWidth);
556
- @include gridCoreOffsetX($gridColumns, $columnWidth, $gutterWidth);
557
+ @include grid-core-spanX($gridColumns, $gridColumnWidth, $gridGutterWidth);
558
+ @include grid-core-offsetX($gridColumns, $gridColumnWidth, $gridGutterWidth);
557
559
  }
558
- @mixin gridCoreSpanX($cols, $columnWidth, $gutterWidth) {
560
+ @mixin grid-core-spanX($cols, $columnWidth, $gutterWidth) {
559
561
  @for $i from 1 through $cols {
560
- .span#{$i} { @include gridCoreSpan($i, $columnWidth, $gutterWidth) };
562
+ .span#{$i} { @include grid-core-span($i, $columnWidth, $gutterWidth) };
561
563
  }
562
564
  }
563
- @mixin gridCoreSpan($columns, $columnWidth, $gutterWidth) {
565
+ @mixin grid-core-span($columns, $columnWidth, $gutterWidth) {
564
566
  width: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1));
565
567
  }
566
- @mixin gridCoreOffsetX($cols, $columnWidth, $gutterWidth) {
568
+ @mixin grid-core-offsetX($cols, $columnWidth, $gutterWidth) {
567
569
  @for $i from 1 through $cols {
568
- .offset#{$i} { @include gridCoreOffset($i, $columnWidth, $gutterWidth); };
570
+ .offset#{$i} { @include grid-core-offset($i, $columnWidth, $gutterWidth) };
569
571
  }
570
572
  }
571
- @mixin gridCoreOffset($columns, $columnWidth, $gutterWidth) {
573
+ @mixin grid-core-offset($columns, $columnWidth, $gutterWidth) {
572
574
  margin-left: ($columnWidth * $columns) + ($gutterWidth * ($columns + 1));
573
575
  }
574
576
 
575
- @mixin gridFluid($columnWidth, $gutterWidth) {
577
+ @mixin grid-fluid ($columnWidth, $gutterWidth) {
576
578
  .row-fluid {
577
579
  width: 100%;
578
580
  @include clearfix();
@@ -580,46 +582,53 @@
580
582
  @include input-block-level();
581
583
  float: left;
582
584
  margin-left: $gutterWidth;
583
- *margin-left: $gutterWidth - (.5 / ($gridRowWidth/1px) * 100 * 1%);
585
+ *margin-left: $gutterWidth - (.5px / $gridRowWidth * 100 * 1%);
584
586
  }
585
587
  [class*="span"]:first-child {
586
588
  margin-left: 0;
587
589
  }
588
590
 
589
- // generate .spanX
590
- @include gridFluidSpanX($gridColumns, $columnWidth, $gutterWidth);
591
- }
592
- }
593
- @mixin gridFluidSpanX($cols, $columnWidth, $gutterWidth) {
594
- @for $i from 1 through $cols {
595
- .span#{$i} { @include gridFluidSpan($i, $columnWidth, $gutterWidth) };
591
+ // generate .spanX and .offsetX
592
+ @for $i from 1 through $gridColumns {
593
+ .span#{$i} { @include grid-fluid-span($i, $columnWidth, $gutterWidth); }
594
+ .offset#{$i} { @include grid-fluid-offset($i, $columnWidth, $gutterWidth); }
595
+ .offset#{$i}:first-child { @include grid-fluid-offsetFirstChild($i, $columnWidth, $gutterWidth); }
596
+ }
596
597
  }
597
598
  }
598
- @mixin gridFluidSpan($columns, $columnWidth, $gutterWidth) {
599
+
600
+ @mixin grid-fluid-span($columns, $columnWidth, $gutterWidth){
599
601
  width: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1));
600
- *width: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) - (.5 / ($gridRowWidth/1px) * 100 * 1%);
602
+ *width: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) - (.5px / $gridRowWidth * 100 * 1%);
603
+ }
604
+
605
+ @mixin grid-fluid-offset($columns, $columnWidth, $gutterWidth) {
606
+ margin-left: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) + ($gutterWidth*2);
607
+ *margin-left: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) - (.5px / $gridRowWidth * 100 * 1%) + ($gutterWidth * 2) - (.5px / $gridRowWidth * 100 * 1%);
601
608
  }
602
609
 
603
- @mixin gridInput($columnWidth, $gutterWidth) {
604
- input, textarea, .uneditable-input {
610
+ @mixin grid-fluid-offsetFirstChild($columns, $columnWidth, $gutterWidth) {
611
+ margin-left: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) + ($gutterWidth);
612
+ *margin-left: ($columnWidth * $columns) + ($gutterWidth * ($columns - 1)) - (.5px / $gridRowWidth * 100 * 1%) + $gutterWidth - (.5px / $gridRowWidth * 100 * 1%);
613
+ }
614
+
615
+ @mixin grid-input($columnWidth, $gutterWidth) {
616
+ input,
617
+ textarea,
618
+ .uneditable-input {
605
619
  margin-left: 0; // override margin-left from core grid system
606
620
  }
607
621
 
608
- // generate .spanX
609
- @include gridInputSpanX($gridColumns, $columnWidth, $gutterWidth);
610
- }
611
- @mixin gridInputSpanX($cols, $columnWidth, $gutterWidth) {
612
- @for $i from 1 through $cols {
613
- input.span#{$i}, textarea.span#{$i}, .uneditable-input.span#{$i} { @include gridInputSpan($i, $columnWidth, $gutterWidth); }
622
+ // Space grid-sized controls properly if multiple per line
623
+ .controls-row [class*="span"] + [class*="span"] {
624
+ margin-left: $gutterWidth;
625
+ }
626
+
627
+ @for $i from 1 through $gridColumns {
628
+ input.span#{$i}, textarea.span#{$i}, .uneditable-input.span#{$i} { @include grid-core-span($i, $columnWidth, $gutterWidth); }
614
629
  }
615
- }
616
- @mixin gridInputSpan($columns, $columnWidth, $gutterWidth) {
617
- width: (($columnWidth) * $columns) + ($gutterWidth * ($columns - 1)) - 10;
618
630
  }
619
631
 
620
- @mixin makeFluidColumn($columns, $columnWidth, $gutterWidth) {
621
- // This isn't perfect, but it's better than nothing.
622
- float: left;
623
- margin-left: $gutterWidth;
624
- @include gridFluidSpan($columns, $columnWidth, $gutterWidth);
632
+ @mixin grid-input-span($columns, $columnWidth, $offsetWidth) {
633
+ width: (($columnWidth) * $columns) + ($gutterWidth * ($columns - 1)) - 14;
625
634
  }