bootstrap 4.1.3 → 4.2.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bootstrap might be problematic. Click here for more details.

Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -1
  3. data/README.md +1 -1
  4. data/Rakefile +2 -2
  5. data/assets/javascripts/bootstrap-sprockets.js +6 -5
  6. data/assets/javascripts/bootstrap.js +3290 -2985
  7. data/assets/javascripts/bootstrap.min.js +2 -2
  8. data/assets/javascripts/bootstrap/alert.js +127 -132
  9. data/assets/javascripts/bootstrap/button.js +119 -124
  10. data/assets/javascripts/bootstrap/carousel.js +492 -393
  11. data/assets/javascripts/bootstrap/collapse.js +276 -279
  12. data/assets/javascripts/bootstrap/dropdown.js +413 -374
  13. data/assets/javascripts/bootstrap/modal.js +455 -445
  14. data/assets/javascripts/bootstrap/popover.js +155 -160
  15. data/assets/javascripts/bootstrap/scrollspy.js +246 -250
  16. data/assets/javascripts/bootstrap/tab.js +180 -192
  17. data/assets/javascripts/bootstrap/toast.js +277 -0
  18. data/assets/javascripts/bootstrap/tooltip.js +533 -522
  19. data/assets/javascripts/bootstrap/util.js +140 -116
  20. data/assets/stylesheets/_bootstrap-grid.scss +2 -5
  21. data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
  22. data/assets/stylesheets/_bootstrap.scss +3 -1
  23. data/assets/stylesheets/bootstrap/_alert.scss +1 -1
  24. data/assets/stylesheets/bootstrap/_badge.scss +6 -0
  25. data/assets/stylesheets/bootstrap/_button-group.scss +9 -18
  26. data/assets/stylesheets/bootstrap/_buttons.scss +7 -10
  27. data/assets/stylesheets/bootstrap/_card.scss +30 -21
  28. data/assets/stylesheets/bootstrap/_carousel.scss +36 -74
  29. data/assets/stylesheets/bootstrap/_close.scss +15 -6
  30. data/assets/stylesheets/bootstrap/_custom-forms.scss +103 -29
  31. data/assets/stylesheets/bootstrap/_dropdown.scss +30 -5
  32. data/assets/stylesheets/bootstrap/_forms.scss +12 -11
  33. data/assets/stylesheets/bootstrap/_functions.scss +4 -4
  34. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  35. data/assets/stylesheets/bootstrap/_input-group.scss +24 -4
  36. data/assets/stylesheets/bootstrap/_list-group.scss +6 -0
  37. data/assets/stylesheets/bootstrap/_modal.scss +16 -10
  38. data/assets/stylesheets/bootstrap/_nav.scss +2 -0
  39. data/assets/stylesheets/bootstrap/_navbar.scss +4 -4
  40. data/assets/stylesheets/bootstrap/_popover.scss +1 -1
  41. data/assets/stylesheets/bootstrap/_reboot.scss +14 -35
  42. data/assets/stylesheets/bootstrap/_spinners.scss +53 -0
  43. data/assets/stylesheets/bootstrap/_tables.scss +2 -2
  44. data/assets/stylesheets/bootstrap/_toasts.scss +43 -0
  45. data/assets/stylesheets/bootstrap/_type.scss +2 -2
  46. data/assets/stylesheets/bootstrap/_utilities.scss +1 -0
  47. data/assets/stylesheets/bootstrap/_variables.scss +220 -81
  48. data/assets/stylesheets/bootstrap/mixins/_badge.scss +1 -2
  49. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +2 -2
  50. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +9 -7
  51. data/assets/stylesheets/bootstrap/mixins/_caret.scss +0 -4
  52. data/assets/stylesheets/bootstrap/mixins/_forms.scss +61 -10
  53. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +3 -4
  54. data/assets/stylesheets/bootstrap/mixins/_grid.scss +9 -10
  55. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +10 -1
  56. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +1 -1
  57. data/assets/stylesheets/bootstrap/mixins/_transition.scss +5 -2
  58. data/assets/stylesheets/bootstrap/utilities/_borders.scss +4 -0
  59. data/assets/stylesheets/bootstrap/utilities/_embed.scss +7 -20
  60. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +5 -0
  61. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -5
  62. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +8 -0
  63. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +23 -1
  64. data/assets/stylesheets/bootstrap/utilities/_text.scss +13 -4
  65. data/bootstrap.gemspec +6 -3
  66. data/lib/bootstrap.rb +10 -7
  67. data/lib/bootstrap/engine.rb +3 -0
  68. data/lib/bootstrap/version.rb +4 -2
  69. metadata +15 -11
