bootstrap-scss 4.4.1 → 4.5.3
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.
- package/LICENSE +22 -22
- package/README.md +7 -7
- package/_alert.scss +1 -0
- package/_breadcrumb.scss +2 -0
- package/_buttons.scss +10 -7
- package/_card.scss +25 -17
- package/_close.scss +0 -1
- package/_custom-forms.scss +12 -9
- package/_dropdown.scss +3 -2
- package/_forms.scss +9 -0
- package/_functions.scss +15 -5
- package/_grid.scss +10 -6
- package/_input-group.scss +2 -1
- package/_list-group.scss +10 -14
- package/_modal.scss +2 -1
- package/_nav.scss +3 -0
- package/_pagination.scss +1 -0
- package/_progress.scss +1 -0
- package/_reboot.scss +19 -17
- package/_spinners.scss +3 -2
- package/_toasts.scss +4 -2
- package/_utilities.scss +2 -1
- package/_variables.scss +12 -13
- package/bootstrap-grid.scss +4 -4
- package/bootstrap-reboot.scss +4 -4
- package/bootstrap.scss +4 -4
- package/mixins/_background-variant.scss +2 -1
- package/mixins/_border-radius.scss +27 -14
- package/mixins/_buttons.scss +6 -6
- package/mixins/_forms.scss +3 -2
- package/mixins/_grid-framework.scss +24 -15
- package/mixins/_grid.scss +8 -8
- package/mixins/_screen-reader.scss +1 -1
- package/mixins/_transition.scss +18 -8
- package/package.json +1 -1
- package/utilities/_background.scss +1 -1
- package/utilities/_borders.scss +1 -1
- package/utilities/_interactions.scss +5 -0
- package/utilities/_text.scss +2 -2
package/LICENSE
CHANGED
@@ -1,22 +1,22 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2011-
|
4
|
-
Copyright (c) 2011-
|
5
|
-
|
6
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
-
of this software and associated documentation files (the "Software"), to deal
|
8
|
-
in the Software without restriction, including without limitation the rights
|
9
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
-
copies of the Software, and to permit persons to whom the Software is
|
11
|
-
furnished to do so, subject to the following conditions:
|
12
|
-
|
13
|
-
The above copyright notice and this permission notice shall be included in
|
14
|
-
all copies or substantial portions of the Software.
|
15
|
-
|
16
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
-
THE SOFTWARE.
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2011-2020 Twitter, Inc.
|
4
|
+
Copyright (c) 2011-2020 The Bootstrap Authors
|
5
|
+
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
8
|
+
in the Software without restriction, including without limitation the rights
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
11
|
+
furnished to do so, subject to the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be included in
|
14
|
+
all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
22
|
+
THE SOFTWARE.
|
package/README.md
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
<p align="center">
|
6
6
|
<a href="https://getbootstrap.com/">
|
7
|
-
<img src="https://getbootstrap.com/docs/4.
|
7
|
+
<img src="https://getbootstrap.com/docs/4.5/assets/brand/bootstrap-solid.svg" alt="Bootstrap logo" width="72" height="72">
|
8
8
|
</a>
|
9
9
|
</p>
|
10
10
|
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<p align="center">
|
14
14
|
Sleek, intuitive, and powerful front-end framework for faster and easier web development.
|
15
15
|
<br>
|
16
|
-
<a href="https://getbootstrap.com/docs/4.
|
16
|
+
<a href="https://getbootstrap.com/docs/4.5/"><strong>Explore Bootstrap docs »</strong></a>
|
17
17
|
<br>
|
18
18
|
<br>
|
19
19
|
<a href="https://github.com/twbs/bootstrap/issues/new?template=bug.md">Report bug</a>
|
@@ -40,10 +40,10 @@
|
|
40
40
|
|
41
41
|
Several quick start options are available:
|
42
42
|
|
43
|
-
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap-scss@4.
|
44
|
-
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap-scss@4.
|
43
|
+
- Install with [npm](https://www.npmjs.com/): `npm install bootstrap-scss@4.5.3`
|
44
|
+
- Install with [yarn](https://yarnpkg.com/): `yarn add bootstrap-scss@4.5.3`
|
45
45
|
|
46
|
-
Read the [Getting started page](https://getbootstrap.com/docs/4.
|
46
|
+
Read the [Getting started page](https://getbootstrap.com/docs/4.5/getting-started/introduction/) for information on the framework contents, templates and examples, and more.
|
47
47
|
|
48
48
|
## Status
|
49
49
|
|
@@ -76,8 +76,8 @@ For simplicity, this project will use the same version numbers as Bootstrap.
|
|
76
76
|
|
77
77
|
## Changelog
|
78
78
|
|
79
|
-
https://blog.getbootstrap.com/
|
79
|
+
https://blog.getbootstrap.com/2020/10/13/bootstrap-4-5-3/
|
80
80
|
|
81
81
|
## Copyright and license
|
82
82
|
|
83
|
-
Code and documentation copyright 2011-
|
83
|
+
Code and documentation copyright 2011-2020 the [Bootstrap Authors](https://github.com/twbs/bootstrap/graphs/contributors) and [Twitter, Inc.](https://twitter.com) Code released under the [MIT License](https://github.com/twbs/bootstrap/blob/master/LICENSE).
|
package/_alert.scss
CHANGED
package/_breadcrumb.scss
CHANGED
package/_buttons.scss
CHANGED
@@ -10,9 +10,9 @@
|
|
10
10
|
font-weight: $btn-font-weight;
|
11
11
|
color: $body-color;
|
12
12
|
text-align: center;
|
13
|
+
text-decoration: if($link-decoration == none, null, none);
|
13
14
|
white-space: $btn-white-space;
|
14
15
|
vertical-align: middle;
|
15
|
-
cursor: if($enable-pointer-cursor-for-buttons, pointer, null);
|
16
16
|
user-select: none;
|
17
17
|
background-color: transparent;
|
18
18
|
border: $btn-border-width solid transparent;
|
@@ -37,12 +37,16 @@
|
|
37
37
|
@include box-shadow(none);
|
38
38
|
}
|
39
39
|
|
40
|
-
&:not(:disabled):not(.disabled)
|
41
|
-
|
42
|
-
@include box-shadow($btn-active-box-shadow);
|
40
|
+
&:not(:disabled):not(.disabled) {
|
41
|
+
cursor: if($enable-pointer-cursor-for-buttons, pointer, null);
|
43
42
|
|
44
|
-
&:
|
45
|
-
|
43
|
+
&:active,
|
44
|
+
&.active {
|
45
|
+
@include box-shadow($btn-active-box-shadow);
|
46
|
+
|
47
|
+
&:focus {
|
48
|
+
@include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
|
49
|
+
}
|
46
50
|
}
|
47
51
|
}
|
48
52
|
}
|
@@ -89,7 +93,6 @@ fieldset:disabled a.btn {
|
|
89
93
|
&:focus,
|
90
94
|
&.focus {
|
91
95
|
text-decoration: $link-hover-decoration;
|
92
|
-
box-shadow: none;
|
93
96
|
}
|
94
97
|
|
95
98
|
&:disabled,
|
package/_card.scss
CHANGED
@@ -19,17 +19,27 @@
|
|
19
19
|
margin-left: 0;
|
20
20
|
}
|
21
21
|
|
22
|
-
> .list-group
|
23
|
-
|
24
|
-
|
22
|
+
> .list-group {
|
23
|
+
border-top: inherit;
|
24
|
+
border-bottom: inherit;
|
25
|
+
|
26
|
+
&:first-child {
|
27
|
+
border-top-width: 0;
|
28
|
+
@include border-top-radius($card-inner-border-radius);
|
25
29
|
}
|
26
|
-
}
|
27
30
|
|
28
|
-
|
29
|
-
|
30
|
-
@include border-bottom-radius($card-border-radius);
|
31
|
+
&:last-child {
|
32
|
+
border-bottom-width: 0;
|
33
|
+
@include border-bottom-radius($card-inner-border-radius);
|
31
34
|
}
|
32
35
|
}
|
36
|
+
|
37
|
+
// Due to specificity of the above selector (`.card > .list-group`), we must
|
38
|
+
// use a child selector here to prevent double borders.
|
39
|
+
> .card-header + .list-group,
|
40
|
+
> .list-group + .card-footer {
|
41
|
+
border-top: 0;
|
42
|
+
}
|
33
43
|
}
|
34
44
|
|
35
45
|
.card-body {
|
@@ -80,16 +90,11 @@
|
|
80
90
|
&:first-child {
|
81
91
|
@include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
|
82
92
|
}
|
83
|
-
|
84
|
-
+ .list-group {
|
85
|
-
.list-group-item:first-child {
|
86
|
-
border-top: 0;
|
87
|
-
}
|
88
|
-
}
|
89
93
|
}
|
90
94
|
|
91
95
|
.card-footer {
|
92
96
|
padding: $card-spacer-y $card-spacer-x;
|
97
|
+
color: $card-cap-color;
|
93
98
|
background-color: $card-cap-bg;
|
94
99
|
border-top: $card-border-width solid $card-border-color;
|
95
100
|
|
@@ -123,6 +128,7 @@
|
|
123
128
|
bottom: 0;
|
124
129
|
left: 0;
|
125
130
|
padding: $card-img-overlay-padding;
|
131
|
+
@include border-radius($card-inner-border-radius);
|
126
132
|
}
|
127
133
|
|
128
134
|
.card-img,
|
@@ -200,12 +206,12 @@
|
|
200
206
|
|
201
207
|
.card-img-top,
|
202
208
|
.card-header {
|
203
|
-
// stylelint-disable-next-line property-
|
209
|
+
// stylelint-disable-next-line property-disallowed-list
|
204
210
|
border-top-right-radius: 0;
|
205
211
|
}
|
206
212
|
.card-img-bottom,
|
207
213
|
.card-footer {
|
208
|
-
// stylelint-disable-next-line property-
|
214
|
+
// stylelint-disable-next-line property-disallowed-list
|
209
215
|
border-bottom-right-radius: 0;
|
210
216
|
}
|
211
217
|
}
|
@@ -215,12 +221,12 @@
|
|
215
221
|
|
216
222
|
.card-img-top,
|
217
223
|
.card-header {
|
218
|
-
// stylelint-disable-next-line property-
|
224
|
+
// stylelint-disable-next-line property-disallowed-list
|
219
225
|
border-top-left-radius: 0;
|
220
226
|
}
|
221
227
|
.card-img-bottom,
|
222
228
|
.card-footer {
|
223
|
-
// stylelint-disable-next-line property-
|
229
|
+
// stylelint-disable-next-line property-disallowed-list
|
224
230
|
border-bottom-left-radius: 0;
|
225
231
|
}
|
226
232
|
}
|
@@ -258,6 +264,8 @@
|
|
258
264
|
//
|
259
265
|
|
260
266
|
.accordion {
|
267
|
+
overflow-anchor: none;
|
268
|
+
|
261
269
|
> .card {
|
262
270
|
overflow: hidden;
|
263
271
|
|
package/_close.scss
CHANGED
package/_custom-forms.scss
CHANGED
@@ -9,9 +9,11 @@
|
|
9
9
|
|
10
10
|
.custom-control {
|
11
11
|
position: relative;
|
12
|
+
z-index: 1;
|
12
13
|
display: block;
|
13
14
|
min-height: $font-size-base * $line-height-base;
|
14
15
|
padding-left: $custom-control-gutter + $custom-control-indicator-size;
|
16
|
+
color-adjust: exact; // Keep themed appearance for print
|
15
17
|
}
|
16
18
|
|
17
19
|
.custom-control-inline {
|
@@ -37,7 +39,7 @@
|
|
37
39
|
&:focus ~ .custom-control-label::before {
|
38
40
|
// the mixin is not used here to make sure there is feedback
|
39
41
|
@if $enable-shadows {
|
40
|
-
box-shadow: $input-box-shadow, $
|
42
|
+
box-shadow: $input-box-shadow, $custom-control-indicator-focus-box-shadow;
|
41
43
|
} @else {
|
42
44
|
box-shadow: $custom-control-indicator-focus-box-shadow;
|
43
45
|
}
|
@@ -135,10 +137,10 @@
|
|
135
137
|
|
136
138
|
.custom-control-input:disabled {
|
137
139
|
&:checked ~ .custom-control-label::before {
|
138
|
-
|
140
|
+
@include gradient-bg($custom-control-indicator-checked-disabled-bg);
|
139
141
|
}
|
140
142
|
&:indeterminate ~ .custom-control-label::before {
|
141
|
-
|
143
|
+
@include gradient-bg($custom-control-indicator-checked-disabled-bg);
|
142
144
|
}
|
143
145
|
}
|
144
146
|
}
|
@@ -149,7 +151,7 @@
|
|
149
151
|
|
150
152
|
.custom-radio {
|
151
153
|
.custom-control-label::before {
|
152
|
-
// stylelint-disable-next-line property-
|
154
|
+
// stylelint-disable-next-line property-disallowed-list
|
153
155
|
border-radius: $custom-radio-indicator-border-radius;
|
154
156
|
}
|
155
157
|
|
@@ -161,7 +163,7 @@
|
|
161
163
|
|
162
164
|
.custom-control-input:disabled {
|
163
165
|
&:checked ~ .custom-control-label::before {
|
164
|
-
|
166
|
+
@include gradient-bg($custom-control-indicator-checked-disabled-bg);
|
165
167
|
}
|
166
168
|
}
|
167
169
|
}
|
@@ -179,7 +181,7 @@
|
|
179
181
|
left: -($custom-switch-width + $custom-control-gutter);
|
180
182
|
width: $custom-switch-width;
|
181
183
|
pointer-events: all;
|
182
|
-
// stylelint-disable-next-line property-
|
184
|
+
// stylelint-disable-next-line property-disallowed-list
|
183
185
|
border-radius: $custom-switch-indicator-border-radius;
|
184
186
|
}
|
185
187
|
|
@@ -189,7 +191,7 @@
|
|
189
191
|
width: $custom-switch-indicator-size;
|
190
192
|
height: $custom-switch-indicator-size;
|
191
193
|
background-color: $custom-control-indicator-border-color;
|
192
|
-
// stylelint-disable-next-line property-
|
194
|
+
// stylelint-disable-next-line property-disallowed-list
|
193
195
|
border-radius: $custom-switch-indicator-border-radius;
|
194
196
|
@include transition(transform .15s ease-in-out, $custom-forms-transition);
|
195
197
|
}
|
@@ -204,7 +206,7 @@
|
|
204
206
|
|
205
207
|
.custom-control-input:disabled {
|
206
208
|
&:checked ~ .custom-control-label::before {
|
207
|
-
|
209
|
+
@include gradient-bg($custom-control-indicator-checked-disabled-bg);
|
208
210
|
}
|
209
211
|
}
|
210
212
|
}
|
@@ -237,8 +239,9 @@
|
|
237
239
|
border-color: $custom-select-focus-border-color;
|
238
240
|
outline: 0;
|
239
241
|
@if $enable-shadows {
|
240
|
-
box-shadow
|
242
|
+
@include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);
|
241
243
|
} @else {
|
244
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
242
245
|
box-shadow: $custom-select-focus-box-shadow;
|
243
246
|
}
|
244
247
|
|
package/_dropdown.scss
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
display: none; // none by default, but block on "open" of the menu
|
23
23
|
float: left;
|
24
24
|
min-width: $dropdown-min-width;
|
25
|
-
padding: $dropdown-padding-y
|
25
|
+
padding: $dropdown-padding-y $dropdown-padding-x;
|
26
26
|
margin: $dropdown-spacer 0 0; // override default ul
|
27
27
|
@include font-size($dropdown-font-size);
|
28
28
|
color: $dropdown-color;
|
@@ -128,6 +128,7 @@
|
|
128
128
|
font-weight: $font-weight-normal;
|
129
129
|
color: $dropdown-link-color;
|
130
130
|
text-align: inherit; // For `<button>`s
|
131
|
+
text-decoration: if($link-decoration == none, null, none);
|
131
132
|
white-space: nowrap; // prevent links from randomly breaking onto new lines
|
132
133
|
background-color: transparent; // For `<button>`s
|
133
134
|
border: 0; // For `<button>`s
|
@@ -176,7 +177,7 @@
|
|
176
177
|
// Dropdown section headers
|
177
178
|
.dropdown-header {
|
178
179
|
display: block;
|
179
|
-
padding: $dropdown-
|
180
|
+
padding: $dropdown-header-padding;
|
180
181
|
margin-bottom: 0; // for use with heading elements
|
181
182
|
@include font-size($font-size-sm);
|
182
183
|
color: $dropdown-header-color;
|
package/_forms.scss
CHANGED
@@ -59,6 +59,15 @@
|
|
59
59
|
}
|
60
60
|
}
|
61
61
|
|
62
|
+
input[type="date"],
|
63
|
+
input[type="time"],
|
64
|
+
input[type="datetime-local"],
|
65
|
+
input[type="month"] {
|
66
|
+
&.form-control {
|
67
|
+
appearance: none; // Fix appearance for date inputs in Safari
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
62
71
|
select.form-control {
|
63
72
|
&:focus::-ms-value {
|
64
73
|
// Suppress the nested default white text on blue background highlight given to
|
package/_functions.scss
CHANGED
@@ -23,10 +23,12 @@
|
|
23
23
|
// Starts at zero
|
24
24
|
// Used to ensure the min-width of the lowest breakpoint starts at 0.
|
25
25
|
@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
@
|
26
|
+
@if length($map) > 0 {
|
27
|
+
$values: map-values($map);
|
28
|
+
$first-value: nth($values, 1);
|
29
|
+
@if $first-value != 0 {
|
30
|
+
@warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
|
31
|
+
}
|
30
32
|
}
|
31
33
|
}
|
32
34
|
|
@@ -49,10 +51,18 @@
|
|
49
51
|
}
|
50
52
|
|
51
53
|
// See https://codepen.io/kevinweber/pen/dXWoRw
|
54
|
+
//
|
55
|
+
// Requires the use of quotes around data URIs.
|
56
|
+
|
52
57
|
@function escape-svg($string) {
|
53
58
|
@if str-index($string, "data:image/svg+xml") {
|
54
59
|
@each $char, $encoded in $escaped-characters {
|
55
|
-
|
60
|
+
// Do not escape the url brackets
|
61
|
+
@if str-index($string, "url(") == 1 {
|
62
|
+
$string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
|
63
|
+
} @else {
|
64
|
+
$string: str-replace($string, $char, $encoded);
|
65
|
+
}
|
56
66
|
}
|
57
67
|
}
|
58
68
|
|
package/_grid.scss
CHANGED
@@ -4,11 +4,7 @@
|
|
4
4
|
|
5
5
|
@if $enable-grid-classes {
|
6
6
|
// Single container class with breakpoint max-widths
|
7
|
-
.container
|
8
|
-
@include make-container();
|
9
|
-
@include make-container-max-widths();
|
10
|
-
}
|
11
|
-
|
7
|
+
.container,
|
12
8
|
// 100% wide container at all breakpoints
|
13
9
|
.container-fluid {
|
14
10
|
@include make-container();
|
@@ -25,11 +21,19 @@
|
|
25
21
|
max-width: $container-max-width;
|
26
22
|
}
|
27
23
|
|
24
|
+
// Extend each breakpoint which is smaller or equal to the current breakpoint
|
25
|
+
$extend-breakpoint: true;
|
26
|
+
|
28
27
|
@each $name, $width in $grid-breakpoints {
|
29
|
-
@if ($
|
28
|
+
@if ($extend-breakpoint) {
|
30
29
|
.container#{breakpoint-infix($name, $grid-breakpoints)} {
|
31
30
|
@extend %responsive-container-#{$breakpoint};
|
32
31
|
}
|
32
|
+
|
33
|
+
// Once the current breakpoint is reached, stop extending
|
34
|
+
@if ($breakpoint == $name) {
|
35
|
+
$extend-breakpoint: false;
|
36
|
+
}
|
33
37
|
}
|
34
38
|
}
|
35
39
|
}
|
package/_input-group.scss
CHANGED
@@ -16,7 +16,8 @@
|
|
16
16
|
> .custom-select,
|
17
17
|
> .custom-file {
|
18
18
|
position: relative; // For focus state's z-index
|
19
|
-
flex: 1 1
|
19
|
+
flex: 1 1 auto;
|
20
|
+
width: 1%;
|
20
21
|
min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
|
21
22
|
margin-bottom: 0;
|
22
23
|
|
package/_list-group.scss
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
// No need to set list-style: none; since .list-group-item is block level
|
10
10
|
padding-left: 0; // reset padding because ul and ol
|
11
11
|
margin-bottom: 0;
|
12
|
+
@include border-radius($list-group-border-radius);
|
12
13
|
}
|
13
14
|
|
14
15
|
|
@@ -46,15 +47,16 @@
|
|
46
47
|
display: block;
|
47
48
|
padding: $list-group-item-padding-y $list-group-item-padding-x;
|
48
49
|
color: $list-group-color;
|
50
|
+
text-decoration: if($link-decoration == none, null, none);
|
49
51
|
background-color: $list-group-bg;
|
50
52
|
border: $list-group-border-width solid $list-group-border-color;
|
51
53
|
|
52
54
|
&:first-child {
|
53
|
-
@include border-top-radius(
|
55
|
+
@include border-top-radius(inherit);
|
54
56
|
}
|
55
57
|
|
56
58
|
&:last-child {
|
57
|
-
@include border-bottom-radius(
|
59
|
+
@include border-bottom-radius(inherit);
|
58
60
|
}
|
59
61
|
|
60
62
|
&.disabled,
|
@@ -94,7 +96,7 @@
|
|
94
96
|
.list-group-horizontal#{$infix} {
|
95
97
|
flex-direction: row;
|
96
98
|
|
97
|
-
.list-group-item {
|
99
|
+
> .list-group-item {
|
98
100
|
&:first-child {
|
99
101
|
@include border-bottom-left-radius($list-group-border-radius);
|
100
102
|
@include border-top-right-radius(0);
|
@@ -109,7 +111,7 @@
|
|
109
111
|
margin-top: 0;
|
110
112
|
}
|
111
113
|
|
112
|
-
|
114
|
+
+ .list-group-item {
|
113
115
|
border-top-width: $list-group-border-width;
|
114
116
|
border-left-width: 0;
|
115
117
|
|
@@ -130,18 +132,12 @@
|
|
130
132
|
// useful within other components (e.g., cards).
|
131
133
|
|
132
134
|
.list-group-flush {
|
133
|
-
|
134
|
-
border-right-width: 0;
|
135
|
-
border-left-width: 0;
|
136
|
-
@include border-radius(0);
|
135
|
+
@include border-radius(0);
|
137
136
|
|
138
|
-
|
139
|
-
|
140
|
-
}
|
141
|
-
}
|
137
|
+
> .list-group-item {
|
138
|
+
border-width: 0 0 $list-group-border-width;
|
142
139
|
|
143
|
-
|
144
|
-
.list-group-item:last-child {
|
140
|
+
&:last-child {
|
145
141
|
border-bottom-width: 0;
|
146
142
|
}
|
147
143
|
}
|
package/_modal.scss
CHANGED
@@ -83,6 +83,7 @@
|
|
83
83
|
&::before {
|
84
84
|
display: block; // IE10
|
85
85
|
height: subtract(100vh, $modal-dialog-margin * 2);
|
86
|
+
height: min-content; // Reset height to 0 except on IE
|
86
87
|
content: "";
|
87
88
|
}
|
88
89
|
|
@@ -181,7 +182,6 @@
|
|
181
182
|
// Place margin between footer elements
|
182
183
|
// This solution is far from ideal because of the universal selector usage,
|
183
184
|
// but is needed to fix https://github.com/twbs/bootstrap/issues/24800
|
184
|
-
// stylelint-disable-next-line selector-max-universal
|
185
185
|
> * {
|
186
186
|
margin: $modal-footer-margin-between / 2;
|
187
187
|
}
|
@@ -217,6 +217,7 @@
|
|
217
217
|
|
218
218
|
&::before {
|
219
219
|
height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
|
220
|
+
height: min-content;
|
220
221
|
}
|
221
222
|
}
|
222
223
|
|
package/_nav.scss
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
.nav-link {
|
15
15
|
display: block;
|
16
16
|
padding: $nav-link-padding-y $nav-link-padding-x;
|
17
|
+
text-decoration: if($link-decoration == none, null, none);
|
17
18
|
|
18
19
|
@include hover-focus() {
|
19
20
|
text-decoration: none;
|
@@ -91,6 +92,7 @@
|
|
91
92
|
//
|
92
93
|
|
93
94
|
.nav-fill {
|
95
|
+
> .nav-link,
|
94
96
|
.nav-item {
|
95
97
|
flex: 1 1 auto;
|
96
98
|
text-align: center;
|
@@ -98,6 +100,7 @@
|
|
98
100
|
}
|
99
101
|
|
100
102
|
.nav-justified {
|
103
|
+
> .nav-link,
|
101
104
|
.nav-item {
|
102
105
|
flex-basis: 0;
|
103
106
|
flex-grow: 1;
|
package/_pagination.scss
CHANGED
@@ -11,6 +11,7 @@
|
|
11
11
|
margin-left: -$pagination-border-width;
|
12
12
|
line-height: $pagination-line-height;
|
13
13
|
color: $pagination-color;
|
14
|
+
text-decoration: if($link-decoration == none, null, none);
|
14
15
|
background-color: $pagination-bg;
|
15
16
|
border: $pagination-border-width solid $pagination-border-color;
|
16
17
|
|
package/_progress.scss
CHANGED
package/_reboot.scss
CHANGED
@@ -199,7 +199,7 @@ a {
|
|
199
199
|
// causes specificity issues in many other styles that are too complex to fix.
|
200
200
|
// See https://github.com/twbs/bootstrap/issues/19402
|
201
201
|
|
202
|
-
a:not([href]) {
|
202
|
+
a:not([href]):not([class]) {
|
203
203
|
color: inherit;
|
204
204
|
text-decoration: none;
|
205
205
|
|
@@ -229,6 +229,9 @@ pre {
|
|
229
229
|
margin-bottom: 1rem;
|
230
230
|
// Don't allow content to break outside
|
231
231
|
overflow: auto;
|
232
|
+
// Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,
|
233
|
+
// making it impossible to interact with the content
|
234
|
+
-ms-overflow-style: scrollbar;
|
232
235
|
}
|
233
236
|
|
234
237
|
|
@@ -275,10 +278,14 @@ caption {
|
|
275
278
|
caption-side: bottom;
|
276
279
|
}
|
277
280
|
|
281
|
+
// 1. Removes font-weight bold by inheriting
|
282
|
+
// 2. Matches default `<td>` alignment by inheriting `text-align`.
|
283
|
+
// 3. Fix alignment for Safari
|
284
|
+
|
278
285
|
th {
|
279
|
-
|
280
|
-
|
281
|
-
text-align:
|
286
|
+
font-weight: $table-th-font-weight; // 1
|
287
|
+
text-align: inherit; // 2
|
288
|
+
text-align: -webkit-match-parent; // 3
|
282
289
|
}
|
283
290
|
|
284
291
|
|
@@ -296,7 +303,7 @@ label {
|
|
296
303
|
//
|
297
304
|
// Details at https://github.com/twbs/bootstrap/issues/24093
|
298
305
|
button {
|
299
|
-
// stylelint-disable-next-line property-
|
306
|
+
// stylelint-disable-next-line property-disallowed-list
|
300
307
|
border-radius: 0;
|
301
308
|
}
|
302
309
|
|
@@ -330,6 +337,13 @@ select {
|
|
330
337
|
text-transform: none; // Remove the inheritance of text transform in Firefox
|
331
338
|
}
|
332
339
|
|
340
|
+
// Set the cursor for non-`<button>` buttons
|
341
|
+
//
|
342
|
+
// Details at https://github.com/twbs/bootstrap/pull/30562
|
343
|
+
[role="button"] {
|
344
|
+
cursor: pointer;
|
345
|
+
}
|
346
|
+
|
333
347
|
// Remove the inheritance of word-wrap in Safari.
|
334
348
|
//
|
335
349
|
// Details at https://github.com/twbs/bootstrap/issues/24990
|
@@ -376,18 +390,6 @@ input[type="checkbox"] {
|
|
376
390
|
}
|
377
391
|
|
378
392
|
|
379
|
-
input[type="date"],
|
380
|
-
input[type="time"],
|
381
|
-
input[type="datetime-local"],
|
382
|
-
input[type="month"] {
|
383
|
-
// Remove the default appearance of temporal inputs to avoid a Mobile Safari
|
384
|
-
// bug where setting a custom line-height prevents text from being vertically
|
385
|
-
// centered within the input.
|
386
|
-
// See https://bugs.webkit.org/show_bug.cgi?id=139848
|
387
|
-
// and https://github.com/twbs/bootstrap/issues/11266
|
388
|
-
-webkit-appearance: listbox;
|
389
|
-
}
|
390
|
-
|
391
393
|
textarea {
|
392
394
|
overflow: auto; // Remove the default vertical scrollbar in IE.
|
393
395
|
// Textareas should really only resize vertically so they don't break their (horizontal) containers.
|
package/_spinners.scss
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
vertical-align: text-bottom;
|
14
14
|
border: $spinner-border-width solid currentColor;
|
15
15
|
border-right-color: transparent;
|
16
|
-
// stylelint-disable-next-line property-
|
16
|
+
// stylelint-disable-next-line property-disallowed-list
|
17
17
|
border-radius: 50%;
|
18
18
|
animation: spinner-border .75s linear infinite;
|
19
19
|
}
|
@@ -34,6 +34,7 @@
|
|
34
34
|
}
|
35
35
|
50% {
|
36
36
|
opacity: 1;
|
37
|
+
transform: none;
|
37
38
|
}
|
38
39
|
}
|
39
40
|
|
@@ -43,7 +44,7 @@
|
|
43
44
|
height: $spinner-height;
|
44
45
|
vertical-align: text-bottom;
|
45
46
|
background-color: currentColor;
|
46
|
-
// stylelint-disable-next-line property-
|
47
|
+
// stylelint-disable-next-line property-disallowed-list
|
47
48
|
border-radius: 50%;
|
48
49
|
opacity: 0;
|
49
50
|
animation: spinner-grow .75s linear infinite;
|
package/_toasts.scss
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
.toast {
|
2
|
+
// Prevents from shrinking in IE11, when in a flex container
|
3
|
+
// See https://github.com/twbs/bootstrap/issues/28341
|
4
|
+
flex-basis: $toast-max-width;
|
2
5
|
max-width: $toast-max-width;
|
3
|
-
overflow: hidden; // cheap rounded corners on nested items
|
4
6
|
@include font-size($toast-font-size);
|
5
7
|
color: $toast-color;
|
6
8
|
background-color: $toast-background-color;
|
7
9
|
background-clip: padding-box;
|
8
10
|
border: $toast-border-width solid $toast-border-color;
|
9
11
|
box-shadow: $toast-box-shadow;
|
10
|
-
backdrop-filter: blur(10px);
|
11
12
|
opacity: 0;
|
12
13
|
@include border-radius($toast-border-radius);
|
13
14
|
|
@@ -37,6 +38,7 @@
|
|
37
38
|
background-color: $toast-header-background-color;
|
38
39
|
background-clip: padding-box;
|
39
40
|
border-bottom: $toast-border-width solid $toast-header-border-color;
|
41
|
+
@include border-top-radius(subtract($toast-border-radius, $toast-border-width));
|
40
42
|
}
|
41
43
|
|
42
44
|
.toast-body {
|
package/_utilities.scss
CHANGED
@@ -6,12 +6,13 @@
|
|
6
6
|
@import "utilities/embed";
|
7
7
|
@import "utilities/flex";
|
8
8
|
@import "utilities/float";
|
9
|
+
@import "utilities/interactions";
|
9
10
|
@import "utilities/overflow";
|
10
11
|
@import "utilities/position";
|
11
12
|
@import "utilities/screenreaders";
|
12
13
|
@import "utilities/shadows";
|
13
14
|
@import "utilities/sizing";
|
14
|
-
@import "utilities/stretched-link";
|
15
15
|
@import "utilities/spacing";
|
16
|
+
@import "utilities/stretched-link";
|
16
17
|
@import "utilities/text";
|
17
18
|
@import "utilities/visibility";
|
package/_variables.scss
CHANGED
@@ -18,7 +18,6 @@ $gray-900: #212529 !default;
|
|
18
18
|
$black: #000 !default;
|
19
19
|
|
20
20
|
$grays: () !default;
|
21
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
22
21
|
$grays: map-merge(
|
23
22
|
(
|
24
23
|
"100": $gray-100,
|
@@ -46,7 +45,6 @@ $teal: #20c997 !default;
|
|
46
45
|
$cyan: #17a2b8 !default;
|
47
46
|
|
48
47
|
$colors: () !default;
|
49
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
50
48
|
$colors: map-merge(
|
51
49
|
(
|
52
50
|
"blue": $blue,
|
@@ -76,7 +74,6 @@ $light: $gray-100 !default;
|
|
76
74
|
$dark: $gray-800 !default;
|
77
75
|
|
78
76
|
$theme-colors: () !default;
|
79
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
80
77
|
$theme-colors: map-merge(
|
81
78
|
(
|
82
79
|
"primary": $primary,
|
@@ -103,9 +100,11 @@ $yiq-text-light: $white !default;
|
|
103
100
|
|
104
101
|
// Characters which are escaped by the escape-svg function
|
105
102
|
$escaped-characters: (
|
106
|
-
("<","%3c"),
|
107
|
-
(">","%3e"),
|
108
|
-
("#","%23"),
|
103
|
+
("<", "%3c"),
|
104
|
+
(">", "%3e"),
|
105
|
+
("#", "%23"),
|
106
|
+
("(", "%28"),
|
107
|
+
(")", "%29"),
|
109
108
|
) !default;
|
110
109
|
|
111
110
|
|
@@ -136,7 +135,6 @@ $enable-deprecation-messages: true !default;
|
|
136
135
|
|
137
136
|
$spacer: 1rem !default;
|
138
137
|
$spacers: () !default;
|
139
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
140
138
|
$spacers: map-merge(
|
141
139
|
(
|
142
140
|
0: 0,
|
@@ -151,7 +149,6 @@ $spacers: map-merge(
|
|
151
149
|
|
152
150
|
// This variable affects the `.h-*` and `.w-*` classes.
|
153
151
|
$sizes: () !default;
|
154
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
155
152
|
$sizes: map-merge(
|
156
153
|
(
|
157
154
|
25: 25%,
|
@@ -262,7 +259,6 @@ $transition-fade: opacity .15s linear !default;
|
|
262
259
|
$transition-collapse: height .35s ease !default;
|
263
260
|
|
264
261
|
$embed-responsive-aspect-ratios: () !default;
|
265
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
266
262
|
$embed-responsive-aspect-ratios: join(
|
267
263
|
(
|
268
264
|
(21 9),
|
@@ -367,6 +363,7 @@ $table-border-color: $border-color !default;
|
|
367
363
|
|
368
364
|
$table-head-bg: $gray-200 !default;
|
369
365
|
$table-head-color: $gray-700 !default;
|
366
|
+
$table-th-font-weight: null !default;
|
370
367
|
|
371
368
|
$table-dark-color: $white !default;
|
372
369
|
$table-dark-bg: $gray-800 !default;
|
@@ -544,7 +541,7 @@ $custom-control-label-disabled-color: $gray-600 !default;
|
|
544
541
|
$custom-control-indicator-checked-color: $component-active-color !default;
|
545
542
|
$custom-control-indicator-checked-bg: $component-active-bg !default;
|
546
543
|
$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
|
547
|
-
$custom-control-indicator-checked-box-shadow:
|
544
|
+
$custom-control-indicator-checked-box-shadow: null !default;
|
548
545
|
$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;
|
549
546
|
|
550
547
|
$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;
|
@@ -552,7 +549,7 @@ $custom-control-indicator-focus-border-color: $input-focus-border-color !defau
|
|
552
549
|
|
553
550
|
$custom-control-indicator-active-color: $component-active-color !default;
|
554
551
|
$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
|
555
|
-
$custom-control-indicator-active-box-shadow:
|
552
|
+
$custom-control-indicator-active-box-shadow: null !default;
|
556
553
|
$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;
|
557
554
|
|
558
555
|
$custom-checkbox-indicator-border-radius: $border-radius !default;
|
@@ -561,7 +558,7 @@ $custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xml
|
|
561
558
|
$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
|
562
559
|
$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
|
563
560
|
$custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>") !default;
|
564
|
-
$custom-checkbox-indicator-indeterminate-box-shadow:
|
561
|
+
$custom-checkbox-indicator-indeterminate-box-shadow: null !default;
|
565
562
|
$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;
|
566
563
|
|
567
564
|
$custom-radio-indicator-border-radius: 50% !default;
|
@@ -666,7 +663,6 @@ $form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
|
|
666
663
|
$form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default;
|
667
664
|
|
668
665
|
$form-validation-states: () !default;
|
669
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
670
666
|
$form-validation-states: map-merge(
|
671
667
|
(
|
672
668
|
"valid": (
|
@@ -760,6 +756,7 @@ $navbar-dark-brand-hover-color: $navbar-dark-active-color !default;
|
|
760
756
|
// Dropdown menu container and contents.
|
761
757
|
|
762
758
|
$dropdown-min-width: 10rem !default;
|
759
|
+
$dropdown-padding-x: 0 !default;
|
763
760
|
$dropdown-padding-y: .5rem !default;
|
764
761
|
$dropdown-spacer: .125rem !default;
|
765
762
|
$dropdown-font-size: $font-size-base !default;
|
@@ -786,6 +783,7 @@ $dropdown-item-padding-y: .25rem !default;
|
|
786
783
|
$dropdown-item-padding-x: 1.5rem !default;
|
787
784
|
|
788
785
|
$dropdown-header-color: $gray-600 !default;
|
786
|
+
$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;
|
789
787
|
|
790
788
|
|
791
789
|
// Pagination
|
@@ -1135,6 +1133,7 @@ $pre-scrollable-max-height: 340px !default;
|
|
1135
1133
|
$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;
|
1136
1134
|
$overflows: auto, hidden !default;
|
1137
1135
|
$positions: static, relative, absolute, fixed, sticky !default;
|
1136
|
+
$user-selects: all, auto, none !default;
|
1138
1137
|
|
1139
1138
|
|
1140
1139
|
// Printing
|
package/bootstrap-grid.scss
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap Grid v4.
|
3
|
-
* Copyright 2011-
|
4
|
-
* Copyright 2011-
|
5
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
2
|
+
* Bootstrap Grid v4.5.3 (https://getbootstrap.com/)
|
3
|
+
* Copyright 2011-2020 The Bootstrap Authors
|
4
|
+
* Copyright 2011-2020 Twitter, Inc.
|
5
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6
6
|
*/
|
7
7
|
|
8
8
|
html {
|
package/bootstrap-reboot.scss
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap Reboot v4.
|
3
|
-
* Copyright 2011-
|
4
|
-
* Copyright 2011-
|
5
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
2
|
+
* Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)
|
3
|
+
* Copyright 2011-2020 The Bootstrap Authors
|
4
|
+
* Copyright 2011-2020 Twitter, Inc.
|
5
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6
6
|
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
7
7
|
*/
|
8
8
|
|
package/bootstrap.scss
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap v4.
|
3
|
-
* Copyright 2011-
|
4
|
-
* Copyright 2011-
|
5
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
2
|
+
* Bootstrap v4.5.3 (https://getbootstrap.com/)
|
3
|
+
* Copyright 2011-2020 The Bootstrap Authors
|
4
|
+
* Copyright 2011-2020 Twitter, Inc.
|
5
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
6
6
|
*/
|
7
7
|
|
8
8
|
@import "functions";
|
@@ -15,8 +15,9 @@
|
|
15
15
|
@include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning);
|
16
16
|
}
|
17
17
|
|
18
|
-
@mixin bg-gradient-variant($parent, $color) {
|
18
|
+
@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {
|
19
19
|
#{$parent} {
|
20
20
|
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
|
21
21
|
}
|
22
|
+
@include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning);
|
22
23
|
}
|
@@ -1,9 +1,22 @@
|
|
1
|
-
// stylelint-disable property-
|
1
|
+
// stylelint-disable property-disallowed-list
|
2
2
|
// Single side border-radius
|
3
3
|
|
4
|
+
// Helper function to replace negative values with 0
|
5
|
+
@function valid-radius($radius) {
|
6
|
+
$return: ();
|
7
|
+
@each $value in $radius {
|
8
|
+
@if type-of($value) == number {
|
9
|
+
$return: append($return, max($value, 0));
|
10
|
+
} @else {
|
11
|
+
$return: append($return, $value);
|
12
|
+
}
|
13
|
+
}
|
14
|
+
@return $return;
|
15
|
+
}
|
16
|
+
|
4
17
|
@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {
|
5
18
|
@if $enable-rounded {
|
6
|
-
border-radius: $radius;
|
19
|
+
border-radius: valid-radius($radius);
|
7
20
|
}
|
8
21
|
@else if $fallback-border-radius != false {
|
9
22
|
border-radius: $fallback-border-radius;
|
@@ -12,52 +25,52 @@
|
|
12
25
|
|
13
26
|
@mixin border-top-radius($radius) {
|
14
27
|
@if $enable-rounded {
|
15
|
-
border-top-left-radius: $radius;
|
16
|
-
border-top-right-radius: $radius;
|
28
|
+
border-top-left-radius: valid-radius($radius);
|
29
|
+
border-top-right-radius: valid-radius($radius);
|
17
30
|
}
|
18
31
|
}
|
19
32
|
|
20
33
|
@mixin border-right-radius($radius) {
|
21
34
|
@if $enable-rounded {
|
22
|
-
border-top-right-radius: $radius;
|
23
|
-
border-bottom-right-radius: $radius;
|
35
|
+
border-top-right-radius: valid-radius($radius);
|
36
|
+
border-bottom-right-radius: valid-radius($radius);
|
24
37
|
}
|
25
38
|
}
|
26
39
|
|
27
40
|
@mixin border-bottom-radius($radius) {
|
28
41
|
@if $enable-rounded {
|
29
|
-
border-bottom-right-radius: $radius;
|
30
|
-
border-bottom-left-radius: $radius;
|
42
|
+
border-bottom-right-radius: valid-radius($radius);
|
43
|
+
border-bottom-left-radius: valid-radius($radius);
|
31
44
|
}
|
32
45
|
}
|
33
46
|
|
34
47
|
@mixin border-left-radius($radius) {
|
35
48
|
@if $enable-rounded {
|
36
|
-
border-top-left-radius: $radius;
|
37
|
-
border-bottom-left-radius: $radius;
|
49
|
+
border-top-left-radius: valid-radius($radius);
|
50
|
+
border-bottom-left-radius: valid-radius($radius);
|
38
51
|
}
|
39
52
|
}
|
40
53
|
|
41
54
|
@mixin border-top-left-radius($radius) {
|
42
55
|
@if $enable-rounded {
|
43
|
-
border-top-left-radius: $radius;
|
56
|
+
border-top-left-radius: valid-radius($radius);
|
44
57
|
}
|
45
58
|
}
|
46
59
|
|
47
60
|
@mixin border-top-right-radius($radius) {
|
48
61
|
@if $enable-rounded {
|
49
|
-
border-top-right-radius: $radius;
|
62
|
+
border-top-right-radius: valid-radius($radius);
|
50
63
|
}
|
51
64
|
}
|
52
65
|
|
53
66
|
@mixin border-bottom-right-radius($radius) {
|
54
67
|
@if $enable-rounded {
|
55
|
-
border-bottom-right-radius: $radius;
|
68
|
+
border-bottom-right-radius: valid-radius($radius);
|
56
69
|
}
|
57
70
|
}
|
58
71
|
|
59
72
|
@mixin border-bottom-left-radius($radius) {
|
60
73
|
@if $enable-rounded {
|
61
|
-
border-bottom-left-radius: $radius;
|
74
|
+
border-bottom-left-radius: valid-radius($radius);
|
62
75
|
}
|
63
76
|
}
|
package/mixins/_buttons.scss
CHANGED
@@ -20,10 +20,10 @@
|
|
20
20
|
color: color-yiq($hover-background);
|
21
21
|
@include gradient-bg($hover-background);
|
22
22
|
border-color: $hover-border;
|
23
|
-
// Avoid using mixin so we can pass custom focus shadow properly
|
24
23
|
@if $enable-shadows {
|
25
|
-
box-shadow
|
24
|
+
@include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
|
26
25
|
} @else {
|
26
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
27
27
|
box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
|
28
28
|
}
|
29
29
|
}
|
@@ -51,10 +51,10 @@
|
|
51
51
|
border-color: $active-border;
|
52
52
|
|
53
53
|
&:focus {
|
54
|
-
// Avoid using mixin so we can pass custom focus shadow properly
|
55
54
|
@if $enable-shadows and $btn-active-box-shadow != none {
|
56
|
-
box-shadow
|
55
|
+
@include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
|
57
56
|
} @else {
|
57
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
58
58
|
box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
|
59
59
|
}
|
60
60
|
}
|
@@ -90,10 +90,10 @@
|
|
90
90
|
border-color: $active-border;
|
91
91
|
|
92
92
|
&:focus {
|
93
|
-
// Avoid using mixin so we can pass custom focus shadow properly
|
94
93
|
@if $enable-shadows and $btn-active-box-shadow != none {
|
95
|
-
box-shadow
|
94
|
+
@include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));
|
96
95
|
} @else {
|
96
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
97
97
|
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
|
98
98
|
}
|
99
99
|
}
|
package/mixins/_forms.scss
CHANGED
@@ -16,10 +16,10 @@
|
|
16
16
|
background-color: $input-focus-bg;
|
17
17
|
border-color: $input-focus-border-color;
|
18
18
|
outline: 0;
|
19
|
-
// Avoid using mixin so we can pass custom focus shadow properly
|
20
19
|
@if $enable-shadows {
|
21
|
-
box-shadow
|
20
|
+
@include box-shadow($input-box-shadow, $input-focus-box-shadow);
|
22
21
|
} @else {
|
22
|
+
// Avoid using mixin so we can pass custom focus shadow properly
|
23
23
|
box-shadow: $input-focus-box-shadow;
|
24
24
|
}
|
25
25
|
}
|
@@ -53,6 +53,7 @@
|
|
53
53
|
.#{$state}-tooltip {
|
54
54
|
position: absolute;
|
55
55
|
top: 100%;
|
56
|
+
left: 0;
|
56
57
|
z-index: 5;
|
57
58
|
display: none;
|
58
59
|
max-width: 100%; // Contain to parent when possible
|
@@ -15,12 +15,15 @@
|
|
15
15
|
@each $breakpoint in map-keys($breakpoints) {
|
16
16
|
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
18
|
+
@if $columns > 0 {
|
19
|
+
// Allow columns to stretch full width below their breakpoints
|
20
|
+
@for $i from 1 through $columns {
|
21
|
+
.col#{$infix}-#{$i} {
|
22
|
+
@extend %grid-column;
|
23
|
+
}
|
22
24
|
}
|
23
25
|
}
|
26
|
+
|
24
27
|
.col#{$infix},
|
25
28
|
.col#{$infix}-auto {
|
26
29
|
@extend %grid-column;
|
@@ -34,9 +37,11 @@
|
|
34
37
|
max-width: 100%;
|
35
38
|
}
|
36
39
|
|
37
|
-
@
|
38
|
-
|
39
|
-
|
40
|
+
@if $grid-row-columns > 0 {
|
41
|
+
@for $i from 1 through $grid-row-columns {
|
42
|
+
.row-cols#{$infix}-#{$i} {
|
43
|
+
@include row-cols($i);
|
44
|
+
}
|
40
45
|
}
|
41
46
|
}
|
42
47
|
|
@@ -44,9 +49,11 @@
|
|
44
49
|
@include make-col-auto();
|
45
50
|
}
|
46
51
|
|
47
|
-
@
|
48
|
-
|
49
|
-
|
52
|
+
@if $columns > 0 {
|
53
|
+
@for $i from 1 through $columns {
|
54
|
+
.col#{$infix}-#{$i} {
|
55
|
+
@include make-col($i, $columns);
|
56
|
+
}
|
50
57
|
}
|
51
58
|
}
|
52
59
|
|
@@ -58,11 +65,13 @@
|
|
58
65
|
.order#{$infix}-#{$i} { order: $i; }
|
59
66
|
}
|
60
67
|
|
61
|
-
|
62
|
-
|
63
|
-
@
|
64
|
-
|
65
|
-
|
68
|
+
@if $columns > 0 {
|
69
|
+
// `$columns - 1` because offsetting by the width of an entire row isn't possible
|
70
|
+
@for $i from 0 through ($columns - 1) {
|
71
|
+
@if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
|
72
|
+
.offset#{$infix}-#{$i} {
|
73
|
+
@include make-col-offset($i, $columns);
|
74
|
+
}
|
66
75
|
}
|
67
76
|
}
|
68
77
|
}
|
package/mixins/_grid.scss
CHANGED
@@ -10,6 +10,12 @@
|
|
10
10
|
margin-left: auto;
|
11
11
|
}
|
12
12
|
|
13
|
+
@mixin make-row($gutter: $grid-gutter-width) {
|
14
|
+
display: flex;
|
15
|
+
flex-wrap: wrap;
|
16
|
+
margin-right: -$gutter / 2;
|
17
|
+
margin-left: -$gutter / 2;
|
18
|
+
}
|
13
19
|
|
14
20
|
// For each breakpoint, define the maximum width of the container in a media query
|
15
21
|
@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
|
@@ -18,13 +24,7 @@
|
|
18
24
|
max-width: $container-max-width;
|
19
25
|
}
|
20
26
|
}
|
21
|
-
|
22
|
-
|
23
|
-
@mixin make-row($gutter: $grid-gutter-width) {
|
24
|
-
display: flex;
|
25
|
-
flex-wrap: wrap;
|
26
|
-
margin-right: -$gutter / 2;
|
27
|
-
margin-left: -$gutter / 2;
|
27
|
+
@include deprecate("The `make-container-max-widths` mixin", "v4.5.2", "v5");
|
28
28
|
}
|
29
29
|
|
30
30
|
@mixin make-col-ready($gutter: $grid-gutter-width) {
|
@@ -62,7 +62,7 @@
|
|
62
62
|
// numberof columns. Supports wrapping to new lines, but does not do a Masonry
|
63
63
|
// style grid.
|
64
64
|
@mixin row-cols($count) {
|
65
|
-
|
65
|
+
> * {
|
66
66
|
flex: 0 0 100% / $count;
|
67
67
|
max-width: 100% / $count;
|
68
68
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
// Only display content to screen readers
|
2
2
|
//
|
3
|
-
// See: https://a11yproject.com/posts/how-to-hide-content/
|
3
|
+
// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/
|
4
4
|
// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
|
5
5
|
|
6
6
|
@mixin sr-only() {
|
package/mixins/_transition.scss
CHANGED
@@ -1,16 +1,26 @@
|
|
1
|
-
// stylelint-disable property-
|
1
|
+
// stylelint-disable property-disallowed-list
|
2
2
|
@mixin transition($transition...) {
|
3
|
+
@if length($transition) == 0 {
|
4
|
+
$transition: $transition-base;
|
5
|
+
}
|
6
|
+
|
7
|
+
@if length($transition) > 1 {
|
8
|
+
@each $value in $transition {
|
9
|
+
@if $value == null or $value == none {
|
10
|
+
@warn "The keyword 'none' or 'null' must be used as a single argument.";
|
11
|
+
}
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
3
15
|
@if $enable-transitions {
|
4
|
-
@if
|
5
|
-
transition: $transition-base;
|
6
|
-
} @else {
|
16
|
+
@if nth($transition, 1) != null {
|
7
17
|
transition: $transition;
|
8
18
|
}
|
9
|
-
}
|
10
19
|
|
11
|
-
|
12
|
-
|
13
|
-
|
20
|
+
@if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {
|
21
|
+
@media (prefers-reduced-motion: reduce) {
|
22
|
+
transition: none;
|
23
|
+
}
|
14
24
|
}
|
15
25
|
}
|
16
26
|
}
|
package/package.json
CHANGED
package/utilities/_borders.scss
CHANGED
package/utilities/_text.scss
CHANGED
@@ -63,8 +63,8 @@
|
|
63
63
|
.text-decoration-none { text-decoration: none !important; }
|
64
64
|
|
65
65
|
.text-break {
|
66
|
-
word-break: break-word !important; //
|
67
|
-
|
66
|
+
word-break: break-word !important; // Deprecated, but avoids issues with flex containers
|
67
|
+
word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy
|
68
68
|
}
|
69
69
|
|
70
70
|
// Reset
|