bootstrap 4.2.1 → 4.3.0

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 (75) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap-sprockets.js +5 -5
  4. data/assets/javascripts/bootstrap.js +133 -94
  5. data/assets/javascripts/bootstrap.min.js +3 -3
  6. data/assets/javascripts/bootstrap/alert.js +10 -10
  7. data/assets/javascripts/bootstrap/button.js +8 -8
  8. data/assets/javascripts/bootstrap/carousel.js +14 -12
  9. data/assets/javascripts/bootstrap/collapse.js +10 -10
  10. data/assets/javascripts/bootstrap/dropdown.js +22 -18
  11. data/assets/javascripts/bootstrap/modal.js +19 -13
  12. data/assets/javascripts/bootstrap/popover.js +10 -10
  13. data/assets/javascripts/bootstrap/scrollspy.js +10 -10
  14. data/assets/javascripts/bootstrap/tab.js +14 -11
  15. data/assets/javascripts/bootstrap/toast.js +15 -10
  16. data/assets/javascripts/bootstrap/tooltip.js +41 -26
  17. data/assets/javascripts/bootstrap/util.js +11 -7
  18. data/assets/stylesheets/_bootstrap-grid.scss +3 -3
  19. data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
  20. data/assets/stylesheets/_bootstrap.scss +3 -3
  21. data/assets/stylesheets/bootstrap/_badge.scss +2 -1
  22. data/assets/stylesheets/bootstrap/_buttons.scss +2 -5
  23. data/assets/stylesheets/bootstrap/_card.scss +13 -34
  24. data/assets/stylesheets/bootstrap/_carousel.scss +1 -2
  25. data/assets/stylesheets/bootstrap/_close.scss +1 -4
  26. data/assets/stylesheets/bootstrap/_code.scss +5 -5
  27. data/assets/stylesheets/bootstrap/_custom-forms.scss +11 -11
  28. data/assets/stylesheets/bootstrap/_dropdown.scss +20 -20
  29. data/assets/stylesheets/bootstrap/_forms.scss +12 -16
  30. data/assets/stylesheets/bootstrap/_functions.scss +3 -3
  31. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  32. data/assets/stylesheets/bootstrap/_input-group.scss +3 -3
  33. data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -0
  34. data/assets/stylesheets/bootstrap/_list-group.scss +33 -5
  35. data/assets/stylesheets/bootstrap/_mixins.scss +6 -0
  36. data/assets/stylesheets/bootstrap/_modal.scss +47 -4
  37. data/assets/stylesheets/bootstrap/_navbar.scss +3 -8
  38. data/assets/stylesheets/bootstrap/_pagination.scss +0 -5
  39. data/assets/stylesheets/bootstrap/_popover.scss +46 -58
  40. data/assets/stylesheets/bootstrap/_print.scss +1 -1
  41. data/assets/stylesheets/bootstrap/_progress.scss +15 -6
  42. data/assets/stylesheets/bootstrap/_reboot.scss +28 -7
  43. data/assets/stylesheets/bootstrap/_spinners.scss +2 -0
  44. data/assets/stylesheets/bootstrap/_tables.scss +3 -5
  45. data/assets/stylesheets/bootstrap/_toasts.scss +3 -2
  46. data/assets/stylesheets/bootstrap/_tooltip.scss +1 -1
  47. data/assets/stylesheets/bootstrap/_transitions.scss +0 -2
  48. data/assets/stylesheets/bootstrap/_type.scss +15 -15
  49. data/assets/stylesheets/bootstrap/_utilities.scss +1 -0
  50. data/assets/stylesheets/bootstrap/_variables.scss +129 -97
  51. data/assets/stylesheets/bootstrap/mixins/_badge.scss +6 -0
  52. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +29 -1
  53. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +16 -1
  54. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +3 -7
  55. data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
  56. data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
  57. data/assets/stylesheets/bootstrap/mixins/_float.scss +3 -0
  58. data/assets/stylesheets/bootstrap/mixins/_forms.scss +8 -14
  59. data/assets/stylesheets/bootstrap/mixins/_image.scss +2 -2
  60. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -1
  61. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
  62. data/assets/stylesheets/bootstrap/mixins/_size.scss +1 -0
  63. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +5 -3
  64. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +1 -3
  65. data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
  66. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +1 -0
  67. data/assets/stylesheets/bootstrap/utilities/_borders.scss +13 -1
  68. data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -18
  69. data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -3
  70. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
  71. data/assets/stylesheets/bootstrap/utilities/_text.scss +6 -1
  72. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -2
  73. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +212 -0
  74. data/lib/bootstrap/version.rb +2 -2
  75. metadata +5 -2
