bootstrap-sass 3.3.5 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/.travis.yml +8 -12
  4. data/CHANGELOG.md +20 -0
  5. data/Gemfile +1 -4
  6. data/LICENSE +2 -1
  7. data/README.md +79 -74
  8. data/Rakefile +46 -11
  9. data/assets/javascripts/bootstrap/affix.js +7 -5
  10. data/assets/javascripts/bootstrap/alert.js +6 -5
  11. data/assets/javascripts/bootstrap/button.js +14 -9
  12. data/assets/javascripts/bootstrap/carousel.js +16 -7
  13. data/assets/javascripts/bootstrap/collapse.js +7 -6
  14. data/assets/javascripts/bootstrap/dropdown.js +7 -7
  15. data/assets/javascripts/bootstrap/modal.js +44 -23
  16. data/assets/javascripts/bootstrap/popover.js +25 -10
  17. data/assets/javascripts/bootstrap/scrollspy.js +4 -4
  18. data/assets/javascripts/bootstrap/tab.js +10 -10
  19. data/assets/javascripts/bootstrap/tooltip.js +177 -14
  20. data/assets/javascripts/bootstrap/transition.js +5 -5
  21. data/assets/javascripts/bootstrap-sprockets.js +2 -2
  22. data/assets/javascripts/bootstrap.js +326 -109
  23. data/assets/javascripts/bootstrap.min.js +3 -4
  24. data/assets/stylesheets/_bootstrap-mincer.scss +2 -2
  25. data/assets/stylesheets/_bootstrap.scss +2 -2
  26. data/assets/stylesheets/bootstrap/_alerts.scss +3 -3
  27. data/assets/stylesheets/bootstrap/_badges.scss +3 -3
  28. data/assets/stylesheets/bootstrap/_breadcrumbs.scss +3 -1
  29. data/assets/stylesheets/bootstrap/_button-groups.scss +8 -8
  30. data/assets/stylesheets/bootstrap/_buttons.scss +4 -4
  31. data/assets/stylesheets/bootstrap/_carousel.scss +33 -31
  32. data/assets/stylesheets/bootstrap/_close.scss +1 -0
  33. data/assets/stylesheets/bootstrap/_code.scss +3 -3
  34. data/assets/stylesheets/bootstrap/_component-animations.scss +1 -0
  35. data/assets/stylesheets/bootstrap/_dropdowns.scss +20 -23
  36. data/assets/stylesheets/bootstrap/_forms.scss +56 -60
  37. data/assets/stylesheets/bootstrap/_glyphicons.scss +11 -11
  38. data/assets/stylesheets/bootstrap/_grid.scss +10 -0
  39. data/assets/stylesheets/bootstrap/_input-groups.scss +9 -5
  40. data/assets/stylesheets/bootstrap/_jumbotron.scss +5 -3
  41. data/assets/stylesheets/bootstrap/_labels.scss +1 -1
  42. data/assets/stylesheets/bootstrap/_list-group.scss +30 -32
  43. data/assets/stylesheets/bootstrap/_media.scss +1 -1
  44. data/assets/stylesheets/bootstrap/_modals.scss +8 -8
  45. data/assets/stylesheets/bootstrap/_navbar.scss +75 -81
  46. data/assets/stylesheets/bootstrap/_navs.scss +4 -4
  47. data/assets/stylesheets/bootstrap/_normalize.scss +5 -2
  48. data/assets/stylesheets/bootstrap/_pager.scss +2 -2
  49. data/assets/stylesheets/bootstrap/_pagination.scss +13 -16
  50. data/assets/stylesheets/bootstrap/_panels.scss +5 -5
  51. data/assets/stylesheets/bootstrap/_popovers.scss +47 -52
  52. data/assets/stylesheets/bootstrap/_print.scss +90 -92
  53. data/assets/stylesheets/bootstrap/_progress-bars.scss +3 -3
  54. data/assets/stylesheets/bootstrap/_responsive-embed.scss +2 -2
  55. data/assets/stylesheets/bootstrap/_responsive-utilities.scss +3 -3
  56. data/assets/stylesheets/bootstrap/_scaffolding.scss +7 -7
  57. data/assets/stylesheets/bootstrap/_tables.scss +23 -23
  58. data/assets/stylesheets/bootstrap/_theme.scss +21 -17
  59. data/assets/stylesheets/bootstrap/_thumbnails.scss +1 -1
  60. data/assets/stylesheets/bootstrap/_tooltip.scss +38 -27
  61. data/assets/stylesheets/bootstrap/_type.scss +11 -11
  62. data/assets/stylesheets/bootstrap/_variables.scss +9 -7
  63. data/assets/stylesheets/bootstrap/_wells.scss +2 -2
  64. data/assets/stylesheets/bootstrap/mixins/_alerts.scss +2 -1
  65. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +4 -4
  66. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +7 -14
  67. data/assets/stylesheets/bootstrap/mixins/_center-block.scss +1 -1
  68. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +1 -1
  69. data/assets/stylesheets/bootstrap/mixins/_forms.scss +4 -4
  70. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +6 -8
  71. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +1 -1
  72. data/assets/stylesheets/bootstrap/mixins/_grid.scss +7 -7
  73. data/assets/stylesheets/bootstrap/mixins/_hide-text.scss +1 -1
  74. data/assets/stylesheets/bootstrap/mixins/_image.scss +5 -10
  75. data/assets/stylesheets/bootstrap/mixins/_opacity.scss +2 -3
  76. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +4 -4
  77. data/assets/stylesheets/bootstrap/mixins/_resize.scss +1 -1
  78. data/assets/stylesheets/bootstrap/mixins/_responsive-visibility.scss +0 -4
  79. data/assets/stylesheets/bootstrap/mixins/_tab-focus.scss +3 -3
  80. data/assets/stylesheets/bootstrap/mixins/_vendor-prefixes.scss +3 -3
  81. data/bootstrap-sass.gemspec +10 -9
  82. data/bower.json +4 -3
  83. data/composer.json +2 -2
  84. data/eyeglass-exports.js +7 -0
  85. data/lib/bootstrap-sass/engine.rb +6 -1
  86. data/lib/bootstrap-sass/version.rb +2 -2
  87. data/lib/bootstrap-sass.rb +17 -10
  88. data/package-lock.json +1611 -0
  89. data/package.json +20 -6
  90. data/sache.json +1 -1
  91. data/tasks/converter/less_conversion.rb +12 -8
  92. data/tasks/converter/network.rb +2 -2
  93. data/templates/project/_bootstrap-variables.sass +10 -8
  94. data/test/compilation_test.rb +24 -12
  95. data/test/dummy_rails/config/application.rb +2 -1
  96. data/test/dummy_rails/config/boot.rb +1 -1
  97. data/test/dummy_sass_only/Gemfile +1 -1
  98. data/test/dummy_sass_only/compile.rb +14 -7
  99. data/test/dummy_sass_only/import_all.scss +2 -0
  100. data/test/gemfiles/default.gemfile +3 -0
  101. data/test/node_mincer_test.rb +2 -3
  102. data/test/node_sass_compile_test.sh +4 -3
  103. data/test/sass_test.rb +10 -7
  104. data/test/sprockets_rails_test.rb +12 -8
  105. data/test/support/dummy_rails_integration.rb +1 -1
  106. data/test/support/reporting.rb +10 -0
  107. data/test/test_helper.rb +3 -2
  108. metadata +37 -28
  109. data/test/compass_test.rb +0 -9
  110. data/test/dummy_sass_only/import_all.sass +0 -2
  111. data/test/gemfiles/sass_3_2.gemfile +0 -6
  112. data/test/gemfiles/sass_3_3.gemfile +0 -6
  113. data/test/gemfiles/sass_3_4.gemfile +0 -7
  114. data/test/gemfiles/sass_head.gemfile +0 -6
