bootstrap 5.0.0 → 5.1.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.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/assets/javascripts/bootstrap/alert.js +77 -106
  4. data/assets/javascripts/bootstrap/base-component.js +126 -7
  5. data/assets/javascripts/bootstrap/button.js +24 -24
  6. data/assets/javascripts/bootstrap/carousel.js +115 -128
  7. data/assets/javascripts/bootstrap/collapse.js +119 -176
  8. data/assets/javascripts/bootstrap/dom/data.js +2 -2
  9. data/assets/javascripts/bootstrap/dom/event-handler.js +3 -4
  10. data/assets/javascripts/bootstrap/dom/manipulator.js +4 -4
  11. data/assets/javascripts/bootstrap/dom/selector-engine.js +47 -5
  12. data/assets/javascripts/bootstrap/dropdown.js +142 -130
  13. data/assets/javascripts/bootstrap/modal.js +376 -171
  14. data/assets/javascripts/bootstrap/offcanvas.js +328 -133
  15. data/assets/javascripts/bootstrap/popover.js +27 -59
  16. data/assets/javascripts/bootstrap/scrollspy.js +51 -56
  17. data/assets/javascripts/bootstrap/tab.js +39 -66
  18. data/assets/javascripts/bootstrap/toast.js +175 -86
  19. data/assets/javascripts/bootstrap/tooltip.js +141 -185
  20. data/assets/javascripts/bootstrap-sprockets.js +6 -6
  21. data/assets/javascripts/bootstrap.js +1031 -1026
  22. data/assets/javascripts/bootstrap.min.js +2 -2
  23. data/assets/stylesheets/_bootstrap-grid.scss +3 -1
  24. data/assets/stylesheets/_bootstrap-reboot.scss +2 -4
  25. data/assets/stylesheets/_bootstrap.scss +2 -1
  26. data/assets/stylesheets/bootstrap/_card.scss +7 -6
  27. data/assets/stylesheets/bootstrap/_carousel.scss +2 -2
  28. data/assets/stylesheets/bootstrap/_dropdown.scss +4 -4
  29. data/assets/stylesheets/bootstrap/_functions.scss +100 -3
  30. data/assets/stylesheets/bootstrap/_grid.scss +11 -0
  31. data/assets/stylesheets/bootstrap/_helpers.scss +2 -0
  32. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  33. data/assets/stylesheets/bootstrap/_list-group.scss +5 -5
  34. data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
  35. data/assets/stylesheets/bootstrap/_modal.scss +7 -26
  36. data/assets/stylesheets/bootstrap/_navbar.scss +30 -1
  37. data/assets/stylesheets/bootstrap/_offcanvas.scss +8 -2
  38. data/assets/stylesheets/bootstrap/_placeholders.scss +51 -0
  39. data/assets/stylesheets/bootstrap/_popover.scss +10 -10
  40. data/assets/stylesheets/bootstrap/_reboot.scss +12 -8
  41. data/assets/stylesheets/bootstrap/_root.scss +40 -2
  42. data/assets/stylesheets/bootstrap/_tables.scss +1 -0
  43. data/assets/stylesheets/bootstrap/_toasts.scss +3 -3
  44. data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
  45. data/assets/stylesheets/bootstrap/_transitions.scss +6 -0
  46. data/assets/stylesheets/bootstrap/_utilities.scss +44 -8
  47. data/assets/stylesheets/bootstrap/_variables.scss +200 -25
  48. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
  49. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +3 -1
  50. data/assets/stylesheets/bootstrap/forms/_form-check.scss +1 -1
  51. data/assets/stylesheets/bootstrap/forms/_form-control.scss +6 -6
  52. data/assets/stylesheets/bootstrap/forms/_form-range.scss +1 -1
  53. data/assets/stylesheets/bootstrap/forms/_form-select.scss +3 -0
  54. data/assets/stylesheets/bootstrap/helpers/_stacks.scss +15 -0
  55. data/assets/stylesheets/bootstrap/helpers/_vr.scss +8 -0
  56. data/assets/stylesheets/bootstrap/mixins/_backdrop.scss +14 -0
  57. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +1 -1
  58. data/assets/stylesheets/bootstrap/mixins/_forms.scss +8 -1
  59. data/assets/stylesheets/bootstrap/mixins/_grid.scss +33 -8
  60. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +27 -6
  61. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +55 -13
  62. data/bootstrap.gemspec +3 -3
  63. data/lib/bootstrap/version.rb +2 -2
  64. data/tasks/updater/js.rb +6 -2
  65. metadata +12 -8
