bootstrap 4.0.0.beta3 → 4.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 might be problematic. Click here for more details.

Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +1 -1
  4. data/assets/javascripts/bootstrap-sprockets.js +6 -6
  5. data/assets/javascripts/bootstrap.js +112 -110
  6. data/assets/javascripts/bootstrap.min.js +3 -3
  7. data/assets/javascripts/bootstrap/alert.js +6 -6
  8. data/assets/javascripts/bootstrap/button.js +5 -5
  9. data/assets/javascripts/bootstrap/carousel.js +9 -10
  10. data/assets/javascripts/bootstrap/collapse.js +18 -16
  11. data/assets/javascripts/bootstrap/dropdown.js +17 -16
  12. data/assets/javascripts/bootstrap/modal.js +11 -11
  13. data/assets/javascripts/bootstrap/popover.js +8 -8
  14. data/assets/javascripts/bootstrap/scrollspy.js +9 -9
  15. data/assets/javascripts/bootstrap/tab.js +7 -7
  16. data/assets/javascripts/bootstrap/tooltip.js +13 -13
  17. data/assets/javascripts/bootstrap/util.js +6 -6
  18. data/assets/stylesheets/_bootstrap-grid.scss +4 -7
  19. data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
  20. data/assets/stylesheets/_bootstrap.scss +3 -3
  21. data/assets/stylesheets/bootstrap/_alert.scss +1 -1
  22. data/assets/stylesheets/bootstrap/_buttons.scss +5 -9
  23. data/assets/stylesheets/bootstrap/_close.scss +1 -1
  24. data/assets/stylesheets/bootstrap/_custom-forms.scss +16 -1
  25. data/assets/stylesheets/bootstrap/_input-group.scss +15 -12
  26. data/assets/stylesheets/bootstrap/_navbar.scss +3 -3
  27. data/assets/stylesheets/bootstrap/_pagination.scss +7 -2
  28. data/assets/stylesheets/bootstrap/_popover.scss +2 -2
  29. data/assets/stylesheets/bootstrap/_print.scss +17 -3
  30. data/assets/stylesheets/bootstrap/_reboot.scss +0 -23
  31. data/assets/stylesheets/bootstrap/_tooltip.scss +2 -2
  32. data/assets/stylesheets/bootstrap/_variables.scss +41 -19
  33. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +9 -7
  34. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +17 -9
  35. data/assets/stylesheets/bootstrap/mixins/_forms.scss +6 -2
  36. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +5 -7
  37. data/assets/stylesheets/bootstrap/mixins/_hover.scss +24 -46
  38. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +10 -13
  39. data/assets/stylesheets/bootstrap/utilities/_borders.scss +6 -1
  40. data/assets/stylesheets/bootstrap/utilities/_display.scss +10 -28
  41. data/bootstrap.gemspec +1 -1
  42. data/lib/bootstrap/version.rb +2 -2
  43. metadata +7 -7
@@ -28,12 +28,13 @@
28
28
  // Disabled comes first so active can properly restyle
29
29
  &.disabled,
30
30
  &:disabled {
31
+ color: color-yiq($background);
31
32
  background-color: $background;
32
33
  border-color: $border;
33
34
  }
34
35
 
35
- &:not([disabled]):not(.disabled):active,
36
- &:not([disabled]):not(.disabled).active,
36
+ &:not(:disabled):not(.disabled):active,
37
+ &:not(:disabled):not(.disabled).active,
37
38
  .show > &.dropdown-toggle {
38
39
  color: color-yiq($active-background);
39
40
  background-color: $active-background;
@@ -53,14 +54,14 @@
53
54
  }
54
55
  }
55
56
 
56
- @mixin button-outline-variant($color, $color-hover: #fff, $active-background: $color, $active-border: $color) {
57
+ @mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {
57
58
  color: $color;
58
59
  background-color: transparent;
59
60
  background-image: none;
60
61
  border-color: $color;
61
62
 
62
63
  &:hover {
63
- color: color-yiq($color);
64
+ color: $color-hover;
64
65
  background-color: $active-background;
65
66
  border-color: $active-border;
66
67
  }
@@ -76,14 +77,21 @@
76
77
  background-color: transparent;
77
78
  }
78
79
 
79
- &:not([disabled]):not(.disabled):active,
80
- &:not([disabled]):not(.disabled).active,
80
+ &:not(:disabled):not(.disabled):active,
81
+ &:not(:disabled):not(.disabled).active,
81
82
  .show > &.dropdown-toggle {
82
- color: color-yiq($color-hover);
83
+ color: color-yiq($active-background);
83
84
  background-color: $active-background;
84
85
  border-color: $active-border;
85
- // Avoid using mixin so we can pass custom focus shadow properly
86
- box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
86
+
87
+ &:focus {
88
+ // Avoid using mixin so we can pass custom focus shadow properly
89
+ @if $enable-shadows and $btn-active-box-shadow != none {
90
+ box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5);
91
+ } @else {
92
+ box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
93
+ }
94
+ }
87
95
  }