@@ -0,0 +1,53 @@
1
+ //
2
+ // Rotating border
3
+ //
4
+
5
+ @keyframes spinner-border {
6
+ to { transform: rotate(360deg); }
7
+ }
8
+
9
+ .spinner-border {
10
+ display: inline-block;
11
+ width: $spinner-width;
12
+ height: $spinner-height;
13
+ vertical-align: text-bottom;
14
+ border: $spinner-border-width solid currentColor;
15
+ border-right-color: transparent;
16
+ border-radius: 50%;
17
+ animation: spinner-border .75s linear infinite;
18
+ }
19
+
20
+ .spinner-border-sm {
21
+ width: $spinner-width-sm;
22
+ height: $spinner-height-sm;
23
+ border-width: $spinner-border-width-sm;
24
+ }
25
+
26
+ //
27
+ // Growing circle
28
+ //
29
+
30
+ @keyframes spinner-grow {
31
+ 0% {
32
+ transform: scale(0);
33
+ }
34
+ 50% {
35
+ opacity: 1;
36
+ }
37
+ }
38
+
39
+ .spinner-grow {
40
+ display: inline-block;
41
+ width: $spinner-width;
42
+ height: $spinner-height;
43
+ vertical-align: text-bottom;
44
+ background-color: currentColor;
45
+ border-radius: 50%;
46
+ opacity: 0;
47
+ animation: spinner-grow .75s linear infinite;
48
+ }
49
+
50
+ .spinner-grow-sm {
51
+ width: $spinner-width-sm;
52
+ height: $spinner-height-sm;
53
+ }
@@ -56,7 +56,7 @@
56
56
  thead {
57
57
  th,
58
58
  td {
59
- border-bottom-width: (2 * $table-border-width);
59
+ border-bottom-width: 2 * $table-border-width;
60
60
  }
61
61
  }
62
62
  }
@@ -100,7 +100,7 @@
100
100
  // inheritance to nested tables.
101
101
 
102
102
  @each $color, $value in $theme-colors {
103
- @include table-row-variant($color, theme-color-level($color, -9));
103
+ @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));
104
104
  }
105
105
 
106
106
  @include table-row-variant(active, $table-active-bg);
@@ -0,0 +1,43 @@
1
+ .toast {
2
+ max-width: $toast-max-width;
3
+ overflow: hidden; // cheap rounded corners on nested items
4
+ font-size: $toast-font-size; // knock it down to 14px
5
+ background-color: $toast-background-color;
6
+ background-clip: padding-box;
7
+ border: $toast-border-width solid $toast-border-color;
8
+ border-radius: $toast-border-radius;
9
+ box-shadow: $toast-box-shadow;
10
+ backdrop-filter: blur(10px);
11
+ opacity: 0;
12
+
13
+ &:not(:last-child) {
14
+ margin-bottom: $toast-padding-x;
15
+ }
16
+
17
+ &.showing {
18
+ opacity: 1;
19
+ }
20
+
21
+ &.show {
22
+ display: block;
23
+ opacity: 1;
24
+ }
25
+
26
+ &.hide {
27
+ display: none;
28
+ }
29
+ }
30
+
31
+ .toast-header {
32
+ display: flex;
33
+ align-items: center;
34
+ padding: $toast-padding-y $toast-padding-x;
35
+ color: $toast-header-color;
36
+ background-color: $toast-header-background-color;
37
+ background-clip: padding-box;
38
+ border-bottom: $toast-border-width solid $toast-header-border-color;
39
+ }
40
+
41
+ .toast-body {
42
+ padding: $toast-padding-x; // apply to both vertical and horizontal
43
+ }
@@ -116,10 +116,10 @@ mark,
116
116
 
117
117
  .blockquote-footer {
118
118
  display: block;
119
- font-size: 80%; // back to default font-size
119
+ font-size: $blockquote-small-font-size;
120
120
  color: $blockquote-small-color;
121
121
 
122
122
  &::before {
123
- content: "\2014 \00A0"; // em dash, nbsp
123
+ content: "\2014\00A0"; // em dash, nbsp
124
124
  }
125
125
  }
@@ -6,6 +6,7 @@
6
6
  @import "utilities/embed";
7
7
  @import "utilities/flex";
8
8
  @import "utilities/float";
9
+ @import "utilities/overflow";
9
10
  @import "utilities/position";
10
11
  @import "utilities/screenreaders";
11
12
  @import "utilities/shadows";
@@ -3,10 +3,7 @@
3
3
  // Variables should follow the `$component-state-property-size` formula for
4
4
  // consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.
5
5
 
6
-
7
- //
8
6
  // Color system
9
- //
10
7
 
11
8
  $white: #fff !default;
12
9
  $gray-100: #f8f9fa !default;
@@ -37,7 +34,6 @@ $grays: map-merge(
37
34
  $grays
38
35
  );
39
36
 
40
-
41
37
  $blue: #007bff !default;
42
38
  $indigo: #6610f2 !default;
43
39
  $purple: #6f42c1 !default;
@@ -105,18 +101,21 @@ $yiq-contrasted-threshold: 150 !default;
105
101
  $yiq-text-dark: $gray-900 !default;
106
102
  $yiq-text-light: $white !default;
107
103
 
104
+
108
105
  // Options
109
106
  //
110
107
  // Quickly modify global styling by enabling or disabling optional features.
111
108
 
