bootstrap 4.3.1 → 4.6.2.1
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/.travis.yml +15 -1
- data/CHANGELOG.md +4 -12
- data/README.md +7 -1
- data/Rakefile +16 -4
- data/assets/javascripts/bootstrap/alert.js +43 -55
- data/assets/javascripts/bootstrap/button.js +112 -70
- data/assets/javascripts/bootstrap/carousel.js +164 -189
- data/assets/javascripts/bootstrap/collapse.js +98 -129
- data/assets/javascripts/bootstrap/dropdown.js +165 -200
- data/assets/javascripts/bootstrap/modal.js +218 -205
- data/assets/javascripts/bootstrap/popover.js +63 -79
- data/assets/javascripts/bootstrap/scrollspy.js +82 -119
- data/assets/javascripts/bootstrap/tab.js +79 -85
- data/assets/javascripts/bootstrap/toast.js +100 -115
- data/assets/javascripts/bootstrap/tooltip.js +207 -225
- data/assets/javascripts/bootstrap/util.js +41 -23
- data/assets/javascripts/bootstrap.js +1235 -1314
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/stylesheets/_bootstrap-grid.scss +5 -4
- data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
- data/assets/stylesheets/_bootstrap.scss +4 -4
- data/assets/stylesheets/bootstrap/_alert.scss +1 -0
- data/assets/stylesheets/bootstrap/_badge.scss +1 -1
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -2
- data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
- data/assets/stylesheets/bootstrap/_buttons.scss +13 -8
- data/assets/stylesheets/bootstrap/_card.scss +47 -50
- data/assets/stylesheets/bootstrap/_carousel.scss +12 -9
- data/assets/stylesheets/bootstrap/_close.scss +2 -3
- data/assets/stylesheets/bootstrap/_code.scss +1 -1
- data/assets/stylesheets/bootstrap/_custom-forms.scss +43 -24
- data/assets/stylesheets/bootstrap/_dropdown.scss +7 -6
- data/assets/stylesheets/bootstrap/_forms.scss +30 -13
- data/assets/stylesheets/bootstrap/_functions.scss +110 -6
- data/assets/stylesheets/bootstrap/_grid.scss +32 -11
- data/assets/stylesheets/bootstrap/_images.scss +3 -3
- data/assets/stylesheets/bootstrap/_input-group.scss +23 -5
- data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +36 -31
- data/assets/stylesheets/bootstrap/_mixins.scss +3 -3
- data/assets/stylesheets/bootstrap/_modal.scss +26 -15
- data/assets/stylesheets/bootstrap/_nav.scss +12 -7
- data/assets/stylesheets/bootstrap/_navbar.scss +55 -17
- data/assets/stylesheets/bootstrap/_pagination.scss +5 -4
- data/assets/stylesheets/bootstrap/_popover.scss +17 -18
- data/assets/stylesheets/bootstrap/_print.scss +1 -10
- data/assets/stylesheets/bootstrap/_progress.scss +7 -3
- data/assets/stylesheets/bootstrap/_reboot.scss +39 -38
- data/assets/stylesheets/bootstrap/_spinners.scss +18 -8
- data/assets/stylesheets/bootstrap/_tables.scss +3 -3
- data/assets/stylesheets/bootstrap/_toasts.scss +4 -2
- data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
- data/assets/stylesheets/bootstrap/_transitions.scss +6 -0
- data/assets/stylesheets/bootstrap/_type.scss +3 -3
- data/assets/stylesheets/bootstrap/_utilities.scss +2 -1
- data/assets/stylesheets/bootstrap/_variables.scss +71 -45
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +27 -14
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +11 -8
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -8
- data/assets/stylesheets/bootstrap/mixins/_float.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +52 -49
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +31 -17
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +32 -14
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_image.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +5 -4
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +3 -2
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_text.scss +4 -4
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +126 -102
- data/bootstrap.gemspec +2 -4
- data/lib/bootstrap/engine.rb +17 -1
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +18 -6
- data/tasks/updater/network.rb +8 -2
- data/test/dummy_rails/app/assets/config/manifest.js +3 -0
- data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- data/test/gemfiles/rails_7_0_dartsass.gemfile +8 -0
- data/test/gemfiles/rails_7_0_sassc.gemfile +8 -0
- data/test/support/dummy_rails_integration.rb +3 -1
- data/test/test_helper.rb +18 -13
- metadata +17 -21
@@ -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 {
|
@@ -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
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// stylelint-disable
|
1
|
+
// stylelint-disable selector-list-comma-newline-after
|
2
2
|
|
3
3
|
//
|
4
4
|
// Headings
|
@@ -82,12 +82,12 @@ mark,
|
|
82
82
|
//
|
83
83
|
|
84
84
|
.list-unstyled {
|
85
|
-
@include list-unstyled;
|
85
|
+
@include list-unstyled();
|
86
86
|
}
|
87
87
|
|
88
88
|
// Inline turns list items into inline-block
|
89
89
|
.list-inline {
|
90
|
-
@include list-unstyled;
|
90
|
+
@include list-unstyled();
|
91
91
|
}
|
92
92
|
.list-inline-item {
|
93
93
|
display: inline-block;
|
@@ -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";
|
@@ -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,
|
@@ -101,6 +98,15 @@ $yiq-contrasted-threshold: 150 !default;
|
|
101
98
|
$yiq-text-dark: $gray-900 !default;
|
102
99
|
$yiq-text-light: $white !default;
|
103
100
|
|
101
|
+
// Characters which are escaped by the escape-svg function
|
102
|
+
$escaped-characters: (
|
103
|
+
("<", "%3c"),
|
104
|
+
(">", "%3e"),
|
105
|
+
("#", "%23"),
|
106
|
+
("(", "%28"),
|
107
|
+
(")", "%29"),
|
108
|
+
) !default;
|
109
|
+
|
104
110
|
|
105
111
|
// Options
|
106
112
|
//
|
@@ -129,7 +135,6 @@ $enable-deprecation-messages: true !default;
|
|
129
135
|
|
130
136
|
$spacer: 1rem !default;
|
131
137
|
$spacers: () !default;
|
132
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
133
138
|
$spacers: map-merge(
|
134
139
|
(
|
135
140
|
0: 0,
|
@@ -144,7 +149,6 @@ $spacers: map-merge(
|
|
144
149
|
|
145
150
|
// This variable affects the `.h-*` and `.w-*` classes.
|
146
151
|
$sizes: () !default;
|
147
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
148
152
|
$sizes: map-merge(
|
149
153
|
(
|
150
154
|
25: 25%,
|
@@ -220,6 +224,7 @@ $container-max-widths: (
|
|
220
224
|
|
221
225
|
$grid-columns: 12 !default;
|
222
226
|
$grid-gutter-width: 30px !default;
|
227
|
+
$grid-row-columns: 6 !default;
|
223
228
|
|
224
229
|
|
225
230
|
// Components
|
@@ -252,9 +257,9 @@ $caret-spacing: $caret-width * .85 !default;
|
|
252
257
|
$transition-base: all .2s ease-in-out !default;
|
253
258
|
$transition-fade: opacity .15s linear !default;
|
254
259
|
$transition-collapse: height .35s ease !default;
|
260
|
+
$transition-collapse-width: width .35s ease !default;
|
255
261
|
|
256
262
|
$embed-responsive-aspect-ratios: () !default;
|
257
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
258
263
|
$embed-responsive-aspect-ratios: join(
|
259
264
|
(
|
260
265
|
(21 9),
|
@@ -270,7 +275,7 @@ $embed-responsive-aspect-ratios: join(
|
|
270
275
|
// Font, line-height, and color for body text, headings, and more.
|
271
276
|
|
272
277
|
// stylelint-disable value-keyword-case
|
273
|
-
$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;
|
278
|
+
$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;
|
274
279
|
$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
|
275
280
|
$font-family-base: $font-family-sans-serif !default;
|
276
281
|
// stylelint-enable value-keyword-case
|
@@ -295,7 +300,7 @@ $h4-font-size: $font-size-base * 1.5 !default;
|
|
295
300
|
$h5-font-size: $font-size-base * 1.25 !default;
|
296
301
|
$h6-font-size: $font-size-base !default;
|
297
302
|
|
298
|
-
$headings-margin-bottom: $spacer
|
303
|
+
$headings-margin-bottom: $spacer * .5 !default;
|
299
304
|
$headings-font-family: null !default;
|
300
305
|
$headings-font-weight: 500 !default;
|
301
306
|
$headings-line-height: 1.2 !default;
|
@@ -315,7 +320,7 @@ $display-line-height: $headings-line-height !default;
|
|
315
320
|
$lead-font-size: $font-size-base * 1.25 !default;
|
316
321
|
$lead-font-weight: 300 !default;
|
317
322
|
|
318
|
-
$small-font-size:
|
323
|
+
$small-font-size: .875em !default;
|
319
324
|
|
320
325
|
$text-muted: $gray-600 !default;
|
321
326
|
|
@@ -359,6 +364,7 @@ $table-border-color: $border-color !default;
|
|
359
364
|
|
360
365
|
$table-head-bg: $gray-200 !default;
|
361
366
|
$table-head-color: $gray-700 !default;
|
367
|
+
$table-th-font-weight: null !default;
|
362
368
|
|
363
369
|
$table-dark-color: $white !default;
|
364
370
|
$table-dark-bg: $gray-800 !default;
|
@@ -366,7 +372,6 @@ $table-dark-accent-bg: rgba($white, .05) !default;
|
|
366
372
|
$table-dark-hover-color: $table-dark-color !default;
|
367
373
|
$table-dark-hover-bg: rgba($white, .075) !default;
|
368
374
|
$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;
|
369
|
-
$table-dark-color: $white !default;
|
370
375
|
|
371
376
|
$table-striped-order: odd !default;
|
372
377
|
|
@@ -412,6 +417,7 @@ $btn-padding-x: $input-btn-padding-x !default;
|
|
412
417
|
$btn-font-family: $input-btn-font-family !default;
|
413
418
|
$btn-font-size: $input-btn-font-size !default;
|
414
419
|
$btn-line-height: $input-btn-line-height !default;
|
420
|
+
$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping
|
415
421
|
|
416
422
|
$btn-padding-y-sm: $input-btn-padding-y-sm !default;
|
417
423
|
$btn-padding-x-sm: $input-btn-padding-x-sm !default;
|
@@ -488,13 +494,13 @@ $input-plaintext-color: $body-color !default;
|
|
488
494
|
|
489
495
|
$input-height-border: $input-border-width * 2 !default;
|
490
496
|
|
491
|
-
$input-height-inner:
|
492
|
-
$input-height-inner-half:
|
493
|
-
$input-height-inner-quarter:
|
497
|
+
$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;
|
498
|
+
$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;
|
499
|
+
$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;
|
494
500
|
|
495
|
-
$input-height:
|
496
|
-
$input-height-sm:
|
497
|
-
$input-height-lg:
|
501
|
+
$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;
|
502
|
+
$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;
|
503
|
+
$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;
|
498
504
|
|
499
505
|
$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
|
500
506
|
|
@@ -518,6 +524,7 @@ $custom-forms-transition: background-color .15s ease-in-out, borde
|
|
518
524
|
|
519
525
|
$custom-control-gutter: .5rem !default;
|
520
526
|
$custom-control-spacer-x: 1rem !default;
|
527
|
+
$custom-control-cursor: null !default;
|
521
528
|
|
522
529
|
$custom-control-indicator-size: 1rem !default;
|
523
530
|
$custom-control-indicator-bg: $input-bg !default;
|
@@ -527,13 +534,15 @@ $custom-control-indicator-box-shadow: $input-box-shadow !default;
|
|
527
534
|
$custom-control-indicator-border-color: $gray-500 !default;
|
528
535
|
$custom-control-indicator-border-width: $input-border-width !default;
|
529
536
|
|
537
|
+
$custom-control-label-color: null !default;
|
538
|
+
|
530
539
|
$custom-control-indicator-disabled-bg: $input-disabled-bg !default;
|
531
540
|
$custom-control-label-disabled-color: $gray-600 !default;
|
532
541
|
|
533
542
|
$custom-control-indicator-checked-color: $component-active-color !default;
|
534
543
|
$custom-control-indicator-checked-bg: $component-active-bg !default;
|
535
544
|
$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
|
536
|
-
$custom-control-indicator-checked-box-shadow:
|
545
|
+
$custom-control-indicator-checked-box-shadow: null !default;
|
537
546
|
$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;
|
538
547
|
|
539
548
|
$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;
|
@@ -541,24 +550,24 @@ $custom-control-indicator-focus-border-color: $input-focus-border-color !defau
|
|
541
550
|
|
542
551
|
$custom-control-indicator-active-color: $component-active-color !default;
|
543
552
|
$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
|
544
|
-
$custom-control-indicator-active-box-shadow:
|
553
|
+
$custom-control-indicator-active-box-shadow: null !default;
|
545
554
|
$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;
|
546
555
|
|
547
556
|
$custom-checkbox-indicator-border-radius: $border-radius !default;
|
548
|
-
$custom-checkbox-indicator-icon-checked:
|
557
|
+
$custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>") !default;
|
549
558
|
|
550
559
|
$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
|
551
560
|
$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
|
552
|
-
$custom-checkbox-indicator-icon-indeterminate:
|
553
|
-
$custom-checkbox-indicator-indeterminate-box-shadow:
|
561
|
+
$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;
|
562
|
+
$custom-checkbox-indicator-indeterminate-box-shadow: null !default;
|
554
563
|
$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;
|
555
564
|
|
556
565
|
$custom-radio-indicator-border-radius: 50% !default;
|
557
|
-
$custom-radio-indicator-icon-checked:
|
566
|
+
$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;
|
558
567
|
|
559
568
|
$custom-switch-width: $custom-control-indicator-size * 1.75 !default;
|
560
|
-
$custom-switch-indicator-border-radius: $custom-control-indicator-size
|
561
|
-
$custom-switch-indicator-size:
|
569
|
+
$custom-switch-indicator-border-radius: $custom-control-indicator-size * .5 !default;
|
570
|
+
$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;
|
562
571
|
|
563
572
|
$custom-select-padding-y: $input-padding-y !default;
|
564
573
|
$custom-select-padding-x: $input-padding-x !default;
|
@@ -574,10 +583,10 @@ $custom-select-bg: $input-bg !default;
|
|
574
583
|
$custom-select-disabled-bg: $gray-200 !default;
|
575
584
|
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
|
576
585
|
$custom-select-indicator-color: $gray-800 !default;
|
577
|
-
$custom-select-indicator:
|
578
|
-
$custom-select-background: $custom-select-indicator
|
586
|
+
$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;
|
587
|
+
$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)
|
579
588
|
|
580
|
-
$custom-select-feedback-icon-padding-right:
|
589
|
+
$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;
|
581
590
|
$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;
|
582
591
|
$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;
|
583
592
|
|
@@ -650,12 +659,11 @@ $form-feedback-valid-color: theme-color("success") !default;
|
|
650
659
|
$form-feedback-invalid-color: theme-color("danger") !default;
|
651
660
|
|
652
661
|
$form-feedback-icon-valid-color: $form-feedback-valid-color !default;
|
653
|
-
$form-feedback-icon-valid:
|
662
|
+
$form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>") !default;
|
654
663
|
$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
|
655
|
-
$form-feedback-icon-invalid:
|
664
|
+
$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;
|
656
665
|
|
657
666
|
$form-validation-states: () !default;
|
658
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
659
667
|
$form-validation-states: map-merge(
|
660
668
|
(
|
661
669
|
"valid": (
|
@@ -703,12 +711,12 @@ $nav-pills-link-active-color: $component-active-color !default;
|
|
703
711
|
$nav-pills-link-active-bg: $component-active-bg !default;
|
704
712
|
|
705
713
|
$nav-divider-color: $gray-200 !default;
|
706
|
-
$nav-divider-margin-y: $spacer
|
714
|
+
$nav-divider-margin-y: $spacer * .5 !default;
|
707
715
|
|
708
716
|
|
709
717
|
// Navbar
|
710
718
|
|
711
|
-
$navbar-padding-y: $spacer
|
719
|
+
$navbar-padding-y: $spacer * .5 !default;
|
712
720
|
$navbar-padding-x: $spacer !default;
|
713
721
|
|
714
722
|
$navbar-nav-link-padding-x: .5rem !default;
|
@@ -717,25 +725,27 @@ $navbar-brand-font-size: $font-size-lg !default;
|
|
717
725
|
// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
|
718
726
|
$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;
|
719
727
|
$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;
|
720
|
-
$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height)
|
728
|
+
$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;
|
721
729
|
|
722
730
|
$navbar-toggler-padding-y: .25rem !default;
|
723
731
|
$navbar-toggler-padding-x: .75rem !default;
|
724
732
|
$navbar-toggler-font-size: $font-size-lg !default;
|
725
733
|
$navbar-toggler-border-radius: $btn-border-radius !default;
|
726
734
|
|
735
|
+
$navbar-nav-scroll-max-height: 75vh !default;
|
736
|
+
|
727
737
|
$navbar-dark-color: rgba($white, .5) !default;
|
728
738
|
$navbar-dark-hover-color: rgba($white, .75) !default;
|
729
739
|
$navbar-dark-active-color: $white !default;
|
730
740
|
$navbar-dark-disabled-color: rgba($white, .25) !default;
|
731
|
-
$navbar-dark-toggler-icon-bg:
|
741
|
+
$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
|
732
742
|
$navbar-dark-toggler-border-color: rgba($white, .1) !default;
|
733
743
|
|
734
744
|
$navbar-light-color: rgba($black, .5) !default;
|
735
745
|
$navbar-light-hover-color: rgba($black, .7) !default;
|
736
746
|
$navbar-light-active-color: rgba($black, .9) !default;
|
737
747
|
$navbar-light-disabled-color: rgba($black, .3) !default;
|
738
|
-
$navbar-light-toggler-icon-bg:
|
748
|
+
$navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
|
739
749
|
$navbar-light-toggler-border-color: rgba($black, .1) !default;
|
740
750
|
|
741
751
|
$navbar-light-brand-color: $navbar-light-active-color !default;
|
@@ -749,6 +759,7 @@ $navbar-dark-brand-hover-color: $navbar-dark-active-color !default;
|
|
749
759
|
// Dropdown menu container and contents.
|
750
760
|
|
751
761
|
$dropdown-min-width: 10rem !default;
|
762
|
+
$dropdown-padding-x: 0 !default;
|
752
763
|
$dropdown-padding-y: .5rem !default;
|
753
764
|
$dropdown-spacer: .125rem !default;
|
754
765
|
$dropdown-font-size: $font-size-base !default;
|
@@ -757,24 +768,25 @@ $dropdown-bg: $white !default;
|
|
757
768
|
$dropdown-border-color: rgba($black, .15) !default;
|
758
769
|
$dropdown-border-radius: $border-radius !default;
|
759
770
|
$dropdown-border-width: $border-width !default;
|
760
|
-
$dropdown-inner-border-radius:
|
771
|
+
$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;
|
761
772
|
$dropdown-divider-bg: $gray-200 !default;
|
762
773
|
$dropdown-divider-margin-y: $nav-divider-margin-y !default;
|
763
774
|
$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
|
764
775
|
|
765
776
|
$dropdown-link-color: $gray-900 !default;
|
766
777
|
$dropdown-link-hover-color: darken($gray-900, 5%) !default;
|
767
|
-
$dropdown-link-hover-bg: $gray-
|
778
|
+
$dropdown-link-hover-bg: $gray-200 !default;
|
768
779
|
|
769
780
|
$dropdown-link-active-color: $component-active-color !default;
|
770
781
|
$dropdown-link-active-bg: $component-active-bg !default;
|
771
782
|
|
772
|
-
$dropdown-link-disabled-color: $gray-
|
783
|
+
$dropdown-link-disabled-color: $gray-500 !default;
|
773
784
|
|
774
785
|
$dropdown-item-padding-y: .25rem !default;
|
775
786
|
$dropdown-item-padding-x: 1.5rem !default;
|
776
787
|
|
777
788
|
$dropdown-header-color: $gray-600 !default;
|
789
|
+
$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;
|
778
790
|
|
779
791
|
|
780
792
|
// Pagination
|
@@ -807,6 +819,9 @@ $pagination-disabled-color: $gray-600 !default;
|
|
807
819
|
$pagination-disabled-bg: $white !default;
|
808
820
|
$pagination-disabled-border-color: $gray-300 !default;
|
809
821
|
|
822
|
+
$pagination-border-radius-sm: $border-radius-sm !default;
|
823
|
+
$pagination-border-radius-lg: $border-radius-lg !default;
|
824
|
+
|
810
825
|
|
811
826
|
// Jumbotron
|
812
827
|
|
@@ -822,15 +837,16 @@ $card-spacer-x: 1.25rem !default;
|
|
822
837
|
$card-border-width: $border-width !default;
|
823
838
|
$card-border-radius: $border-radius !default;
|
824
839
|
$card-border-color: rgba($black, .125) !default;
|
825
|
-
$card-inner-border-radius:
|
840
|
+
$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;
|
826
841
|
$card-cap-bg: rgba($black, .03) !default;
|
827
842
|
$card-cap-color: null !default;
|
843
|
+
$card-height: null !default;
|
828
844
|
$card-color: null !default;
|
829
845
|
$card-bg: $white !default;
|
830
846
|
|
831
847
|
$card-img-overlay-padding: 1.25rem !default;
|
832
848
|
|
833
|
-
$card-group-margin: $grid-gutter-width
|
849
|
+
$card-group-margin: $grid-gutter-width * .5 !default;
|
834
850
|
$card-deck-margin: $card-group-margin !default;
|
835
851
|
|
836
852
|
$card-columns-count: 3 !default;
|
@@ -871,6 +887,7 @@ $popover-max-width: 276px !default;
|
|
871
887
|
$popover-border-width: $border-width !default;
|
872
888
|
$popover-border-color: rgba($black, .2) !default;
|
873
889
|
$popover-border-radius: $border-radius-lg !default;
|
890
|
+
$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;
|
874
891
|
$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;
|
875
892
|
|
876
893
|
$popover-header-bg: darken($popover-bg, 3%) !default;
|
@@ -929,6 +946,9 @@ $badge-pill-border-radius: 10rem !default;
|
|
929
946
|
// Padding applied to the modal body
|
930
947
|
$modal-inner-padding: 1rem !default;
|
931
948
|
|
949
|
+
// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding
|
950
|
+
$modal-footer-margin-between: .5rem !default;
|
951
|
+
|
932
952
|
$modal-dialog-margin: .5rem !default;
|
933
953
|
$modal-dialog-margin-y-sm-up: 1.75rem !default;
|
934
954
|
|
@@ -939,6 +959,7 @@ $modal-content-bg: $white !default;
|
|
939
959
|
$modal-content-border-color: rgba($black, .2) !default;
|
940
960
|
$modal-content-border-width: $border-width !default;
|
941
961
|
$modal-content-border-radius: $border-radius-lg !default;
|
962
|
+
$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;
|
942
963
|
$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
|
943
964
|
$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
|
944
965
|
|
@@ -960,6 +981,7 @@ $modal-sm: 300px !default;
|
|
960
981
|
$modal-fade-transform: translate(0, -50px) !default;
|
961
982
|
$modal-show-transform: none !default;
|
962
983
|
$modal-transition: transform .3s ease-out !default;
|
984
|
+
$modal-scale-transform: scale(1.02) !default;
|
963
985
|
|
964
986
|
|
965
987
|
// Alerts
|
@@ -1035,6 +1057,8 @@ $figure-caption-color: $gray-600 !default;
|
|
1035
1057
|
|
1036
1058
|
// Breadcrumbs
|
1037
1059
|
|
1060
|
+
$breadcrumb-font-size: null !default;
|
1061
|
+
|
1038
1062
|
$breadcrumb-padding-y: .75rem !default;
|
1039
1063
|
$breadcrumb-padding-x: 1rem !default;
|
1040
1064
|
$breadcrumb-item-padding: .5rem !default;
|
@@ -1069,8 +1093,8 @@ $carousel-caption-color: $white !default;
|
|
1069
1093
|
|
1070
1094
|
$carousel-control-icon-width: 20px !default;
|
1071
1095
|
|
1072
|
-
$carousel-control-prev-icon-bg:
|
1073
|
-
$carousel-control-next-icon-bg:
|
1096
|
+
$carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>") !default;
|
1097
|
+
$carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>") !default;
|
1074
1098
|
|
1075
1099
|
$carousel-transition-duration: .6s !default;
|
1076
1100
|
$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
|
@@ -1078,9 +1102,10 @@ $carousel-transition: transform $carousel-transition-duration eas
|
|
1078
1102
|
|
1079
1103
|
// Spinners
|
1080
1104
|
|
1081
|
-
$spinner-width:
|
1082
|
-
$spinner-height:
|
1083
|
-
$spinner-
|
1105
|
+
$spinner-width: 2rem !default;
|
1106
|
+
$spinner-height: $spinner-width !default;
|
1107
|
+
$spinner-vertical-align: -.125em !default;
|
1108
|
+
$spinner-border-width: .25em !default;
|
1084
1109
|
|
1085
1110
|
$spinner-width-sm: 1rem !default;
|
1086
1111
|
$spinner-height-sm: $spinner-width-sm !default;
|
@@ -1115,6 +1140,7 @@ $pre-scrollable-max-height: 340px !default;
|
|
1115
1140
|
$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;
|
1116
1141
|
$overflows: auto, hidden !default;
|
1117
1142
|
$positions: static, relative, absolute, fixed, sticky !default;
|
1143
|
+
$user-selects: all, auto, none !default;
|
1118
1144
|
|
1119
1145
|
|
1120
1146
|
// Printing
|
@@ -2,20 +2,22 @@
|
|
2
2
|
|
3
3
|
// Contextual backgrounds
|
4
4
|
|
5
|
-
@mixin bg-variant($parent, $color) {
|
5
|
+
@mixin bg-variant($parent, $color, $ignore-warning: false) {
|
6
6
|
#{$parent} {
|
7
7
|
background-color: $color !important;
|
8
8
|
}
|
9
9
|
a#{$parent},
|
10
10
|
button#{$parent} {
|
11
|
-
@include hover-focus {
|
11
|
+
@include hover-focus() {
|
12
12
|
background-color: darken($color, 10%) !important;
|
13
13
|
}
|
14
14
|
}
|
15
|
+
@include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning);
|
15
16
|
}
|
16
17
|
|
17
|
-
@mixin bg-gradient-variant($parent, $color) {
|
18
|
+
@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {
|
18
19
|
#{$parent} {
|
19
20
|
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
|
20
21
|
}
|
22
|
+
@include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning);
|
21
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
|
}
|