bootstrap 4.0.0.alpha6 → 4.0.0.beta
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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/Gemfile +2 -4
- data/README.md +20 -22
- data/assets/javascripts/bootstrap.js +657 -361
- data/assets/javascripts/bootstrap.min.js +2 -3
- data/assets/javascripts/bootstrap/alert.js +8 -8
- data/assets/javascripts/bootstrap/button.js +16 -9
- data/assets/javascripts/bootstrap/carousel.js +48 -21
- data/assets/javascripts/bootstrap/collapse.js +42 -33
- data/assets/javascripts/bootstrap/dropdown.js +196 -52
- data/assets/javascripts/bootstrap/modal.js +71 -29
- data/assets/javascripts/bootstrap/popover.js +25 -13
- data/assets/javascripts/bootstrap/scrollspy.js +23 -21
- data/assets/javascripts/bootstrap/tab.js +14 -18
- data/assets/javascripts/bootstrap/tooltip.js +139 -83
- data/assets/javascripts/bootstrap/util.js +10 -8
- data/assets/stylesheets/_bootstrap-grid.scss +2 -8
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -2
- data/assets/stylesheets/_bootstrap.scss +2 -15
- data/assets/stylesheets/bootstrap/_alert.scss +4 -11
- data/assets/stylesheets/bootstrap/_badge.scss +4 -33
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +1 -1
- data/assets/stylesheets/bootstrap/_button-group.scss +11 -15
- data/assets/stylesheets/bootstrap/_buttons.scss +13 -42
- data/assets/stylesheets/bootstrap/_card.scss +27 -80
- data/assets/stylesheets/bootstrap/_carousel.scss +24 -17
- data/assets/stylesheets/bootstrap/_close.scss +0 -2
- data/assets/stylesheets/bootstrap/_custom-forms.scss +27 -36
- data/assets/stylesheets/bootstrap/_dropdown.scss +15 -48
- data/assets/stylesheets/bootstrap/_forms.scss +70 -68
- data/assets/stylesheets/bootstrap/_functions.scss +90 -0
- data/assets/stylesheets/bootstrap/_grid.scss +3 -2
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +6 -8
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -4
- data/assets/stylesheets/bootstrap/_list-group.scss +9 -36
- data/assets/stylesheets/bootstrap/_mixins.scss +2 -18
- data/assets/stylesheets/bootstrap/_modal.scss +3 -3
- data/assets/stylesheets/bootstrap/_nav.scss +15 -16
- data/assets/stylesheets/bootstrap/_navbar.scss +70 -54
- data/assets/stylesheets/bootstrap/_pagination.scss +3 -4
- data/assets/stylesheets/bootstrap/_popover.scss +96 -72
- data/assets/stylesheets/bootstrap/_print.scss +1 -9
- data/assets/stylesheets/bootstrap/_progress.scss +4 -4
- data/assets/stylesheets/bootstrap/_reboot.scss +187 -95
- data/assets/stylesheets/bootstrap/_tables.scss +34 -19
- data/assets/stylesheets/bootstrap/_tooltip.scss +52 -35
- data/assets/stylesheets/bootstrap/_type.scss +8 -28
- data/assets/stylesheets/bootstrap/_utilities.scss +1 -0
- data/assets/stylesheets/bootstrap/_variables.scss +286 -410
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +4 -5
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +6 -5
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +5 -0
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +23 -13
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +11 -14
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +57 -55
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +9 -18
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +12 -65
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +6 -6
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -4
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -0
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +4 -3
- data/assets/stylesheets/bootstrap/mixins/_resize.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +5 -2
- data/assets/stylesheets/bootstrap/mixins/_text-truncate.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +2 -2
- data/assets/stylesheets/bootstrap/utilities/_background.scss +4 -17
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +20 -5
- data/assets/stylesheets/bootstrap/utilities/_display.scss +36 -1
- data/assets/stylesheets/bootstrap/{_responsive-embed.scss → utilities/_embed.scss} +0 -0
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -4
- data/assets/stylesheets/bootstrap/utilities/_position.scss +5 -3
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +10 -12
- data/assets/stylesheets/bootstrap/utilities/_text.scss +5 -17
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -48
- data/bootstrap.gemspec +2 -0
- data/lib/bootstrap.rb +2 -0
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +7 -9
- data/tasks/updater/scss.rb +1 -4
- data/templates/project/_bootstrap-variables.scss +289 -396
- data/test/dummy_rails/app/assets/javascripts/application.js +1 -1
- data/test/dummy_rails/config/application.rb +0 -1
- data/test/gemfiles/rails_4_2.gemfile +0 -4
- data/test/gemfiles/rails_5_0.gemfile +0 -4
- data/test/gemfiles/rails_5_1.gemfile +8 -0
- metadata +23 -8
- data/assets/stylesheets/bootstrap/_custom.scss +0 -4
- data/assets/stylesheets/bootstrap/_normalize.scss +0 -461
- data/assets/stylesheets/bootstrap/mixins/_cards.scss +0 -47
- data/assets/stylesheets/bootstrap/mixins/_transforms.scss +0 -14
@@ -8,16 +8,18 @@
|
|
8
8
|
// }
|
9
9
|
// }
|
10
10
|
// @else {
|
11
|
+
// scss-lint:disable Indentation
|
11
12
|
&:hover { @content }
|
13
|
+
// scss-lint:enable Indentation
|
12
14
|
// }
|
13
15
|
}
|
14
16
|
|
17
|
+
|
15
18
|
@mixin hover-focus {
|
16
19
|
@if $enable-hover-media-query {
|
17
20
|
&:focus { @content }
|
18
21
|
@include hover { @content }
|
19
|
-
}
|
20
|
-
@else {
|
22
|
+
} @else {
|
21
23
|
&:focus,
|
22
24
|
&:hover {
|
23
25
|
@content
|
@@ -32,8 +34,7 @@
|
|
32
34
|
@content
|
33
35
|
}
|
34
36
|
@include hover { @content }
|
35
|
-
}
|
36
|
-
@else {
|
37
|
+
} @else {
|
37
38
|
&,
|
38
39
|
&:focus,
|
39
40
|
&:hover {
|
@@ -49,8 +50,7 @@
|
|
49
50
|
@content
|
50
51
|
}
|
51
52
|
@include hover { @content }
|
52
|
-
}
|
53
|
-
@else {
|
53
|
+
} @else {
|
54
54
|
&:focus,
|
55
55
|
&:active,
|
56
56
|
&:hover {
|
@@ -6,14 +6,11 @@
|
|
6
6
|
background-color: $background;
|
7
7
|
}
|
8
8
|
|
9
|
+
//scss-lint:disable QualifyingElement
|
9
10
|
a.list-group-item-#{$state},
|
10
11
|
button.list-group-item-#{$state} {
|
11
12
|
color: $color;
|
12
13
|
|
13
|
-
.list-group-item-heading {
|
14
|
-
color: inherit;
|
15
|
-
}
|
16
|
-
|
17
14
|
@include hover-focus {
|
18
15
|
color: $color;
|
19
16
|
background-color: darken($background, 5%);
|
@@ -25,4 +22,5 @@
|
|
25
22
|
border-color: $color;
|
26
23
|
}
|
27
24
|
}
|
25
|
+
// scss-lint:enable QualifyingElement
|
28
26
|
}
|
@@ -3,8 +3,8 @@
|
|
3
3
|
// Dividers (basically an hr) within dropdowns and nav lists
|
4
4
|
|
5
5
|
@mixin nav-divider($color: #e5e5e5) {
|
6
|
-
height:
|
7
|
-
margin: ($spacer
|
6
|
+
height: 0;
|
7
|
+
margin: ($spacer / 2) 0;
|
8
8
|
overflow: hidden;
|
9
|
-
|
9
|
+
border-top: 1px solid $color;
|
10
10
|
}
|
@@ -1,17 +1,18 @@
|
|
1
|
+
// scss-lint:disable DuplicateProperty
|
1
2
|
@mixin reset-text {
|
2
3
|
font-family: $font-family-base;
|
3
4
|
// We deliberately do NOT reset font-size or word-wrap.
|
4
5
|
font-style: normal;
|
5
6
|
font-weight: $font-weight-normal;
|
6
|
-
letter-spacing: normal;
|
7
|
-
line-break: auto;
|
8
7
|
line-height: $line-height-base;
|
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
|
-
|
13
|
+
letter-spacing: normal;
|
15
14
|
word-break: normal;
|
16
15
|
word-spacing: normal;
|
16
|
+
white-space: normal;
|
17
|
+
line-break: auto;
|
17
18
|
}
|
@@ -1,15 +1,17 @@
|
|
1
1
|
// Only display content to screen readers
|
2
2
|
//
|
3
3
|
// See: http://a11yproject.com/posts/how-to-hide-content
|
4
|
+
// See: http://hugogiraudel.com/2016/10/13/css-hide-and-seek/
|
4
5
|
|
5
6
|
@mixin sr-only {
|
6
7
|
position: absolute;
|
7
8
|
width: 1px;
|
8
9
|
height: 1px;
|
9
10
|
padding: 0;
|
10
|
-
margin: -1px;
|
11
11
|
overflow: hidden;
|
12
12
|
clip: rect(0,0,0,0);
|
13
|
+
white-space: nowrap;
|
14
|
+
clip-path: inset(50%);
|
13
15
|
border: 0;
|
14
16
|
}
|
15
17
|
|
@@ -25,8 +27,9 @@
|
|
25
27
|
position: static;
|
26
28
|
width: auto;
|
27
29
|
height: auto;
|
28
|
-
margin: 0;
|
29
30
|
overflow: visible;
|
30
31
|
clip: auto;
|
32
|
+
white-space: normal;
|
33
|
+
clip-path: none;
|
31
34
|
}
|
32
35
|
}
|
@@ -1,19 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
//
|
4
|
-
|
5
|
-
.bg-faded {
|
6
|
-
background-color: darken($body-bg, 3%);
|
1
|
+
@each $color, $value in $theme-colors {
|
2
|
+
@include bg-variant('.bg-#{$color}', $value);
|
7
3
|
}
|
8
4
|
|
9
|
-
|
10
|
-
|
11
|
-
@include bg-variant('.bg-success', $brand-success);
|
12
|
-
|
13
|
-
@include bg-variant('.bg-info', $brand-info);
|
14
|
-
|
15
|
-
@include bg-variant('.bg-warning', $brand-warning);
|
16
|
-
|
17
|
-
@include bg-variant('.bg-danger', $brand-danger);
|
18
|
-
|
19
|
-
@include bg-variant('.bg-inverse', $brand-inverse);
|
5
|
+
.bg-white { background-color: $white !important; }
|
6
|
+
.bg-transparent { background-color: transparent !important; }
|
@@ -2,30 +2,45 @@
|
|
2
2
|
// Border
|
3
3
|
//
|
4
4
|
|
5
|
+
.border { border: 1px solid $gray-200 !important; }
|
5
6
|
.border-0 { border: 0 !important; }
|
6
7
|
.border-top-0 { border-top: 0 !important; }
|
7
8
|
.border-right-0 { border-right: 0 !important; }
|
8
9
|
.border-bottom-0 { border-bottom: 0 !important; }
|
9
10
|
.border-left-0 { border-left: 0 !important; }
|
10
11
|
|
12
|
+
@each $color, $value in $theme-colors {
|
13
|
+
.border-#{$color} {
|
14
|
+
border-color: $value !important;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
.border-white {
|
19
|
+
border-color: $white !important;
|
20
|
+
}
|
21
|
+
|
11
22
|
//
|
12
23
|
// Border-radius
|
13
24
|
//
|
14
25
|
|
15
26
|
.rounded {
|
16
|
-
|
27
|
+
border-radius: $border-radius !important;
|
17
28
|
}
|
18
29
|
.rounded-top {
|
19
|
-
|
30
|
+
border-top-left-radius: $border-radius !important;
|
31
|
+
border-top-right-radius: $border-radius !important;
|
20
32
|
}
|
21
33
|
.rounded-right {
|
22
|
-
|
34
|
+
border-top-right-radius: $border-radius !important;
|
35
|
+
border-bottom-right-radius: $border-radius !important;
|
23
36
|
}
|
24
37
|
.rounded-bottom {
|
25
|
-
|
38
|
+
border-bottom-right-radius: $border-radius !important;
|
39
|
+
border-bottom-left-radius: $border-radius !important;
|
26
40
|
}
|
27
41
|
.rounded-left {
|
28
|
-
|
42
|
+
border-top-left-radius: $border-radius !important;
|
43
|
+
border-bottom-left-radius: $border-radius !important;
|
29
44
|
}
|
30
45
|
|
31
46
|
.rounded-circle {
|
@@ -1,5 +1,5 @@
|
|
1
1
|
//
|
2
|
-
//
|
2
|
+
// Utilities for common `display` values
|
3
3
|
//
|
4
4
|
|
5
5
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
@@ -16,3 +16,38 @@
|
|
16
16
|
.d#{$infix}-inline-flex { display: inline-flex !important; }
|
17
17
|
}
|
18
18
|
}
|
19
|
+
|
20
|
+
|
21
|
+
//
|
22
|
+
// Utilities for toggling `display` in print
|
23
|
+
//
|
24
|
+
|
25
|
+
.d-print-block {
|
26
|
+
display: none !important;
|
27
|
+
|
28
|
+
@media print {
|
29
|
+
display: block !important;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
.d-print-inline {
|
34
|
+
display: none !important;
|
35
|
+
|
36
|
+
@media print {
|
37
|
+
display: inline !important;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
|
41
|
+
.d-print-inline-block {
|
42
|
+
display: none !important;
|
43
|
+
|
44
|
+
@media print {
|
45
|
+
display: inline-block !important;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
.d-print-none {
|
50
|
+
@media print {
|
51
|
+
display: none !important;
|
52
|
+
}
|
53
|
+
}
|
File without changes
|
@@ -6,10 +6,6 @@
|
|
6
6
|
@include media-breakpoint-up($breakpoint) {
|
7
7
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
8
8
|
|
9
|
-
.flex#{$infix}-first { order: -1; }
|
10
|
-
.flex#{$infix}-last { order: 1; }
|
11
|
-
.flex#{$infix}-unordered { order: 0; }
|
12
|
-
|
13
9
|
.flex#{$infix}-row { flex-direction: row !important; }
|
14
10
|
.flex#{$infix}-column { flex-direction: column !important; }
|
15
11
|
.flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }
|
@@ -5,22 +5,20 @@
|
|
5
5
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
6
6
|
|
7
7
|
@each $prop, $abbrev in (margin: m, padding: p) {
|
8
|
-
@each $size, $
|
9
|
-
$length-x: map-get($lengths, x);
|
10
|
-
$length-y: map-get($lengths, y);
|
8
|
+
@each $size, $length in $spacers {
|
11
9
|
|
12
|
-
.#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length
|
13
|
-
.#{$abbrev}t#{$infix}-#{$size} { #{$prop}-top: $length
|
14
|
-
.#{$abbrev}r#{$infix}-#{$size} { #{$prop}-right: $length
|
15
|
-
.#{$abbrev}b#{$infix}-#{$size} { #{$prop}-bottom: $length
|
16
|
-
.#{$abbrev}l#{$infix}-#{$size} { #{$prop}-left: $length
|
10
|
+
.#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
|
11
|
+
.#{$abbrev}t#{$infix}-#{$size} { #{$prop}-top: $length !important; }
|
12
|
+
.#{$abbrev}r#{$infix}-#{$size} { #{$prop}-right: $length !important; }
|
13
|
+
.#{$abbrev}b#{$infix}-#{$size} { #{$prop}-bottom: $length !important; }
|
14
|
+
.#{$abbrev}l#{$infix}-#{$size} { #{$prop}-left: $length !important; }
|
17
15
|
.#{$abbrev}x#{$infix}-#{$size} {
|
18
|
-
#{$prop}-right: $length
|
19
|
-
#{$prop}-left: $length
|
16
|
+
#{$prop}-right: $length !important;
|
17
|
+
#{$prop}-left: $length !important;
|
20
18
|
}
|
21
19
|
.#{$abbrev}y#{$infix}-#{$size} {
|
22
|
-
#{$prop}-top: $length
|
23
|
-
#{$prop}-bottom: $length
|
20
|
+
#{$prop}-top: $length !important;
|
21
|
+
#{$prop}-bottom: $length !important;
|
24
22
|
}
|
25
23
|
}
|
26
24
|
}
|
@@ -34,25 +34,13 @@
|
|
34
34
|
|
35
35
|
// Contextual colors
|
36
36
|
|
37
|
-
.text-white {
|
38
|
-
color: #fff !important;
|
39
|
-
}
|
40
|
-
|
41
|
-
@include text-emphasis-variant('.text-muted', $text-muted);
|
42
|
-
|
43
|
-
@include text-emphasis-variant('.text-primary', $brand-primary);
|
44
|
-
|
45
|
-
@include text-emphasis-variant('.text-success', $brand-success);
|
37
|
+
.text-white { color: #fff !important; }
|
46
38
|
|
47
|
-
@
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
@include text-emphasis-variant('.text-danger', $brand-danger);
|
52
|
-
|
53
|
-
// Font color
|
39
|
+
@each $color, $value in $theme-colors {
|
40
|
+
@include text-emphasis-variant('.text-#{$color}', $value);
|
41
|
+
}
|
54
42
|
|
55
|
-
|
43
|
+
.text-muted { color: $text-muted !important; }
|
56
44
|
|
57
45
|
// Misc
|
58
46
|
|
@@ -2,54 +2,10 @@
|
|
2
2
|
// Visibility utilities
|
3
3
|
//
|
4
4
|
|
5
|
-
.
|
6
|
-
@include invisible();
|
7
|
-
}
|
8
|
-
|
9
|
-
// Responsive visibility utilities
|
10
|
-
|
11
|
-
@each $bp in map-keys($grid-breakpoints) {
|
12
|
-
.hidden-#{$bp}-up {
|
13
|
-
@include media-breakpoint-up($bp) {
|
14
|
-
display: none !important;
|
15
|
-
}
|
16
|
-
}
|
17
|
-
.hidden-#{$bp}-down {
|
18
|
-
@include media-breakpoint-down($bp) {
|
19
|
-
display: none !important;
|
20
|
-
}
|
21
|
-
}
|
5
|
+
.visible {
|
6
|
+
@include invisible(visible);
|
22
7
|
}
|
23
8
|
|
24
|
-
|
25
|
-
|
26
|
-
//
|
27
|
-
// Media queries are placed on the inside to be mixin-friendly.
|
28
|
-
|
29
|
-
.visible-print-block {
|
30
|
-
display: none !important;
|
31
|
-
|
32
|
-
@media print {
|
33
|
-
display: block !important;
|
34
|
-
}
|
35
|
-
}
|
36
|
-
.visible-print-inline {
|
37
|
-
display: none !important;
|
38
|
-
|
39
|
-
@media print {
|
40
|
-
display: inline !important;
|
41
|
-
}
|
42
|
-
}
|
43
|
-
.visible-print-inline-block {
|
44
|
-
display: none !important;
|
45
|
-
|
46
|
-
@media print {
|
47
|
-
display: inline-block !important;
|
48
|
-
}
|
49
|
-
}
|
50
|
-
|
51
|
-
.hidden-print {
|
52
|
-
@media print {
|
53
|
-
display: none !important;
|
54
|
-
}
|
9
|
+
.invisible {
|
10
|
+
@include invisible(hidden);
|
55
11
|
}
|