88
96
  }
89
97
 
@@ -27,7 +27,6 @@
27
27
 
28
28
 
29
29
  @mixin form-validation-state($state, $color) {
30
-
31
30
  .#{$state}-feedback {
32
31
  display: none;
33
32
  width: 100%;
@@ -41,7 +40,7 @@
41
40
  top: 100%;
42
41
  z-index: 5;
43
42
  display: none;
44
- width: 250px;
43
+ max-width: 100%; // Contain to parent when possible
45
44
  padding: .5rem;
46
45
  margin-top: .1rem;
47
46
  font-size: .875rem;
@@ -75,6 +74,11 @@
75
74
  ~ .form-check-label {
76
75
  color: $color;
77
76
  }
77
+
78
+ ~ .#{$state}-feedback,
79
+ ~ .#{$state}-tooltip {
80
+ display: block;
81
+ }
78
82
  }
79
83
  }
80
84
 
@@ -46,14 +46,12 @@
46
46
  }
47
47
  }
48
48
 
49
- .order#{$infix}-first {
50
- order: -1;
51
- }
49
+ .order#{$infix}-first { order: -1; }
52
50
 
53
- @for $i from 1 through $columns {
54
- .order#{$infix}-#{$i} {
55
- order: $i;
56
- }
51
+ .order#{$infix}-last { order: $columns + 1; }
52
+
53
+ @for $i from 0 through $columns {
54
+ .order#{$infix}-#{$i} { order: $i; }
57
55
  }
58
56
 
59
57
  // `$columns - 1` because offsetting by the width of an entire row isn't possible
@@ -1,61 +1,39 @@
1
1
  // stylelint-disable indentation
2
+
3
+ // Hover mixin and `$enable-hover-media-query` are deprecated.
4
+ //
5
+ // Origally added during our alphas and maintained during betas, this mixin was
6
+ // designed to prevent `:hover` stickiness on iOS—an issue where hover styles
7
+ // would persist after initial touch.
8
+ //
9
+ // For backward compatibility, we've kept these mixins and updated them to
10
+ // always return their regular psuedo-classes instead of a shimmed media query.
11
+ //
12
+ // Issue: https://github.com/twbs/bootstrap/issues/25195
13
+
2
14
  @mixin hover {
3
- // TODO: re-enable along with mq4-hover-shim
4
- // @if $enable-hover-media-query {
5
- // // See Media Queries Level 4: https://drafts.csswg.org/mediaqueries/#hover
6
- // // Currently shimmed by https://github.com/twbs/mq4-hover-shim
7
- // @media (hover: hover) {
8
- // &:hover { @content }
9
- // }
10
- // }
11
- // @else {
12
- &:hover { @content; }
13
- // }
15
+ &:hover { @content; }
14
16
  }
15
17
 