@@ -51,14 +51,14 @@ $font-family-base: $font-family-sans-serif !default;
51
51
 
52
52
  $font-size-base: 14px !default;
53
53
  $font-size-large: ceil(($font-size-base * 1.25)) !default; // ~18px
54
- $font-size-small: ceil(($font-size-base * 0.85)) !default; // ~12px
54
+ $font-size-small: ceil(($font-size-base * .85)) !default; // ~12px
55
55
 
56
56
  $font-size-h1: floor(($font-size-base * 2.6)) !default; // ~36px
57
57
  $font-size-h2: floor(($font-size-base * 2.15)) !default; // ~30px
58
58
  $font-size-h3: ceil(($font-size-base * 1.7)) !default; // ~24px
59
59
  $font-size-h4: ceil(($font-size-base * 1.25)) !default; // ~18px
60
60
  $font-size-h5: $font-size-base !default;
61
- $font-size-h6: ceil(($font-size-base * 0.85)) !default; // ~12px
61
+ $font-size-h6: ceil(($font-size-base * .85)) !default; // ~12px
62
62
 
63
63
  //** Unit-less `line-height` for use in components like buttons.
64
64
  $line-height-base: 1.428571429 !default; // 20/14
@@ -116,7 +116,7 @@ $component-active-color: #fff !default;
116
116
  //** Global background color for active items (e.g., navs or dropdowns).