112
- $enable-caret: true !default;
113
- $enable-rounded: true !default;
114
- $enable-shadows: false !default;
115
- $enable-gradients: false !default;
116
- $enable-transitions: true !default;
117
- $enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
118
- $enable-grid-classes: true !default;
119
- $enable-print-styles: true !default;
109
+ $enable-caret: true !default;
110
+ $enable-rounded: true !default;
111
+ $enable-shadows: false !default;
112
+ $enable-gradients: false !default;
113
+ $enable-transitions: true !default;
114
+ $enable-prefers-reduced-motion-media-query: true !default;
115
+ $enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
116
+ $enable-grid-classes: true !default;
117
+ $enable-print-styles: true !default;
118
+ $enable-validation-icons: true !default;
120
119
 
121
120
 
122
121
  // Spacing
@@ -154,6 +153,7 @@ $sizes: map-merge(
154
153
  $sizes
155
154
  );
156
155
 
156
+
157
157
  // Body
158
158
  //
159
159
  // Settings for the `<body>` element.
@@ -161,14 +161,17 @@ $sizes: map-merge(
161
161
  $body-bg: $white !default;
162
162
  $body-color: $gray-900 !default;
163
163
 
164
+
164
165
  // Links
165
166
  //
166
167
  // Style anchor elements.
167
168
 
168
- $link-color: theme-color("primary") !default;
169
- $link-decoration: none !default;
170
- $link-hover-color: darken($link-color, 15%) !default;
171
- $link-hover-decoration: underline !default;
169
+ $link-color: theme-color("primary") !default;
170
+ $link-decoration: none !default;
171
+ $link-hover-color: darken($link-color, 15%) !default;
172
+ $link-hover-decoration: underline !default;
173
+ // Darken percentage for links with `.text-*` class (e.g. `.text-success`)
174
+ $emphasized-link-hover-darken-percentage: 15% !default;
172
175
 
173
176
  // Paragraphs
174
177
  //
@@ -182,13 +185,18 @@ $paragraph-margin-bottom: 1rem !default;
182
185
  // Define the minimum dimensions at which your layout will change,
183
186
  // adapting to different screen sizes, for use in media queries.
184
187
 
185
- $grid-breakpoints: (
186
- xs: 0,
187
- sm: 576px,
188
- md: 768px,
189
- lg: 992px,
190
- xl: 1200px
191
- ) !default;
188
+ $grid-breakpoints: () !default;
189
+ // stylelint-disable-next-line scss/dollar-variable-default
190
+ $grid-breakpoints: map-merge(
191
+ (
192
+ xs: 0,
193
+ sm: 576px,
194
+ md: 768px,
195
+ lg: 992px,
196
+ xl: 1200px
197
+ ),
198
+ $grid-breakpoints
199
+ );
192
200
 
193
201
  @include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
194
202
  @include _assert-starts-at-zero($grid-breakpoints);
@@ -198,12 +206,17 @@ $grid-breakpoints: (
198
206
  //
199
207
  // Define the maximum width of `.container` for different screen sizes.
200
208
 
201
- $container-max-widths: (
202
- sm: 540px,
203
- md: 720px,
204
- lg: 960px,
205
- xl: 1140px
206
- ) !default;
209
+ $container-max-widths: () !default;
210
+ // stylelint-disable-next-line scss/dollar-variable-default
211
+ $container-max-widths: map-merge(
212
+ (
213
+ sm: 540px,
214
+ md: 720px,
215
+ lg: 960px,
216
+ xl: 1140px
217
+ ),
218
+ $container-max-widths
219
+ );
207
220
 
208
221
  @include _assert-ascending($container-max-widths, "$container-max-widths");
209
222
 
@@ -215,6 +228,7 @@ $container-max-widths: (
215
228
  $grid-columns: 12 !default;
216
229
  $grid-gutter-width: 30px !default;
217
230
 
231
+
218
232
  // Components
219
233
  //
220
234
  // Define common padding and border radius sizes and more.
@@ -229,6 +243,8 @@ $border-radius: .25rem !default;
229
243
  $border-radius-lg: .3rem !default;
230
244
  $border-radius-sm: .2rem !default;
231
245
 
246
+ $rounded-pill: 50rem !default;
247
+
232
248
  $box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;
233
249
  $box-shadow: 0 .5rem 1rem rgba($black, .15) !default;
234
250
  $box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;
@@ -242,13 +258,24 @@ $transition-base: all .2s ease-in-out !default;
242
258
  $transition-fade: opacity .15s linear !default;
243
259
  $transition-collapse: height .35s ease !default;
244
260
 
261
+ $embed-responsive-aspect-ratios: () !default;
262
+ // stylelint-disable-next-line scss/dollar-variable-default
263
+ $embed-responsive-aspect-ratios: join(
264
+ (
265
+ (21 9),
266
+ (16 9),
267
+ (3 4),
268
+ (1 1),
269
+ ),
270
+ $embed-responsive-aspect-ratios
271
+ );
245
272
 
246
273
  // Fonts
247
274
  //
248
275
  // Font, line-height, and color for body text, headings, and more.
249
276
 
250
277
  // stylelint-disable value-keyword-case
251
- $font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, 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", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
252
279
  $font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
253
280
  $font-family-base: $font-family-sans-serif !default;
254
281
  // stylelint-enable value-keyword-case
@@ -257,9 +284,11 @@ $font-size-base: 1rem !default; // Assumes the browser default, typ
257
284
  $font-size-lg: ($font-size-base * 1.25) !default;
258
285
  $font-size-sm: ($font-size-base * .875) !default;
259
286
 
287
+ $font-weight-lighter: lighter !default;
260
288
  $font-weight-light: 300 !default;
261
289
  $font-weight-normal: 400 !default;
262
290
  $font-weight-bold: 700 !default;
291
+ $font-weight-bolder: bolder !default;
263
292
 
264
293
  $font-weight-base: $font-weight-normal !default;
265
294
  $line-height-base: 1.5 !default;
@@ -271,7 +300,7 @@ $h4-font-size: $font-size-base * 1.5 !default;
271
300
  $h5-font-size: $font-size-base * 1.25 !default;
272
301
  $h6-font-size: $font-size-base !default;
273
302
 
274
- $headings-margin-bottom: ($spacer / 2) !default;
303
+ $headings-margin-bottom: $spacer / 2 !default;
275
304
  $headings-font-family: inherit !default;
276
305
  $headings-font-weight: 500 !default;
277
306
  $headings-line-height: 1.2 !default;
@@ -296,6 +325,7 @@ $small-font-size: 80% !default;
296
325
  $text-muted: $gray-600 !default;
297
326
 
298
327
  $blockquote-small-color: $gray-600 !default;
328
+ $blockquote-small-font-size: $small-font-size !default;
299
329
  $blockquote-font-size: ($font-size-base * 1.25) !default;
300
330
 
301
331
  $hr-border-color: rgba($black, .1) !default;
@@ -337,18 +367,23 @@ $table-dark-bg: $gray-900 !default;
337
367
  $table-dark-accent-bg: rgba($white, .05) !default;
338
368
  $table-dark-hover-bg: rgba($white, .075) !default;
339
369
  $table-dark-border-color: lighten($gray-900, 7.5%) !default;
340
- $table-dark-color: $body-bg !default;
370
+ $table-dark-color: $white !default;
341
371
 
342
372
  $table-striped-order: odd !default;
343
373
 
344
374
  $table-caption-color: $text-muted !default;
345
375
 
376
+ $table-bg-level: -9 !default;
377
+ $table-border-level: -6 !default;
378
+
379
+
346
380
  // Buttons + Forms
347
381
  //
348
382
  // Shared variables that are reassigned to `$input-` and `$btn-` specific variables.
349
383
 
350
384
  $input-btn-padding-y: .375rem !default;
351
385
  $input-btn-padding-x: .75rem !default;
386
+ $input-btn-font-size: $font-size-base !default;
352
387
  $input-btn-line-height: $line-height-base !default;
353
388
 
354
389
  $input-btn-focus-width: .2rem !default;
@@ -357,10 +392,12 @@ $input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-colo
357
392
 
358
393
  $input-btn-padding-y-sm: .25rem !default;
359
394
  $input-btn-padding-x-sm: .5rem !default;
395
+ $input-btn-font-size-sm: $font-size-sm !default;
360
396
  $input-btn-line-height-sm: $line-height-sm !default;
361
397
 
362
398
  $input-btn-padding-y-lg: .5rem !default;
363
399
  $input-btn-padding-x-lg: 1rem !default;
400
+ $input-btn-font-size-lg: $font-size-lg !default;
364
401
  $input-btn-line-height-lg: $line-height-lg !default;
365
402
 
366
403
  $input-btn-border-width: $border-width !default;
@@ -372,14 +409,17 @@ $input-btn-border-width: $border-width !default;
372
409
 
373
410
  $btn-padding-y: $input-btn-padding-y !default;
374
411
  $btn-padding-x: $input-btn-padding-x !default;
412
+ $btn-font-size: $input-btn-font-size !default;
375
413
  $btn-line-height: $input-btn-line-height !default;
376
414
 
377
415
  $btn-padding-y-sm: $input-btn-padding-y-sm !default;
378
416
  $btn-padding-x-sm: $input-btn-padding-x-sm !default;
417
+ $btn-font-size-sm: $input-btn-font-size-sm !default;
379
418
  $btn-line-height-sm: $input-btn-line-height-sm !default;
380
419
 
381
420
  $btn-padding-y-lg: $input-btn-padding-y-lg !default;
382
421
  $btn-padding-x-lg: $input-btn-padding-x-lg !default;
422
+ $btn-font-size-lg: $input-btn-font-size-lg !default;
383
423
  $btn-line-height-lg: $input-btn-line-height-lg !default;
384
424
 
385
425
  $btn-border-width: $input-btn-border-width !default;
@@ -409,14 +449,18 @@ $label-margin-bottom: .5rem !default;
409
449
 
410
450
  $input-padding-y: $input-btn-padding-y !default;
411
451
  $input-padding-x: $input-btn-padding-x !default;
452
+ $input-font-size: $input-btn-font-size !default;
453
+ $input-font-weight: $font-weight-base !default;
412
454
  $input-line-height: $input-btn-line-height !default;
413
455
 
414
456
  $input-padding-y-sm: $input-btn-padding-y-sm !default;
415
457
  $input-padding-x-sm: $input-btn-padding-x-sm !default;
458
+ $input-font-size-sm: $input-btn-font-size-sm !default;
416
459
  $input-line-height-sm: $input-btn-line-height-sm !default;
417
460
 
418
461
  $input-padding-y-lg: $input-btn-padding-y-lg !default;
419
462
  $input-padding-x-lg: $input-btn-padding-x-lg !default;
463
+ $input-font-size-lg: $input-btn-font-size-lg !default;
420
464
  $input-line-height-lg: $input-btn-line-height-lg !default;
421
465
 
422
466
  $input-bg: $white !default;
@@ -442,13 +486,13 @@ $input-plaintext-color: $body-color !default;
442
486
 
443
487
  $input-height-border: $input-border-width * 2 !default;
444
488
 
445
- $input-height-inner: ($font-size-base * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;
489
+ $input-height-inner: ($input-btn-font-size * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;
446
490
  $input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;
447
491
 
448
- $input-height-inner-sm: ($font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;
492
+ $input-height-inner-sm: ($input-btn-font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;
449
493
  $input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;
450
494
 
451
- $input-height-inner-lg: ($font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;
495
+ $input-height-inner-lg: ($input-btn-font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;
452
496
  $input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;
453
497
 
454
498
  $input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
@@ -462,6 +506,7 @@ $form-check-input-margin-x: .25rem !default;
462
506
  $form-check-inline-margin-x: .75rem !default;
463
507
  $form-check-inline-input-margin-x: .3125rem !default;
464
508
 
509
+ $form-grid-gutter-width: 10px !default;
465
510
  $form-group-margin-bottom: 1rem !default;
466
511
 
467
512
  $input-group-addon-color: $input-color !default;
@@ -470,64 +515,86 @@ $input-group-addon-border-color: $input-border-color !default;
470
515
 
471
516
  $custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
472
517
 
473
- $custom-control-gutter: 1.5rem !default;
518
+ $custom-control-gutter: .5rem !default;
474
519
  $custom-control-spacer-x: 1rem !default;
475
520
 
476
521
  $custom-control-indicator-size: 1rem !default;
477
- $custom-control-indicator-bg: $gray-300 !default;
522
+ $custom-control-indicator-bg: $input-bg !default;
523
+
478
524
  $custom-control-indicator-bg-size: 50% 50% !default;
479
- $custom-control-indicator-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
525
+ $custom-control-indicator-box-shadow: $input-box-shadow !default;
526
+ $custom-control-indicator-border-color: $gray-500 !default;
527
+ $custom-control-indicator-border-width: $input-border-width !default;
480
528
 
481
- $custom-control-indicator-disabled-bg: $gray-200 !default;
529
+ $custom-control-indicator-disabled-bg: $input-disabled-bg !default;
482
530
  $custom-control-label-disabled-color: $gray-600 !default;
483
531
 
484
532
  $custom-control-indicator-checked-color: $component-active-color !default;
485
533
  $custom-control-indicator-checked-bg: $component-active-bg !default;
486
534
  $custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
487
535
  $custom-control-indicator-checked-box-shadow: none !default;
536
+ $custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;
488
537
 
489
- $custom-control-indicator-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;
538
+ $custom-control-indicator-focus-box-shadow: $input-btn-focus-box-shadow !default;
539
+ $custom-control-indicator-focus-border-color: $input-focus-border-color !default;
490
540
 
491
541
  $custom-control-indicator-active-color: $component-active-color !default;
492
542
  $custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
493
543
  $custom-control-indicator-active-box-shadow: none !default;
544
+ $custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;
494
545
 
495
546
  $custom-checkbox-indicator-border-radius: $border-radius !default;
496
- $custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"), "#", "%23") !default;
547
+ $custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"), "#", "%23") !default;
497
548
 
498
- $custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
499
- $custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
500
- $custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3E%3C/svg%3E"), "#", "%23") !default;
501
- $custom-checkbox-indicator-indeterminate-box-shadow: none !default;
549
+ $custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
550
+ $custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
551
+ $custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e"), "#", "%23") !default;
552
+ $custom-checkbox-indicator-indeterminate-box-shadow: none !default;
553
+ $custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;
502
554
 
503
555
  $custom-radio-indicator-border-radius: 50% !default;
504
- $custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3E%3C/svg%3E"), "#", "%23") !default;
556
+ $custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e"), "#", "%23") !default;
557
+
558
+ $custom-switch-width: $custom-control-indicator-size * 1.75 !default;
559
+ $custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;
560
+ $custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default;
505
561
 
506
- $custom-select-padding-y: .375rem !default;
507
- $custom-select-padding-x: .75rem !default;
562
+ $custom-select-padding-y: $input-btn-padding-y !default;
563
+ $custom-select-padding-x: $input-btn-padding-x !default;
508
564
  $custom-select-height: $input-height !default;
509
565
  $custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
510
- $custom-select-line-height: $input-btn-line-height !default;
566
+ $custom-select-font-weight: $input-font-weight !default;
567
+ $custom-select-line-height: $input-line-height !default;
511
568
  $custom-select-color: $input-color !default;
512
569
  $custom-select-disabled-color: $gray-600 !default;
513
570
  $custom-select-bg: $input-bg !default;
514
571
  $custom-select-disabled-bg: $gray-200 !default;
515
572
  $custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
516
573
  $custom-select-indicator-color: $gray-800 !default;
517
- $custom-select-indicator: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E"), "#", "%23") !default;
518
- $custom-select-border-width: $input-btn-border-width !default;
574
+ $custom-select-indicator: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e"), "#", "%23") !default;
575
+ $custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)
576
+
577
+ $custom-select-feedback-icon-padding-right: $input-height-inner * 3 / 4 + $custom-select-padding-x + $custom-select-indicator-padding !default;
578
+ $custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;
579
+ $custom-select-feedback-icon-size: ($input-height-inner / 2) ($input-height-inner / 2) !default;
580
+
581
+ $custom-select-border-width: $input-border-width !default;
519
582
  $custom-select-border-color: $input-border-color !default;
520
583
  $custom-select-border-radius: $border-radius !default;
521
584
  $custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;
522
585
 
523
586
  $custom-select-focus-border-color: $input-focus-border-color !default;
524
- $custom-select-focus-width: $input-btn-focus-width !default;
587
+ $custom-select-focus-width: $input-focus-width !default;
525
588
  $custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width rgba($custom-select-focus-border-color, .5) !default;
526
589
 
527
- $custom-select-font-size-sm: 75% !default;
590
+ $custom-select-padding-y-sm: $input-padding-y-sm !default;
591
+ $custom-select-padding-x-sm: $input-padding-x-sm !default;
592
+ $custom-select-font-size-sm: $input-btn-font-size-sm !default;
528
593
  $custom-select-height-sm: $input-height-sm !default;
529
594
 
530
- $custom-select-font-size-lg: 125% !default;
595
+ $custom-select-padding-y-lg: $input-padding-y-lg !default;
596
+ $custom-select-padding-x-lg: $input-padding-x-lg !default;
597
+ $custom-select-font-size-lg: $input-btn-font-size-lg !default;
531
598
  $custom-select-height-lg: $input-height-lg !default;
532
599
 
533
600
  $custom-range-track-width: 100% !default;
@@ -543,22 +610,24 @@ $custom-range-thumb-bg: $component-active-bg !default;
543
610
  $custom-range-thumb-border: 0 !default;
544
611
  $custom-range-thumb-border-radius: 1rem !default;
545
612
  $custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;
546
- $custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-btn-focus-box-shadow !default;
547
- $custom-range-thumb-focus-box-shadow-width: $input-btn-focus-width !default; // For focus box shadow issue in IE/Edge
613
+ $custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;
614
+ $custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge
548
615
  $custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;
616
+ $custom-range-thumb-disabled-bg: $gray-500 !default;
549
617
 
550
618
  $custom-file-height: $input-height !default;
551
619
  $custom-file-height-inner: $input-height-inner !default;
552
620
  $custom-file-focus-border-color: $input-focus-border-color !default;
553
- $custom-file-focus-box-shadow: $input-btn-focus-box-shadow !default;
621
+ $custom-file-focus-box-shadow: $input-focus-box-shadow !default;
554
622
  $custom-file-disabled-bg: $input-disabled-bg !default;
555
623
 
556
- $custom-file-padding-y: $input-btn-padding-y !default;
557
- $custom-file-padding-x: $input-btn-padding-x !default;
558
- $custom-file-line-height: $input-btn-line-height !default;
624
+ $custom-file-padding-y: $input-padding-y !default;
625
+ $custom-file-padding-x: $input-padding-x !default;
626
+ $custom-file-line-height: $input-line-height !default;
627
+ $custom-file-font-weight: $input-font-weight !default;
559
628
  $custom-file-color: $input-color !default;
560
629
  $custom-file-bg: $input-bg !default;
561
- $custom-file-border-width: $input-btn-border-width !default;
630
+ $custom-file-border-width: $input-border-width !default;
562
631
  $custom-file-border-color: $input-border-color !default;
563
632
  $custom-file-border-radius: $input-border-radius !default;
564
633
  $custom-file-box-shadow: $input-box-shadow !default;
@@ -570,11 +639,17 @@ $custom-file-text: (
570
639
 
571
640
 
572
641
  // Form validation
642
+
573
643
  $form-feedback-margin-top: $form-text-margin-top !default;
574
644
  $form-feedback-font-size: $small-font-size !default;
575
645
  $form-feedback-valid-color: theme-color("success") !default;
576
646
  $form-feedback-invalid-color: theme-color("danger") !default;
577
647
 
648
+ $form-feedback-icon-valid-color: $form-feedback-valid-color !default;
649
+ $form-feedback-icon-valid: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath 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'/%3e%3c/svg%3e"), "#", "%23") !default;
650
+ $form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
651
+ $form-feedback-icon-invalid: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23d9534f' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"), "#", "%23") !default;
652
+
578
653
 
579
654
  // Dropdowns
580
655
  //
@@ -587,6 +662,7 @@ $dropdown-bg: $white !default;
587
662
  $dropdown-border-color: rgba($black, .15) !default;
588
663
  $dropdown-border-radius: $border-radius !default;
589
664
  $dropdown-border-width: $border-width !default;
665
+ $dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;
590
666
  $dropdown-divider-bg: $gray-200 !default;
591
667
  $dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
592
668
 
@@ -618,6 +694,7 @@ $zindex-modal: 1050 !default;
618
694
  $zindex-popover: 1060 !default;
619
695
  $zindex-tooltip: 1070 !default;
620
696
 
697
+
621
698
  // Navs
622
699
 
623
700
  $nav-link-padding-y: .5rem !default;
@@ -637,18 +714,19 @@ $nav-pills-link-active-color: $component-active-color !default;
637
714
  $nav-pills-link-active-bg: $component-active-bg !default;
638
715
 
639
716
  $nav-divider-color: $gray-200 !default;
640
- $nav-divider-margin-y: ($spacer / 2) !default;
717
+ $nav-divider-margin-y: $spacer / 2 !default;
718
+
641
719
 
642
720
  // Navbar
643
721
 
644
- $navbar-padding-y: ($spacer / 2) !default;
722
+ $navbar-padding-y: $spacer / 2 !default;
645
723
  $navbar-padding-x: $spacer !default;
646
724
 
647
725
  $navbar-nav-link-padding-x: .5rem !default;
648
726
 
649
727
  $navbar-brand-font-size: $font-size-lg !default;
650
728
  // Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
651
- $nav-link-height: ($font-size-base * $line-height-base + $nav-link-padding-y * 2) !default;
729
+ $nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;
652
730
  $navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;
653
731
  $navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;
654
732
 
@@ -661,16 +739,22 @@ $navbar-dark-color: rgba($white, .5) !default;
661
739
  $navbar-dark-hover-color: rgba($white, .75) !default;
662
740
  $navbar-dark-active-color: $white !default;
663
741
  $navbar-dark-disabled-color: rgba($white, .25) !default;
664
- $navbar-dark-toggler-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
742
+ $navbar-dark-toggler-icon-bg: str-replace(url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"), "#", "%23") !default;
665
743
  $navbar-dark-toggler-border-color: rgba($white, .1) !default;
666
744
 
667
745
  $navbar-light-color: rgba($black, .5) !default;
668
746
  $navbar-light-hover-color: rgba($black, .7) !default;
669
747
  $navbar-light-active-color: rgba($black, .9) !default;
670
748
  $navbar-light-disabled-color: rgba($black, .3) !default;
671
- $navbar-light-toggler-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23") !default;
749
+ $navbar-light-toggler-icon-bg: str-replace(url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"), "#", "%23") !default;
672
750
  $navbar-light-toggler-border-color: rgba($black, .1) !default;
673
751
 
752
+ $navbar-light-brand-color: $navbar-light-active-color !default;
753
+ $navbar-light-brand-hover-color: $navbar-light-active-color !default;
754
+ $navbar-dark-brand-color: $navbar-dark-active-color !default;
755
+ $navbar-dark-brand-hover-color: $navbar-dark-active-color !default;
756
+
757
+
674
758
  // Pagination
675
759
 
676
760
  $pagination-padding-y: .5rem !default;
@@ -717,11 +801,12 @@ $card-border-radius: $border-radius !default;
717
801
  $card-border-color: rgba($black, .125) !default;
718
802
  $card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;
719
803
  $card-cap-bg: rgba($black, .03) !default;
804
+ $card-cap-color: inherit !default;
720
805
  $card-bg: $white !default;
721
806
 
722
807
  $card-img-overlay-padding: 1.25rem !default;
723
808
 
724
- $card-group-margin: ($grid-gutter-width / 2) !default;
809
+ $card-group-margin: $grid-gutter-width / 2 !default;
725
810
  $card-deck-margin: $card-group-margin !default;
726
811
 
727
812
  $card-columns-count: 3 !default;
@@ -745,6 +830,14 @@ $tooltip-arrow-width: .8rem !default;
745
830
  $tooltip-arrow-height: .4rem !default;
746
831
  $tooltip-arrow-color: $tooltip-bg !default;
747
832
 
833
+ // Form tooltips must come after regular tooltips
834
+ $form-feedback-tooltip-padding-y: $tooltip-padding-y !default;
835
+ $form-feedback-tooltip-padding-x: $tooltip-padding-x !default;
836
+ $form-feedback-tooltip-font-size: $tooltip-font-size !default;
837
+ $form-feedback-tooltip-line-height: $line-height-base !default;
838
+ $form-feedback-tooltip-opacity: $tooltip-opacity !default;
839
+ $form-feedback-tooltip-border-radius: $tooltip-border-radius !default;
840
+
748
841
 
749
842
  // Popovers
750
843
 
@@ -772,6 +865,22 @@ $popover-arrow-color: $popover-bg !default;
772
865
  $popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
773
866
 
774
867
 
868
+ // Toasts
869
+ $toast-max-width: 350px !default;
870
+ $toast-padding-x: .75rem !default;
871
+ $toast-padding-y: .25rem !default;
872
+ $toast-font-size: .875rem !default;
873
+ $toast-background-color: rgba($white, .85) !default;
874
+ $toast-border-width: 1px !default;
875
+ $toast-border-color: rgba(0, 0, 0, .1) !default;
876
+ $toast-border-radius: .25rem !default;
877
+ $toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;
878
+
879
+ $toast-header-color: $gray-600 !default;
880
+ $toast-header-background-color: rgba($white, .85) !default;
881
+ $toast-header-border-color: rgba(0, 0, 0, .05) !default;
882
+
883
+
775
884
  // Badges
776
885
 
777
886
  $badge-font-size: 75% !default;
@@ -809,12 +918,17 @@ $modal-header-border-color: $gray-200 !default;
809
918
  $modal-footer-border-color: $modal-header-border-color !default;
810
919
  $modal-header-border-width: $modal-content-border-width !default;
811
920
  $modal-footer-border-width: $modal-header-border-width !default;
812
- $modal-header-padding: 1rem !default;
921
+ $modal-header-padding-y: 1rem !default;
922
+ $modal-header-padding-x: 1rem !default;
923
+ $modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility
813
924
 
925
+ $modal-xl: 1140px !default;
814
926
  $modal-lg: 800px !default;
815
927
  $modal-md: 500px !default;
816
928
  $modal-sm: 300px !default;
817
929
 
930
+ $modal-fade-transform: translate(0, -50px) !default;
931
+ $modal-show-transform: none !default;
818
932
  $modal-transition: transform .3s ease-out !default;
819
933
 
820
934
 
@@ -846,6 +960,7 @@ $progress-bar-bg: theme-color("primary") !default;
846
960
  $progress-bar-animation-timing: 1s linear infinite !default;
847
961
  $progress-bar-transition: width .6s ease !default;
848
962
 
963
+
849
964
  // List group
850
965
 
851
966
  $list-group-bg: $white !default;
@@ -905,24 +1020,40 @@ $breadcrumb-border-radius: $border-radius !default;
905
1020
 
906
1021
  // Carousel
907
1022
 
908
- $carousel-control-color: $white !default;
909
- $carousel-control-width: 15% !default;
910
- $carousel-control-opacity: .5 !default;
1023
+ $carousel-control-color: $white !default;
1024
+ $carousel-control-width: 15% !default;
1025
+ $carousel-control-opacity: .5 !default;
1026
+ $carousel-control-hover-opacity: .9 !default;
1027
+ $carousel-control-transition: opacity .15s ease !default;
1028
+
1029
+ $carousel-indicator-width: 30px !default;
1030
+ $carousel-indicator-height: 3px !default;
1031
+ $carousel-indicator-hit-area-height: 10px !default;
1032
+ $carousel-indicator-spacer: 3px !default;
1033
+ $carousel-indicator-active-bg: $white !default;
1034
+ $carousel-indicator-transition: opacity .6s ease !default;
1035
+
1036
+ $carousel-caption-width: 70% !default;
1037
+ $carousel-caption-color: $white !default;
1038
+
1039
+ $carousel-control-icon-width: 20px !default;
911
1040
 
912
- $carousel-indicator-width: 30px !default;
913
- $carousel-indicator-height: 3px !default;
914
- $carousel-indicator-spacer: 3px !default;
915
- $carousel-indicator-active-bg: $white !default;
1041
+ $carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"), "#", "%23") !default;
1042
+ $carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"), "#", "%23") !default;
916
1043
 
917
- $carousel-caption-width: 70% !default;
918
- $carousel-caption-color: $white !default;
1044
+ $carousel-transition-duration: .6s !default;
1045
+ $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`)
919
1046
 
920
- $carousel-control-icon-width: 20px !default;
921
1047
 
922
- $carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"), "#", "%23") !default;
923
- $carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"), "#", "%23") !default;
1048
+ // Spinners
924
1049
 
925
- $carousel-transition: transform .6s ease !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
1050
+ $spinner-width: 2rem !default;
1051
+ $spinner-height: $spinner-width !default;
1052
+ $spinner-border-width: .25em !default;
1053
+
1054
+ $spinner-width-sm: 1rem !default;
1055
+ $spinner-height-sm: $spinner-width-sm !default;
1056
+ $spinner-border-width-sm: .2em !default;
926
1057
 
927
1058
 
928
1059
  // Close
@@ -932,6 +1063,7 @@ $close-font-weight: $font-weight-bold !default;
932
1063
  $close-color: $black !default;
933
1064
  $close-text-shadow: 0 1px 0 $white !default;
934
1065
 
1066
+
935
1067
  // Code
936
1068
 
937
1069
  $code-font-size: 87.5% !default;
@@ -947,6 +1079,13 @@ $pre-color: $gray-900 !default;
947
1079
  $pre-scrollable-max-height: 340px !default;
948
1080
 
949
1081
 
1082
+ // Utilities
1083
+
1084
+ $overflows: auto, hidden !default;
1085
+ $positions: static, relative, absolute, fixed, sticky !default;
1086
+
1087
+
950
1088
  // Printing
1089
+
951
1090
  $print-page-size: a3 !default;
952
1091
  $print-body-min-width: map-get($grid-breakpoints, "lg") !default;