bootstrap 4.0.0 → 4.6.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +15 -1
  3. data/CHANGELOG.md +4 -4
  4. data/README.md +8 -2
  5. data/Rakefile +18 -4
  6. data/assets/javascripts/bootstrap/alert.js +77 -66
  7. data/assets/javascripts/bootstrap/button.js +138 -76
  8. data/assets/javascripts/bootstrap/carousel.js +289 -152
  9. data/assets/javascripts/bootstrap/collapse.js +150 -128
  10. data/assets/javascripts/bootstrap/dropdown.js +249 -160
  11. data/assets/javascripts/bootstrap/modal.js +280 -199
  12. data/assets/javascripts/bootstrap/popover.js +99 -58
  13. data/assets/javascripts/bootstrap/scrollspy.js +123 -102
  14. data/assets/javascripts/bootstrap/tab.js +110 -98
  15. data/assets/javascripts/bootstrap/toast.js +267 -0
  16. data/assets/javascripts/bootstrap/tooltip.js +401 -183
  17. data/assets/javascripts/bootstrap/util.js +106 -55
  18. data/assets/javascripts/bootstrap-sprockets.js +7 -6
  19. data/assets/javascripts/bootstrap.js +1903 -1441
  20. data/assets/javascripts/bootstrap.min.js +4 -4
  21. data/assets/stylesheets/_bootstrap-grid.scss +6 -8
  22. data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
  23. data/assets/stylesheets/_bootstrap.scss +6 -4
  24. data/assets/stylesheets/bootstrap/_alert.scss +2 -1
  25. data/assets/stylesheets/bootstrap/_badge.scss +8 -1
  26. data/assets/stylesheets/bootstrap/_breadcrumb.scss +10 -6
  27. data/assets/stylesheets/bootstrap/_button-group.scss +17 -20
  28. data/assets/stylesheets/bootstrap/_buttons.scss +20 -21
  29. data/assets/stylesheets/bootstrap/_card.scss +77 -61
  30. data/assets/stylesheets/bootstrap/_carousel.scss +72 -63
  31. data/assets/stylesheets/bootstrap/_close.scss +14 -8
  32. data/assets/stylesheets/bootstrap/_code.scss +6 -14
  33. data/assets/stylesheets/bootstrap/_custom-forms.scss +274 -45
  34. data/assets/stylesheets/bootstrap/_dropdown.scss +70 -9
  35. data/assets/stylesheets/bootstrap/_forms.scss +56 -42
  36. data/assets/stylesheets/bootstrap/_functions.scss +117 -13
  37. data/assets/stylesheets/bootstrap/_grid.scss +32 -11
  38. data/assets/stylesheets/bootstrap/_images.scss +4 -4
  39. data/assets/stylesheets/bootstrap/_input-group.scss +68 -16
  40. data/assets/stylesheets/bootstrap/_jumbotron.scss +2 -1
  41. data/assets/stylesheets/bootstrap/_list-group.scss +63 -24
  42. data/assets/stylesheets/bootstrap/_mixins.scss +9 -4
  43. data/assets/stylesheets/bootstrap/_modal.scss +96 -24
  44. data/assets/stylesheets/bootstrap/_nav.scss +14 -7
  45. data/assets/stylesheets/bootstrap/_navbar.scss +64 -43
  46. data/assets/stylesheets/bootstrap/_pagination.scss +7 -10
  47. data/assets/stylesheets/bootstrap/_popover.scss +55 -68
  48. data/assets/stylesheets/bootstrap/_print.scss +24 -16
  49. data/assets/stylesheets/bootstrap/_progress.scss +20 -6
  50. data/assets/stylesheets/bootstrap/_reboot.scss +88 -86
  51. data/assets/stylesheets/bootstrap/_spinners.scss +65 -0
  52. data/assets/stylesheets/bootstrap/_tables.scss +19 -14
  53. data/assets/stylesheets/bootstrap/_toasts.scss +46 -0
  54. data/assets/stylesheets/bootstrap/_tooltip.scss +5 -5
  55. data/assets/stylesheets/bootstrap/_transitions.scss +10 -20
  56. data/assets/stylesheets/bootstrap/_type.scss +19 -19
  57. data/assets/stylesheets/bootstrap/_utilities.scss +4 -0
  58. data/assets/stylesheets/bootstrap/_variables.scss +462 -207
  59. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
  60. data/assets/stylesheets/bootstrap/mixins/_badge.scss +8 -3
  61. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +51 -10
  62. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +16 -1
  63. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +3 -3
  64. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +20 -19
  65. data/assets/stylesheets/bootstrap/mixins/_caret.scss +13 -16
  66. data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
  67. data/assets/stylesheets/bootstrap/mixins/_float.scss +6 -3
  68. data/assets/stylesheets/bootstrap/mixins/_forms.scss +96 -38
  69. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +7 -7
  70. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +31 -18
  71. data/assets/stylesheets/bootstrap/mixins/_grid.scss +34 -17
  72. data/assets/stylesheets/bootstrap/mixins/_hover.scss +7 -9
  73. data/assets/stylesheets/bootstrap/mixins/_image.scss +4 -4
  74. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -2
  75. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  76. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +3 -2
  77. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -1
  78. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
  79. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +5 -6
  80. data/assets/stylesheets/bootstrap/mixins/_size.scss +1 -0
  81. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +11 -2
  82. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +7 -4
  83. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +3 -1
  84. data/assets/stylesheets/bootstrap/mixins/_transition.scss +20 -3
  85. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +1 -0
  86. data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
  87. data/assets/stylesheets/bootstrap/utilities/_borders.scss +17 -1
  88. data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -18
  89. data/assets/stylesheets/bootstrap/utilities/_embed.scss +7 -20
  90. data/assets/stylesheets/bootstrap/utilities/_flex.scss +5 -0
  91. data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -3
  92. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  93. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +5 -0
  94. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -4
  95. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +6 -0
  96. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +8 -0
  97. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +23 -1
  98. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
  99. data/assets/stylesheets/bootstrap/utilities/_text.scss +28 -8
  100. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -2
  101. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +228 -0
  102. data/bootstrap.gemspec +5 -4
  103. data/lib/bootstrap/engine.rb +19 -0
  104. data/lib/bootstrap/version.rb +4 -2
  105. data/lib/bootstrap.rb +10 -7
  106. data/tasks/updater/js.rb +18 -6
  107. data/tasks/updater/network.rb +8 -2
  108. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  109. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  110. data/test/gemfiles/rails_6_0.gemfile +7 -0
  111. data/test/gemfiles/rails_7_0_dartsass.gemfile +8 -0
  112. data/test/gemfiles/rails_7_0_sassc.gemfile +8 -0
  113. data/test/support/dummy_rails_integration.rb +3 -1
  114. data/test/test_helper.rb +21 -15
  115. metadata +28 -25
  116. data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +0 -10
@@ -1,4 +1,4 @@
1
- // stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
1
+ // stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
2
2
 
3
3
  // Reboot
4
4
  //
@@ -14,9 +14,7 @@
14
14
  // 2. Change the default font family in all browsers.
15
15
  // 3. Correct the line height in all browsers.
16
16
  // 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.
17
- // 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so
18
- // we force a non-overlapping, non-auto-hiding scrollbar to counteract.
19
- // 6. Change the default tap highlight to be completely transparent in iOS.
17
+ // 5. Change the default tap highlight to be completely transparent in iOS.
20
18
 
21
19
  *,
22
20
  *::before,
@@ -28,36 +26,27 @@ html {
28
26
  font-family: sans-serif; // 2
29
27
  line-height: 1.15; // 3
30
28
  -webkit-text-size-adjust: 100%; // 4
31
- -ms-text-size-adjust: 100%; // 4
32
- -ms-overflow-style: scrollbar; // 5
33
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0); // 6
29
+ -webkit-tap-highlight-color: rgba($black, 0); // 5
34
30
  }
35
31
 
36
- // IE10+ doesn't honor `<meta name="viewport">` in some cases.
37
- @at-root {
38
- @-ms-viewport {
39
- width: device-width;
40
- }
41
- }
42
-
43
- // stylelint-disable selector-list-comma-newline-after
44
32
  // Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