117
117
  $component-active-bg: $brand-primary !default;
118
118
 
119
- //** Width of the `border` for generating carets that indicator dropdowns.
119
+ //** Width of the `border` for generating carets that indicate dropdowns.
120
120
  $caret-width-base: 4px !default;
121
121
  //** Carets increase slightly in size for larger components.
122
122
  $caret-width-large: 5px !default;
@@ -239,7 +239,7 @@ $cursor-disabled: not-allowed !default;
239
239
  //** Background for the dropdown menu.
240
240
  $dropdown-bg: #fff !default;
241
241
  //** Dropdown menu `border-color`.
242
- $dropdown-border: rgba(0,0,0,.15) !default;
242
+ $dropdown-border: rgba(0, 0, 0, .15) !default;
243
243
  //** Dropdown menu `border-color` **for IE8**.
244
244
  $dropdown-fallback-border: #ccc !default;
245
245
  //** Divider color for between dropdown items.
@@ -545,7 +545,7 @@ $popover-bg: #fff !default;
545
545
  //** Popover maximum width
546
546
  $popover-max-width: 276px !default;
547
547
  //** Popover border color
548
- $popover-border-color: rgba(0,0,0,.2) !default;
548
+ $popover-border-color: rgba(0, 0, 0, .2) !default;
549
549
  //** Popover fallback border color
550
550
  $popover-fallback-border-color: #ccc !default;
551
551
 
@@ -603,7 +603,7 @@ $modal-title-line-height: $line-height-base !default;
603
603
  //** Background color of modal content area
604
604
  $modal-content-bg: #fff !default;
605
605
  //** Modal content border color
606
- $modal-content-border-color: rgba(0,0,0,.2) !default;
606
+ $modal-content-border-color: rgba(0, 0, 0, .2) !default;
607
607
  //** Modal content border color **for IE8**
608
608
  $modal-content-fallback-border-color: #999 !default;
609
609
 
@@ -808,7 +808,7 @@ $breadcrumb-separator: "/" !default;
808
808
  //
809
809
  //##
810
810
 
811
- $carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6) !default;
811
+ $carousel-text-shadow: 0 1px 2px rgba(0, 0, 0, .6) !default;
812
812
 
813
813
  $carousel-control-color: #fff !default;
814
814
  $carousel-control-width: 15% !default;
@@ -868,5 +868,7 @@ $blockquote-border-color: $gray-lighter !default;
868
868
  $page-header-border-color: $gray-lighter !default;
869
869
  //** Width of horizontal description list titles
870
870
  $dl-horizontal-offset: $component-offset-horizontal !default;
871
+ //** Point at which .dl-horizontal becomes horizontal
872
+ $dl-horizontal-breakpoint: $grid-float-breakpoint !default;
871
873
  //** Horizontal line color.
872
874
  $hr-border: $gray-lighter !default;
@@ -11,10 +11,10 @@
11
11
  background-color: $well-bg;
12
12
  border: 1px solid $well-border;
13
13
  border-radius: $border-radius-base;
14
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.05));
14
+ @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, .05));
15
15
  blockquote {
16
16
  border-color: #ddd;
17
- border-color: rgba(0,0,0,.15);
17
+ border-color: rgba(0, 0, 0, .15);
18
18
  }
19
19
  }
20
20
 
@@ -1,13 +1,14 @@
1
1
  // Alerts
2
2
 
