bootstrap 4.5.3 → 4.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/assets/javascripts/bootstrap/alert.js +44 -39
- data/assets/javascripts/bootstrap/button.js +43 -38
- data/assets/javascripts/bootstrap/carousel.js +135 -107
- data/assets/javascripts/bootstrap/collapse.js +97 -76
- data/assets/javascripts/bootstrap/dropdown.js +103 -85
- data/assets/javascripts/bootstrap/modal.js +168 -147
- data/assets/javascripts/bootstrap/popover.js +74 -37
- data/assets/javascripts/bootstrap/scrollspy.js +75 -54
- data/assets/javascripts/bootstrap/tab.js +67 -56
- data/assets/javascripts/bootstrap/toast.js +71 -48
- data/assets/javascripts/bootstrap/tooltip.js +144 -117
- data/assets/javascripts/bootstrap/util.js +16 -19
- data/assets/javascripts/bootstrap-sprockets.js +6 -6
- data/assets/javascripts/bootstrap.js +834 -895
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/stylesheets/_bootstrap-grid.scss +4 -3
- data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
- data/assets/stylesheets/_bootstrap.scss +3 -3
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +1 -3
- data/assets/stylesheets/bootstrap/_card.scss +5 -5
- data/assets/stylesheets/bootstrap/_carousel.scss +6 -3
- data/assets/stylesheets/bootstrap/_custom-forms.scss +10 -8
- data/assets/stylesheets/bootstrap/_dropdown.scss +1 -1
- data/assets/stylesheets/bootstrap/_forms.scss +10 -10
- data/assets/stylesheets/bootstrap/_functions.scss +47 -1
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_input-group.scss +22 -3
- data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -1
- data/assets/stylesheets/bootstrap/_modal.scss +2 -2
- data/assets/stylesheets/bootstrap/_nav.scss +1 -4
- data/assets/stylesheets/bootstrap/_navbar.scss +10 -2
- data/assets/stylesheets/bootstrap/_pagination.scss +2 -2
- data/assets/stylesheets/bootstrap/_popover.scss +9 -9
- data/assets/stylesheets/bootstrap/_print.scss +0 -9
- data/assets/stylesheets/bootstrap/_progress.scss +1 -1
- data/assets/stylesheets/bootstrap/_reboot.scss +8 -8
- data/assets/stylesheets/bootstrap/_root.scss +0 -1
- data/assets/stylesheets/bootstrap/_spinners.scss +13 -4
- data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
- data/assets/stylesheets/bootstrap/_type.scss +1 -1
- data/assets/stylesheets/bootstrap/_variables.scss +20 -14
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +20 -3
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +11 -11
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +1 -1
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +126 -102
- data/lib/bootstrap/version.rb +2 -2
- metadata +2 -2
@@ -75,7 +75,7 @@
|
|
75
75
|
$g: green($color);
|
76
76
|
$b: blue($color);
|
77
77
|
|
78
|
-
$yiq: (($r * 299) + ($g * 587) + ($b * 114))
|
78
|
+
$yiq: (($r * 299) + ($g * 587) + ($b * 114)) * .001;
|
79
79
|
|
80
80
|
@if ($yiq >= $yiq-contrasted-threshold) {
|
81
81
|
@return $dark;
|
@@ -140,5 +140,51 @@
|
|
140
140
|
@return $value1 - $value2;
|
141
141
|
}
|
142
142
|
|
143
|
+
@if type-of($value2) != number {
|
144
|
+
$value2: unquote("(") + $value2 + unquote(")");
|
145
|
+
}
|
146
|
+
|
143
147
|
@return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
|
144
148
|
}
|
149
|
+
|
150
|
+
@function divide($dividend, $divisor, $precision: 10) {
|
151
|
+
$sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
|
152
|
+
$dividend: abs($dividend);
|
153
|
+
$divisor: abs($divisor);
|
154
|
+
@if $dividend == 0 {
|
155
|
+
@return 0;
|
156
|
+
}
|
157
|
+
@if $divisor == 0 {
|
158
|
+
@error "Cannot divide by 0";
|
159
|
+
}
|
160
|
+
$remainder: $dividend;
|
161
|
+
$result: 0;
|
162
|
+
$factor: 10;
|
163
|
+
@while ($remainder > 0 and $precision >= 0) {
|
164
|
+
$quotient: 0;
|
165
|
+
@while ($remainder >= $divisor) {
|
166
|
+
$remainder: $remainder - $divisor;
|
167
|
+
$quotient: $quotient + 1;
|
168
|
+
}
|
169
|
+
$result: $result * 10 + $quotient;
|
170
|
+
$factor: $factor * .1;
|
171
|
+
$remainder: $remainder * 10;
|
172
|
+
$precision: $precision - 1;
|
173
|
+
@if ($precision < 0 and $remainder >= $divisor * 5) {
|
174
|
+
$result: $result + 1;
|
175
|
+
}
|
176
|
+
}
|
177
|
+
$result: $result * $factor * $sign;
|
178
|
+
$dividend-unit: unit($dividend);
|
179
|
+
$divisor-unit: unit($divisor);
|
180
|
+
$unit-map: (
|
181
|
+
"px": 1px,
|
182
|
+
"rem": 1rem,
|
183
|
+
"em": 1em,
|
184
|
+
"%": 1%
|
185
|
+
);
|
186
|
+
@if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
|
187
|
+
$result: $result * map-get($unit-map, $dividend-unit);
|
188
|
+
}
|
189
|
+
@return $result;
|
190
|
+
}
|
@@ -42,7 +42,6 @@
|
|
42
42
|
|
43
43
|
> .form-control,
|
44
44
|
> .custom-select {
|
45
|
-
&:not(:last-child) { @include border-right-radius(0); }
|
46
45
|
&:not(:first-child) { @include border-left-radius(0); }
|
47
46
|
}
|
48
47
|
|
@@ -56,6 +55,24 @@
|
|
56
55
|
&:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
|
57
56
|
&:not(:first-child) .custom-file-label { @include border-left-radius(0); }
|
58
57
|
}
|
58
|
+
|
59
|
+
&:not(.has-validation) {
|
60
|
+
> .form-control:not(:last-child),
|
61
|
+
> .custom-select:not(:last-child),
|
62
|
+
> .custom-file:not(:last-child) .custom-file-label,
|
63
|
+
> .custom-file:not(:last-child) .custom-file-label::after {
|
64
|
+
@include border-right-radius(0);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
|
68
|
+
&.has-validation {
|
69
|
+
> .form-control:nth-last-child(n + 3),
|
70
|
+
> .custom-select:nth-last-child(n + 3),
|
71
|
+
> .custom-file:nth-last-child(n + 3) .custom-file-label,
|
72
|
+
> .custom-file:nth-last-child(n + 3) .custom-file-label::after {
|
73
|
+
@include border-right-radius(0);
|
74
|
+
}
|
75
|
+
}
|
59
76
|
}
|
60
77
|
|
61
78
|
|
@@ -175,8 +192,10 @@
|
|
175
192
|
|
176
193
|
.input-group > .input-group-prepend > .btn,
|
177
194
|
.input-group > .input-group-prepend > .input-group-text,
|
178
|
-
.input-group > .input-group-append:not(:last-child) > .btn,
|
179
|
-
.input-group > .input-group-append:not(:last-child) > .input-group-text,
|
195
|
+
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
|
196
|
+
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
|
197
|
+
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
|
198
|
+
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
|
180
199
|
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
|
181
200
|
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
|
182
201
|
@include border-right-radius(0);
|
@@ -175,7 +175,7 @@
|
|
175
175
|
flex-wrap: wrap;
|
176
176
|
align-items: center; // vertically center
|
177
177
|
justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
|
178
|
-
padding: $modal-inner-padding - $modal-footer-margin-between
|
178
|
+
padding: $modal-inner-padding - $modal-footer-margin-between * .5;
|
179
179
|
border-top: $modal-footer-border-width solid $modal-footer-border-color;
|
180
180
|
@include border-bottom-radius($modal-content-inner-border-radius);
|
181
181
|
|
@@ -183,7 +183,7 @@
|
|
183
183
|
// This solution is far from ideal because of the universal selector usage,
|
184
184
|
// but is needed to fix https://github.com/twbs/bootstrap/issues/24800
|
185
185
|
> * {
|
186
|
-
margin: $modal-footer-margin-between
|
186
|
+
margin: $modal-footer-margin-between * .5;
|
187
187
|
}
|
188
188
|
}
|
189
189
|
|
@@ -35,11 +35,8 @@
|
|
35
35
|
.nav-tabs {
|
36
36
|
border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;
|
37
37
|
|
38
|
-
.nav-item {
|
39
|
-
margin-bottom: -$nav-tabs-border-width;
|
40
|
-
}
|
41
|
-
|
42
38
|
.nav-link {
|
39
|
+
margin-bottom: -$nav-tabs-border-width;
|
43
40
|
border: $nav-tabs-border-width solid transparent;
|
44
41
|
@include border-top-radius($nav-tabs-border-radius);
|
45
42
|
|
@@ -136,8 +136,12 @@
|
|
136
136
|
height: 1.5em;
|
137
137
|
vertical-align: middle;
|
138
138
|
content: "";
|
139
|
-
background: no-repeat
|
140
|
-
|
139
|
+
background: 50% / 100% 100% no-repeat;
|
140
|
+
}
|
141
|
+
|
142
|
+
.navbar-nav-scroll {
|
143
|
+
max-height: $navbar-nav-scroll-max-height;
|
144
|
+
overflow-y: auto;
|
141
145
|
}
|
142
146
|
|
143
147
|
// Generate series of `.navbar-expand-*` responsive classes for configuring
|
@@ -199,6 +203,10 @@
|
|
199
203
|
}
|
200
204
|
}
|
201
205
|
|
206
|
+
.navbar-nav-scroll {
|
207
|
+
overflow: visible;
|
208
|
+
}
|
209
|
+
|
202
210
|
.navbar-collapse {
|
203
211
|
display: flex !important; // stylelint-disable-line declaration-no-important
|
204
212
|
|
@@ -66,9 +66,9 @@
|
|
66
66
|
//
|
67
67
|
|
68
68
|
.pagination-lg {
|
69
|
-
@include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);
|
69
|
+
@include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $pagination-border-radius-lg);
|
70
70
|
}
|
71
71
|
|
72
72
|
.pagination-sm {
|
73
|
-
@include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);
|
73
|
+
@include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $pagination-border-radius-sm);
|
74
74
|
}
|
@@ -43,13 +43,13 @@
|
|
43
43
|
|
44
44
|
&::before {
|
45
45
|
bottom: 0;
|
46
|
-
border-width: $popover-arrow-height ($popover-arrow-width
|
46
|
+
border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;
|
47
47
|
border-top-color: $popover-arrow-outer-color;
|
48
48
|
}
|
49
49
|
|
50
50
|
&::after {
|
51
51
|
bottom: $popover-border-width;
|
52
|
-
border-width: $popover-arrow-height ($popover-arrow-width
|
52
|
+
border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;
|
53
53
|
border-top-color: $popover-arrow-color;
|
54
54
|
}
|
55
55
|
}
|
@@ -66,13 +66,13 @@
|
|
66
66
|
|
67
67
|
&::before {
|
68
68
|
left: 0;
|
69
|
-
border-width: ($popover-arrow-width
|
69
|
+
border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;
|
70
70
|
border-right-color: $popover-arrow-outer-color;
|
71
71
|
}
|
72
72
|
|
73
73
|
&::after {
|
74
74
|
left: $popover-border-width;
|
75
|
-
border-width: ($popover-arrow-width
|
75
|
+
border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;
|
76
76
|
border-right-color: $popover-arrow-color;
|
77
77
|
}
|
78
78
|
}
|
@@ -86,13 +86,13 @@
|
|
86
86
|
|
87
87
|
&::before {
|
88
88
|
top: 0;
|
89
|
-
border-width: 0 ($popover-arrow-width
|
89
|
+
border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);
|
90
90
|
border-bottom-color: $popover-arrow-outer-color;
|
91
91
|
}
|
92
92
|
|
93
93
|
&::after {
|
94
94
|
top: $popover-border-width;
|
95
|
-
border-width: 0 ($popover-arrow-width
|
95
|
+
border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);
|
96
96
|
border-bottom-color: $popover-arrow-color;
|
97
97
|
}
|
98
98
|
}
|
@@ -104,7 +104,7 @@
|
|
104
104
|
left: 50%;
|
105
105
|
display: block;
|
106
106
|
width: $popover-arrow-width;
|
107
|
-
margin-left: -$popover-arrow-width
|
107
|
+
margin-left: -$popover-arrow-width * .5;
|
108
108
|
content: "";
|
109
109
|
border-bottom: $popover-border-width solid $popover-header-bg;
|
110
110
|
}
|
@@ -121,13 +121,13 @@
|
|
121
121
|
|
122
122
|
&::before {
|
123
123
|
right: 0;
|
124
|
-
border-width: ($popover-arrow-width
|
124
|
+
border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;
|
125
125
|
border-left-color: $popover-arrow-outer-color;
|
126
126
|
}
|
127
127
|
|
128
128
|
&::after {
|
129
129
|
right: $popover-border-width;
|
130
|
-
border-width: ($popover-arrow-width
|
130
|
+
border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;
|
131
131
|
border-left-color: $popover-arrow-color;
|
132
132
|
}
|
133
133
|
}
|
@@ -55,15 +55,6 @@
|
|
55
55
|
page-break-inside: avoid;
|
56
56
|
}
|
57
57
|
|
58
|
-
//
|
59
|
-
// Printing Tables:
|
60
|
-
// https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
|
61
|
-
//
|
62
|
-
|
63
|
-
thead {
|
64
|
-
display: table-header-group;
|
65
|
-
}
|
66
|
-
|
67
58
|
tr,
|
68
59
|
img {
|
69
60
|
page-break-inside: avoid;
|
@@ -36,7 +36,7 @@
|
|
36
36
|
|
37
37
|
@if $enable-transitions {
|
38
38
|
.progress-bar-animated {
|
39
|
-
animation: progress-bar-
|
39
|
+
animation: $progress-bar-animation-timing progress-bar-stripes;
|
40
40
|
|
41
41
|
@if $enable-prefers-reduced-motion-media-query {
|
42
42
|
@media (prefers-reduced-motion: reduce) {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// stylelint-disable
|
1
|
+
// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
|
2
2
|
|
3
3
|
// Reboot
|
4
4
|
//
|
@@ -307,13 +307,13 @@ button {
|
|
307
307
|
border-radius: 0;
|
308
308
|
}
|
309
309
|
|
310
|
-
//
|
311
|
-
//
|
312
|
-
//
|
313
|
-
//
|
314
|
-
|
315
|
-
|
316
|
-
outline:
|
310
|
+
// Explicitly remove focus outline in Chromium when it shouldn't be
|
311
|
+
// visible (e.g. as result of mouse click or touch tap). It already
|
312
|
+
// should be doing this automatically, but seems to currently be
|
313
|
+
// confused and applies its very visible two-tone outline anyway.
|
314
|
+
|
315
|
+
button:focus:not(:focus-visible) {
|
316
|
+
outline: 0;
|
317
317
|
}
|
318
318
|
|
319
319
|
input,
|
@@ -10,12 +10,12 @@
|
|
10
10
|
display: inline-block;
|
11
11
|
width: $spinner-width;
|
12
12
|
height: $spinner-height;
|
13
|
-
vertical-align:
|
13
|
+
vertical-align: $spinner-vertical-align;
|
14
14
|
border: $spinner-border-width solid currentColor;
|
15
15
|
border-right-color: transparent;
|
16
16
|
// stylelint-disable-next-line property-disallowed-list
|
17
17
|
border-radius: 50%;
|
18
|
-
animation:
|
18
|
+
animation: .75s linear infinite spinner-border;
|
19
19
|
}
|
20
20
|
|
21
21
|
.spinner-border-sm {
|
@@ -42,15 +42,24 @@
|
|
42
42
|
display: inline-block;
|
43
43
|
width: $spinner-width;
|
44
44
|
height: $spinner-height;
|
45
|
-
vertical-align:
|
45
|
+
vertical-align: $spinner-vertical-align;
|
46
46
|
background-color: currentColor;
|
47
47
|
// stylelint-disable-next-line property-disallowed-list
|
48
48
|
border-radius: 50%;
|
49
49
|
opacity: 0;
|
50
|
-
animation:
|
50
|
+
animation: .75s linear infinite spinner-grow;
|
51
51
|
}
|
52
52
|
|
53
53
|
.spinner-grow-sm {
|
54
54
|
width: $spinner-width-sm;
|
55
55
|
height: $spinner-height-sm;
|
56
56
|
}
|
57
|
+
|
58
|
+
@if $enable-prefers-reduced-motion-media-query {
|
59
|
+
@media (prefers-reduced-motion: reduce) {
|
60
|
+
.spinner-border,
|
61
|
+
.spinner-grow {
|
62
|
+
animation-duration: 1.5s;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
}
|
@@ -37,7 +37,7 @@
|
|
37
37
|
|
38
38
|
&::before {
|
39
39
|
top: 0;
|
40
|
-
border-width: $tooltip-arrow-height ($tooltip-arrow-width
|
40
|
+
border-width: $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
|
41
41
|
border-top-color: $tooltip-arrow-color;
|
42
42
|
}
|
43
43
|
}
|
@@ -53,7 +53,7 @@
|
|
53
53
|
|
54
54
|
&::before {
|
55
55
|
right: 0;
|
56
|
-
border-width: ($tooltip-arrow-width
|
56
|
+
border-width: ($tooltip-arrow-width * .5) $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
|
57
57
|
border-right-color: $tooltip-arrow-color;
|
58
58
|
}
|
59
59
|
}
|
@@ -67,7 +67,7 @@
|
|
67
67
|
|
68
68
|
&::before {
|
69
69
|
bottom: 0;
|
70
|
-
border-width: 0 ($tooltip-arrow-width
|
70
|
+
border-width: 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
|
71
71
|
border-bottom-color: $tooltip-arrow-color;
|
72
72
|
}
|
73
73
|
}
|
@@ -83,7 +83,7 @@
|
|
83
83
|
|
84
84
|
&::before {
|
85
85
|
left: 0;
|
86
|
-
border-width: ($tooltip-arrow-width
|
86
|
+
border-width: ($tooltip-arrow-width * .5) 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
|
87
87
|
border-left-color: $tooltip-arrow-color;
|
88
88
|
}
|
89
89
|
}
|
@@ -274,7 +274,7 @@ $embed-responsive-aspect-ratios: join(
|
|
274
274
|
// Font, line-height, and color for body text, headings, and more.
|
275
275
|
|
276
276
|
// stylelint-disable value-keyword-case
|
277
|
-
$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
|
277
|
+
$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
|
278
278
|
$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
|
279
279
|
$font-family-base: $font-family-sans-serif !default;
|
280
280
|
// stylelint-enable value-keyword-case
|
@@ -299,7 +299,7 @@ $h4-font-size: $font-size-base * 1.5 !default;
|
|
299
299
|
$h5-font-size: $font-size-base * 1.25 !default;
|
300
300
|
$h6-font-size: $font-size-base !default;
|
301
301
|
|
302
|
-
$headings-margin-bottom: $spacer
|
302
|
+
$headings-margin-bottom: $spacer * .5 !default;
|
303
303
|
$headings-font-family: null !default;
|
304
304
|
$headings-font-weight: 500 !default;
|
305
305
|
$headings-line-height: 1.2 !default;
|
@@ -495,7 +495,7 @@ $input-height-border: $input-border-width * 2 !default;
|
|
495
495
|
|
496
496
|
$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;
|
497
497
|
$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;
|
498
|
-
$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y
|
498
|
+
$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;
|
499
499
|
|
500
500
|
$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;
|
501
501
|
$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;
|
@@ -565,7 +565,7 @@ $custom-radio-indicator-border-radius: 50% !default;
|
|
565
565
|
$custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>") !default;
|
566
566
|
|
567
567
|
$custom-switch-width: $custom-control-indicator-size * 1.75 !default;
|
568
|
-
$custom-switch-indicator-border-radius: $custom-control-indicator-size
|
568
|
+
$custom-switch-indicator-border-radius: $custom-control-indicator-size * .5 !default;
|
569
569
|
$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;
|
570
570
|
|
571
571
|
$custom-select-padding-y: $input-padding-y !default;
|
@@ -583,7 +583,7 @@ $custom-select-disabled-bg: $gray-200 !default;
|
|
583
583
|
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
584
584
|
$custom-select-indicator-color: $gray-800 !default;
|
585
585
|
$custom-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>") !default;
|
586
|
-
$custom-select-background: escape-svg($custom-select-indicator)
|
586
|
+
$custom-select-background: escape-svg($custom-select-indicator) right $custom-select-padding-x center / $custom-select-bg-size no-repeat !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)
|
587
587
|
|
588
588
|
$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;
|
589
589
|
$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;
|
@@ -710,12 +710,12 @@ $nav-pills-link-active-color: $component-active-color !default;
|
|
710
710
|
$nav-pills-link-active-bg: $component-active-bg !default;
|
711
711
|
|
712
712
|
$nav-divider-color: $gray-200 !default;
|
713
|
-
$nav-divider-margin-y: $spacer
|
713
|
+
$nav-divider-margin-y: $spacer * .5 !default;
|
714
714
|
|
715
715
|
|
716
716
|
// Navbar
|
717
717
|
|
718
|
-
$navbar-padding-y: $spacer
|
718
|
+
$navbar-padding-y: $spacer * .5 !default;
|
719
719
|
$navbar-padding-x: $spacer !default;
|
720
720
|
|
721
721
|
$navbar-nav-link-padding-x: .5rem !default;
|
@@ -724,13 +724,15 @@ $navbar-brand-font-size: $font-size-lg !default;
|
|
724
724
|
// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
|
725
725
|
$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;
|
726
726
|
$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;
|
727
|
-
$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height)
|
727
|
+
$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;
|
728
728
|
|
729
729
|
$navbar-toggler-padding-y: .25rem !default;
|
730
730
|
$navbar-toggler-padding-x: .75rem !default;
|
731
731
|
$navbar-toggler-font-size: $font-size-lg !default;
|
732
732
|
$navbar-toggler-border-radius: $btn-border-radius !default;
|
733
733
|
|
734
|
+
$navbar-nav-scroll-max-height: 75vh !default;
|
735
|
+
|
734
736
|
$navbar-dark-color: rgba($white, .5) !default;
|
735
737
|
$navbar-dark-hover-color: rgba($white, .75) !default;
|
736
738
|
$navbar-dark-active-color: $white !default;
|
@@ -772,12 +774,12 @@ $dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
|
|
772
774
|
|
773
775
|
$dropdown-link-color: $gray-900 !default;
|
774
776
|
$dropdown-link-hover-color: darken($gray-900, 5%) !default;
|
775
|
-
$dropdown-link-hover-bg: $gray-
|
777
|
+
$dropdown-link-hover-bg: $gray-200 !default;
|
776
778
|
|
777
779
|
$dropdown-link-active-color: $component-active-color !default;
|
778
780
|
$dropdown-link-active-bg: $component-active-bg !default;
|
779
781
|
|
780
|
-
$dropdown-link-disabled-color: $gray-
|
782
|
+
$dropdown-link-disabled-color: $gray-500 !default;
|
781
783
|
|
782
784
|
$dropdown-item-padding-y: .25rem !default;
|
783
785
|
$dropdown-item-padding-x: 1.5rem !default;
|
@@ -816,6 +818,9 @@ $pagination-disabled-color: $gray-600 !default;
|
|
816
818
|
$pagination-disabled-bg: $white !default;
|
817
819
|
$pagination-disabled-border-color: $gray-300 !default;
|
818
820
|
|
821
|
+
$pagination-border-radius-sm: $border-radius-sm !default;
|
822
|
+
$pagination-border-radius-lg: $border-radius-lg !default;
|
823
|
+
|
819
824
|
|
820
825
|
// Jumbotron
|
821
826
|
|
@@ -840,7 +845,7 @@ $card-bg: $white !default;
|
|
840
845
|
|
841
846
|
$card-img-overlay-padding: 1.25rem !default;
|
842
847
|
|
843
|
-
$card-group-margin: $grid-gutter-width
|
848
|
+
$card-group-margin: $grid-gutter-width * .5 !default;
|
844
849
|
$card-deck-margin: $card-group-margin !default;
|
845
850
|
|
846
851
|
$card-columns-count: 3 !default;
|
@@ -1096,9 +1101,10 @@ $carousel-transition: transform $carousel-transition-duration eas
|
|
1096
1101
|
|
1097
1102
|
// Spinners
|
1098
1103
|
|
1099
|
-
$spinner-width:
|
1100
|
-
$spinner-height:
|
1101
|
-
$spinner-
|
1104
|
+
$spinner-width: 2rem !default;
|
1105
|
+
$spinner-height: $spinner-width !default;
|
1106
|
+
$spinner-vertical-align: -.125em !default;
|
1107
|
+
$spinner-border-width: .25em !default;
|
1102
1108
|
|
1103
1109
|
$spinner-width-sm: 1rem !default;
|
1104
1110
|
$spinner-height-sm: $spinner-width-sm !default;
|
@@ -64,6 +64,13 @@
|
|
64
64
|
color: color-yiq($color);
|
65
65
|
background-color: rgba($color, $form-feedback-tooltip-opacity);
|
66
66
|
@include border-radius($form-feedback-tooltip-border-radius);
|
67
|
+
|
68
|
+
// See https://github.com/twbs/bootstrap/pull/31557
|
69
|
+
// Align tooltip to form elements
|
70
|
+
.form-row > .col > &,
|
71
|
+
.form-row > [class*="col-"] > & {
|
72
|
+
left: $form-grid-gutter-width * .5;
|
73
|
+
}
|
67
74
|
}
|
68
75
|
|
69
76
|
@include form-validation-state-selector($state) {
|
@@ -78,7 +85,7 @@
|
|
78
85
|
border-color: $color;
|
79
86
|
|
80
87
|
@if $enable-validation-icons {
|
81
|
-
padding-right: $input-height-inner;
|
88
|
+
padding-right: $input-height-inner !important; // stylelint-disable-line declaration-no-important
|
82
89
|
background-image: escape-svg($icon);
|
83
90
|
background-repeat: no-repeat;
|
84
91
|
background-position: right $input-height-inner-quarter center;
|
@@ -92,6 +99,16 @@
|
|
92
99
|
}
|
93
100
|
}
|
94
101
|
|
102
|
+
// stylelint-disable-next-line selector-no-qualifying-type
|
103
|
+
select.form-control {
|
104
|
+
@include form-validation-state-selector($state) {
|
105
|
+
@if $enable-validation-icons {
|
106
|
+
padding-right: $input-padding-x * 4 !important; // stylelint-disable-line declaration-no-important
|
107
|
+
background-position: right $input-padding-x * 2 center;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
95
112
|
// stylelint-disable-next-line selector-no-qualifying-type
|
96
113
|
textarea.form-control {
|
97
114
|
@include form-validation-state-selector($state) {
|
@@ -107,8 +124,8 @@
|
|
107
124
|
border-color: $color;
|
108
125
|
|
109
126
|
@if $enable-validation-icons {
|
110
|
-
padding-right: $custom-select-feedback-icon-padding-right;
|
111
|
-
background: $custom-select-background,
|
127
|
+
padding-right: $custom-select-feedback-icon-padding-right !important; // stylelint-disable-line declaration-no-important
|
128
|
+
background: $custom-select-background, $custom-select-bg escape-svg($icon) $custom-select-feedback-icon-position / $custom-select-feedback-icon-size no-repeat;
|
112
129
|
}
|
113
130
|
|
114
131
|
&:focus {
|
@@ -4,8 +4,8 @@
|
|
4
4
|
|
5
5
|
@mixin make-container($gutter: $grid-gutter-width) {
|
6
6
|
width: 100%;
|
7
|
-
padding-right: $gutter
|
8
|
-
padding-left: $gutter
|
7
|
+
padding-right: $gutter * .5;
|
8
|
+
padding-left: $gutter * .5;
|
9
9
|
margin-right: auto;
|
10
10
|
margin-left: auto;
|
11
11
|
}
|
@@ -13,8 +13,8 @@
|
|
13
13
|
@mixin make-row($gutter: $grid-gutter-width) {
|
14
14
|
display: flex;
|
15
15
|
flex-wrap: wrap;
|
16
|
-
margin-right: -$gutter
|
17
|
-
margin-left: -$gutter
|
16
|
+
margin-right: -$gutter * .5;
|
17
|
+
margin-left: -$gutter * .5;
|
18
18
|
}
|
19
19
|
|
20
20
|
// For each breakpoint, define the maximum width of the container in a media query
|
@@ -33,16 +33,16 @@
|
|
33
33
|
// always setting `width: 100%;`. This works because we use `flex` values
|
34
34
|
// later on to override this initial width.
|
35
35
|
width: 100%;
|
36
|
-
padding-right: $gutter
|
37
|
-
padding-left: $gutter
|
36
|
+
padding-right: $gutter * .5;
|
37
|
+
padding-left: $gutter * .5;
|
38
38
|
}
|
39
39
|
|
40
40
|
@mixin make-col($size, $columns: $grid-columns) {
|
41
|
-
flex: 0 0 percentage($size
|
41
|
+
flex: 0 0 percentage(divide($size, $columns));
|
42
42
|
// Add a `max-width` to ensure content within each column does not blow out
|
43
43
|
// the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
|
44
44
|
// do not appear to require this.
|
45
|
-
max-width: percentage($size
|
45
|
+
max-width: percentage(divide($size, $columns));
|
46
46
|
}
|
47
47
|
|
48
48
|
@mixin make-col-auto() {
|
@@ -52,7 +52,7 @@
|
|
52
52
|
}
|
53
53
|
|
54
54
|
@mixin make-col-offset($size, $columns: $grid-columns) {
|
55
|
-
$num: $size
|
55
|
+
$num: divide($size, $columns);
|
56
56
|
margin-left: if($num == 0, 0, percentage($num));
|
57
57
|
}
|
58
58
|
|
@@ -63,7 +63,7 @@
|
|
63
63
|
// style grid.
|
64
64
|
@mixin row-cols($count) {
|
65
65
|
> * {
|
66
|
-
flex: 0 0 100
|
67
|
-
max-width: 100
|
66
|
+
flex: 0 0 divide(100%, $count);
|
67
|
+
max-width: divide(100%, $count);
|
68
68
|
}
|
69
69
|
}
|