bootstrap 5.0.0.alpha3 → 5.0.0.beta1
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +8 -8
- data/assets/javascripts/bootstrap.js +597 -595
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +67 -31
- data/assets/javascripts/bootstrap/button.js +63 -24
- data/assets/javascripts/bootstrap/carousel.js +121 -74
- data/assets/javascripts/bootstrap/collapse.js +101 -54
- data/assets/javascripts/bootstrap/dom/data.js +2 -2
- data/assets/javascripts/bootstrap/dom/event-handler.js +12 -10
- data/assets/javascripts/bootstrap/dom/manipulator.js +12 -11
- data/assets/javascripts/bootstrap/dom/selector-engine.js +2 -2
- data/assets/javascripts/bootstrap/dropdown.js +142 -99
- data/assets/javascripts/bootstrap/modal.js +153 -109
- data/assets/javascripts/bootstrap/popover.js +11 -19
- data/assets/javascripts/bootstrap/scrollspy.js +82 -36
- data/assets/javascripts/bootstrap/tab.js +67 -28
- data/assets/javascripts/bootstrap/toast.js +90 -42
- data/assets/javascripts/bootstrap/tooltip.js +227 -148
- data/assets/stylesheets/_bootstrap-grid.scss +7 -7
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
- data/assets/stylesheets/_bootstrap.scss +1 -1
- data/assets/stylesheets/bootstrap/_alert.scss +3 -3
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +1 -1
- data/assets/stylesheets/bootstrap/_button-group.scss +5 -5
- data/assets/stylesheets/bootstrap/_card.scss +3 -3
- data/assets/stylesheets/bootstrap/_carousel.scss +23 -12
- data/assets/stylesheets/bootstrap/_dropdown.scss +22 -23
- data/assets/stylesheets/bootstrap/_functions.scss +1 -2
- data/assets/stylesheets/bootstrap/_list-group.scss +6 -6
- data/assets/stylesheets/bootstrap/_navbar.scss +1 -1
- data/assets/stylesheets/bootstrap/_pagination.scss +1 -1
- data/assets/stylesheets/bootstrap/_popover.scss +17 -14
- data/assets/stylesheets/bootstrap/_reboot.scss +19 -3
- data/assets/stylesheets/bootstrap/_spinners.scss +1 -1
- data/assets/stylesheets/bootstrap/_tables.scss +0 -1
- data/assets/stylesheets/bootstrap/_toasts.scss +14 -12
- data/assets/stylesheets/bootstrap/_tooltip.scss +12 -12
- data/assets/stylesheets/bootstrap/_utilities.scss +39 -24
- data/assets/stylesheets/bootstrap/_variables.scss +22 -20
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +5 -5
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +6 -6
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +6 -6
- data/assets/stylesheets/bootstrap/mixins/_container.scss +2 -4
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +19 -0
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +6 -4
- metadata +2 -2
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap Grid v5.0.0-
|
2
|
+
* Bootstrap Grid v5.0.0-beta1 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2020 The Bootstrap Authors
|
4
4
|
* Copyright 2011-2020 Twitter, Inc.
|
5
5
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
@@ -42,23 +42,23 @@ $utilities: map-get-multiple(
|
|
42
42
|
"bootstrap/margin-x",
|
43
43
|
"bootstrap/margin-y",
|
44
44
|
"bootstrap/margin-top",
|
45
|
-
"bootstrap/margin-
|
45
|
+
"bootstrap/margin-end",
|
46
46
|
"bootstrap/margin-bottom",
|
47
|
-
"bootstrap/margin-
|
47
|
+
"bootstrap/margin-start",
|
48
48
|
"bootstrap/negative-margin",
|
49
49
|
"bootstrap/negative-margin-x",
|
50
50
|
"bootstrap/negative-margin-y",
|
51
51
|
"bootstrap/negative-margin-top",
|
52
|
-
"bootstrap/negative-margin-
|
52
|
+
"bootstrap/negative-margin-end",
|
53
53
|
"bootstrap/negative-margin-bottom",
|
54
|
-
"bootstrap/negative-margin-
|
54
|
+
"bootstrap/negative-margin-start",
|
55
55
|
"bootstrap/padding",
|
56
56
|
"bootstrap/padding-x",
|
57
57
|
"bootstrap/padding-y",
|
58
58
|
"bootstrap/padding-top",
|
59
|
-
"bootstrap/padding-
|
59
|
+
"bootstrap/padding-end",
|
60
60
|
"bootstrap/padding-bottom",
|
61
|
-
"bootstrap/padding-
|
61
|
+
"bootstrap/padding-start",
|
62
62
|
)
|
63
63
|
);
|
64
64
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap Reboot v5.0.0-
|
2
|
+
* Bootstrap Reboot v5.0.0-beta1 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2020 The Bootstrap Authors
|
4
4
|
* Copyright 2011-2020 Twitter, Inc.
|
5
5
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap v5.0.0-
|
2
|
+
* Bootstrap v5.0.0-beta1 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2020 The Bootstrap Authors
|
4
4
|
* Copyright 2011-2020 Twitter, Inc.
|
5
5
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
@@ -44,9 +44,9 @@
|
|
44
44
|
// Generate contextual modifier classes for colorizing the alert.
|
45
45
|
|
46
46
|
@each $state, $value in $theme-colors {
|
47
|
-
$background:
|
48
|
-
$border:
|
49
|
-
$color:
|
47
|
+
$background: shift-color($value, $alert-bg-scale);
|
48
|
+
$border: shift-color($value, $alert-border-scale);
|
49
|
+
$color: shift-color($value, $alert-color-scale);
|
50
50
|
@if (contrast-ratio($background, $color) < $min-contrast-ratio) {
|
51
51
|
$color: mix($value, color-contrast($background), abs($alert-color-scale));
|
52
52
|
}
|
@@ -18,7 +18,7 @@
|
|
18
18
|
float: left; // Suppress inline spacings and underlining of the separator
|
19
19
|
padding-right: $breadcrumb-item-padding-x;
|
20
20
|
color: $breadcrumb-divider-color;
|
21
|
-
content: escape-svg($breadcrumb-divider);
|
21
|
+
content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
|
22
22
|
}
|
23
23
|
}
|
24
24
|
|
@@ -43,7 +43,7 @@
|
|
43
43
|
// Reset rounded corners
|
44
44
|
> .btn:not(:last-child):not(.dropdown-toggle),
|
45
45
|
> .btn-group:not(:last-child) > .btn {
|
46
|
-
@include border-
|
46
|
+
@include border-end-radius(0);
|
47
47
|
}
|
48
48
|
|
49
49
|
// The left radius should be 0 if the button is:
|
@@ -53,7 +53,7 @@
|
|
53
53
|
> .btn:nth-child(n + 3),
|
54
54
|
> :not(.btn-check) + .btn,
|
55
55
|
> .btn-group:not(:first-child) > .btn {
|
56
|
-
@include border-
|
56
|
+
@include border-start-radius(0);
|
57
57
|
}
|
58
58
|
}
|
59
59
|
|
@@ -75,11 +75,11 @@
|
|
75
75
|
|
76
76
|
&::after,
|
77
77
|
.dropup &::after,
|
78
|
-
.
|
78
|
+
.dropend &::after {
|
79
79
|
margin-left: 0;
|
80
80
|
}
|
81
81
|
|
82
|
-
.
|
82
|
+
.dropstart &::before {
|
83
83
|
margin-right: 0;
|
84
84
|
}
|
85
85
|
}
|
@@ -132,7 +132,7 @@
|
|
132
132
|
@include border-bottom-radius(0);
|
133
133
|
}
|
134
134
|
|
135
|
-
> .btn
|
135
|
+
> .btn ~ .btn,
|
136
136
|
> .btn-group:not(:first-child) > .btn {
|
137
137
|
@include border-top-radius(0);
|
138
138
|
}
|
@@ -69,7 +69,7 @@
|
|
69
69
|
}
|
70
70
|
|
71
71
|
+ .card-link {
|
72
|
-
margin-left: $card-spacer-x;
|
72
|
+
margin-left: $card-spacer-x #{"/* rtl:ignore */"};
|
73
73
|
}
|
74
74
|
}
|
75
75
|
|
@@ -181,7 +181,7 @@
|
|
181
181
|
// Handle rounded corners
|
182
182
|
@if $enable-rounded {
|
183
183
|
&:not(:last-child) {
|
184
|
-
@include border-
|
184
|
+
@include border-end-radius(0);
|
185
185
|
|
186
186
|
.card-img-top,
|
187
187
|
.card-header {
|
@@ -196,7 +196,7 @@
|
|
196
196
|
}
|
197
197
|
|
198
198
|
&:not(:first-child) {
|
199
|
-
@include border-
|
199
|
+
@include border-start-radius(0);
|
200
200
|
|
201
201
|
.card-img-top,
|
202
202
|
.card-header {
|
@@ -3,12 +3,12 @@
|
|
3
3
|
// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)
|
4
4
|
// even when their scroll action started on a carousel, but for compatibility (with Firefox)
|
5
5
|
// we're preventing all actions instead
|
6
|
-
// 2. The .carousel-item-
|
6
|
+
// 2. The .carousel-item-start and .carousel-item-end is used to indicate where
|
7
7
|
// the active slide is heading.
|
8
8
|
// 3. .active.carousel-item is the current slide.
|
9
|
-
// 4. .active.carousel-item-
|
9
|
+
// 4. .active.carousel-item-start and .active.carousel-item-end is the current
|
10
10
|
// slide in its in-transition state. Only one of these occurs at a time.
|
11
|
-
// 5. .carousel-item-next.carousel-item-
|
11
|
+
// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end
|
12
12
|
// is the upcoming slide in transition.
|
13
13
|
|
14
14
|
.carousel {
|
@@ -42,16 +42,19 @@
|
|
42
42
|
display: block;
|
43
43
|
}
|
44
44
|
|
45
|
-
|
46
|
-
.
|
45
|
+
/* rtl:begin:ignore */
|
46
|
+
.carousel-item-next:not(.carousel-item-start),
|
47
|
+
.active.carousel-item-end {
|
47
48
|
transform: translateX(100%);
|
48
49
|
}
|
49
50
|
|
50
|
-
.carousel-item-prev:not(.carousel-item-
|
51
|
-
.active.carousel-item-
|
51
|
+
.carousel-item-prev:not(.carousel-item-end),
|
52
|
+
.active.carousel-item-start {
|
52
53
|
transform: translateX(-100%);
|
53
54
|
}
|
54
55
|
|
56
|
+
/* rtl:end:ignore */
|
57
|
+
|
55
58
|
|
56
59
|
//
|
57
60
|
// Alternate transitions
|
@@ -65,14 +68,14 @@
|
|
65
68
|
}
|
66
69
|
|
67
70
|
.carousel-item.active,
|
68
|
-
.carousel-item-next.carousel-item-
|
69
|
-
.carousel-item-prev.carousel-item-
|
71
|
+
.carousel-item-next.carousel-item-start,
|
72
|
+
.carousel-item-prev.carousel-item-end {
|
70
73
|
z-index: 1;
|
71
74
|
opacity: 1;
|
72
75
|
}
|
73
76
|
|
74
|
-
.active.carousel-item-
|
75
|
-
.active.carousel-item-
|
77
|
+
.active.carousel-item-start,
|
78
|
+
.active.carousel-item-end {
|
76
79
|
z-index: 0;
|
77
80
|
opacity: 0;
|
78
81
|
@include transition(opacity 0s $carousel-transition-duration);
|
@@ -128,6 +131,15 @@
|
|
128
131
|
background-position: 50%;
|
129
132
|
background-size: 100% 100%;
|
130
133
|
}
|
134
|
+
|
135
|
+
/* rtl:options: {
|
136
|
+
"autoRename": true,
|
137
|
+
"stringMap":[ {
|
138
|
+
"name" : "prev-next",
|
139
|
+
"search" : "prev",
|
140
|
+
"replace" : "next"
|
141
|
+
} ]
|
142
|
+
} */
|
131
143
|
.carousel-control-prev-icon {
|
132
144
|
background-image: escape-svg($carousel-control-prev-icon-bg);
|
133
145
|
}
|
@@ -135,7 +147,6 @@
|
|
135
147
|
background-image: escape-svg($carousel-control-next-icon-bg);
|
136
148
|
}
|
137
149
|
|
138
|
-
|
139
150
|
// Optional indicator pips
|
140
151
|
//
|
141
152
|
// Add an ordered list with the following class and add a list item for each
|
@@ -1,8 +1,8 @@
|
|
1
1
|
// The dropdown wrapper (`<div>`)
|
2
2
|
.dropup,
|
3
|
-
.
|
3
|
+
.dropend,
|
4
4
|
.dropdown,
|
5
|
-
.
|
5
|
+
.dropstart {
|
6
6
|
position: relative;
|
7
7
|
}
|
8
8
|
|
@@ -32,21 +32,31 @@
|
|
32
32
|
border: $dropdown-border-width solid $dropdown-border-color;
|
33
33
|
@include border-radius($dropdown-border-radius);
|
34
34
|
@include box-shadow($dropdown-box-shadow);
|
35
|
+
|
36
|
+
// Reset positioning when positioned with Popper
|
37
|
+
&[style] {
|
38
|
+
right: auto !important; // stylelint-disable-line declaration-no-important
|
39
|
+
}
|
35
40
|
}
|
36
41
|
|
37
42
|
// scss-docs-start responsive-breakpoints
|
43
|
+
// We deliberately hardcode the `bs-` prefix because we check
|
44
|
+
// this custom property in JS to determine Popper's positioning
|
45
|
+
|
38
46
|
@each $breakpoint in map-keys($grid-breakpoints) {
|
39
47
|
@include media-breakpoint-up($breakpoint) {
|
40
48
|
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
|
41
49
|
|
42
|
-
.dropdown-menu#{$infix}-
|
43
|
-
|
44
|
-
|
50
|
+
.dropdown-menu#{$infix}-start {
|
51
|
+
--bs-position: start;
|
52
|
+
right: auto #{"/* rtl:ignore */"};
|
53
|
+
left: 0 #{"/* rtl:ignore */"};
|
45
54
|
}
|
46
55
|
|
47
|
-
.dropdown-menu#{$infix}-
|
48
|
-
|
49
|
-
|
56
|
+
.dropdown-menu#{$infix}-end {
|
57
|
+
--bs-position: end;
|
58
|
+
right: 0 #{"/* rtl:ignore */"};
|
59
|
+
left: auto #{"/* rtl:ignore */"};
|
50
60
|
}
|
51
61
|
}
|
52
62
|
}
|
@@ -67,7 +77,7 @@
|
|
67
77
|
}
|
68
78
|
}
|
69
79
|
|
70
|
-
.
|
80
|
+
.dropend {
|
71
81
|
.dropdown-menu {
|
72
82
|
top: 0;
|
73
83
|
right: auto;
|
@@ -77,14 +87,14 @@
|
|
77
87
|
}
|
78
88
|
|
79
89
|
.dropdown-toggle {
|
80
|
-
@include caret(
|
90
|
+
@include caret(end);
|
81
91
|
&::after {
|
82
92
|
vertical-align: 0;
|
83
93
|
}
|
84
94
|
}
|
85
95
|
}
|
86
96
|
|
87
|
-
.
|
97
|
+
.dropstart {
|
88
98
|
.dropdown-menu {
|
89
99
|
top: 0;
|
90
100
|
right: 100%;
|
@@ -94,24 +104,13 @@
|
|
94
104
|
}
|
95
105
|
|
96
106
|
.dropdown-toggle {
|
97
|
-
@include caret(
|
107
|
+
@include caret(start);
|
98
108
|
&::before {
|
99
109
|
vertical-align: 0;
|
100
110
|
}
|
101
111
|
}
|
102
112
|
}
|
103
113
|
|
104
|
-
// When enabled Popper.js, reset basic dropdown position
|
105
|
-
// stylelint-disable-next-line no-duplicate-selectors
|
106
|
-
.dropdown-menu {
|
107
|
-
&[x-placement^="top"],
|
108
|
-
&[x-placement^="right"],
|
109
|
-
&[x-placement^="bottom"],
|
110
|
-
&[x-placement^="left"] {
|
111
|
-
right: auto;
|
112
|
-
bottom: auto;
|
113
|
-
}
|
114
|
-
}
|
115
114
|
|
116
115
|
// Dividers (basically an `<hr>`) within the dropdown
|
117
116
|
.dropdown-divider {
|
@@ -161,9 +161,8 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003
|
|
161
161
|
@return mix(black, $color, $weight);
|
162
162
|
}
|
163
163
|
|
164
|
-
// Scale a color:
|
165
164
|
// Shade the color if the weight is positive, else tint it
|
166
|
-
@function
|
165
|
+
@function shift-color($color, $weight) {
|
167
166
|
@return if($weight > 0, shade-color($color, $weight), tint-color($color, -$weight));
|
168
167
|
}
|
169
168
|
// scss-docs-end color-functions
|
@@ -99,13 +99,13 @@
|
|
99
99
|
|
100
100
|
> .list-group-item {
|
101
101
|
&:first-child {
|
102
|
-
@include border-bottom-
|
103
|
-
@include border-top-
|
102
|
+
@include border-bottom-start-radius($list-group-border-radius);
|
103
|
+
@include border-top-end-radius(0);
|
104
104
|
}
|
105
105
|
|
106
106
|
&:last-child {
|
107
|
-
@include border-top-
|
108
|
-
@include border-bottom-
|
107
|
+
@include border-top-end-radius($list-group-border-radius);
|
108
|
+
@include border-bottom-start-radius(0);
|
109
109
|
}
|
110
110
|
|
111
111
|
&.active {
|
@@ -152,8 +152,8 @@
|
|
152
152
|
// Organizationally, this must come after the `:hover` states.
|
153
153
|
|
154
154
|
@each $state, $value in $theme-colors {
|
155
|
-
$background:
|
156
|
-
$color:
|
155
|
+
$background: shift-color($value, $list-group-item-bg-scale);
|
156
|
+
$color: shift-color($value, $list-group-item-color-scale);
|
157
157
|
@if (contrast-ratio($background, $color) < $min-contrast-ratio) {
|
158
158
|
$color: mix($value, color-contrast($background), abs($alert-color-scale));
|
159
159
|
}
|
@@ -56,7 +56,7 @@
|
|
56
56
|
.navbar-brand {
|
57
57
|
padding-top: $navbar-brand-padding-y;
|
58
58
|
padding-bottom: $navbar-brand-padding-y;
|
59
|
-
margin-right: $navbar-brand-margin-
|
59
|
+
margin-right: $navbar-brand-margin-end;
|
60
60
|
@include font-size($navbar-brand-font-size);
|
61
61
|
text-decoration: if($link-decoration == none, null, none);
|
62
62
|
white-space: nowrap;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
.popover {
|
2
2
|
position: absolute;
|
3
3
|
top: 0;
|
4
|
-
left: 0;
|
4
|
+
left: 0 #{"/* rtl:ignore */"};
|
5
5
|
z-index: $zindex-popover;
|
6
6
|
display: block;
|
7
7
|
max-width: $popover-max-width;
|
@@ -36,7 +36,8 @@
|
|
36
36
|
}
|
37
37
|
|
38
38
|
.bs-popover-top {
|
39
|
-
margin
|
39
|
+
// Overrule margin set by popper.js
|
40
|
+
margin-bottom: $popover-arrow-height !important; // stylelint-disable-line declaration-no-important
|
40
41
|
|
41
42
|
> .popover-arrow {
|
42
43
|
bottom: subtract(-$popover-arrow-height, $popover-border-width);
|
@@ -55,8 +56,9 @@
|
|
55
56
|
}
|
56
57
|
}
|
57
58
|
|
58
|
-
.bs-popover-
|
59
|
-
margin
|
59
|
+
.bs-popover-end {
|
60
|
+
// Overrule margin set by popper.js
|
61
|
+
margin-left: $popover-arrow-height !important; // stylelint-disable-line declaration-no-important
|
60
62
|
|
61
63
|
> .popover-arrow {
|
62
64
|
left: subtract(-$popover-arrow-height, $popover-border-width);
|
@@ -79,7 +81,8 @@
|
|
79
81
|
}
|
80
82
|
|
81
83
|
.bs-popover-bottom {
|
82
|
-
margin
|
84
|
+
// Overrule margin set by popper.js
|
85
|
+
margin-top: $popover-arrow-height !important; // stylelint-disable-line declaration-no-important
|
83
86
|
|
84
87
|
> .popover-arrow {
|
85
88
|
top: subtract(-$popover-arrow-height, $popover-border-width);
|
@@ -110,8 +113,9 @@
|
|
110
113
|
}
|
111
114
|
}
|
112
115
|
|
113
|
-
.bs-popover-
|
114
|
-
margin
|
116
|
+
.bs-popover-start {
|
117
|
+
// Overrule margin set by popper.js
|
118
|
+
margin-right: $popover-arrow-height !important; // stylelint-disable-line declaration-no-important
|
115
119
|
|
116
120
|
> .popover-arrow {
|
117
121
|
right: subtract(-$popover-arrow-height, $popover-border-width);
|
@@ -134,21 +138,20 @@
|
|
134
138
|
}
|
135
139
|
|
136
140
|
.bs-popover-auto {
|
137
|
-
&[
|
141
|
+
&[data-popper-placement^="top"] {
|
138
142
|
@extend .bs-popover-top;
|
139
143
|
}
|
140
|
-
&[
|
141
|
-
@extend .bs-popover-
|
144
|
+
&[data-popper-placement^="right"] {
|
145
|
+
@extend .bs-popover-end;
|
142
146
|
}
|
143
|
-
&[
|
147
|
+
&[data-popper-placement^="bottom"] {
|
144
148
|
@extend .bs-popover-bottom;
|
145
149
|
}
|
146
|
-
&[
|
147
|
-
@extend .bs-popover-
|
150
|
+
&[data-popper-placement^="left"] {
|
151
|
+
@extend .bs-popover-start;
|
148
152
|
}
|
149
153
|
}
|
150
154
|
|
151
|
-
|
152
155
|
// Offset the popover to account for the popover arrow
|
153
156
|
.popover-header {
|
154
157
|
padding: $popover-header-padding-y $popover-header-padding-x;
|