3
3
  @mixin alert-variant($background, $border, $text-color) {
4
+ color: $text-color;
4
5
  background-color: $background;
5
6
  border-color: $border;
6
- color: $text-color;
7
7
 
8
8
  hr {
9
9
  border-top-color: darken($border, 5%);
10
10
  }
11
+
11
12
  .alert-link {
12
13
  color: darken($text-color, 10%);
13
14
  }
@@ -1,18 +1,18 @@
1
1
  // Single side border-radius
2
2
 
3
3
  @mixin border-top-radius($radius) {
4
+ border-top-left-radius: $radius;
4
5
  border-top-right-radius: $radius;
5
- border-top-left-radius: $radius;
6
6
  }
7
7
  @mixin border-right-radius($radius) {
8
+ border-top-right-radius: $radius;
8
9
  border-bottom-right-radius: $radius;
9
- border-top-right-radius: $radius;
10
10
  }
11
11
  @mixin border-bottom-radius($radius) {
12
12
  border-bottom-right-radius: $radius;
13
- border-bottom-left-radius: $radius;
13
+ border-bottom-left-radius: $radius;
14
14
  }
15
15
  @mixin border-left-radius($radius) {
16
+ border-top-left-radius: $radius;
16
17
  border-bottom-left-radius: $radius;
17
- border-top-left-radius: $radius;
18
18
  }
@@ -12,44 +12,37 @@
12
12
  &.focus {
13
13
  color: $color;
14
14
  background-color: darken($background, 10%);
15
- border-color: darken($border, 25%);
15
+ border-color: darken($border, 25%);
16
16
  }
17
17
  &:hover {
18
18
  color: $color;
19
19
  background-color: darken($background, 10%);
20
- border-color: darken($border, 12%);
20
+ border-color: darken($border, 12%);
21
21
  }
22
22
  &:active,
23
23
  &.active,
24
24
  .open > &.dropdown-toggle {
25
25
  color: $color;
26
26
  background-color: darken($background, 10%);
27
- border-color: darken($border, 12%);
27
+ background-image: none;
28
+ border-color: darken($border, 12%);
28
29
 
29
30
  &:hover,
30
31
  &:focus,
31
32
  &.focus {
32
33
  color: $color;
33
34
  background-color: darken($background, 17%);
34
- border-color: darken($border, 25%);
35
+ border-color: darken($border, 25%);
35
36
  }
36
37
  }
37
- &:active,
38
- &.active,
39
- .open > &.dropdown-toggle {
40
- background-image: none;
41
- }
42
38
  &.disabled,
43
39
  &[disabled],
44
40
  fieldset[disabled] & {
45
- &,
46
41
  &:hover,
47
42
  &:focus,
48
- &.focus,
49
- &:active,
50
- &.active {
43
+ &.focus {
51
44
  background-color: $background;
52
- border-color: $border;
45
+ border-color: $border;
53
46
  }
54
47
  }
55
48
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  @mixin center-block() {
4
4
  display: block;
5
- margin-left: auto;
6
5
  margin-right: auto;
6
+ margin-left: auto;
7
7
  }
@@ -13,8 +13,8 @@
13
13
  @mixin clearfix() {
14
14
  &:before,
15
15
  &:after {
16
- content: " "; // 1
17
16
  display: table; // 2
17
+ content: " "; // 1
18
18
  }
19
19
  &:after {
20
20
  clear: both;
@@ -20,18 +20,18 @@
20
20
  // Set the border and box shadow on specific inputs to match
21
21
  .form-control {
22
22
  border-color: $border-color;
23
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work
23
+ @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075)); // Redeclare so transitions work
24
24
  &:focus {
25
25
  border-color: darken($border-color, 10%);
26
- $shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten($border-color, 20%);
26
+ $shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px lighten($border-color, 20%);
27
27
  @include box-shadow($shadow);
28
28
  }
29
29
  }
30
30
  // Set validation states also for addons
31
31
  .input-group-addon {
32
32
  color: $text-color;
33
- border-color: $border-color;
34
33
  background-color: $background-color;
34
+ border-color: $border-color;
35
35
  }
36
36
  // Optional feedback icon
37
37
  .form-control-feedback {
@@ -57,7 +57,7 @@
57
57
  &:focus {
58
58
  border-color: $color;
59
59
  outline: 0;
60
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px $color-rgba);
60
+ @include box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px $color-rgba);
61
61
  }
62
62
  }
63
63
 
@@ -1,5 +1,3 @@
1
- // Gradients
2
-
3
1
 
4
2
 
5
3
  // Horizontal gradient, from left to right
@@ -10,8 +8,8 @@
10
8
  background-image: -webkit-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
11
9
  background-image: -o-linear-gradient(left, $start-color $start-percent, $end-color $end-percent); // Opera 12
12
10
  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
13
- background-repeat: repeat-x;
14
11
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down
12
+ background-repeat: repeat-x;
15
13
  }
16
14
 
17
15
  // Vertical gradient, from top to bottom
@@ -22,36 +20,36 @@
22
20
  background-image: -webkit-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Safari 5.1-6, Chrome 10+
23
21
  background-image: -o-linear-gradient(top, $start-color $start-percent, $end-color $end-percent); // Opera 12
24
22
  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