@@ -90,6 +90,10 @@ $theme-colors: (
90
90
  ) !default;
91
91
  // scss-docs-end theme-colors-map
92
92
 
93
+ // scss-docs-start theme-colors-rgb
94
+ $theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default;
95
+ // scss-docs-end theme-colors-rgb
96
+
93
97
  // The contrast ratio to reach against white, to determine if color changes from "light" to "dark". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.
94
98
  // See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast
95
99
  $min-contrast-ratio: 4.5 !default;
@@ -198,6 +202,126 @@ $cyan-600: shade-color($cyan, 20%) !default;
198
202
  $cyan-700: shade-color($cyan, 40%) !default;
199
203
  $cyan-800: shade-color($cyan, 60%) !default;
200
204
  $cyan-900: shade-color($cyan, 80%) !default;
205
+
206
+ $blues: (
207
+ "blue-100": $blue-100,
208
+ "blue-200": $blue-200,
209
+ "blue-300": $blue-300,
210
+ "blue-400": $blue-400,
211
+ "blue-500": $blue-500,
212
+ "blue-600": $blue-600,
213
+ "blue-700": $blue-700,
214
+ "blue-800": $blue-800,
215
+ "blue-900": $blue-900
216
+ ) !default;
217
+
218
+ $indigos: (
219
+ "indigo-100": $indigo-100,
220
+ "indigo-200": $indigo-200,
221
+ "indigo-300": $indigo-300,
222
+ "indigo-400": $indigo-400,
223
+ "indigo-500": $indigo-500,
224
+ "indigo-600": $indigo-600,
225
+ "indigo-700": $indigo-700,
226
+ "indigo-800": $indigo-800,
227
+ "indigo-900": $indigo-900
228
+ ) !default;
229
+
230
+ $purples: (
231
+ "purple-100": $purple-200,
232
+ "purple-200": $purple-100,
233
+ "purple-300": $purple-300,
234
+ "purple-400": $purple-400,
235
+ "purple-500": $purple-500,
236
+ "purple-600": $purple-600,
237
+ "purple-700": $purple-700,
238
+ "purple-800": $purple-800,
239
+ "purple-900": $purple-900
240
+ ) !default;
241
+
242
+ $pinks: (
243
+ "pink-100": $pink-100,
244
+ "pink-200": $pink-200,
245
+ "pink-300": $pink-300,
246
+ "pink-400": $pink-400,
247
+ "pink-500": $pink-500,
248
+ "pink-600": $pink-600,
249
+ "pink-700": $pink-700,
250
+ "pink-800": $pink-800,
251
+ "pink-900": $pink-900
252
+ ) !default;
253
+
254
+ $reds: (
255
+ "red-100": $red-100,
256
+ "red-200": $red-200,
257
+ "red-300": $red-300,
258
+ "red-400": $red-400,
259
+ "red-500": $red-500,
260
+ "red-600": $red-600,
261
+ "red-700": $red-700,
262
+ "red-800": $red-800,
263
+ "red-900": $red-900
264
+ ) !default;
265
+
266
+ $oranges: (
267
+ "orange-100": $orange-100,
268
+ "orange-200": $orange-200,
269
+ "orange-300": $orange-300,
270
+ "orange-400": $orange-400,
271
+ "orange-500": $orange-500,
272
+ "orange-600": $orange-600,
273
+ "orange-700": $orange-700,
274
+ "orange-800": $orange-800,
275
+ "orange-900": $orange-900
276
+ ) !default;
277
+
278
+ $yellows: (
279
+ "yellow-100": $yellow-100,
280
+ "yellow-200": $yellow-200,
281
+ "yellow-300": $yellow-300,
282
+ "yellow-400": $yellow-400,
283
+ "yellow-500": $yellow-500,
284
+ "yellow-600": $yellow-600,
285
+ "yellow-700": $yellow-700,
286
+ "yellow-800": $yellow-800,
287
+ "yellow-900": $yellow-900
288
+ ) !default;
289
+
290
+ $greens: (
291
+ "green-100": $green-100,
292
+ "green-200": $green-200,
293
+ "green-300": $green-300,
294
+ "green-400": $green-400,
295
+ "green-500": $green-500,
296
+ "green-600": $green-600,
297
+ "green-700": $green-700,
298
+ "green-800": $green-800,
299
+ "green-900": $green-900
300
+ ) !default;
301
+
302
+ $teals: (
303
+ "teal-100": $teal-100,
304
+ "teal-200": $teal-200,
305
+ "teal-300": $teal-300,
306
+ "teal-400": $teal-400,
307
+ "teal-500": $teal-500,
308
+ "teal-600": $teal-600,
309
+ "teal-700": $teal-700,
310
+ "teal-800": $teal-800,
311
+ "teal-900": $teal-900
312
+ ) !default;
313
+
314
+ $cyans: (
315
+ "cyan-100": $cyan-100,
316
+ "cyan-200": $cyan-200,
317
+ "cyan-300": $cyan-300,
318
+ "cyan-400": $cyan-400,
319
+ "cyan-500": $cyan-500,
320
+ "cyan-600": $cyan-600,
321
+ "cyan-700": $cyan-700,
322
+ "cyan-800": $cyan-800,
323
+ "cyan-900": $cyan-900
324
+ ) !default;
201
325
  // fusv-enable