@@ -127,8 +127,7 @@
127
127
  display: inline-block;
128
128
  width: $carousel-control-icon-width;
129
129
  height: $carousel-control-icon-width;
130
- background: transparent no-repeat center center;
131
- background-size: 100% 100%;
130
+ background: no-repeat 50% / 100% 100%;
132
131
  }
133
132
  .carousel-control-prev-icon {
134
133
  background-image: $carousel-control-prev-icon-bg;
@@ -1,6 +1,6 @@
1
1
  .close {
2
2
  float: right;
3
- font-size: $close-font-size;
3
+ @include font-size($close-font-size);
4
4
  font-weight: $close-font-weight;
5
5
  line-height: 1;
6
6
  color: $close-color;
@@ -17,9 +17,6 @@
17
17
  @include hover-focus {
18
18
  opacity: .75;
19
19
  }
20
-
21
- // Opinionated: add "hand" cursor to non-disabled .close elements
22
- cursor: pointer;
23
20
  }
24
21
  }
25
22
 
@@ -1,6 +1,6 @@
1
1
  // Inline code
2
2
  code {
3
- font-size: $code-font-size;
3
+ @include font-size($code-font-size);
4
4
  color: $code-color;
5
5
  word-break: break-word;
6
6
 
@@ -13,7 +13,7 @@ code {
13
13
  // User input typically entered via keyboard
14
14
  kbd {
15
15
  padding: $kbd-padding-y $kbd-padding-x;
16
- font-size: $kbd-font-size;
16
+ @include font-size($kbd-font-size);
17
17
  color: $kbd-color;
18
18
  background-color: $kbd-bg;
19
19
  @include border-radius($border-radius-sm);
@@ -21,7 +21,7 @@ kbd {
21
21
 
22
22
  kbd {
23
23
  padding: 0;
24
- font-size: 100%;
24
+ @include font-size(100%);
25
25
  font-weight: $nested-kbd-font-weight;
26
26
  @include box-shadow(none);
27
27
  }
@@ -30,12 +30,12 @@ kbd {
30
30
  // Blocks of code
31
31
  pre {
32
32
  display: block;
33
- font-size: $code-font-size;
33
+ @include font-size($code-font-size);
34
34
  color: $pre-color;
35
35
 
36
36
  // Account for some code outputs that place code tags in pre tags
37
37
  code {
38
- font-size: inherit;
38
+ @include font-size(inherit);
39
39
  color: inherit;
40
40
  word-break: normal;
41
41
  }
@@ -95,9 +95,7 @@
95
95
  width: $custom-control-indicator-size;
96
96
  height: $custom-control-indicator-size;
97
97
  content: "";
98
- background-repeat: no-repeat;
99
- background-position: center center;
100
- background-size: $custom-control-indicator-bg-size;
98
+ background: no-repeat 50% / #{$custom-control-indicator-bg-size};
101
99
  }
102
100
  }
103
101
 
@@ -144,6 +142,7 @@
144
142
 
145
143
  .custom-radio {
146
144
  .custom-control-label::before {
145
+ // stylelint-disable-next-line property-blacklist
147
146
  border-radius: $custom-radio-indicator-border-radius;
148
147
  }
149
148
 
@@ -173,6 +172,7 @@
173
172
  left: -($custom-switch-width + $custom-control-gutter);
174
173
  width: $custom-switch-width;
175
174
  pointer-events: all;
175
+ // stylelint-disable-next-line property-blacklist
176
176
  border-radius: $custom-switch-indicator-border-radius;
177
177
  }
178
178
 
@@ -182,6 +182,7 @@
182
182
  width: $custom-switch-indicator-size;
183
183
  height: $custom-switch-indicator-size;
184
184
  background-color: $custom-control-indicator-border-color;
185
+ // stylelint-disable-next-line property-blacklist
185
186
  border-radius: $custom-switch-indicator-border-radius;
186
187
  @include transition(transform .15s ease-in-out, $custom-forms-transition);
187
188
  }
@@ -213,6 +214,8 @@
213
214
  width: 100%;
214
215
  height: $custom-select-height;
215
216
  padding: $custom-select-padding-y ($custom-select-padding-x + $custom-select-indicator-padding) $custom-select-padding-y $custom-select-padding-x;
217
+ font-family: $custom-select-font-family;
218
+ @include font-size($custom-select-font-size);
216
219
  font-weight: $custom-select-font-weight;
217
220
  line-height: $custom-select-line-height;
218
221
  color: $custom-select-color;
@@ -220,11 +223,7 @@
220
223
  background: $custom-select-background;
221
224
  background-color: $custom-select-bg;
222
225
  border: $custom-select-border-width solid $custom-select-border-color;
223
- @if $enable-rounded {
224
- border-radius: $custom-select-border-radius;
225
- } @else {
226
- border-radius: 0;
227
- }
226
+ @include border-radius($custom-select-border-radius, 0);
228
227
  @include box-shadow($custom-select-box-shadow);
229
228
  appearance: none;
230
229
 
@@ -262,7 +261,7 @@
262
261
 
263
262
  // Hides the default caret in IE11
264
263
  &::-ms-expand {
265
- opacity: 0;
264
+ display: none;
266
265
  }
267
266
  }
268
267
 
@@ -271,7 +270,7 @@
271
270
  padding-top: $custom-select-padding-y-sm;
272
271
  padding-bottom: $custom-select-padding-y-sm;
273
272
  padding-left: $custom-select-padding-x-sm;
274
- font-size: $custom-select-font-size-sm;
273
+ @include font-size($custom-select-font-size-sm);
275
274
  }
276
275
 
277
276
  .custom-select-lg {
@@ -279,7 +278,7 @@
279
278
  padding-top: $custom-select-padding-y-lg;
280
279
  padding-bottom: $custom-select-padding-y-lg;
281
280
  padding-left: $custom-select-padding-x-lg;
282
- font-size: $custom-select-font-size-lg;
281
+ @include font-size($custom-select-font-size-lg);
283
282
  }
284
283
 
285
284
 
@@ -331,6 +330,7 @@
331
330
  z-index: 1;
332
331
  height: $custom-file-height;
333
332
  padding: $custom-file-padding-y $custom-file-padding-x;
333
+ font-family: $custom-file-font-family;
334
334
  font-weight: $custom-file-font-weight;
335
335
  line-height: $custom-file-line-height;
336
336
  color: $custom-file-color;
@@ -7,6 +7,8 @@
7
7
  }