25
- background-repeat: repeat-x;
26
23
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down
24
+ background-repeat: repeat-x;
27
25
  }
28
26
 
29
27
  @mixin gradient-directional($start-color: #555, $end-color: #333, $deg: 45deg) {
30
- background-repeat: repeat-x;
31
28
  background-image: -webkit-linear-gradient($deg, $start-color, $end-color); // Safari 5.1-6, Chrome 10+
32
29
  background-image: -o-linear-gradient($deg, $start-color, $end-color); // Opera 12
33
30
  background-image: linear-gradient($deg, $start-color, $end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
31
+ background-repeat: repeat-x;
34
32
  }
35
33
  @mixin gradient-horizontal-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
36
34
  background-image: -webkit-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
37
35
  background-image: -o-linear-gradient(left, $start-color, $mid-color $color-stop, $end-color);
38
36
  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
39
- background-repeat: no-repeat;
40
37
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=1); // IE9 and down, gets no color-stop at all for proper fallback
38
+ background-repeat: no-repeat;
41
39
  }
42
40
  @mixin gradient-vertical-three-colors($start-color: #00b3ee, $mid-color: #7a43b6, $color-stop: 50%, $end-color: #c3325f) {
43
41
  background-image: -webkit-linear-gradient($start-color, $mid-color $color-stop, $end-color);
44
42
  background-image: -o-linear-gradient($start-color, $mid-color $color-stop, $end-color);
45
43
  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
46
- background-repeat: no-repeat;
47
44
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#{ie-hex-str($start-color)}', endColorstr='#{ie-hex-str($end-color)}', GradientType=0); // IE9 and down, gets no color-stop at all for proper fallback
45
+ background-repeat: no-repeat;
48
46
  }
49
47
  @mixin gradient-radial($inner-color: #555, $outer-color: #333) {
50
48
  background-image: -webkit-radial-gradient(circle, $inner-color, $outer-color);
51
49
  background-image: radial-gradient(circle, $inner-color, $outer-color);
52
50
  background-repeat: no-repeat;
53
51
  }
54
- @mixin gradient-striped($color: rgba(255,255,255,.15), $angle: 45deg) {
52
+ @mixin gradient-striped($color: rgba(255, 255, 255, .15), $angle: 45deg) {
55
53
  background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
56
54
  background-image: -o-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
57
55
  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
@@ -13,8 +13,8 @@
13
13
  // Prevent columns from collapsing when empty
14
14
  min-height: 1px;
15
15
  // Inner gutter via padding
16
- padding-left: ceil(($grid-gutter-width / 2));
17
16
  padding-right: floor(($grid-gutter-width / 2));
17
+ padding-left: ceil(($grid-gutter-width / 2));
18
18
  }
19
19
  }
20
20
 
@@ -4,17 +4,17 @@
4
4
 
5
5
  // Centered container element
6
6
  @mixin container-fixed($gutter: $grid-gutter-width) {
7
+ padding-right: ceil(($gutter / 2));
8
+ padding-left: floor(($gutter / 2));
7
9
  margin-right: auto;
8
10
  margin-left: auto;
9
- padding-left: ($gutter / 2);
10
- padding-right: ($gutter / 2);
11
11
  @include clearfix;
12
12
  }
13
13
 
14
14
  // Creates a wrapper for a series of columns
15
15
  @mixin make-row($gutter: $grid-gutter-width) {
16
- margin-left: ceil(($gutter / -2));
17
16
  margin-right: floor(($gutter / -2));
17
+ margin-left: ceil(($gutter / -2));
18
18
  @include clearfix;
19
19
  }
20
20
 
@@ -24,8 +24,8 @@
24
24
  float: left;
25
25
  width: percentage(($columns / $grid-columns));
26
26
  min-height: 1px;
27
- padding-left: ($gutter / 2);
28
27
  padding-right: ($gutter / 2);
28
+ padding-left: ($gutter / 2);
29
29
  }