202
326
 
203
327
  // Characters which are escaped by the escape-svg function
@@ -221,6 +345,7 @@ $enable-transitions: true !default;
221
345
  $enable-reduced-motion: true !default;
222
346
  $enable-smooth-scroll: true !default;
223
347
  $enable-grid-classes: true !default;
348
+ $enable-cssgrid: false !default;
224
349
  $enable-button-pointers: true !default;
225
350
  $enable-rfs: true !default;
226
351
  $enable-validation-icons: true !default;
@@ -250,8 +375,8 @@ $gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;
250
375
  $spacer: 1rem !default;
251
376
  $spacers: (
252
377
  0: 0,
253
- 1: $spacer / 4,
254
- 2: $spacer / 2,
378
+ 1: $spacer * .25,
379
+ 2: $spacer * .5,
255
380
  3: $spacer,
256
381
  4: $spacer * 1.5,
257
382
  5: $spacer * 3,
@@ -280,6 +405,38 @@ $body-bg: $white !default;
280
405
  $body-color: $gray-900 !default;
281
406
  $body-text-align: null !default;
282
407
 
408
+ // Utilities maps
409
+ //
410
+ // Extends the default `$theme-colors` maps to help create our utilities.
411
+
412
+ // Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.
413
+ // scss-docs-start utilities-colors
414
+ $utilities-colors: $theme-colors-rgb !default;
415
+ // scss-docs-end utilities-colors
416
+
417
+ // scss-docs-start utilities-text-colors
418
+ $utilities-text: map-merge(
419
+ $utilities-colors,
420
+ (
421
+ "black": to-rgb($black),
422
+ "white": to-rgb($white),
423
+ "body": to-rgb($body-color)
424
+ )
425
+ ) !default;
426
+ $utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;
427
+ // scss-docs-end utilities-text-colors
428
+
429
+ // scss-docs-start utilities-bg-colors
430
+ $utilities-bg: map-merge(
431
+ $utilities-colors,
432
+ (
433
+ "black": to-rgb($black),
434
+ "white": to-rgb($white),
435
+ "body": to-rgb($body-bg)
436
+ )
437
+ ) !default;
438
+ $utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;
439
+ // scss-docs-end utilities-bg-colors
283
440
 
284
441
  // Links
285
442
  //
@@ -350,7 +507,7 @@ $gutters: $spacers !default;
350
507
 
351
508
  // Container padding
352
509
 
353
- $container-padding-x: $grid-gutter-width / 2 !default;
510
+ $container-padding-x: $grid-gutter-width * .5 !default;
354
511
 
355
512
 
356
513
  // Components
@@ -397,6 +554,7 @@ $transition-base: all .2s ease-in-out !default;
397
554
  $transition-fade: opacity .15s linear !default;
398
555
  // scss-docs-start collapse-transition
399
556
  $transition-collapse: height .35s ease !default;
557
+ $transition-collapse-width: width .35s ease !default;
400
558
  // scss-docs-end collapse-transition
401
559
 
402
560
  // stylelint-disable function-disallowed-list
@@ -422,8 +580,8 @@ $font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberati
422
580
  $font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;
423
581
  $font-family-code: var(--#{$variable-prefix}font-monospace) !default;
424
582
 
425
- // $font-size-root effects the value of `rem`, which is used for as well font sizes, paddings and margins
426
- // $font-size-base effects the font size of the body text
583
+ // $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins
584
+ // $font-size-base affects the font size of the body text
427
585
  $font-size-root: null !default;
428
586
  $font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
429
587
  $font-size-sm: $font-size-base * .875 !default;
@@ -461,7 +619,7 @@ $font-sizes: (
461
619
  // scss-docs-end font-sizes
462
620
 
463
621
  // scss-docs-start headings-variables
464
- $headings-margin-bottom: $spacer / 2 !default;
622
+ $headings-margin-bottom: $spacer * .5 !default;
465
623
  $headings-font-family: null !default;
466
624
  $headings-font-style: null !default;
467
625
  $headings-font-weight: 500 !default;
@@ -535,6 +693,7 @@ $table-cell-vertical-align: top !default;
535
693
 
536
694
  $table-color: $body-color !default;
537
695
  $table-bg: transparent !default;
696
+ $table-accent-bg: transparent !default;
538
697
 
539
698
  $table-th-font-weight: null !default;
540
699
 
@@ -691,7 +850,7 @@ $input-padding-y-lg: $input-btn-padding-y-lg !default;
691
850
  $input-padding-x-lg: $input-btn-padding-x-lg !default;
692
851
  $input-font-size-lg: $input-btn-font-size-lg !default;
693
852
 
694
- $input-bg: $white !default;
853
+ $input-bg: $body-bg !default;
695
854
  $input-disabled-bg: $gray-200 !default;
696
855
  $input-disabled-border-color: null !default;
697
856
 
@@ -717,13 +876,15 @@ $input-height-border: $input-border-width * 2 !default;
717
876
 
718
877
  $input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;
719
878
  $input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;
720
- $input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;
879
+ $input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;
721
880
 
722
881
  $input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;
723
882
  $input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;
724
883
  $input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;
725
884
 
726
885
  $input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
886
+
887
+ $form-color-width: 3rem !default;
727
888
  // scss-docs-end form-input-variables
728
889
 
729
890
  // scss-docs-start form-check-variables
@@ -825,6 +986,8 @@ $form-select-font-size-sm: $input-font-size-sm !default;
825
986
  $form-select-padding-y-lg: $input-padding-y-lg !default;
826
987
  $form-select-padding-x-lg: $input-padding-x-lg !default;
827
988
  $form-select-font-size-lg: $input-font-size-lg !default;
989
+
990
+ $form-select-transition: $input-transition !default;
828
991
  // scss-docs-end form-select-variables
829
992
 
830
993
  // scss-docs-start form-range-variables
@@ -856,6 +1019,7 @@ $form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default
856
1019
 
857
1020
  // scss-docs-start form-floating-variables
858
1021
  $form-floating-height: add(3.5rem, $input-height-border) !default;
1022
+ $form-floating-line-height: 1.25 !default;
859
1023
  $form-floating-padding-x: $input-padding-x !default;
860
1024
  $form-floating-padding-y: 1rem !default;
861
1025
  $form-floating-input-padding-t: 1.625rem !default;
@@ -902,9 +1066,10 @@ $form-validation-states: (
902
1066
  $zindex-dropdown: 1000 !default;
903
1067
  $zindex-sticky: 1020 !default;
904
1068
  $zindex-fixed: 1030 !default;
905
- $zindex-modal-backdrop: 1040 !default;
906
- $zindex-offcanvas: 1050 !default;
907
- $zindex-modal: 1060 !default;
1069
+ $zindex-offcanvas-backdrop: 1040 !default;
1070
+ $zindex-offcanvas: 1045 !default;
1071
+ $zindex-modal-backdrop: 1050 !default;
1072
+ $zindex-modal: 1055 !default;
908
1073
  $zindex-popover: 1070 !default;
909
1074
  $zindex-tooltip: 1080 !default;
910
1075
  // scss-docs-end zindex-stack
@@ -939,7 +1104,7 @@ $nav-pills-link-active-bg: $component-active-bg !default;
939
1104
  // Navbar
940
1105
 
941
1106
  // scss-docs-start navbar-variables
942
- $navbar-padding-y: $spacer / 2 !default;
1107
+ $navbar-padding-y: $spacer * .5 !default;
943
1108
  $navbar-padding-x: null !default;
944
1109
 
945
1110
  $navbar-nav-link-padding-x: .5rem !default;
@@ -948,7 +1113,7 @@ $navbar-brand-font-size: $font-size-lg !default;
948
1113
  // Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
949
1114
  $nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;
950
1115
  $navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;
951
- $navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;
1116
+ $navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;
952
1117
  $navbar-brand-margin-end: 1rem !default;
953
1118
 
954
1119
  $navbar-toggler-padding-y: .25rem !default;
@@ -998,11 +1163,11 @@ $dropdown-border-radius: $border-radius !default;
998
1163
  $dropdown-border-width: $border-width !default;
999
1164
  $dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;
1000
1165
  $dropdown-divider-bg: $dropdown-border-color !default;
1001
- $dropdown-divider-margin-y: $spacer / 2 !default;
1166
+ $dropdown-divider-margin-y: $spacer * .5 !default;
1002
1167
  $dropdown-box-shadow: $box-shadow !default;
1003
1168
 
1004
1169
  $dropdown-link-color: $gray-900 !default;
1005
- $dropdown-link-hover-color: shade-color($gray-900, 10%) !default;
1170
+ $dropdown-link-hover-color: shade-color($dropdown-link-color, 10%) !default;
1006
1171
  $dropdown-link-hover-bg: $gray-200 !default;
1007
1172
 
1008
1173
  $dropdown-link-active-color: $component-active-color !default;
@@ -1010,7 +1175,7 @@ $dropdown-link-active-bg: $component-active-bg !default;
1010
1175
 
1011
1176
  $dropdown-link-disabled-color: $gray-500 !default;
1012
1177
 
1013
- $dropdown-item-padding-y: $spacer / 4 !default;
1178
+ $dropdown-item-padding-y: $spacer * .25 !default;
1014
1179
  $dropdown-item-padding-x: $spacer !default;
1015
1180
 
1016
1181
  $dropdown-header-color: $gray-600 !default;
@@ -1074,17 +1239,25 @@ $pagination-border-radius-lg: $border-radius-lg !default;
1074
1239
  // scss-docs-end pagination-variables
1075
1240
 
1076
1241
 
1242
+ // Placeholders
1243
+
1244
+ // scss-docs-start placeholders
1245
+ $placeholder-opacity-max: .5 !default;
1246
+ $placeholder-opacity-min: .2 !default;
1247
+ // scss-docs-end placeholders
1248
+
1077
1249
  // Cards
1078
1250
 
1079
1251
  // scss-docs-start card-variables
1080
1252
  $card-spacer-y: $spacer !default;
1081
1253
  $card-spacer-x: $spacer !default;
1082
- $card-title-spacer-y: $spacer / 2 !default;
1254
+ $card-title-spacer-y: $spacer * .5 !default;
1083
1255
  $card-border-width: $border-width !default;
1084
- $card-border-radius: $border-radius !default;
1085
1256
  $card-border-color: rgba($black, .125) !default;
1257
+ $card-border-radius: $border-radius !default;
1258
+ $card-box-shadow: null !default;
1086
1259
  $card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;
1087
- $card-cap-padding-y: $card-spacer-y / 2 !default;
1260
+ $card-cap-padding-y: $card-spacer-y * .5 !default;
1088
1261
  $card-cap-padding-x: $card-spacer-x !default;
1089
1262
  $card-cap-bg: rgba($black, .03) !default;
1090
1263
  $card-cap-color: null !default;
@@ -1092,7 +1265,7 @@ $card-height: null !default;
1092
1265
  $card-color: null !default;
1093
1266
  $card-bg: $white !default;
1094
1267
  $card-img-overlay-padding: $spacer !default;
1095
- $card-group-margin: $grid-gutter-width / 2 !default;
1268
+ $card-group-margin: $grid-gutter-width * .5 !default;
1096
1269
  // scss-docs-end card-variables
1097
1270
 
1098
1271
  // Accordion
@@ -1122,7 +1295,7 @@ $accordion-button-focus-border-color: $input-focus-border-color !default;
1122
1295
  $accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;
1123
1296
 
1124
1297
  $accordion-icon-width: 1.25rem !default;
1125
- $accordion-icon-color: $accordion-color !default;
1298
+ $accordion-icon-color: $accordion-button-color !default;
1126
1299
  $accordion-icon-active-color: $accordion-button-active-color !default;
1127
1300
  $accordion-icon-transition: transform .2s ease-in-out !default;
1128
1301
  $accordion-icon-transform: rotate(-180deg) !default;
@@ -1140,8 +1313,8 @@ $tooltip-color: $white !default;
1140
1313
  $tooltip-bg: $black !default;
1141
1314
  $tooltip-border-radius: $border-radius !default;
1142
1315
  $tooltip-opacity: .9 !default;
1143
- $tooltip-padding-y: $spacer / 4 !default;
1144
- $tooltip-padding-x: $spacer / 2 !default;
1316
+ $tooltip-padding-y: $spacer * .25 !default;
1317
+ $tooltip-padding-x: $spacer * .5 !default;
1145
1318
  $tooltip-margin: 0 !default;
1146
1319
 
1147
1320
  $tooltip-arrow-width: .8rem !default;
@@ -1157,7 +1330,7 @@ $form-feedback-tooltip-font-size: $tooltip-font-size !default;
1157
1330
  $form-feedback-tooltip-line-height: null !default;
1158
1331
  $form-feedback-tooltip-opacity: $tooltip-opacity !default;
1159
1332
  $form-feedback-tooltip-border-radius: $tooltip-border-radius !default;
1160
- // scss-docs-start tooltip-feedback-variables
1333
+ // scss-docs-end tooltip-feedback-variables
1161
1334
 
1162
1335
 
1163
1336
  // Popovers
@@ -1307,7 +1480,7 @@ $list-group-border-color: rgba($black, .125) !default;
1307
1480
  $list-group-border-width: $border-width !default;
1308
1481
  $list-group-border-radius: $border-radius !default;
1309
1482
 
1310
- $list-group-item-padding-y: $spacer / 2 !default;
1483
+ $list-group-item-padding-y: $spacer * .5 !default;
1311
1484
  $list-group-item-padding-x: $spacer !default;
1312
1485
  $list-group-item-bg-scale: -80% !default;
1313
1486
  $list-group-item-color-scale: 40% !default;
@@ -1448,6 +1621,8 @@ $offcanvas-title-line-height: $modal-title-line-height !default;
1448
1621
  $offcanvas-bg-color: $modal-content-bg !default;
1449
1622
  $offcanvas-color: $modal-content-color !default;
1450
1623
  $offcanvas-box-shadow: $modal-content-box-shadow-xs !default;
1624
+ $offcanvas-backdrop-bg: $modal-backdrop-bg !default;
1625
+ $offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;
1451
1626
  // scss-docs-end offcanvas-variables
1452
1627
 
1453
1628
  // Code
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap Utilities v5.0.0 (https://getbootstrap.com/)
2
+ * Bootstrap Utilities v5.1.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2021 The Bootstrap Authors
4
4
  * Copyright 2011-2021 Twitter, Inc.
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
@@ -4,7 +4,7 @@
4
4
  > .form-control,
5
5
  > .form-select {
6
6
  height: $form-floating-height;
7
- padding: $form-floating-padding-y $form-floating-padding-x;
7
+ line-height: $form-floating-line-height;
8
8
  }
9
9
 
10
10
  > label {
@@ -21,6 +21,8 @@
21
21
 
22
22
  // stylelint-disable no-duplicate-selectors
23
23
  > .form-control {
24
+ padding: $form-floating-padding-y $form-floating-padding-x;
25
+
24
26
  &::placeholder {
25
27
  color: transparent;
26
28
  }
@@ -17,7 +17,7 @@
17
17
  .form-check-input {
18
18
  width: $form-check-input-width;
19
19
  height: $form-check-input-width;
20
- margin-top: ($line-height-base - $form-check-input-width) / 2; // line-height minus check height
20
+ margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height
21
21
  vertical-align: top;
22
22
  background-color: $form-check-input-bg;
23
23
  background-repeat: no-repeat;
@@ -25,7 +25,7 @@
25
25
  &[type="file"] {
26
26
  overflow: hidden; // prevent pseudo element button overlap
27
27
 
28
- &:not(:disabled):not(:read-only) {
28
+ &:not(:disabled):not([readonly]) {
29
29
  cursor: pointer;
30
30
  }
31
31
  }
@@ -65,7 +65,7 @@
65
65
  // disabled if the fieldset is disabled. Due to implementation difficulty, we
66
66
  // don't honor that edge case; we style them as disabled anyway.
67
67
  &:disabled,
68
- &:read-only {
68
+ &[readonly] {
69
69
  background-color: $input-disabled-bg;
70
70
  border-color: $input-disabled-border-color;
71
71
  // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
@@ -88,7 +88,7 @@
88
88
  @include transition($btn-transition);
89
89
  }
90
90
 
91
- &:hover:not(:disabled):not(:read-only)::file-selector-button {
91
+ &:hover:not(:disabled):not([readonly])::file-selector-button {
92
92
  background-color: $form-file-button-hover-bg;
93
93
  }
94
94
 
@@ -107,7 +107,7 @@
107
107
  @include transition($btn-transition);
108
108
  }
109
109
 
110
- &:hover:not(:disabled):not(:read-only)::-webkit-file-upload-button {
110
+ &:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
111
111
  background-color: $form-file-button-hover-bg;
112
112
  }
113
113
  }
@@ -199,11 +199,11 @@ textarea {
199
199
  // stylelint-enable selector-no-qualifying-type
200
200
 
201
201
  .form-control-color {
202
- max-width: 3rem;
202
+ width: $form-color-width;
203
203
  height: auto; // Override fixed browser height
204
204
  padding: $input-padding-y;
205
205
 
206
- &:not(:disabled):not(:read-only) {
206
+ &:not(:disabled):not([readonly]) {
207
207
  cursor: pointer;
208
208
  }
209
209
 
@@ -27,7 +27,7 @@
27
27
  &::-webkit-slider-thumb {
28
28
  width: $form-range-thumb-width;
29
29
  height: $form-range-thumb-height;
30
- margin-top: ($form-range-track-height - $form-range-thumb-height) / 2; // Webkit specific
30
+ margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific
31
31
  @include gradient-bg($form-range-thumb-bg);
32
32
  border: $form-range-thumb-border;
33
33
  @include border-radius($form-range-thumb-border-radius);
@@ -7,6 +7,8 @@
7
7
  display: block;
8
8
  width: 100%;
9
9
  padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x;
10
+ // stylelint-disable-next-line property-no-vendor-prefix
11
+ -moz-padding-start: subtract($form-select-padding-x, 3px); // See https://github.com/twbs/bootstrap/issues/32636
10
12
  font-family: $form-select-font-family;
11
13
  @include font-size($form-select-font-size);
12
14
  font-weight: $form-select-font-weight;
@@ -20,6 +22,7 @@
20
22
  border: $form-select-border-width solid $form-select-border-color;
21
23
  @include border-radius($form-select-border-radius, 0);
22
24
  @include box-shadow($form-select-box-shadow);
25
+ @include transition($form-select-transition);
23
26
  appearance: none;
24
27
 
25
28
  &:focus {
@@ -0,0 +1,15 @@
1
+ // scss-docs-start stacks
2
+ .hstack {
3
+ display: flex;
4
+ flex-direction: row;
5
+ align-items: center;
6
+ align-self: stretch;
7
+ }
8
+
9
+ .vstack {
10
+ display: flex;
11
+ flex: 1 1 auto;
12
+ flex-direction: column;
13
+ align-self: stretch;
14
+ }
15
+ // scss-docs-end stacks
@@ -0,0 +1,8 @@
1
+ .vr {
2
+ display: inline-block;
3
+ align-self: stretch;
4
+ width: 1px;
5
+ min-height: 1em;
6
+ background-color: currentColor;
7
+ opacity: $hr-opacity;
8
+ }
@@ -0,0 +1,14 @@
1
+ // Shared between modals and offcanvases
2
+ @mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ z-index: $zindex;
7
+ width: 100vw;
8
+ height: 100vh;
9
+ background-color: $backdrop-bg;
10
+
11
+ // Fade for backdrop
12
+ &.fade { opacity: 0; }
13
+ &.show { opacity: $backdrop-opacity; }
14
+ }
@@ -11,7 +11,7 @@
11
11
  $hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),
12
12
  $hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),
13
13
  $hover-color: color-contrast($hover-background),
14
- $active-background: if($color == $color-contrast-light, shade-color($background,$btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),
14
+ $active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),
15
15
  $active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),
16
16
  $active-color: color-contrast($active-background),
17
17
  $disabled-background: $background,
@@ -130,7 +130,14 @@
130
130
  .input-group .form-control,
131
131
  .input-group .form-select {
132
132
  @include form-validation-state-selector($state) {
133
- z-index: 3;
133
+ @if $state == "valid" {
134
+ z-index: 1;
135
+ } @else if $state == "invalid" {
136
+ z-index: 2;
137
+ }
138
+ &:focus {
139
+ z-index: 3;
140
+ }
134
141
  }
135
142
  }
136
143
  }
@@ -1,4 +1,4 @@
1
- /// Grid system
1
+ // Grid system
2
2
  //
3
3
  // Generate semantic grid columns with these mixins.
4
4
 
@@ -8,8 +8,8 @@
8
8
  display: flex;
9
9
  flex-wrap: wrap;
10
10
  margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list
11
- margin-right: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list
12
- margin-left: calc(var(--#{$variable-prefix}gutter-x) / -2); // stylelint-disable-line function-disallowed-list
11
+ margin-right: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list
12
+ margin-left: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list
13
13
  }
14
14
 
15
15
  @mixin make-col-ready($gutter: $grid-gutter-width) {
@@ -21,15 +21,16 @@
21
21
  flex-shrink: 0;
22
22
  width: 100%;
23
23
  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid
24
- padding-right: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list
25
- padding-left: calc(var(--#{$variable-prefix}gutter-x) / 2); // stylelint-disable-line function-disallowed-list
24
+ padding-right: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
25
+ padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
26
26
  margin-top: var(--#{$variable-prefix}gutter-y);
27
27
  }
28
28
 
29
29
  @mixin make-col($size: false, $columns: $grid-columns) {
30
30
  @if $size {
31
31
  flex: 0 0 auto;
32
- width: percentage($size / $columns);
32
+ width: percentage(divide($size, $columns));
33
+
33
34
  } @else {
34
35
  flex: 1 1 0;
35
36
  max-width: 100%;
@@ -42,7 +43,7 @@
42
43
  }
43
44
 
44
45
  @mixin make-col-offset($size, $columns: $grid-columns) {
45
- $num: $size / $columns;
46
+ $num: divide($size, $columns);
46
47
  margin-left: if($num == 0, 0, percentage($num));
47
48
  }
48
49
 
@@ -54,7 +55,7 @@
54
55
  @mixin row-cols($count) {
55
56
  > * {
56
57
  flex: 0 0 auto;
57
- width: 100% / $count;
58
+ width: divide(100%, $count);
58
59
  }
59
60
  }
60
61
 
@@ -123,3 +124,27 @@
123
124
  }
124
125
  }
125
126
  }
127
+
128
+ @mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {
129
+ @each $breakpoint in map-keys($breakpoints) {
130
+ $infix: breakpoint-infix($breakpoint, $breakpoints);
131
+
132
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
133
+ @if $columns > 0 {
134
+ @for $i from 1 through $columns {
135
+ .g-col#{$infix}-#{$i} {
136
+ grid-column: auto / span $i;
137
+ }
138
+ }
139
+
140
+ // Start with `1` because `0` is and invalid value.
141
+ // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
142
+ @for $i from 1 through ($columns - 1) {
143
+ .g-start#{$infix}-#{$i} {
144
+ grid-column-start: $i;
145
+ }
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }