bootstrap 4.2.1 → 4.5.2

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.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +15 -1
  3. data/CHANGELOG.md +2 -14
  4. data/README.md +1 -1
  5. data/assets/javascripts/bootstrap-sprockets.js +7 -7
  6. data/assets/javascripts/bootstrap.js +1054 -893
  7. data/assets/javascripts/bootstrap.min.js +4 -4
  8. data/assets/javascripts/bootstrap/alert.js +35 -57
  9. data/assets/javascripts/bootstrap/button.js +95 -69
  10. data/assets/javascripts/bootstrap/carousel.js +109 -165
  11. data/assets/javascripts/bootstrap/collapse.js +58 -114
  12. data/assets/javascripts/bootstrap/dropdown.js +138 -191
  13. data/assets/javascripts/bootstrap/modal.js +170 -176
  14. data/assets/javascripts/bootstrap/popover.js +31 -87
  15. data/assets/javascripts/bootstrap/scrollspy.js +54 -114
  16. data/assets/javascripts/bootstrap/tab.js +62 -81
  17. data/assets/javascripts/bootstrap/toast.js +80 -117
  18. data/assets/javascripts/bootstrap/tooltip.js +269 -157
  19. data/assets/javascripts/bootstrap/util.js +34 -9
  20. data/assets/stylesheets/_bootstrap-grid.scss +4 -4
  21. data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
  22. data/assets/stylesheets/_bootstrap.scss +4 -4
  23. data/assets/stylesheets/bootstrap/_badge.scss +3 -2
  24. data/assets/stylesheets/bootstrap/_breadcrumb.scss +4 -1
  25. data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
  26. data/assets/stylesheets/bootstrap/_buttons.scss +13 -11
  27. data/assets/stylesheets/bootstrap/_card.scss +49 -73
  28. data/assets/stylesheets/bootstrap/_carousel.scss +7 -8
  29. data/assets/stylesheets/bootstrap/_close.scss +3 -7
  30. data/assets/stylesheets/bootstrap/_code.scss +6 -6
  31. data/assets/stylesheets/bootstrap/_custom-forms.scss +40 -24
  32. data/assets/stylesheets/bootstrap/_dropdown.scss +24 -23
  33. data/assets/stylesheets/bootstrap/_forms.scss +38 -25
  34. data/assets/stylesheets/bootstrap/_functions.scss +62 -7
  35. data/assets/stylesheets/bootstrap/_grid.scss +32 -11
  36. data/assets/stylesheets/bootstrap/_images.scss +3 -3
  37. data/assets/stylesheets/bootstrap/_input-group.scss +4 -5
  38. data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -0
  39. data/assets/stylesheets/bootstrap/_list-group.scss +62 -29
  40. data/assets/stylesheets/bootstrap/_mixins.scss +9 -3
  41. data/assets/stylesheets/bootstrap/_modal.scss +65 -11
  42. data/assets/stylesheets/bootstrap/_nav.scss +6 -3
  43. data/assets/stylesheets/bootstrap/_navbar.scss +48 -23
  44. data/assets/stylesheets/bootstrap/_pagination.scss +3 -7
  45. data/assets/stylesheets/bootstrap/_popover.scss +54 -67
  46. data/assets/stylesheets/bootstrap/_print.scss +3 -3
  47. data/assets/stylesheets/bootstrap/_progress.scss +19 -6
  48. data/assets/stylesheets/bootstrap/_reboot.scss +51 -33
  49. data/assets/stylesheets/bootstrap/_root.scss +1 -0
  50. data/assets/stylesheets/bootstrap/_spinners.scss +3 -0
  51. data/assets/stylesheets/bootstrap/_tables.scss +6 -8
  52. data/assets/stylesheets/bootstrap/_toasts.scss +7 -4
  53. data/assets/stylesheets/bootstrap/_tooltip.scss +1 -1
  54. data/assets/stylesheets/bootstrap/_transitions.scss +0 -2
  55. data/assets/stylesheets/bootstrap/_type.scss +17 -17
  56. data/assets/stylesheets/bootstrap/_utilities.scss +2 -0
  57. data/assets/stylesheets/bootstrap/_variables.scss +168 -119
  58. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
  59. data/assets/stylesheets/bootstrap/mixins/_badge.scss +7 -1
  60. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +51 -10
  61. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +16 -1
  62. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +14 -15
  63. data/assets/stylesheets/bootstrap/mixins/_caret.scss +12 -12
  64. data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
  65. data/assets/stylesheets/bootstrap/mixins/_float.scss +6 -3
  66. data/assets/stylesheets/bootstrap/mixins/_forms.scss +40 -60
  67. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +29 -15
  68. data/assets/stylesheets/bootstrap/mixins/_grid.scss +25 -7
  69. data/assets/stylesheets/bootstrap/mixins/_hover.scss +4 -4
  70. data/assets/stylesheets/bootstrap/mixins/_image.scss +3 -3
  71. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
  72. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  73. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -1
  74. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -1
  75. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  76. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +3 -2
  77. data/assets/stylesheets/bootstrap/mixins/_size.scss +1 -0
  78. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +1 -1
  79. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +7 -4
  80. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +1 -3
  81. data/assets/stylesheets/bootstrap/mixins/_transition.scss +17 -7
  82. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +1 -0
  83. data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
  84. data/assets/stylesheets/bootstrap/utilities/_borders.scss +13 -1
  85. data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -18
  86. data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -3
  87. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  88. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
  89. data/assets/stylesheets/bootstrap/utilities/_text.scss +8 -3
  90. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -2
  91. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +204 -0
  92. data/bootstrap.gemspec +1 -1
  93. data/lib/bootstrap/version.rb +2 -2
  94. data/tasks/updater/js.rb +1 -1
  95. data/tasks/updater/network.rb +2 -2
  96. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  97. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  98. data/test/gemfiles/rails_6_0.gemfile +7 -0
  99. data/test/support/dummy_rails_integration.rb +3 -1
  100. data/test/test_helper.rb +18 -13
  101. metadata +14 -5