8
8
 
9
9
  .dropdown-toggle {
10
+ white-space: nowrap;
11
+
10
12
  // Generate the caret automatically
11
13
  @include caret;
12
14
  }
@@ -22,8 +24,8 @@
22
24
  min-width: $dropdown-min-width;
23
25
  padding: $dropdown-padding-y 0;
24
26
  margin: $dropdown-spacer 0 0; // override default ul
25
- font-size: $font-size-base; // Redeclare because nesting can cause inheritance issues
26
- color: $body-color;
27
+ @include font-size($dropdown-font-size);
28
+ color: $dropdown-color;
27
29
  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
28
30
  list-style: none;
29
31
  background-color: $dropdown-bg;
@@ -33,17 +35,6 @@
33
35
  @include box-shadow($dropdown-box-shadow);
34
36
  }
35
37
 
36
- @each $breakpoint in map-keys($grid-breakpoints) {
37
- @include media-breakpoint-up($breakpoint) {
38
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
39
-
40
- .dropdown-menu#{$infix}-right {
41
- right: 0;
42
- left: auto;
43
- }
44
- }
45
- }
46
-
47
38
  @each $breakpoint in map-keys($grid-breakpoints) {
48
39
  @include media-breakpoint-up($breakpoint) {
49
40
  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@@ -52,6 +43,11 @@
52
43
  right: auto;
53
44
  left: 0;
54
45
  }
46
+
47
+ .dropdown-menu#{$infix}-right {
48
+ right: 0;
49
+ left: auto;
50
+ }
55
51
  }
56
52
  }
57
53
 
@@ -118,7 +114,7 @@
118
114
 
119
115
  // Dividers (basically an `<hr>`) within the dropdown
120
116
  .dropdown-divider {
121
- @include nav-divider($dropdown-divider-bg);
117
+ @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y);
122
118
  }
123
119
 
124
120
  // Links, buttons, and more within the dropdown menu
@@ -136,12 +132,16 @@
136
132
  background-color: transparent; // For `<button>`s
137
133
  border: 0; // For `<button>`s
138
134
 
