bootstrap-generators 3.0.0.1 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -8
  3. data/Rakefile +3 -7
  4. data/lib/bootstrap/generators/version.rb +1 -1
  5. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.less +57 -40
  6. data/lib/generators/bootstrap/install/templates/assets/stylesheets/bootstrap-variables.scss +57 -40
  7. data/lib/generators/bootstrap/install/templates/layouts/starter.html.erb +1 -1
  8. data/lib/generators/bootstrap/install/templates/layouts/starter.html.haml +1 -1
  9. data/readme-template.md.erb +1 -1
  10. data/vendor/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  11. data/vendor/assets/fonts/glyphicons-halflings-regular.svg +200 -199
  12. data/vendor/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  13. data/vendor/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  14. data/vendor/assets/javascripts/bootstrap.js +5 -5
  15. data/vendor/assets/javascripts/bootstrap/affix.js +4 -4
  16. data/vendor/assets/javascripts/bootstrap/alert.js +3 -3
  17. data/vendor/assets/javascripts/bootstrap/button.js +3 -3
  18. data/vendor/assets/javascripts/bootstrap/carousel.js +4 -4
  19. data/vendor/assets/javascripts/bootstrap/collapse.js +4 -4
  20. data/vendor/assets/javascripts/bootstrap/dropdown.js +4 -4
  21. data/vendor/assets/javascripts/bootstrap/modal.js +4 -4
  22. data/vendor/assets/javascripts/bootstrap/popover.js +4 -4
  23. data/vendor/assets/javascripts/bootstrap/scrollspy.js +4 -4
  24. data/vendor/assets/javascripts/bootstrap/tab.js +5 -5
  25. data/vendor/assets/javascripts/bootstrap/tooltip.js +4 -4
  26. data/vendor/assets/javascripts/bootstrap/transition.js +3 -3
  27. data/vendor/assets/stylesheets/bootstrap.css +1039 -746
  28. data/vendor/twitter/bootstrap/less/alerts.less +1 -1
  29. data/vendor/twitter/bootstrap/less/bootstrap.less +0 -10
  30. data/vendor/twitter/bootstrap/less/breadcrumbs.less +2 -2
  31. data/vendor/twitter/bootstrap/less/button-groups.less +6 -1
  32. data/vendor/twitter/bootstrap/less/buttons.less +2 -4
  33. data/vendor/twitter/bootstrap/less/carousel.less +32 -10
  34. data/vendor/twitter/bootstrap/less/code.less +5 -8
  35. data/vendor/twitter/bootstrap/less/dropdowns.less +1 -2
  36. data/vendor/twitter/bootstrap/less/forms.less +21 -10
  37. data/vendor/twitter/bootstrap/less/glyphicons.less +20 -15
  38. data/vendor/twitter/bootstrap/less/grid.less +32 -285
  39. data/vendor/twitter/bootstrap/less/input-groups.less +9 -0
  40. data/vendor/twitter/bootstrap/less/jumbotron.less +2 -2
  41. data/vendor/twitter/bootstrap/less/list-group.less +12 -12
  42. data/vendor/twitter/bootstrap/less/mixins.less +164 -29
  43. data/vendor/twitter/bootstrap/less/modals.less +2 -11
  44. data/vendor/twitter/bootstrap/less/navbar.less +10 -7
  45. data/vendor/twitter/bootstrap/less/navs.less +53 -20
  46. data/vendor/twitter/bootstrap/less/normalize.less +16 -6
  47. data/vendor/twitter/bootstrap/less/pagination.less +2 -0
  48. data/vendor/twitter/bootstrap/less/panels.less +31 -7
  49. data/vendor/twitter/bootstrap/less/print.less +6 -1
  50. data/vendor/twitter/bootstrap/less/progress-bars.less +4 -7
  51. data/vendor/twitter/bootstrap/less/responsive-utilities.less +57 -68
  52. data/vendor/twitter/bootstrap/less/scaffolding.less +1 -12
  53. data/vendor/twitter/bootstrap/less/tables.less +40 -40
  54. data/vendor/twitter/bootstrap/less/theme.less +32 -17
  55. data/vendor/twitter/bootstrap/less/thumbnails.less +14 -15
  56. data/vendor/twitter/bootstrap/less/tooltip.less +8 -8
  57. data/vendor/twitter/bootstrap/less/type.less +71 -30
  58. data/vendor/twitter/bootstrap/less/utilities.less +15 -1
  59. data/vendor/twitter/bootstrap/less/variables.less +56 -39
  60. data/vendor/twitter/bootstrap/sass/_alerts.scss +1 -1
  61. data/vendor/twitter/bootstrap/sass/_breadcrumbs.scss +2 -2
  62. data/vendor/twitter/bootstrap/sass/_button-groups.scss +6 -1
  63. data/vendor/twitter/bootstrap/sass/_buttons.scss +2 -4
  64. data/vendor/twitter/bootstrap/sass/_carousel.scss +32 -10
  65. data/vendor/twitter/bootstrap/sass/_close.scss +2 -0
  66. data/vendor/twitter/bootstrap/sass/_code.scss +5 -8
  67. data/vendor/twitter/bootstrap/sass/_dropdowns.scss +1 -2
  68. data/vendor/twitter/bootstrap/sass/_forms.scss +23 -10
  69. data/vendor/twitter/bootstrap/sass/_glyphicons.scss +20 -15
  70. data/vendor/twitter/bootstrap/sass/_grid.scss +32 -285
  71. data/vendor/twitter/bootstrap/sass/_input-groups.scss +9 -0
  72. data/vendor/twitter/bootstrap/sass/_jumbotron.scss +2 -2
  73. data/vendor/twitter/bootstrap/sass/_list-group.scss +16 -16
  74. data/vendor/twitter/bootstrap/sass/_mixins.scss +167 -34
  75. data/vendor/twitter/bootstrap/sass/_modals.scss +2 -15
  76. data/vendor/twitter/bootstrap/sass/_navbar.scss +10 -7
  77. data/vendor/twitter/bootstrap/sass/_navs.scss +53 -20
  78. data/vendor/twitter/bootstrap/sass/_normalize.scss +16 -6
  79. data/vendor/twitter/bootstrap/sass/_pagination.scss +2 -0
  80. data/vendor/twitter/bootstrap/sass/_panels.scss +31 -7
  81. data/vendor/twitter/bootstrap/sass/_print.scss +6 -1
  82. data/vendor/twitter/bootstrap/sass/_progress-bars.scss +4 -7
  83. data/vendor/twitter/bootstrap/sass/_responsive-utilities.scss +37 -48
  84. data/vendor/twitter/bootstrap/sass/_scaffolding.scss +1 -12
  85. data/vendor/twitter/bootstrap/sass/_tables.scss +52 -44
  86. data/vendor/twitter/bootstrap/sass/_theme.scss +26 -11
  87. data/vendor/twitter/bootstrap/sass/_thumbnails.scss +13 -12
  88. data/vendor/twitter/bootstrap/sass/_tooltip.scss +8 -8
  89. data/vendor/twitter/bootstrap/sass/_type.scss +71 -30
  90. data/vendor/twitter/bootstrap/sass/_utilities.scss +15 -1
  91. data/vendor/twitter/bootstrap/sass/_variables.scss +56 -39
  92. data/vendor/twitter/bootstrap/sass/bootstrap.scss +0 -10
  93. metadata +2 -5
  94. data/vendor/assets/javascripts/bootstrap-ie.js +0 -2
  95. data/vendor/assets/javascripts/bootstrap-ie/html5shiv.js +0 -8
  96. data/vendor/assets/javascripts/bootstrap-ie/respond.min.js +0 -6