@@ -6,11 +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
15
  @import "utilities/spacing";
16
+ @import "utilities/stretched-link";
15
17
  @import "utilities/text";
16
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
  //
@@ -114,8 +120,11 @@ $enable-transitions: true !default;
114
120
  $enable-prefers-reduced-motion-media-query: true !default;
115
121
  $enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
116
122
  $enable-grid-classes: true !default;
123
+ $enable-pointer-cursor-for-buttons: true !default;
117
124
  $enable-print-styles: true !default;
125
+ $enable-responsive-font-sizes: false !default;
118
126
  $enable-validation-icons: true !default;
127
+ $enable-deprecation-messages: true !default;
119
128
 
120
129
 
121
130
  // Spacing
@@ -126,7 +135,6 @@ $enable-validation-icons: true !default;
126
135
 
127
136
  $spacer: 1rem !default;
128
137
  $spacers: () !default;
129
- // stylelint-disable-next-line scss/dollar-variable-default
130
138
  $spacers: map-merge(
131
139
  (
132
140
  0: 0,
@@ -141,7 +149,6 @@ $spacers: map-merge(
141
149
 
142
150
  // This variable affects the `.h-*` and `.w-*` classes.
143
151
  $sizes: () !default;
144
- // stylelint-disable-next-line scss/dollar-variable-default
145
152
  $sizes: map-merge(
146
153
  (
147
154
  25: 25%,
@@ -185,38 +192,28 @@ $paragraph-margin-bottom: 1rem !default;
185
192
  // Define the minimum dimensions at which your layout will change,
186
193
  // adapting to different screen sizes, for use in media queries.
187
194
 
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
- );
195
+ $grid-breakpoints: (
196
+ xs: 0,
197
+ sm: 576px,
198
+ md: 768px,
199
+ lg: 992px,
200
+ xl: 1200px
201
+ ) !default;
200
202
 
201
203
  @include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
202
- @include _assert-starts-at-zero($grid-breakpoints);
204
+ @include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints");
203
205
 
204
206
 
205
207
  // Grid containers
206
208
  //
207
209
  // Define the maximum width of `.container` for different screen sizes.
208
210
 
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
- );
211
+ $container-max-widths: (
212
+ sm: 540px,
213
+ md: 720px,
214
+ lg: 960px,
215
+ xl: 1140px
216
+ ) !default;
220
217
 
221
218
  @include _assert-ascending($container-max-widths, "$container-max-widths");
222
219
 
@@ -227,6 +224,7 @@ $container-max-widths: map-merge(
227
224
 
228
225
  $grid-columns: 12 !default;
229
226
  $grid-gutter-width: 30px !default;
227
+ $grid-row-columns: 6 !default;
230
228
 
231
229
 
232
230
  // Components
@@ -253,24 +251,25 @@ $component-active-color: $white !default;
253
251
  $component-active-bg: theme-color("primary") !default;
254
252
 
255
253
  $caret-width: .3em !default;
254
+ $caret-vertical-align: $caret-width * .85 !default;
255
+ $caret-spacing: $caret-width * .85 !default;
256
256
 
257
257
  $transition-base: all .2s ease-in-out !default;
258
258
  $transition-fade: opacity .15s linear !default;
259
259
  $transition-collapse: height .35s ease !default;
260
260
 
261
261
  $embed-responsive-aspect-ratios: () !default;
262
- // stylelint-disable-next-line scss/dollar-variable-default
263
262
  $embed-responsive-aspect-ratios: join(
264
263
  (
265
264
  (21 9),
266
265
  (16 9),
267
- (3 4),
266
+ (4 3),
268
267
  (1 1),
269
268
  ),
270
269
  $embed-responsive-aspect-ratios
271
270
  );
272
271
 
273
- // Fonts
272
+ // Typography
274
273
  //
275
274
  // Font, line-height, and color for body text, headings, and more.
276
275
 
@@ -281,8 +280,8 @@ $font-family-base: $font-family-sans-serif !default;
281
280
  // stylelint-enable value-keyword-case
282
281
 
283
282
  $font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
284
- $font-size-lg: ($font-size-base * 1.25) !default;
285
- $font-size-sm: ($font-size-base * .875) !default;
283
+ $font-size-lg: $font-size-base * 1.25 !default;
284
+ $font-size-sm: $font-size-base * .875 !default;
286
285
 
287
286
  $font-weight-lighter: lighter !default;
288
287
  $font-weight-light: 300 !default;
@@ -301,10 +300,10 @@ $h5-font-size: $font-size-base * 1.25 !default;
301
300
  $h6-font-size: $font-size-base !default;
302
301
 
303
302
  $headings-margin-bottom: $spacer / 2 !default;
304
- $headings-font-family: inherit !default;
303
+ $headings-font-family: null !default;
305
304
  $headings-font-weight: 500 !default;
306
305
  $headings-line-height: 1.2 !default;
307
- $headings-color: inherit !default;
306
+ $headings-color: null !default;
308
307
 
309
308
  $display1-size: 6rem !default;
310
309
  $display2-size: 5.5rem !default;
@@ -317,7 +316,7 @@ $display3-weight: 300 !default;
317
316
  $display4-weight: 300 !default;
318
317
  $display-line-height: $headings-line-height !default;
319
318
 
320
- $lead-font-size: ($font-size-base * 1.25) !default;
319
+ $lead-font-size: $font-size-base * 1.25 !default;
321
320
  $lead-font-weight: 300 !default;
322
321
 
323
322
  $small-font-size: 80% !default;
@@ -326,7 +325,7 @@ $text-muted: $gray-600 !default;
326
325
 
327
326
  $blockquote-small-color: $gray-600 !default;
328
327
  $blockquote-small-font-size: $small-font-size !default;
329
- $blockquote-font-size: ($font-size-base * 1.25) !default;
328
+ $blockquote-font-size: $font-size-base * 1.25 !default;
330
329
 
331
330
  $hr-border-color: rgba($black, .1) !default;
332
331
  $hr-border-width: $border-width !default;
@@ -352,22 +351,25 @@ $hr-margin-y: $spacer !default;
352
351
  $table-cell-padding: .75rem !default;
353
352
  $table-cell-padding-sm: .3rem !default;
354
353
 
355
- $table-bg: transparent !default;
354
+ $table-color: $body-color !default;
355
+ $table-bg: null !default;
356
356
  $table-accent-bg: rgba($black, .05) !default;
357
+ $table-hover-color: $table-color !default;
357
358
  $table-hover-bg: rgba($black, .075) !default;
358
359
  $table-active-bg: $table-hover-bg !default;
359
360
 
360
361
  $table-border-width: $border-width !default;
361
- $table-border-color: $gray-300 !default;
362
+ $table-border-color: $border-color !default;
362
363
 
363
364
  $table-head-bg: $gray-200 !default;
364
365
  $table-head-color: $gray-700 !default;
365
366
 
366
- $table-dark-bg: $gray-900 !default;
367
+ $table-dark-color: $white !default;
368
+ $table-dark-bg: $gray-800 !default;
367
369
  $table-dark-accent-bg: rgba($white, .05) !default;
370
+ $table-dark-hover-color: $table-dark-color !default;
368
371
  $table-dark-hover-bg: rgba($white, .075) !default;
369
- $table-dark-border-color: lighten($gray-900, 7.5%) !default;
370
- $table-dark-color: $white !default;
372
+ $table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;
371
373
 
372
374
  $table-striped-order: odd !default;
373
375
 
@@ -383,6 +385,7 @@ $table-border-level: -6 !default;
383
385
 
384
386
  $input-btn-padding-y: .375rem !default;
385
387
  $input-btn-padding-x: .75rem !default;
388
+ $input-btn-font-family: null !default;
386
389
  $input-btn-font-size: $font-size-base !default;
387
390
  $input-btn-line-height: $line-height-base !default;
388
391
 
@@ -409,8 +412,10 @@ $input-btn-border-width: $border-width !default;
409
412
 
410
413
  $btn-padding-y: $input-btn-padding-y !default;
411
414
  $btn-padding-x: $input-btn-padding-x !default;
415
+ $btn-font-family: $input-btn-font-family !default;
412
416
  $btn-font-size: $input-btn-font-size !default;
413
417
  $btn-line-height: $input-btn-line-height !default;
418
+ $btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping
414
419
 
415
420
  $btn-padding-y-sm: $input-btn-padding-y-sm !default;
416
421
  $btn-padding-x-sm: $input-btn-padding-x-sm !default;
@@ -449,6 +454,7 @@ $label-margin-bottom: .5rem !default;
449
454
 
450
455
  $input-padding-y: $input-btn-padding-y !default;
451
456
  $input-padding-x: $input-btn-padding-x !default;
457
+ $input-font-family: $input-btn-font-family !default;
452
458
  $input-font-size: $input-btn-font-size !default;
453
459
  $input-font-weight: $font-weight-base !default;
454
460
  $input-line-height: $input-btn-line-height !default;
@@ -486,14 +492,13 @@ $input-plaintext-color: $body-color !default;
486
492
 
487
493
  $input-height-border: $input-border-width * 2 !default;
488
494
 
489
- $input-height-inner: ($input-btn-font-size * $input-btn-line-height) + ($input-btn-padding-y * 2) !default;
490
- $input-height: calc(#{$input-height-inner} + #{$input-height-border}) !default;
491
-
492
- $input-height-inner-sm: ($input-btn-font-size-sm * $input-btn-line-height-sm) + ($input-btn-padding-y-sm * 2) !default;
493
- $input-height-sm: calc(#{$input-height-inner-sm} + #{$input-height-border}) !default;
495
+ $input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;
496
+ $input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;
497
+ $input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;
494
498
 
495
- $input-height-inner-lg: ($input-btn-font-size-lg * $input-btn-line-height-lg) + ($input-btn-padding-y-lg * 2) !default;
496
- $input-height-lg: calc(#{$input-height-inner-lg} + #{$input-height-border}) !default;
499
+ $input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;
500
+ $input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;
501
+ $input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;
497
502
 
498
503
  $input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
499
504
 
@@ -517,6 +522,7 @@ $custom-forms-transition: background-color .15s ease-in-out, borde
517
522
 
518
523
  $custom-control-gutter: .5rem !default;
519
524
  $custom-control-spacer-x: 1rem !default;
525
+ $custom-control-cursor: null !default;
520
526
 
521
527
  $custom-control-indicator-size: 1rem !default;
522
528
  $custom-control-indicator-bg: $input-bg !default;
@@ -526,41 +532,45 @@ $custom-control-indicator-box-shadow: $input-box-shadow !default;
526
532
  $custom-control-indicator-border-color: $gray-500 !default;
527
533
  $custom-control-indicator-border-width: $input-border-width !default;
528
534
 
535
+ $custom-control-label-color: null !default;
536
+
529
537
  $custom-control-indicator-disabled-bg: $input-disabled-bg !default;
530
538
  $custom-control-label-disabled-color: $gray-600 !default;
531
539
 
532
540
  $custom-control-indicator-checked-color: $component-active-color !default;
533
541
  $custom-control-indicator-checked-bg: $component-active-bg !default;
534
542
  $custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
535
- $custom-control-indicator-checked-box-shadow: none !default;
543
+ $custom-control-indicator-checked-box-shadow: null !default;
536
544
  $custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;
537
545
 
538
- $custom-control-indicator-focus-box-shadow: $input-btn-focus-box-shadow !default;
546
+ $custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;
539
547
  $custom-control-indicator-focus-border-color: $input-focus-border-color !default;
540
548
 
541
549
  $custom-control-indicator-active-color: $component-active-color !default;
542
550
  $custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
543
- $custom-control-indicator-active-box-shadow: none !default;
551
+ $custom-control-indicator-active-box-shadow: null !default;
544
552
  $custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;
545
553
 
546
554
  $custom-checkbox-indicator-border-radius: $border-radius !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;
555
+ $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;
548
556
 
549
557
  $custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
550
558
  $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;
559
+ $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;
560
+ $custom-checkbox-indicator-indeterminate-box-shadow: null !default;
553
561
  $custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;
554
562
 
555
563
  $custom-radio-indicator-border-radius: 50% !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;
564
+ $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;
557
565
 
558
566
  $custom-switch-width: $custom-control-indicator-size * 1.75 !default;
559
567
  $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;
568
+ $custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;
561
569
 
562
- $custom-select-padding-y: $input-btn-padding-y !default;
563
- $custom-select-padding-x: $input-btn-padding-x !default;
570
+ $custom-select-padding-y: $input-padding-y !default;
571
+ $custom-select-padding-x: $input-padding-x !default;
572
+ $custom-select-font-family: $input-font-family !default;
573
+ $custom-select-font-size: $input-font-size !default;
564
574
  $custom-select-height: $input-height !default;
565
575
  $custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
566
576
  $custom-select-font-weight: $input-font-weight !default;
@@ -571,12 +581,12 @@ $custom-select-bg: $input-bg !default;
571
581
  $custom-select-disabled-bg: $gray-200 !default;
572
582
  $custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
573
583
  $custom-select-indicator-color: $gray-800 !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)
584
+ $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;
585
+ $custom-select-background: escape-svg($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
586
 
577
- $custom-select-feedback-icon-padding-right: $input-height-inner * 3 / 4 + $custom-select-padding-x + $custom-select-indicator-padding !default;
587
+ $custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;
578
588
  $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;
589
+ $custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;
580
590
 
581
591
  $custom-select-border-width: $input-border-width !default;
582
592
  $custom-select-border-color: $input-border-color !default;
@@ -585,16 +595,16 @@ $custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;
585
595
 
586
596
  $custom-select-focus-border-color: $input-focus-border-color !default;
587
597
  $custom-select-focus-width: $input-focus-width !default;
588
- $custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width rgba($custom-select-focus-border-color, .5) !default;
598
+ $custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;
589
599
 
590
600
  $custom-select-padding-y-sm: $input-padding-y-sm !default;
591
601
  $custom-select-padding-x-sm: $input-padding-x-sm !default;
592
- $custom-select-font-size-sm: $input-btn-font-size-sm !default;
602
+ $custom-select-font-size-sm: $input-font-size-sm !default;
593
603
  $custom-select-height-sm: $input-height-sm !default;
594
604
 
595
605
  $custom-select-padding-y-lg: $input-padding-y-lg !default;
596
606
  $custom-select-padding-x-lg: $input-padding-x-lg !default;
597
- $custom-select-font-size-lg: $input-btn-font-size-lg !default;
607
+ $custom-select-font-size-lg: $input-font-size-lg !default;
598
608
  $custom-select-height-lg: $input-height-lg !default;
599
609
 
600
610
  $custom-range-track-width: 100% !default;
@@ -624,6 +634,7 @@ $custom-file-disabled-bg: $input-disabled-bg !default;
624
634
  $custom-file-padding-y: $input-padding-y !default;
625
635
  $custom-file-padding-x: $input-padding-x !default;
626
636
  $custom-file-line-height: $input-line-height !default;
637
+ $custom-file-font-family: $input-font-family !default;
627
638
  $custom-file-font-weight: $input-font-weight !default;
628
639
  $custom-file-color: $input-color !default;
629
640
  $custom-file-bg: $input-bg !default;
@@ -646,40 +657,24 @@ $form-feedback-valid-color: theme-color("success") !default;
646
657
  $form-feedback-invalid-color: theme-color("danger") !default;
647
658
 
648
659
  $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;
660
+ $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;
650
661
  $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
-
653
-
654
- // Dropdowns
655
- //
656
- // Dropdown menu container and contents.
657
-
658
- $dropdown-min-width: 10rem !default;
659
- $dropdown-padding-y: .5rem !default;
660
- $dropdown-spacer: .125rem !default;
661
- $dropdown-bg: $white !default;
662
- $dropdown-border-color: rgba($black, .15) !default;
663
- $dropdown-border-radius: $border-radius !default;
664
- $dropdown-border-width: $border-width !default;
665
- $dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;
666
- $dropdown-divider-bg: $gray-200 !default;
667
- $dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
668
-
669
- $dropdown-link-color: $gray-900 !default;
670
- $dropdown-link-hover-color: darken($gray-900, 5%) !default;
671
- $dropdown-link-hover-bg: $gray-100 !default;
672
-
673
- $dropdown-link-active-color: $component-active-color !default;
674
- $dropdown-link-active-bg: $component-active-bg !default;
675
-
676
- $dropdown-link-disabled-color: $gray-600 !default;
677
-
678
- $dropdown-item-padding-y: .25rem !default;
679
- $dropdown-item-padding-x: 1.5rem !default;
680
-
681
- $dropdown-header-color: $gray-600 !default;
662
+ $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;
682
663
 
664
+ $form-validation-states: () !default;
665
+ $form-validation-states: map-merge(
666
+ (
667
+ "valid": (
668
+ "color": $form-feedback-valid-color,
669
+ "icon": $form-feedback-icon-valid
670
+ ),
671
+ "invalid": (
672
+ "color": $form-feedback-invalid-color,
673
+ "icon": $form-feedback-icon-invalid
674
+ ),
675
+ ),
676
+ $form-validation-states
677
+ );
683
678
 
684
679
  // Z-index master list
685
680
  //
@@ -739,14 +734,14 @@ $navbar-dark-color: rgba($white, .5) !default;
739
734
  $navbar-dark-hover-color: rgba($white, .75) !default;
740
735
  $navbar-dark-active-color: $white !default;
741
736
  $navbar-dark-disabled-color: rgba($white, .25) !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;
737
+ $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;
743
738
  $navbar-dark-toggler-border-color: rgba($white, .1) !default;
744
739
 
745
740
  $navbar-light-color: rgba($black, .5) !default;
746
741
  $navbar-light-hover-color: rgba($black, .7) !default;
747
742
  $navbar-light-active-color: rgba($black, .9) !default;
748
743
  $navbar-light-disabled-color: rgba($black, .3) !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;
744
+ $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;
750
745
  $navbar-light-toggler-border-color: rgba($black, .1) !default;
751
746
 
752
747
  $navbar-light-brand-color: $navbar-light-active-color !default;
@@ -755,6 +750,40 @@ $navbar-dark-brand-color: $navbar-dark-active-color !default;
755
750
  $navbar-dark-brand-hover-color: $navbar-dark-active-color !default;
756
751
 
757
752
 
753
+ // Dropdowns
754
+ //
755
+ // Dropdown menu container and contents.
756
+
757
+ $dropdown-min-width: 10rem !default;
758
+ $dropdown-padding-y: .5rem !default;
759
+ $dropdown-spacer: .125rem !default;
760
+ $dropdown-font-size: $font-size-base !default;
761
+ $dropdown-color: $body-color !default;
762
+ $dropdown-bg: $white !default;
763
+ $dropdown-border-color: rgba($black, .15) !default;
764
+ $dropdown-border-radius: $border-radius !default;
765
+ $dropdown-border-width: $border-width !default;
766
+ $dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;
767
+ $dropdown-divider-bg: $gray-200 !default;
768
+ $dropdown-divider-margin-y: $nav-divider-margin-y !default;
769
+ $dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
770
+
771
+ $dropdown-link-color: $gray-900 !default;
772
+ $dropdown-link-hover-color: darken($gray-900, 5%) !default;
773
+ $dropdown-link-hover-bg: $gray-100 !default;
774
+
775
+ $dropdown-link-active-color: $component-active-color !default;
776
+ $dropdown-link-active-bg: $component-active-bg !default;
777
+
778
+ $dropdown-link-disabled-color: $gray-600 !default;
779
+
780
+ $dropdown-item-padding-y: .25rem !default;
781
+ $dropdown-item-padding-x: 1.5rem !default;
782
+
783
+ $dropdown-header-color: $gray-600 !default;
784
+ $dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;
785
+
786
+
758
787
  // Pagination
759
788
 
760
789
  $pagination-padding-y: .5rem !default;
@@ -789,6 +818,7 @@ $pagination-disabled-border-color: $gray-300 !default;
789
818
  // Jumbotron
790
819
 
791
820
  $jumbotron-padding: 2rem !default;
821
+ $jumbotron-color: null !default;
792
822
  $jumbotron-bg: $gray-200 !default;
793
823
 
794
824
 
@@ -799,9 +829,11 @@ $card-spacer-x: 1.25rem !default;
799
829
  $card-border-width: $border-width !default;
800
830
  $card-border-radius: $border-radius !default;
801
831
  $card-border-color: rgba($black, .125) !default;
802
- $card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default;
832
+ $card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;
803
833
  $card-cap-bg: rgba($black, .03) !default;
804
- $card-cap-color: inherit !default;
834
+ $card-cap-color: null !default;
835
+ $card-height: null !default;
836
+ $card-color: null !default;
805
837
  $card-bg: $white !default;
806
838
 
807
839
  $card-img-overlay-padding: 1.25rem !default;
@@ -847,6 +879,7 @@ $popover-max-width: 276px !default;
847
879
  $popover-border-width: $border-width !default;
848
880
  $popover-border-color: rgba($black, .2) !default;
849
881
  $popover-border-radius: $border-radius-lg !default;
882
+ $popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;
850
883
  $popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;
851
884
 
852
885
  $popover-header-bg: darken($popover-bg, 3%) !default;
@@ -866,19 +899,21 @@ $popover-arrow-outer-color: fade-in($popover-border-color, .05) !default
866
899
 
867
900
 
868
901
  // 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
902
 
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;
903
+ $toast-max-width: 350px !default;
904
+ $toast-padding-x: .75rem !default;
905
+ $toast-padding-y: .25rem !default;
906
+ $toast-font-size: .875rem !default;
907
+ $toast-color: null !default;
908
+ $toast-background-color: rgba($white, .85) !default;
909
+ $toast-border-width: 1px !default;
910
+ $toast-border-color: rgba(0, 0, 0, .1) !default;
911
+ $toast-border-radius: .25rem !default;
912
+ $toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;
913
+
914
+ $toast-header-color: $gray-600 !default;
915
+ $toast-header-background-color: rgba($white, .85) !default;
916
+ $toast-header-border-color: rgba(0, 0, 0, .05) !default;
882
917
 
883
918
 
884
919
  // Badges
@@ -889,6 +924,9 @@ $badge-padding-y: .25em !default;
889
924
  $badge-padding-x: .4em !default;
890
925
  $badge-border-radius: $border-radius !default;
891
926
 
927
+ $badge-transition: $btn-transition !default;
928
+ $badge-focus-width: $input-btn-focus-width !default;
929
+
892
930
  $badge-pill-padding-x: .6em !default;
893
931
  // Use a higher than normal value to ensure completely rounded edges when
894
932
  // customizing padding or font-size on labels.
@@ -900,21 +938,26 @@ $badge-pill-border-radius: 10rem !default;
900
938
  // Padding applied to the modal body
901
939
  $modal-inner-padding: 1rem !default;
902
940
 
941
+ // Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding
942
+ $modal-footer-margin-between: .5rem !default;
943
+
903
944
  $modal-dialog-margin: .5rem !default;
904
945
  $modal-dialog-margin-y-sm-up: 1.75rem !default;
905
946
 
906
947
  $modal-title-line-height: $line-height-base !default;
907
948
 
949
+ $modal-content-color: null !default;
908
950
  $modal-content-bg: $white !default;
909
951
  $modal-content-border-color: rgba($black, .2) !default;
910
952
  $modal-content-border-width: $border-width !default;
911
953
  $modal-content-border-radius: $border-radius-lg !default;
954
+ $modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;
912
955
  $modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
913
956
  $modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
914
957
 
915
958
  $modal-backdrop-bg: $black !default;
916
959
  $modal-backdrop-opacity: .5 !default;
917
- $modal-header-border-color: $gray-200 !default;
960
+ $modal-header-border-color: $border-color !default;
918
961
  $modal-footer-border-color: $modal-header-border-color !default;
919
962
  $modal-header-border-width: $modal-content-border-width !default;
920
963
  $modal-footer-border-width: $modal-header-border-width !default;
@@ -930,6 +973,7 @@ $modal-sm: 300px !default;
930
973
  $modal-fade-transform: translate(0, -50px) !default;
931
974
  $modal-show-transform: none !default;
932
975
  $modal-transition: transform .3s ease-out !default;
976
+ $modal-scale-transform: scale(1.02) !default;
933
977
 
934
978
 
935
979
  // Alerts
@@ -951,7 +995,7 @@ $alert-color-level: 6 !default;
951
995
  // Progress bars
952
996
 
953
997
  $progress-height: 1rem !default;
954
- $progress-font-size: ($font-size-base * .75) !default;
998
+ $progress-font-size: $font-size-base * .75 !default;
955
999
  $progress-bg: $gray-200 !default;
956
1000
  $progress-border-radius: $border-radius !default;
957
1001
  $progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;
@@ -963,6 +1007,7 @@ $progress-bar-transition: width .6s ease !default;
963
1007
 
964
1008
  // List group
965
1009
 
1010
+ $list-group-color: null !default;
966
1011
  $list-group-bg: $white !default;
967
1012
  $list-group-border-color: rgba($black, .125) !default;
968
1013
  $list-group-border-width: $border-width !default;
@@ -1004,6 +1049,8 @@ $figure-caption-color: $gray-600 !default;
1004
1049
 
1005
1050
  // Breadcrumbs
1006
1051
 
1052
+ $breadcrumb-font-size: null !default;
1053
+
1007
1054
  $breadcrumb-padding-y: .75rem !default;
1008
1055
  $breadcrumb-padding-x: 1rem !default;
1009
1056
  $breadcrumb-item-padding: .5rem !default;
@@ -1038,8 +1085,8 @@ $carousel-caption-color: $white !default;
1038
1085
 
1039
1086
  $carousel-control-icon-width: 20px !default;
1040
1087
 
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;
1088
+ $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;
1089
+ $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;
1043
1090
 
1044
1091
  $carousel-transition-duration: .6s !default;
1045
1092
  $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`)
@@ -1081,8 +1128,10 @@ $pre-scrollable-max-height: 340px !default;
1081
1128
 
1082
1129
  // Utilities
1083
1130
 
1131
+ $displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;
1084
1132
  $overflows: auto, hidden !default;
1085
1133
  $positions: static, relative, absolute, fixed, sticky !default;
1134
+ $user-selects: all, auto, none !default;
1086
1135
 
1087
1136
 
1088
1137
  // Printing