139
- &:first-child {
140
- @include border-top-radius($dropdown-inner-border-radius);
141
- }
135
+ // Prevent dropdown overflow if there's no padding
136
+ // See https://github.com/twbs/bootstrap/pull/27703
137
+ @if $dropdown-padding-y == 0 {
138
+ &:first-child {
139
+ @include border-top-radius($dropdown-inner-border-radius);
140
+ }
142
141
 
143
- &:last-child {
144
- @include border-bottom-radius($dropdown-inner-border-radius);
142
+ &:last-child {
143
+ @include border-bottom-radius($dropdown-inner-border-radius);
144
+ }
145
145
  }
146
146
 
147
147
  @include hover-focus {
@@ -178,7 +178,7 @@
178
178
  display: block;
179
179
  padding: $dropdown-padding-y $dropdown-item-padding-x;
180
180
  margin-bottom: 0; // for use with heading elements
181
- font-size: $font-size-sm;
181
+ @include font-size($font-size-sm);
182
182
  color: $dropdown-header-color;
183
183
  white-space: nowrap; // as with > li > a
184
184
  }
@@ -9,7 +9,8 @@
9
9
  width: 100%;
10
10
  height: $input-height;
11
11
  padding: $input-padding-y $input-padding-x;
12
- font-size: $input-font-size;
12
+ font-family: $input-font-family;
13
+ @include font-size($input-font-size);
13
14
  font-weight: $input-font-weight;
14
15
  line-height: $input-line-height;
15
16
  color: $input-color;
@@ -18,13 +19,7 @@
18
19
  border: $input-border-width solid $input-border-color;
19
20
 
20
21
  // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.
21
- @if $enable-rounded {
22
- // Manually use the if/else instead of the mixin to account for iOS override
23
- border-radius: $input-border-radius;
24
- } @else {
25
- // Otherwise undo the iOS default
26
- border-radius: 0;
27
- }
22
+ @include border-radius($input-border-radius, 0);
28
23
 
29
24
  @include box-shadow($input-box-shadow);
30
25
  @include transition($input-transition);
@@ -88,21 +83,21 @@ select.form-control {
88
83
  padding-top: calc(#{$input-padding-y} + #{$input-border-width});
89
84
  padding-bottom: calc(#{$input-padding-y} + #{$input-border-width});
90
85
  margin-bottom: 0; // Override the `<label>/<legend>` default
91
- font-size: inherit; // Override the `<legend>` default
86
+ @include font-size(inherit); // Override the `<legend>` default
92
87
  line-height: $input-line-height;
93
88
  }
94
89
 
95
90
  .col-form-label-lg {
96
91
  padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width});
97
92
  padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width});
98
- font-size: $input-font-size-lg;
93
+ @include font-size($input-font-size-lg);
99
94
  line-height: $input-line-height-lg;
100
95
  }
101
96
 
102
97
  .col-form-label-sm {
103
98
  padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width});
104
99
  padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width});
105
- font-size: $input-font-size-sm;
100
+ @include font-size($input-font-size-sm);
106
101
  line-height: $input-line-height-sm;
107
102
  }
108
103
 