@@ -61,6 +61,7 @@
61
61
  font-size: $font-size-base;
62
62
  font-weight: normal;
63
63
  line-height: 1;
64
+ color: $input-color;
64
65
  text-align: center;
65
66
  background-color: $input-group-addon-bg;
66
67
  border: 1px solid $input-group-addon-border-color;
@@ -112,6 +113,14 @@
112
113
  .input-group-btn {
113
114
  position: relative;
114
115
  white-space: nowrap;
116
+
117
+ // Negative margin to only have a 1px border between the two
118
+ &:first-child > .btn {
119
+ margin-right: -1px;
120
+ }
121
+ &:last-child > .btn {
122
+ margin-left: -1px;
123
+ }
115
124
  }
116
125
  .input-group-btn > .btn {
117
126
  position: relative;
@@ -6,7 +6,7 @@
6
6
  .jumbotron {
7
7
  padding: $jumbotron-padding;
8
8
  margin-bottom: $jumbotron-padding;
9
- font-size: ($font-size-base * 1.5);
9
+ font-size: $jumbotron-font-size;
10
10
  font-weight: 200;
11
11
  line-height: ($line-height-base * 1.5);
12
12
  color: $jumbotron-color;
@@ -24,7 +24,7 @@
24
24
  border-radius: $border-radius-large; // Only round corners at higher resolutions if contained in a container
25
25
  }
26
26
 
27
- @media screen and (min-width: $screen-tablet) {
27
+ @media screen and (min-width: $screen-sm-min) {
28
28
  padding-top: ($jumbotron-padding * 1.6);
29
29
  padding-bottom: ($jumbotron-padding * 1.6);
30
30
 
@@ -39,6 +39,22 @@
39
39
  > .badge + .badge {
40
40
  margin-right: 5px;
41
41
  }
42
+ }
43
+
44
+ // Linked list items
45
+ a.list-group-item {
46
+ color: $list-group-link-color;
47
+
48
+ .list-group-item-heading {
49
+ color: $list-group-link-heading-color;
50
+ }
51
+
52
+ // Hover state
53
+ &:hover,
54
+ &:focus {
55
+ text-decoration: none;
56
+ background-color: $list-group-hover-bg;
57
+ }
42
58
 
43
59
  // Active class on item itself, not parent
44
60
  &.active,
@@ -59,22 +75,6 @@
59
75
  }
60
76
  }
61
77
 
62
- // Linked list items
63
- a.list-group-item {
64
- color: $list-group-link-color;
65
-
66
- .list-group-item-heading {
67
- color: $list-group-link-heading-color;
68
- }
69
-
70
- // Hover state
71
- &:hover,
72
- &:focus {
73
- text-decoration: none;
74
- background-color: $list-group-hover-bg;
75
- }
76
- }
77
-
78
78
  // Custom content options
79
79
  // -------------------------
80
80
 
@@ -27,11 +27,11 @@
27
27
  }