45
- article, aside, dialog, figcaption, figure, footer, header, hgroup, main, nav, section {
33
+ // TODO: remove in v5
34
+ // stylelint-disable-next-line selector-list-comma-newline-after
35
+ article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
46
36
  display: block;
47
37
  }
48
- // stylelint-enable selector-list-comma-newline-after
49
38
 
50
39
  // Body
51
40
  //
52
41
  // 1. Remove the margin in all browsers.
53
42
  // 2. As a best practice, apply a default `background-color`.
54
- // 3. Set an explicit initial text-align value so that we can later use the
43
+ // 3. Set an explicit initial text-align value so that we can later use
55
44
  // the `inherit` value on things like `<th>` elements.
56
45
 
57
46
  body {
58
47
  margin: 0; // 1
59
48
  font-family: $font-family-base;
60
- font-size: $font-size-base;
49
+ @include font-size($font-size-base);
61
50
  font-weight: $font-weight-base;
62
51
  line-height: $line-height-base;
63
52
  color: $body-color;
@@ -65,12 +54,16 @@ body {
65
54
  background-color: $body-bg; // 2
66
55
  }
67
56
 
68
- // Suppress the focus outline on elements that cannot be accessed via keyboard.
69
- // This prevents an unwanted focus outline from appearing around elements that
70
- // might still respond to pointer events.
57
+ // Future-proof rule: in browsers that support :focus-visible, suppress the focus outline
58
+ // on elements that programmatically receive focus but wouldn't normally show a visible
59
+ // focus outline. In general, this would mean that the outline is only applied if the
60
+ // interaction that led to the element receiving programmatic focus was a keyboard interaction,
61
+ // or the browser has somehow determined that the user is primarily a keyboard user and/or
62
+ // wants focus outlines to always be presented.
71
63
  //
72
- // Credit: https://github.com/suitcss/base
73
- [tabindex="-1"]:focus {
64
+ // See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible
65
+ // and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/
66
+ [tabindex="-1"]:focus:not(:focus-visible) {
74
67
  outline: 0 !important;
75
68
  }
76
69
 
@@ -95,12 +88,11 @@ hr {
95
88
  //
96
89
  // By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top
97
90
  // margin for easier control within type scales as it avoids margin collapsing.
98
- // stylelint-disable selector-list-comma-newline-after
91
+ // stylelint-disable-next-line selector-list-comma-newline-after
99
92
  h1, h2, h3, h4, h5, h6 {
100
93
  margin-top: 0;
101
94
  margin-bottom: $headings-margin-bottom;
102
95
  }
103
- // stylelint-enable selector-list-comma-newline-after
104
96
 
105
97
  // Reset margins on paragraphs
106
98
  //
@@ -113,17 +105,19 @@ p {
113
105
 
114
106
  // Abbreviations
115
107
  //
116
- // 1. Remove the bottom border in Firefox 39-.
108
+ // 1. Duplicate behavior to the data-* attribute for our tooltip plugin
117
109
  // 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
118
110
  // 3. Add explicit cursor to indicate changed behavior.
119
- // 4. Duplicate behavior to the data-* attribute for our tooltip plugin
111
+ // 4. Remove the bottom border in Firefox 39-.
112
+ // 5. Prevent the text-decoration to be skipped.
120
113
 
121
114
  abbr[title],
122
- abbr[data-original-title] { // 4
115
+ abbr[data-original-title] { // 1
123
116
  text-decoration: underline; // 2
124
117
  text-decoration: underline dotted; // 2
125
118
  cursor: help; // 3
126
- border-bottom: 0; // 1
119
+ border-bottom: 0; // 4
120
+ text-decoration-skip-ink: none; // 5
127
121
  }
128
122
 
129
123
  address {
@@ -159,19 +153,13 @@ blockquote {
159
153
  margin: 0 0 1rem;
160
154
  }
161
155
 
162
- dfn {
163
- font-style: italic; // Add the correct font style in Android 4.3-
164
- }
165
-
166
- // stylelint-disable font-weight-notation
167
156
  b,
168
157
  strong {
169
- font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari
158
+ font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari
170
159
  }
171
- // stylelint-enable font-weight-notation
172
160
 
173
161
  small {
174
- font-size: 80%; // Add the correct font size in all browsers
162
+ @include font-size(80%); // Add the correct font size in all browsers
175
163
  }
176
164
 
177
165
  //
@@ -182,7 +170,7 @@ small {
182
170
  sub,
183
171
  sup {
184
172
  position: relative;
185
- font-size: 75%;
173
+ @include font-size(75%);
186
174
  line-height: 0;
187
175
  vertical-align: baseline;
188
176
  }
@@ -199,32 +187,26 @@ a {
199
187
  color: $link-color;
200
188
  text-decoration: $link-decoration;
201
189
  background-color: transparent; // Remove the gray background on active links in IE 10.
202
- -webkit-text-decoration-skip: objects; // Remove gaps in links underline in iOS 8+ and Safari 8+.
203
190
 
204
- @include hover {
191
+ @include hover() {
205
192
  color: $link-hover-color;
206
193
  text-decoration: $link-hover-decoration;
207
194
  }
208
195
  }
209
196
 
210
- // And undo these styles for placeholder links/named anchors (without href)
211
- // which have not been made explicitly keyboard-focusable (without tabindex).
197
+ // And undo these styles for placeholder links/named anchors (without href).
212
198
  // It would be more straightforward to just use a[href] in previous block, but that
213
199
  // causes specificity issues in many other styles that are too complex to fix.
214
200
  // See https://github.com/twbs/bootstrap/issues/19402
215
201
 
216
- a:not([href]):not([tabindex]) {
202
+ a:not([href]):not([class]) {
217
203
  color: inherit;
218
204
  text-decoration: none;
219
205
 
220
- @include hover-focus {
206
+ @include hover() {
221
207
  color: inherit;
222
208
  text-decoration: none;
223
209
  }
224
-
225
- &:focus {
226
- outline: 0;
227
- }
228
210
  }
229
211
 
230
212
 
@@ -232,15 +214,13 @@ a:not([href]):not([tabindex]) {
232
214
  // Code
233
215
  //
234
216
 
235
- // stylelint-disable font-family-no-duplicate-names
236
217
  pre,
237
218
  code,
238
219
  kbd,
239
220
  samp {
240
- font-family: monospace, monospace; // Correct the inheritance and scaling of font size in all browsers.
241
- font-size: 1em; // Correct the odd `em` font sizing in all browsers.
221
+ font-family: $font-family-monospace;
222
+ @include font-size(1em); // Correct the odd `em` font sizing in all browsers.
242
223
  }
243
- // stylelint-enable font-family-no-duplicate-names
244
224
 
245
225
  pre {
246
226
  // Remove browser default top margin
@@ -249,8 +229,8 @@ pre {
249
229
  margin-bottom: 1rem;
250
230
  // Don't allow content to break outside
251
231
  overflow: auto;
252
- // We have @viewport set which causes scrollbars to overlap content in IE11 and Edge, so
253
- // we force a non-overlapping, non-auto-hiding scrollbar to counteract.
232
+ // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,
233
+ // making it impossible to interact with the content
254
234
  -ms-overflow-style: scrollbar;
255
235
  }
256
236
 
@@ -274,8 +254,11 @@ img {
274
254
  border-style: none; // Remove the border on images inside links in IE 10-.
275
255
  }
276
256
 
277
- svg:not(:root) {
278
- overflow: hidden; // Hide the overflow in IE
257
+ svg {
258
+ // Workaround for the SVG overflow bug in IE10/11 is still required.
259
+ // See https://github.com/twbs/bootstrap/issues/26878
260
+ overflow: hidden;
261
+ vertical-align: middle;
279
262
  }
280
263
 
281
264
 
@@ -290,15 +273,19 @@ table {
290
273
  caption {
291
274
  padding-top: $table-cell-padding;
292
275
  padding-bottom: $table-cell-padding;
293
- color: $text-muted;
276
+ color: $table-caption-color;
294
277
  text-align: left;
295
278
  caption-side: bottom;
296
279
  }
297
280
 
281
+ // 1. Removes font-weight bold by inheriting
282
+ // 2. Matches default `<td>` alignment by inheriting `text-align`.
283
+ // 3. Fix alignment for Safari
284
+
298
285
  th {
299
- // Matches default `<td>` alignment by inheriting from the `<body>`, or the
300
- // closest parent with a set `text-align`.
301
- text-align: inherit;
286
+ font-weight: $table-th-font-weight; // 1
287
+ text-align: inherit; // 2
288
+ text-align: -webkit-match-parent; // 3
302
289
  }
303
290
 
304
291
 
@@ -309,23 +296,24 @@ th {
309
296
  label {
310
297
  // Allow labels to use `margin` for spacing.
311
298
  display: inline-block;
312
- margin-bottom: .5rem;
299
+ margin-bottom: $label-margin-bottom;
313
300
  }
314
301
 
315
302
  // Remove the default `border-radius` that macOS Chrome adds.
316
303
  //
317
304
  // Details at https://github.com/twbs/bootstrap/issues/24093
318
305
  button {
306
+ // stylelint-disable-next-line property-disallowed-list
319
307
  border-radius: 0;
320
308
  }
321
309
 
322
- // Work around a Firefox/IE bug where the transparent `button` background
323
- // results in a loss of the default `button` focus styles.
324
- //
325
- // Credit: https://github.com/suitcss/base/
326
- button:focus {
327
- outline: 1px dotted;
328
- outline: 5px auto -webkit-focus-ring-color;
310
+ // Explicitly remove focus outline in Chromium when it shouldn't be
311
+ // visible (e.g. as result of mouse click or touch tap). It already
312
+ // should be doing this automatically, but seems to currently be
313
+ // confused and applies its very visible two-tone outline anyway.
314
+
315
+ button:focus:not(:focus-visible) {
316
+ outline: 0;
329
317
  }
330
318
 
331
319
  input,
@@ -335,7 +323,7 @@ optgroup,
335
323
  textarea {
336
324
  margin: 0; // Remove the margin in Firefox and Safari
337
325
  font-family: inherit;
338
- font-size: inherit;
326
+ @include font-size(inherit);
339
327
  line-height: inherit;
340
328
  }
341
329
 
@@ -349,16 +337,43 @@ select {
349
337
  text-transform: none; // Remove the inheritance of text transform in Firefox
350
338
  }
351
339
 
340
+ // Set the cursor for non-`<button>` buttons
341
+ //
342
+ // Details at https://github.com/twbs/bootstrap/pull/30562
343
+ [role="button"] {
344
+ cursor: pointer;
345
+ }
346
+
347
+ // Remove the inheritance of word-wrap in Safari.
348
+ //
349
+ // Details at https://github.com/twbs/bootstrap/issues/24990
350
+ select {
351
+ word-wrap: normal;
352
+ }
353
+
354
+
352
355
  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
353
356
  // controls in Android 4.
354
357
  // 2. Correct the inability to style clickable types in iOS and Safari.
355
358
  button,
356
- html [type="button"], // 1
359
+ [type="button"], // 1
357
360
  [type="reset"],
358
361
  [type="submit"] {
359
362
  -webkit-appearance: button; // 2
360
363
  }
361
364
 
365
+ // Opinionated: add "hand" cursor to non-disabled button elements.
366
+ @if $enable-pointer-cursor-for-buttons {
367
+ button,
368
+ [type="button"],
369
+ [type="reset"],
370
+ [type="submit"] {
371
+ &:not(:disabled) {
372
+ cursor: pointer;
373
+ }
374
+ }
375
+ }
376
+
362
377
  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
363
378
  button::-moz-focus-inner,
364
379
  [type="button"]::-moz-focus-inner,
@@ -375,18 +390,6 @@ input[type="checkbox"] {
375
390
  }
376
391
 
377
392
 
378
- input[type="date"],
379
- input[type="time"],
380
- input[type="datetime-local"],
381
- input[type="month"] {
382
- // Remove the default appearance of temporal inputs to avoid a Mobile Safari
383
- // bug where setting a custom line-height prevents text from being vertically
384
- // centered within the input.
385
- // See https://bugs.webkit.org/show_bug.cgi?id=139848
386
- // and https://github.com/twbs/bootstrap/issues/11266
387
- -webkit-appearance: listbox;
388
- }
389
-
390
393
  textarea {
391
394
  overflow: auto; // Remove the default vertical scrollbar in IE.
392
395
  // Textareas should really only resize vertically so they don't break their (horizontal) containers.
@@ -414,7 +417,7 @@ legend {
414
417
  max-width: 100%; // 1
415
418
  padding: 0;
416
419
  margin-bottom: .5rem;
417
- font-size: 1.5rem;
420
+ @include font-size(1.5rem);
418
421
  line-height: inherit;
419
422
  color: inherit; // 2
420
423
  white-space: normal; // 1
@@ -440,10 +443,9 @@ progress {
440
443
  }
441
444
 
442
445
  //
443
- // Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
446
+ // Remove the inner padding in Chrome and Safari on macOS.
444
447
  //
445
448
 
446
- [type="search"]::-webkit-search-cancel-button,
447
449
  [type="search"]::-webkit-search-decoration {
448
450
  -webkit-appearance: none;
449
451
  }
@@ -0,0 +1,65 @@
1
+ //
2
+ // Rotating border
3
+ //
4
+
5
+ @keyframes spinner-border {
6
+ to { transform: rotate(360deg); }
7
+ }
8
+
9
+ .spinner-border {
10
+ display: inline-block;
11
+ width: $spinner-width;
12
+ height: $spinner-height;
13
+ vertical-align: $spinner-vertical-align;
14
+ border: $spinner-border-width solid currentcolor;
15
+ border-right-color: transparent;
16
+ // stylelint-disable-next-line property-disallowed-list
17
+ border-radius: 50%;
18
+ animation: .75s linear infinite spinner-border;
19
+ }
20
+
21
+ .spinner-border-sm {
22
+ width: $spinner-width-sm;
23
+ height: $spinner-height-sm;
24
+ border-width: $spinner-border-width-sm;
25
+ }
26
+
27
+ //
28
+ // Growing circle
29
+ //
30
+
31
+ @keyframes spinner-grow {
32
+ 0% {
33
+ transform: scale(0);
34
+ }
35
+ 50% {
36
+ opacity: 1;
37
+ transform: none;
38
+ }
39
+ }
40
+
41
+ .spinner-grow {
42
+ display: inline-block;
43
+ width: $spinner-width;
44
+ height: $spinner-height;
45
+ vertical-align: $spinner-vertical-align;
46
+ background-color: currentcolor;
47
+ // stylelint-disable-next-line property-disallowed-list
48
+ border-radius: 50%;
49
+ opacity: 0;
50
+ animation: .75s linear infinite spinner-grow;
51
+ }
52
+
53
+ .spinner-grow-sm {
54
+ width: $spinner-width-sm;
55
+ height: $spinner-height-sm;
56
+ }
57
+
58
+ @if $enable-prefers-reduced-motion-media-query {
59
+ @media (prefers-reduced-motion: reduce) {
60
+ .spinner-border,
61
+ .spinner-grow {
62
+ animation-duration: 1.5s;
63
+ }
64
+ }
65
+ }
@@ -4,8 +4,8 @@
4
4
 
5
5
  .table {
6
6
  width: 100%;
7
- max-width: 100%;
8
7
  margin-bottom: $spacer;
8
+ color: $table-color;
9
9
  background-color: $table-bg; // Reset for nesting within parents with `background-color`.
10
10
 
11
11
  th,
@@ -23,10 +23,6 @@
23
23
  tbody + tbody {
24
24
  border-top: (2 * $table-border-width) solid $table-border-color;
25
25
  }
26
-
27
- .table {
28
- background-color: $body-bg;
29
- }
30
26
  }
31
27
 
32
28
 
@@ -42,9 +38,9 @@
42
38
  }
43
39
 
44
40
 
45
- // Bordered version
41
+ // Border versions
46
42
  //
47
- // Add borders all around the table and between all the columns.
43
+ // Add or remove borders all around the table and between all the columns.
48
44
 
49
45
  .table-bordered {
50
46
  border: $table-border-width solid $table-border-color;
@@ -57,18 +53,26 @@
57
53
  thead {
58
54
  th,
59
55
  td {
60
- border-bottom-width: (2 * $table-border-width);
56
+ border-bottom-width: 2 * $table-border-width;
61
57
  }
62
58
  }
63
59
  }
64
60
 
61
+ .table-borderless {
62
+ th,
63
+ td,
64
+ thead th,
65
+ tbody + tbody {
66
+ border: 0;
67
+ }
68
+ }
65
69
 
66
70
  // Zebra-striping
67
71
  //
68
72
  // Default zebra-stripe styles (alternating gray and transparent backgrounds)
69
73
 
70
74
  .table-striped {
71
- tbody tr:nth-of-type(odd) {
75
+ tbody tr:nth-of-type(#{$table-striped-order}) {
72
76
  background-color: $table-accent-bg;
73
77
  }
74
78
  }
@@ -80,7 +84,8 @@
80
84
 
81
85
  .table-hover {
82
86
  tbody tr {
83
- @include hover {
87
+ @include hover() {
88
+ color: $table-hover-color;
84
89
  background-color: $table-hover-bg;
85
90
  }
86
91
  }
@@ -93,7 +98,7 @@
93
98
  // inheritance to nested tables.
94
99
 
95
100
  @each $color, $value in $theme-colors {
96
- @include table-row-variant($color, theme-color-level($color, -9));
101
+ @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));
97
102
  }
98
103
 
99
104
  @include table-row-variant(active, $table-active-bg);
@@ -137,14 +142,15 @@
137
142
  }
138
143
 
139
144
  &.table-striped {
140
- tbody tr:nth-of-type(odd) {
145
+ tbody tr:nth-of-type(#{$table-striped-order}) {
141
146
  background-color: $table-dark-accent-bg;
142
147
  }
143
148
  }
144
149
 
145
150
  &.table-hover {
146
151
  tbody tr {
147
- @include hover {
152
+ @include hover() {
153
+ color: $table-dark-hover-color;
148
154
  background-color: $table-dark-hover-bg;
149
155
  }
150
156
  }
@@ -168,7 +174,6 @@
168
174
  width: 100%;
169
175
  overflow-x: auto;
170
176
  -webkit-overflow-scrolling: touch;
171
- -ms-overflow-style: -ms-autohiding-scrollbar; // See https://github.com/twbs/bootstrap/pull/10057
172
177
 
173
178
  // Prevent double border on horizontal scroll due to use of `display: block;`
174
179
  > .table-bordered {
@@ -0,0 +1,46 @@
1
+ .toast {
2
+ // Prevents from shrinking in IE11, when in a flex container
3
+ // See https://github.com/twbs/bootstrap/issues/28341
4
+ flex-basis: $toast-max-width;
5
+ max-width: $toast-max-width;
6
+ @include font-size($toast-font-size);
7
+ color: $toast-color;
8
+ background-color: $toast-background-color;
9
+ background-clip: padding-box;
10
+ border: $toast-border-width solid $toast-border-color;
11
+ box-shadow: $toast-box-shadow;
12
+ opacity: 0;
13
+ @include border-radius($toast-border-radius);
14
+
15
+ &:not(:last-child) {
16
+ margin-bottom: $toast-padding-x;
17
+ }
18
+
19
+ &.showing {
20
+ opacity: 1;
21
+ }
22
+
23
+ &.show {
24
+ display: block;
25
+ opacity: 1;
26
+ }
27
+
28
+ &.hide {
29
+ display: none;
30
+ }
31
+ }
32
+
33
+ .toast-header {
34
+ display: flex;
35
+ align-items: center;
36
+ padding: $toast-padding-y $toast-padding-x;
37
+ color: $toast-header-color;
38
+ background-color: $toast-header-background-color;
39
+ background-clip: padding-box;
40
+ border-bottom: $toast-border-width solid $toast-header-border-color;
41
+ @include border-top-radius(subtract($toast-border-radius, $toast-border-width));
42
+ }
43
+
44
+ .toast-body {
45
+ padding: $toast-padding-x; // apply to both vertical and horizontal
46
+ }
@@ -7,7 +7,7 @@
7
7
  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
8
8
  // So reset our font and text properties to avoid inheriting weird values.
9
9
  @include reset-text();
10
- font-size: $tooltip-font-size;
10
+ @include font-size($tooltip-font-size);
11
11
  // Allow breaking very long words so they don't overflow the tooltip's bounds
12
12
  word-wrap: break-word;
13
13
  opacity: 0;
@@ -37,7 +37,7 @@
37
37
 
38
38
  &::before {
39
39
  top: 0;
40
- border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
40
+ border-width: $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
41
41
  border-top-color: $tooltip-arrow-color;
42
42
  }
43
43
  }
@@ -53,7 +53,7 @@
53
53
 
54
54
  &::before {
55
55
  right: 0;
56
- border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
56
+ border-width: ($tooltip-arrow-width * .5) $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
57
57
  border-right-color: $tooltip-arrow-color;
58
58
  }
59
59
  }
@@ -67,7 +67,7 @@
67
67
 
68
68
  &::before {
69
69
  bottom: 0;
70
- border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
70
+ border-width: 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
71
71
  border-bottom-color: $tooltip-arrow-color;
72
72
  }
73
73
  }
@@ -83,7 +83,7 @@
83
83
 
84
84
  &::before {
85
85
  left: 0;
86
- border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
86
+ border-width: ($tooltip-arrow-width * .5) 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
87
87
  border-left-color: $tooltip-arrow-color;
88
88
  }
89
89
  }
@@ -1,30 +1,14 @@
1
- // stylelint-disable selector-no-qualifying-type
2
-
3
1
  .fade {
4
- opacity: 0;
5
2
  @include transition($transition-fade);
6
3
 
7
- &.show {
8
- opacity: 1;
4
+ &:not(.show) {
5
+ opacity: 0;
9
6
  }
10
7
  }
11
8
 
12
9
  .collapse {
13
- display: none;
14
- &.show {
15
- display: block;
16
- }
17
- }
18
-
19
- tr {
20
- &.collapse.show {
21
- display: table-row;
22
- }
23
- }
24
-
25
- tbody {
26
- &.collapse.show {
27
- display: table-row-group;
10
+ &:not(.show) {
11
+ display: none;
28
12
  }
29
13
  }
30
14
 
@@ -33,4 +17,10 @@ tbody {
33
17
  height: 0;
34
18
  overflow: hidden;
35
19
  @include transition($transition-collapse);
20
+
21
+ &.width {
22
+ width: 0;
23
+ height: auto;
24
+ @include transition($transition-collapse-width);
25
+ }
36
26
  }