@@ -142,7 +137,7 @@ select.form-control {
142
137
  .form-control-sm {
143
138
  height: $input-height-sm;
144
139
  padding: $input-padding-y-sm $input-padding-x-sm;
145
- font-size: $input-font-size-sm;
140
+ @include font-size($input-font-size-sm);
146
141
  line-height: $input-line-height-sm;
147
142
  @include border-radius($input-border-radius-sm);
148
143
  }
@@ -150,7 +145,7 @@ select.form-control {
150
145
  .form-control-lg {
151
146
  height: $input-height-lg;
152
147
  padding: $input-padding-y-lg $input-padding-x-lg;
153
- font-size: $input-font-size-lg;
148
+ @include font-size($input-font-size-lg);
154
149
  line-height: $input-line-height-lg;
155
150
  @include border-radius($input-border-radius-lg);
156
151
  }
@@ -163,7 +158,6 @@ select.form-control {
163
158
  }
164
159
  }
165
160
 
166
- // stylelint-disable-next-line no-duplicate-selectors
167
161
  textarea.form-control {
168
162
  height: auto;
169
163
  }
@@ -248,8 +242,9 @@ textarea.form-control {
248
242
  // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
249
243
  // server side validation.
250
244
 
251
- @include form-validation-state("valid", $form-feedback-valid-color);
252
- @include form-validation-state("invalid", $form-feedback-invalid-color);
245
+ @each $state, $data in $form-validation-states {
246
+ @include form-validation-state($state, map-get($data, color), map-get($data, icon));
247
+ }
253
248
 
254
249
  // Inline forms
255
250
  //
@@ -318,6 +313,7 @@ textarea.form-control {
318
313
  }
319
314
  .form-check-input {
320
315
  position: relative;
316
+ flex-shrink: 0;
321
317
  margin-top: 0;
322
318
  margin-right: $form-check-input-margin-x;
323
319
  margin-left: 0;
@@ -21,12 +21,12 @@
21
21
  }
22
22
 
23
23
  // Starts at zero
24
- // Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.
25
- @mixin _assert-starts-at-zero($map) {
24
+ // Used to ensure the min-width of the lowest breakpoint starts at 0.
25
+ @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
26
26
  $values: map-values($map);
27
27
  $first-value: nth($values, 1);
28
28
  @if $first-value != 0 {
29
- @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
29
+ @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
30
30
  }
31
31
  }
32
32
 
@@ -37,6 +37,6 @@
37
37
  }
38
38
 
39
39
  .figure-caption {
40
- font-size: $figure-caption-font-size;
40
+ @include font-size($figure-caption-font-size);
41
41
  color: $figure-caption-color;
42
42
  }
@@ -104,7 +104,7 @@
104
104
  align-items: center;
105
105
  padding: $input-padding-y $input-padding-x;
106
106
  margin-bottom: 0; // Allow use of <label> elements by overriding our default margin-bottom
107
- font-size: $font-size-base; // Match inputs
107
+ @include font-size($input-font-size); // Match inputs
108
108
  font-weight: $font-weight-normal;
109
109
  line-height: $input-line-height;
110
110
  color: $input-group-addon-color;
@@ -139,7 +139,7 @@
139
139
  .input-group-lg > .input-group-prepend > .btn,
140
140
  .input-group-lg > .input-group-append > .btn {
141
141
  padding: $input-padding-y-lg $input-padding-x-lg;
142
- font-size: $input-font-size-lg;
142
+ @include font-size($input-font-size-lg);
143
143
  line-height: $input-line-height-lg;
144
144
  @include border-radius($input-border-radius-lg);
145
145
  }
@@ -156,7 +156,7 @@
156
156
  .input-group-sm > .input-group-prepend > .btn,
157
157
  .input-group-sm > .input-group-append > .btn {
158
158
  padding: $input-padding-y-sm $input-padding-x-sm;
159
- font-size: $input-font-size-sm;
159
+ @include font-size($input-font-size-sm);
160
160
  line-height: $input-line-height-sm;
161
161
  @include border-radius($input-border-radius-sm);
162
162
  }
@@ -1,6 +1,7 @@
1
1
  .jumbotron {
2
2
  padding: $jumbotron-padding ($jumbotron-padding / 2);
3
3
  margin-bottom: $jumbotron-padding;
4
+ color: $jumbotron-color;
4
5
  background-color: $jumbotron-bg;
5
6
  @include border-radius($border-radius-lg);
6
7
 
@@ -24,6 +24,7 @@
24
24
 
25
25
  // Hover state
26
26
  @include hover-focus {
27
+ z-index: 1; // Place hover/focus items above their siblings for proper border styling
27
28
  color: $list-group-action-hover-color;
28
29
  text-decoration: none;
29
30
  background-color: $list-group-hover-bg;
@@ -46,6 +47,7 @@
46
47
  padding: $list-group-item-padding-y $list-group-item-padding-x;
47
48
  // Place the border on the list items and negative margin up for better styling
48
49
  margin-bottom: -$list-group-border-width;
50
+ color: $list-group-color;
49
51
  background-color: $list-group-bg;
50
52
  border: $list-group-border-width solid $list-group-border-color;
51
53
 
@@ -58,11 +60,6 @@
58
60
  @include border-bottom-radius($list-group-border-radius);
59
61
  }
60
62
 
61
- @include hover-focus {
62
- z-index: 1; // Place hover/active items above their siblings for proper border styling
63
- text-decoration: none;
64
- }
65
-
66
63
  &.disabled,
67
64
  &:disabled {
68
65
  color: $list-group-disabled-color;
@@ -80,6 +77,37 @@
80
77
  }
81
78
 
82
79
 
80
+ // Horizontal
81
+ //
82
+ // Change the layout of list group items from vertical (default) to horizontal.
83
+
84
+ @each $breakpoint in map-keys($grid-breakpoints) {
85
+ @include media-breakpoint-up($breakpoint) {
86
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
87
+
88
+ .list-group-horizontal#{$infix} {
89
+ flex-direction: row;
90
+
91
+ .list-group-item {
92
+ margin-right: -$list-group-border-width;
93
+ margin-bottom: 0;
94
+
95
+ &:first-child {
96
+ @include border-left-radius($list-group-border-radius);
97
+ @include border-top-right-radius(0);
98
+ }
99
+
100
+ &:last-child {
101
+ margin-right: 0;
102
+ @include border-right-radius($list-group-border-radius);
103
+ @include border-bottom-left-radius(0);
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+
110
+
83
111
  // Flush list items
84
112
  //
85
113
  // Remove borders and border-radius to keep list group items edge-to-edge. Most