28
28
  }
29
29
 
30
- // Webkit-style focus
30
+ // WebKit-style focus
31
31
  @mixin tab-focus() {
32
32
  // Default
33
33
  outline: thin dotted #333;
34
- // Webkit
34
+ // WebKit
35
35
  outline: 5px auto -webkit-focus-ring-color;
36
36
  outline-offset: -2px;
37
37
  }
@@ -69,9 +69,25 @@
69
69
  }
70
70
 
71
71
  // CSS image replacement
72
+ //
73
+ // Heads up! v3 launched with with only `.hide-text()`, but per our pattern for
74
+ // mixins being reused as classes with the same name, this doesn't hold up. As
75
+ // of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`. Note
76
+ // that we cannot chain the mixins together in Less, so they are repeated.
77
+ //
72
78
  // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
79
+
80
+ // Deprecated as of v3.0.1 (will be removed in v4)
73
81
  @mixin hide-text() {
74
- font: 0/0 a;
82
+ font: #{0/0} a;
83
+ color: transparent;
84
+ text-shadow: none;
85
+ background-color: transparent;
86
+ border: 0;
87
+ }
88
+ // New mixin to use as of v3.0.1
89
+ @mixin text-hide() {
90
+ font: #{0/0} a;
75
91
  color: transparent;
76
92
  text-shadow: none;
77
93
  background-color: transparent;
@@ -112,6 +128,10 @@
112
128
  -webkit-transition: $transition;
113
129
  transition: $transition;
114
130
  }
131
+ @mixin transition-property($transition-property) {
132
+ -webkit-transition-property: $transition-property;
133
+ transition-property: $transition-property;
134
+ }
115
135
  @mixin transition-delay($transition-delay) {
116
136
  -webkit-transition-delay: $transition-delay;
117
137
  transition-delay: $transition-delay;
@@ -153,10 +173,41 @@
153
173
  transform: translate3d($x, $y, $z);
154
174
  }
155
175
 
176
+ @mixin rotateX($degrees) {
177
+ -webkit-transform: rotateX($degrees);
178
+ -ms-transform: rotateX($degrees); // IE9+
179
+ transform: rotateX($degrees);
180
+ }
181
+ @mixin rotateY($degrees) {
182
+ -webkit-transform: rotateY($degrees);
183
+ -ms-transform: rotateY($degrees); // IE9+
184
+ transform: rotateY($degrees);
185
+ }
186
+ @mixin perspective($perspective) {
187
+ -webkit-perspective: $perspective;
188
+ -moz-perspective: $perspective;
189
+ perspective: $perspective;
190
+ }
191
+ @mixin perspective-origin($perspective) {
192
+ -webkit-perspective-origin: $perspective;
193
+ -moz-perspective-origin: $perspective;
194
+ perspective-origin: $perspective;
195
+ }
196
+ @mixin transform-origin($origin) {
197
+ -webkit-transform-origin: $origin;
198
+ -moz-transform-origin: $origin;
199
+ transform-origin: $origin;
200
+ }
201
+
202
+ // Animations
203
+ @mixin animation($animation) {
204
+ -webkit-animation: $animation;
205
+ animation: $animation;
206
+ }
207
+
156
208
  // Backface visibility
157
209
  // Prevent browsers from flickering when using CSS 3D transforms.
158
210
  // Default value is `visible`, but can be changed to `hidden`
159
- // See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples
160
211
  @mixin backface-visibility($visibility){
161
212
  -webkit-backface-visibility: $visibility;
162
213
  -moz-backface-visibility: $visibility;
@@ -211,7 +262,7 @@
211
262
  opacity: $opacity;
212
263
  // IE8 filter
213
264
  $opacity-ie: ($opacity * 100);
214
- filter: alpha(opacity=$opacity-ie);
265
+ filter: #{alpha(opacity=$opacity-ie)};
215
266
  }
216
267
 
217
268
 
@@ -240,7 +291,7 @@
240
291
  // Color stops are not available in IE9 and below.
241
292
  @mixin gradient-vertical($start-color: #555, $end-color: #333, $start-percent: 0%, $end-percent: 100%) {
242
293
  background-image: -webkit-gradient(linear, left $start-percent, left $end-percent, from($start-color), to($end-color)); // Safari 4+, Chrome 2+
243
- background-image: -webkit-linear-gradient(top, $start-color, $start-percent, $end-color, $end-percent); // Safari 5.1+, Chrome 10+
294
+ background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1+, Chrome 10+
244
295
  background-image: -moz-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // FF 3.6+
245
296
  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10
246
297
  background-repeat: repeat-x;
@@ -276,11 +327,11 @@
276
327
  background-image: radial-gradient(circle, $inner-color, $outer-color);
277
328
  background-repeat: no-repeat;
278
329
  }
279
- @mixin gradient-striped($color: #555, $angle: 45deg) {
280
- 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));
281
- 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);
282
- 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);
283
- 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);
330
+ @mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
331
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, $color), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, $color), color-stop(.75, $color), color-stop(.75, transparent), to(transparent));
332
+ background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
333
+ background-image: -moz-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
334
+ background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
284
335
  }
285
336
 
286
337
  // Reset filters for IE
@@ -298,7 +349,7 @@
298
349
  // Short retina mixin for setting background-image and -size
299
350
 
300
351
  @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
301
- background-image: url("#{$file-1x}");
352
+ background-image: image-url("#{$file-1x}");
302
353
 
303
354
  @media
304
355
  only screen and (-webkit-min-device-pixel-ratio: 2),
@@ -307,7 +358,7 @@
307
358
  only screen and ( min-device-pixel-ratio: 2),
308
359
  only screen and ( min-resolution: 192dpi),
309
360
  only screen and ( min-resolution: 2dppx) {
310
- background-image: url("#{$file-2x}");
361
+ background-image: image-url("#{$file-2x}");
311
362
  background-size: $width-1x $height-1x;
312
363
  }
313
364
  }
@@ -341,13 +392,18 @@
341
392
  // -------------------------
342
393
  @mixin panel-variant($border, $heading-text-color, $heading-bg-color, $heading-border) {
343
394
  border-color: $border;
395
+
344
396
  & > .panel-heading {
345
397
  color: $heading-text-color;
346
398
  background-color: $heading-bg-color;
347
399
  border-color: $heading-border;
400
+
348
401
  + .panel-collapse .panel-body {
349
402
  border-top-color: $border;
350
403
  }
404
+ & > .dropdown .caret {
405
+ border-color: $heading-text-color transparent;
406
+ }
351
407
  }
352
408
  & > .panel-footer {
353
409
  + .panel-collapse .panel-body {
@@ -362,6 +418,7 @@
362
418
  background-color: $background;
363
419
  border-color: $border;
364
420
  color: $text-color;
421
+
365
422
  hr {
366
423
  border-top-color: darken($border, 5%);
367
424
  }
@@ -383,7 +440,6 @@
383
440
  &.#{$state} > td,
384
441
  &.#{$state} > th {
385
442
  background-color: $background;
386
- border-color: $border;
387
443
  }
388
444
  }
389
445
 
@@ -392,9 +448,9 @@
392
448
  .table-hover > tbody > tr {
393
449
  > td.#{$state}:hover,
394
450
  > th.#{$state}:hover,
395
- &.#{$state}:hover > td {
451
+ &.#{$state}:hover > td,
452
+ &.#{$state}:hover > th {
396
453
  background-color: darken($background, 5%);
397
- border-color: darken($border, 5%);
398
454
  }
399
455
  }
400
456
  }
@@ -437,7 +493,7 @@
437
493
  &:active,
438
494
  &.active {
439
495
  background-color: $background;
440
- border-color: $border
496
+ border-color: $border;
441
497
  }
442
498
  }
443
499
  }
@@ -501,14 +557,14 @@
501
557
  @mixin progress-bar-variant($color) {
502
558
  background-color: $color;
503
559
  .progress-striped & {
504
- @include gradient-striped($color);
560
+ @include gradient-striped();
505
561
  }
506
562
  }
507
563
 
508
564
  // Responsive utilities
509
565
  // -------------------------
510
566
  // More easily include all the states for responsive-utilities.less.
511
- // $parent hack because sass doesn't support tr& (without space)
567
+ // [converter] $parent hack
512
568
  @mixin responsive-visibility($parent) {
513
569
  #{$parent} { display: block !important; }
514
570
  tr#{$parent} { display: table-row !important; }
@@ -516,13 +572,15 @@
516
572
  td#{$parent} { display: table-cell !important; }
517
573
  }
518
574
 
575
+ // [converter] $parent hack
519
576
  @mixin responsive-invisibility($parent) {
520
- #{$parent} { display: none !important; }
521
- tr#{$parent} { display: none !important; }
577
+ #{$parent},
578
+ tr#{$parent},
522
579
  th#{$parent},
523
580
  td#{$parent} { display: none !important; }
524
581
  }
525
582
 
583
+
526
584
  // Grid System
527
585
  // -----------
528
586
 
@@ -564,7 +622,7 @@
564
622
  padding-right: ($gutter / 2);
565
623
 
566
624
  // Calculate width based on number of columns available