16
-
17
18
  @mixin hover-focus {
18
- @if $enable-hover-media-query {
19
- &:focus {
20
- @content;
21
- }
22
- @include hover { @content; }
23
- } @else {
24
- &:focus,
25
- &:hover {
26
- @content;
27
- }
19
+ &:hover,
20
+ &:focus {
21
+ @content;
28
22
  }
29
23
  }
30
24
 
31
25
  @mixin plain-hover-focus {
32
- @if $enable-hover-media-query {
33
- &,
34
- &:focus {
35
- @content;
36
- }
37
- @include hover { @content; }
38
- } @else {
39
- &,
40
- &:focus,
41
- &:hover {
42
- @content;
43
- }
26
+ &,
27
+ &:hover,
28
+ &:focus {
29
+ @content;
44
30
  }
45
31
  }
46
32
 
47
33
  @mixin hover-focus-active {
48
- @if $enable-hover-media-query {
49
- &:focus,
50
- &:active {
51
- @content;
52
- }
53
- @include hover { @content; }
54
- } @else {
55
- &:focus,
56
- &:active,
57
- &:hover {
58
- @content;
59
- }
34
+ &:hover,
35
+ &:focus,
36
+ &:active {
37
+ @content;
60
38
  }
61
39
  }
@@ -4,21 +4,18 @@
4
4
  .list-group-item-#{$state} {
5
5
  color: $color;
6
6
  background-color: $background;
7
- }
8
-
9
- a.list-group-item-#{$state},
10
- button.list-group-item-#{$state} {
11
- color: $color;
12
7
 
13
- @include hover-focus {
14
- color: $color;
15
- background-color: darken($background, 5%);
16
- }
8
+ &.list-group-item-action {
9
+ @include hover-focus {
10
+ color: $color;
11
+ background-color: darken($background, 5%);
12
+ }
17
13
 
18
- &.active {
19
- color: #fff;
20
- background-color: $color;
21
- border-color: $color;
14
+ &.active {
15
+ color: #fff;
16
+ background-color: $color;
17
+ border-color: $color;
18
+ }
22
19
  }
23
20
  }
24
21
  }
@@ -4,7 +4,12 @@
4
4
  // Border
5
5
  //
6
6
 
7
- .border { border: $border-width solid $border-color !important; }
7
+ .border { border: $border-width solid $border-color !important; }
8
+ .border-top { border-top: $border-width solid $border-color !important; }
9
+ .border-right { border-right: $border-width solid $border-color !important; }
10
+ .border-bottom { border-bottom: $border-width solid $border-color !important; }
11
+ .border-left { border-left: $border-width solid $border-color !important; }
12
+
8
13
  .border-0 { border: 0 !important; }
9
14
  .border-top-0 { border-top: 0 !important; }
10
15
  .border-right-0 { border-right: 0 !important; }
@@ -25,32 +25,14 @@
25
25
  // Utilities for toggling `display` in print
26
26
  //
27
27
 
28
- .d-print-block {
29
- display: none !important;
30
-
31
- @media print {
32
- display: block !important;
33
- }
34
- }
35
-
36
- .d-print-inline {
37
- display: none !important;
38
-
39
- @media print {
40
- display: inline !important;
41
- }
42
- }
43
-
44
- .d-print-inline-block {
45
- display: none !important;
46
-
47
- @media print {
48
- display: inline-block !important;
49
- }
50
- }
51
-
52
- .d-print-none {
53
- @media print {
54
- display: none !important;
55
- }
28
+ @media print {
29
+ .d-print-none { display: none !important; }
30
+ .d-print-inline { display: inline !important; }
31
+ .d-print-inline-block { display: inline-block !important; }
32
+ .d-print-block { display: block !important; }
33
+ .d-print-table { display: table !important; }
34
+ .d-print-table-row { display: table-row !important; }
35
+ .d-print-table-cell { display: table-cell !important; }
36
+ .d-print-flex { display: flex !important; }
37
+ .d-print-inline-flex { display: inline-flex !important; }
56
38
  }
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
11
11
  s.homepage = 'https://github.com/twbs/bootstrap-rubygem'
12
12
  s.license = 'MIT'
13
13
 
14
- s.add_runtime_dependency 'popper_js', '>= 1.12.3', '< 2'
14
+ s.add_runtime_dependency 'popper_js', '>= 1.12.9', '< 2'
15
15
 
16
16
  s.add_runtime_dependency 'sass', '>= 3.5.2'
17
17
  s.add_runtime_dependency 'autoprefixer-rails', '>= 6.0.3'
@@ -1,4 +1,4 @@
1
1
  module Bootstrap
2
- VERSION = '4.0.0.beta3'
3
- BOOTSTRAP_SHA = 'ced70da441d487efb8589acbff445d6b5fa68bb9'
2
+ VERSION = '4.0.0'
3
+ BOOTSTRAP_SHA = '8a628b943cf31ca0a002c08af661a95772480225'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootstrap
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.beta3
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Twitter, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-29 00:00:00.000000000 Z
11
+ date: 2018-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: popper_js
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.12.3
19
+ version: 1.12.9
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '2'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 1.12.3
29
+ version: 1.12.9
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '2'
@@ -397,12 +397,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
397
397
  version: '0'
398
398
  required_rubygems_version: !ruby/object:Gem::Requirement
399
399
  requirements:
400
- - - ">"
400
+ - - ">="
401
401
  - !ruby/object:Gem::Version
402
- version: 1.3.1
402
+ version: '0'
403
403
  requirements: []
404
404
  rubyforge_project:
405
- rubygems_version: 2.6.8
405
+ rubygems_version: 2.6.12
406
406
  signing_key:
407
407
  specification_version: 4
408
408
  summary: The most popular HTML, CSS, and JavaScript framework for developing responsive,