30
30
  @mixin make-xs-column-offset($columns) {
31
31
  margin-left: percentage(($columns / $grid-columns));
@@ -41,8 +41,8 @@
41
41
  @mixin make-sm-column($columns, $gutter: $grid-gutter-width) {
42
42
  position: relative;
43
43
  min-height: 1px;
44
- padding-left: ($gutter / 2);
45
44
  padding-right: ($gutter / 2);
45
+ padding-left: ($gutter / 2);
46
46
 
47
47
  @media (min-width: $screen-sm-min) {
48
48
  float: left;
@@ -69,8 +69,8 @@
69
69
  @mixin make-md-column($columns, $gutter: $grid-gutter-width) {
70
70
  position: relative;
71
71
  min-height: 1px;
72
- padding-left: ($gutter / 2);
73
72
  padding-right: ($gutter / 2);
73
+ padding-left: ($gutter / 2);
74
74
 
75
75
  @media (min-width: $screen-md-min) {
76
76
  float: left;
@@ -97,8 +97,8 @@
97
97
  @mixin make-lg-column($columns, $gutter: $grid-gutter-width) {
98
98
  position: relative;
99
99
  min-height: 1px;
100
- padding-left: ($gutter / 2);
101
100
  padding-right: ($gutter / 2);
101
+ padding-left: ($gutter / 2);
102
102
 
103
103
  @media (min-width: $screen-lg-min) {
104
104
  float: left;
@@ -6,7 +6,7 @@
6
6
  //
7
7
  // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757
8
8
 
9
- // Deprecated as of v3.0.1 (will be removed in v4)
9
+ // Deprecated as of v3.0.1 (has been removed in v4)
10
10
  @mixin hide-text() {
11
11
  font: 0/0 a;
12
12
  color: transparent;
@@ -1,8 +1,3 @@
1
- // Image Mixins
2
- // - Responsive image
3
- // - Retina image
4
-
5
-
6
1
  // Responsive image
7
2
  //
8
3
  // Keep images from scaling beyond the width of their parents.
@@ -22,11 +17,11 @@
22
17
 
23
18
  @media
24
19
  only screen and (-webkit-min-device-pixel-ratio: 2),
25
- only screen and ( min--moz-device-pixel-ratio: 2),
26
- only screen and ( -o-min-device-pixel-ratio: 2/1),
27
- only screen and ( min-device-pixel-ratio: 2),
28
- only screen and ( min-resolution: 192dpi),
29
- only screen and ( min-resolution: 2dppx) {
20
+ only screen and ( min--moz-device-pixel-ratio: 2),
21
+ only screen and ( -o-min-device-pixel-ratio: 2/1),
22
+ only screen and ( min-device-pixel-ratio: 2),
23
+ only screen and ( min-resolution: 192dpi),
24
+ only screen and ( min-resolution: 2dppx) {
30
25
  background-image: url(if($bootstrap-sass-asset-helper, twbs-image-path("#{$file-2x}"), "#{$file-2x}"));
31
26
  background-size: $width-1x $height-1x;
32
27
  }
@@ -1,8 +1,7 @@
1
1
  // Opacity
2
2
 
3
3
  @mixin opacity($opacity) {
4
- opacity: $opacity;
5
- // IE8 filter
6
- $opacity-ie: ($opacity * 100);
4
+ $opacity-ie: ($opacity * 100); // IE8 filter
7
5
  filter: alpha(opacity=$opacity-ie);
6
+ opacity: $opacity;
8
7
  }
@@ -2,17 +2,17 @@
2
2
  font-family: $font-family-base;
3
3
  // We deliberately do NOT reset font-size.
4
4
  font-style: normal;
5
- font-weight: normal;
6
- letter-spacing: normal;
7
- line-break: auto;
5
+ font-weight: 400;
8
6
  line-height: $line-height-base;
7
+ line-break: auto;
9
8
  text-align: left; // Fallback for where `start` is not supported
10
9
  text-align: start;
11
10
  text-decoration: none;
12
11
  text-shadow: none;
13
12
  text-transform: none;
14
- white-space: normal;
13
+ letter-spacing: normal;
15
14
  word-break: normal;
16
15
  word-spacing: normal;
17
16
  word-wrap: normal;
17
+ white-space: normal;
18
18
  }
@@ -1,6 +1,6 @@
1
1
  // Resize anything
2
2
 
3
3
  @mixin resizable($direction) {
4
- resize: $direction; // Options: horizontal, vertical, both
5
4
  overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
5
+ resize: $direction; // Options: horizontal, vertical, both
6
6
  }
@@ -1,7 +1,3 @@
1
- // Responsive utilities
2
-
3
- //
4
- // More easily include all the states for responsive-utilities.less.
5
1
  // [converter] $parent hack
6
2
  @mixin responsive-visibility($parent) {
7
3
  #{$parent} {
@@ -1,9 +1,9 @@
1
1
  // WebKit-style focus
2
2
 
3
3
  @mixin tab-focus() {
4
- // Default
5
- outline: thin dotted;
6
- // WebKit
4
+ // WebKit-specific. Other browsers will keep their default outline style.
5
+ // (Initially tried to also force default via `outline: initial`,
6
+ // but that seems to erroneously remove the outline in Firefox altogether.)
7
7
  outline: 5px auto -webkit-focus-ring-color;
8
8
  outline-offset: -2px;
9
9
  }
@@ -1,7 +1,7 @@
1
1
  // Vendor Prefixes
2
2
  //
3
3
  // All vendor mixins are deprecated as of v3.2.0 due to the introduction of
4
- // Autoprefixer in our Gruntfile. They will be removed in v4.
4
+ // Autoprefixer in our Gruntfile. They have been removed in v4.
5
5
 
6
6
  // - Animations
7
7
  // - Backface visibility
@@ -54,7 +54,7 @@
54
54
  // Prevent browsers from flickering when using CSS 3D transforms.
55
55
  // Default value is `visible`, but can be changed to `hidden`
56
56
 
57
- @mixin backface-visibility($visibility){
57
+ @mixin backface-visibility($visibility) {
58
58
  -webkit-backface-visibility: $visibility;
59
59
  -moz-backface-visibility: $visibility;
60
60
  backface-visibility: $visibility;
@@ -89,12 +89,12 @@
89
89
 
90
90
  // Optional hyphenation
91
91
  @mixin hyphens($mode: auto) {
92
- word-wrap: break-word;
93
92
  -webkit-hyphens: $mode;
94
93
  -moz-hyphens: $mode;
95
94
  -ms-hyphens: $mode; // IE10+
96
95
  -o-hyphens: $mode;
97
96
  hyphens: $mode;
97
+ word-wrap: break-word;
98
98
  }
99
99
 
100
100
  // Placeholder text
@@ -3,24 +3,25 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require 'bootstrap-sass/version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
- s.name = "bootstrap-sass"
6
+ s.name = 'bootstrap-sass'
7
7
  s.version = Bootstrap::VERSION
8
- s.authors = ["Thomas McDonald"]
8
+ s.authors = ['Thomas McDonald']
9
9
  s.email = 'tom@conceptcoding.co.uk'
10
- s.summary = "Twitter's Bootstrap, converted to Sass and ready to drop into Rails or Compass"
11
- s.homepage = "https://github.com/twbs/bootstrap-sass"
10
+ s.summary = 'bootstrap-sass is a Sass-powered version of Bootstrap 3, ready to drop right into your Sass powered applications.'
11
+ s.homepage = 'https://github.com/twbs/bootstrap-sass'
12
12
  s.license = 'MIT'
13
13
 
14
- s.add_runtime_dependency 'sass', '>= 3.2.19'
15
- s.add_runtime_dependency 'autoprefixer-rails', '>= 5.0.0.1'
14
+ s.add_runtime_dependency 'sassc', '>= 2.0.0'
15
+ s.add_runtime_dependency 'autoprefixer-rails', '>= 5.2.1'
16
16
 
17
17
  # Testing dependencies
18
- s.add_development_dependency 'minitest', '~> 5.4.0'
19
- s.add_development_dependency 'minitest-reporters', '~> 1.0.5'
18
+ s.add_development_dependency 'minitest', '~> 5.11'
19
+ s.add_development_dependency 'minitest-reporters', '~> 1.3'
20
20
  # Integration testing
21
- s.add_development_dependency 'capybara'
21
+ s.add_development_dependency 'capybara', '~> 3.6'
22
22
  s.add_development_dependency 'poltergeist'
23
23
  # Dummy Rails app dependencies
24
+ s.add_development_dependency 'sassc-rails', '>= 2.0.0'
24
25
  s.add_development_dependency 'actionpack', '>= 4.1.5'
25
26
  s.add_development_dependency 'activesupport', '>= 4.1.5'
26
27
  s.add_development_dependency 'json', '>= 1.8.1'
data/bower.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "Peter Gumeson",
8
8
  "Gleb Mazovetskiy"
9
9
  ],
10
- "description": "bootstrap-sass is a Sass-powered version of Bootstrap, ready to drop right into your Sass powered applications.",
10
+ "description": "bootstrap-sass is a Sass-powered version of Bootstrap 3, ready to drop right into your Sass powered applications.",
11
11
  "moduleType": "globals",
12
12
  "main": [
13
13
  "assets/stylesheets/_bootstrap.scss",
@@ -30,6 +30,7 @@
30
30
  "Gemfile"
31
31
  ],
32
32
  "dependencies": {
33
- "jquery": ">= 1.9.0"
34
- }
33
+ "jquery": "1.9.1 - 3"
34
+ },
35
+ "version": "3.4.1"
35
36
  }
data/composer.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "twbs/bootstrap-sass",
3
- "description": "bootstrap-sass is a Sass-powered version of Bootstrap, ready to drop right into your Sass powered applications.",
3
+ "description": "bootstrap-sass is a Sass-powered version of Bootstrap 3, ready to drop right into your Sass powered applications.",
4
4
  "keywords": ["bootstrap", "css", "sass"],
5
5
  "homepage": "http://github.com/twbs/bootstrap-sass",
6
6
  "authors": [
@@ -29,7 +29,7 @@
29
29
  "license": "MIT",
30
30
  "extra": {
31
31
  "branch-alias": {
32
- "dev-master": "3.3.x-dev"
32
+ "dev-master": "3.4.x-dev"
33
33
  }
34
34
  }
35
35
  }
@@ -0,0 +1,7 @@
1
+ var path = require('path');
2
+
3
+ module.exports = function(eyeglass, sass) {
4
+ return {
5
+ sassDir: path.join(__dirname, 'assets/stylesheets')
6
+ }
7
+ };
@@ -5,7 +5,12 @@ module Bootstrap
5
5
  %w(stylesheets javascripts fonts images).each do |sub|
6
6
  app.config.assets.paths << root.join('assets', sub).to_s
7
7
  end
8
- app.config.assets.precompile << %r(bootstrap/glyphicons-halflings-regular\.(?:eot|svg|ttf|woff2?)$)
8
+
9
+ # sprockets-rails 3 tracks down the calls to `font_path` and `image_path`
10
+ # and automatically precompiles the referenced assets.
11
+ unless Sprockets::Rails::VERSION.split('.', 2)[0].to_i >= 3
12
+ app.config.assets.precompile << %r(bootstrap/glyphicons-halflings-regular\.(?:eot|svg|ttf|woff2?)$)
13
+ end
9
14
  end
10
15
  end
11
16
  end
@@ -1,4 +1,4 @@
1
1
  module Bootstrap
2
- VERSION = '3.3.5'
3
- BOOTSTRAP_SHA = '16b48259a62f576e52c903c476bd42b90ab22482'
2
+ VERSION = '3.4.1'
3
+ BOOTSTRAP_SHA = '68b0d231a13201eb14acd3dc84e51543d16e5f7e'
4
4
  end
@@ -7,11 +7,19 @@ module Bootstrap
7
7
 
8
8
  if rails?
9
9
  register_rails_engine
10
+ elsif hanami?
11
+ register_hanami
10
12
  elsif sprockets?
11
13
  register_sprockets
14
+ elsif defined?(::Sass) && ::Sass.respond_to?(:load_paths)
15
+ # The deprecated `sass` gem:
16
+ ::Sass.load_paths << stylesheets_path
12
17
  end
13
18
 
14
- configure_sass
19
+ if defined?(::Sass::Script::Value::Number)
20
+ # bootstrap requires minimum precision of 8, see https://github.com/twbs/bootstrap-sass/issues/409
21
+ ::Sass::Script::Value::Number.precision = [8, ::Sass::Script::Value::Number.precision].max
22
+ end
15
23
  end
16
24
 
17
25
  # Paths
@@ -48,17 +56,12 @@ module Bootstrap
48
56
  defined?(::Rails)
49
57
  end
50
58
 
51
- private
52
-
53
- def configure_sass
54
- require 'sass'
55
-
56
- ::Sass.load_paths << stylesheets_path
57
-
58
- # bootstrap requires minimum precision of 8, see https://github.com/twbs/bootstrap-sass/issues/409
59
- ::Sass::Script::Number.precision = [8, ::Sass::Script::Number.precision].max
59
+ def hanami?
60
+ defined?(::Hanami)
60
61
  end
61
62
 
63
+ private
64
+
62
65
  def register_compass_extension
63
66
  ::Compass::Frameworks.register(
64
67
  'bootstrap',
@@ -73,6 +76,10 @@ module Bootstrap
73
76
  require 'bootstrap-sass/engine'
74
77
  end
75
78
 
79
+ def register_hanami
80
+ Hanami::Assets.sources << assets_path
81
+ end
82
+
76
83
  def register_sprockets
77
84
  Sprockets.append_path(stylesheets_path)
78
85
  Sprockets.append_path(fonts_path)