567
- @media (min-width: $screen-sm) {
625
+ @media (min-width: $screen-sm-min) {
568
626
  float: left;
569
627
  width: percentage(($columns / $grid-columns));
570
628
  }
@@ -572,17 +630,17 @@
572
630
 
573
631
  // Generate the small column offsets
574
632
  @mixin make-sm-column-offset($columns) {
575
- @media (min-width: $screen-sm) {
633
+ @media (min-width: $screen-sm-min) {
576
634
  margin-left: percentage(($columns / $grid-columns));
577
635
  }
578
636
  }
579
637
  @mixin make-sm-column-push($columns) {
580
- @media (min-width: $screen-sm) {
638
+ @media (min-width: $screen-sm-min) {
581
639
  left: percentage(($columns / $grid-columns));
582
640
  }
583
641
  }
584
642
  @mixin make-sm-column-pull($columns) {
585
- @media (min-width: $screen-sm) {
643
+ @media (min-width: $screen-sm-min) {
586
644
  right: percentage(($columns / $grid-columns));
587
645
  }
588
646
  }
@@ -597,15 +655,15 @@
597
655
  padding-right: ($gutter / 2);
598
656
 
599
657
  // Calculate width based on number of columns available
600
- @media (min-width: $screen-md) {
658
+ @media (min-width: $screen-md-min) {
601
659
  float: left;
602
660
  width: percentage(($columns / $grid-columns));
603
661
  }
604
662
  }
605
663
 
606
- // Generate the large column offsets
664
+ // Generate the medium column offsets
607
665
  @mixin make-md-column-offset($columns) {
608
- @media (min-width: $screen-md) {
666
+ @media (min-width: $screen-md-min) {
609
667
  margin-left: percentage(($columns / $grid-columns));
610
668
  }
611
669
  }
@@ -615,7 +673,7 @@
615
673
  }
616
674
  }
617
675
  @mixin make-md-column-pull($columns) {
618
- @media (min-width: $screen-md) {
676
+ @media (min-width: $screen-md-min) {
619
677
  right: percentage(($columns / $grid-columns));
620
678
  }
621
679
  }
@@ -630,7 +688,7 @@
630
688
  padding-right: ($gutter / 2);
631
689
 
632
690
  // Calculate width based on number of columns available
633
- @media (min-width: $screen-lg) {
691
+ @media (min-width: $screen-lg-min) {
634
692
  float: left;
635
693
  width: percentage(($columns / $grid-columns));
636
694
  }
@@ -638,22 +696,92 @@
638
696
 
639
697
  // Generate the large column offsets
640
698
  @mixin make-lg-column-offset($columns) {
641
- @media (min-width: $screen-lg) {
699
+ @media (min-width: $screen-lg-min) {
642
700
  margin-left: percentage(($columns / $grid-columns));
643
701
  }
644
702
  }
645
703
  @mixin make-lg-column-push($columns) {
646
- @media (min-width: $screen-lg) {
704
+ @media (min-width: $screen-lg-min) {
647
705
  left: percentage(($columns / $grid-columns));
648
706
  }
649
707
  }
650
708
  @mixin make-lg-column-pull($columns) {
651
- @media (min-width: $screen-lg) {
709
+ @media (min-width: $screen-lg-min) {
652
710
  right: percentage(($columns / $grid-columns));
653
711
  }
654
712
  }
655
713
 
656
714
 
715
+ // Framework grid generation
716
+ //
717
+ // Used only by Bootstrap to generate the correct number of grid classes given
718
+ // any value of `$grid-columns`.
719
+
720
+ // [converter] Grid converted to use SASS cycles (LESS uses recursive nested mixin defs not supported by SASS)
721
+ @mixin make-grid-columns() {
722
+ $list: '';
723
+ $i: 1;
724
+ $list: ".col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}";
725
+ @for $i from 2 through $grid-columns {
726
+ $list: ".col-xs-#{$i}, .col-sm-#{$i}, .col-md-#{$i}, .col-lg-#{$i}, #{$list}";
727
+ }
728
+ #{$list} {
729
+ position: relative;
730
+ // Prevent columns from collapsing when empty
731
+ min-height: 1px;
732
+ // Inner gutter via padding
733
+ padding-left: ($grid-gutter-width / 2);
734
+ padding-right: ($grid-gutter-width / 2);
735
+ }
736
+ }
737
+
738
+
739
+ // [converter] Grid converted to use SASS cycles (LESS uses recursive nested mixin defs not supported by SASS)
740
+ @mixin make-grid-columns-float($class) {
741
+ $list: '';
742
+ $i: 1;
743
+ $list: ".col-#{$class}-#{$i}";
744
+ @for $i from 2 through $grid-columns {
745
+ $list: ".col-#{$class}-#{$i}, #{$list}";
746
+ }
747
+ #{$list} {
748
+ float: left;
749
+ }
750
+ }
751
+
752
+
753
+ @mixin calc-grid($index, $class, $type) {
754
+ @if ($type == width) and ($index > 0) {
755
+ .col-#{$class}-#{$index} {
756
+ width: percentage(($index / $grid-columns));
757
+ }
758
+ }
759
+ @if ($type == push) {
760
+ .col-#{$class}-push-#{$index} {
761
+ left: percentage(($index / $grid-columns));
762
+ }
763
+ }
764
+ @if ($type == pull) {
765
+ .col-#{$class}-pull-#{$index} {
766
+ right: percentage(($index / $grid-columns));
767
+ }
768
+ }
769
+ @if ($type == offset) {
770
+ .col-#{$class}-offset-#{$index} {
771
+ margin-left: percentage(($index / $grid-columns));
772
+ }
773
+ }
774
+ }
775
+
776
+ // [converter] This is defined recursively in LESS, but SASS supports real loops
777
+ @mixin make-grid($columns, $class, $type) {
778
+ @for $i from 0 through $columns {
779
+ @include calc-grid($i, $class, $type);
780
+ }
781
+ }
782
+
783
+
784
+
657
785
  // Form validation states
658
786
  //
659
787
  // Used in forms.less to generate the form validation CSS for warnings, errors,
@@ -662,7 +790,11 @@
662
790
  @mixin form-control-validation($text-color: #555, $border-color: #ccc, $background-color: #f5f5f5) {
663
791
  // Color the label and help text
664
792
  .help-block,
665
- .control-label {
793
+ .control-label,
794
+ .radio,
795
+ .checkbox,
796
+ .radio-inline,
797
+ .checkbox-inline {
666
798
  color: $text-color;
667
799
  }
668
800
  // Set the border and box shadow on specific inputs to match
@@ -711,6 +843,7 @@
711
843
  // horizontal sizing, wrap controls in the predefined grid classes. `<select>`
712
844
  // element gets special love because it's special, and that's a fact!
713
845
 
846
+ // [converter] $parent hack
714
847
  @mixin input-size($parent, $input-height, $padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) {
715
848
  #{$parent} { height: $input-height;
716
849
  padding: $padding-vertical $padding-horizontal;