bootstrap 4.6.2 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -1
  3. data/README.md +7 -4
  4. data/assets/javascripts/bootstrap/alert.js +192 -115
  5. data/assets/javascripts/bootstrap/base-component.js +63 -0
  6. data/assets/javascripts/bootstrap/button.js +96 -179
  7. data/assets/javascripts/bootstrap/carousel.js +472 -359
  8. data/assets/javascripts/bootstrap/collapse.js +379 -225
  9. data/assets/javascripts/bootstrap/dom/data.js +68 -0
  10. data/assets/javascripts/bootstrap/dom/event-handler.js +322 -0
  11. data/assets/javascripts/bootstrap/dom/manipulator.js +88 -0
  12. data/assets/javascripts/bootstrap/dom/selector-engine.js +85 -0
  13. data/assets/javascripts/bootstrap/dropdown.js +472 -355
  14. data/assets/javascripts/bootstrap/modal.js +612 -438
  15. data/assets/javascripts/bootstrap/offcanvas.js +671 -0
  16. data/assets/javascripts/bootstrap/popover.js +138 -167
  17. data/assets/javascripts/bootstrap/scrollspy.js +250 -192
  18. data/assets/javascripts/bootstrap/tab.js +241 -144
  19. data/assets/javascripts/bootstrap/toast.js +223 -157
  20. data/assets/javascripts/bootstrap/tooltip.js +651 -487
  21. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  22. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  23. data/assets/javascripts/bootstrap-sprockets.js +8 -1
  24. data/assets/javascripts/bootstrap.js +3277 -2590
  25. data/assets/javascripts/bootstrap.min.js +3 -3
  26. data/assets/stylesheets/_bootstrap-grid.scss +53 -18
  27. data/assets/stylesheets/_bootstrap-reboot.scss +6 -3
  28. data/assets/stylesheets/_bootstrap.scss +18 -10
  29. data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
  30. data/assets/stylesheets/bootstrap/_alert.scss +15 -10
  31. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  32. data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -17
  33. data/assets/stylesheets/bootstrap/_button-group.scss +21 -45
  34. data/assets/stylesheets/bootstrap/_buttons.scss +29 -60
  35. data/assets/stylesheets/bootstrap/_card.scss +20 -91
  36. data/assets/stylesheets/bootstrap/_carousel.scss +64 -35
  37. data/assets/stylesheets/bootstrap/_close.scss +30 -30
  38. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  39. data/assets/stylesheets/bootstrap/_dropdown.scss +84 -36
  40. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  41. data/assets/stylesheets/bootstrap/_functions.scss +84 -69
  42. data/assets/stylesheets/bootstrap/_grid.scss +3 -54
  43. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  44. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  45. data/assets/stylesheets/bootstrap/_list-group.scss +28 -8
  46. data/assets/stylesheets/bootstrap/_mixins.scss +8 -13
  47. data/assets/stylesheets/bootstrap/_modal.scss +45 -57
  48. data/assets/stylesheets/bootstrap/_nav.scss +20 -6
  49. data/assets/stylesheets/bootstrap/_navbar.scss +45 -71
  50. data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
  51. data/assets/stylesheets/bootstrap/_pagination.scss +10 -20
  52. data/assets/stylesheets/bootstrap/_popover.scss +24 -36
  53. data/assets/stylesheets/bootstrap/_progress.scss +5 -4
  54. data/assets/stylesheets/bootstrap/_reboot.scss +316 -179
  55. data/assets/stylesheets/bootstrap/_root.scss +5 -8
  56. data/assets/stylesheets/bootstrap/_spinners.scss +11 -7
  57. data/assets/stylesheets/bootstrap/_tables.scss +79 -114
  58. data/assets/stylesheets/bootstrap/_toasts.scss +20 -15
  59. data/assets/stylesheets/bootstrap/_tooltip.scss +21 -21
  60. data/assets/stylesheets/bootstrap/_transitions.scss +2 -7
  61. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  62. data/assets/stylesheets/bootstrap/_utilities.scss +594 -18
  63. data/assets/stylesheets/bootstrap/_variables.scss +800 -485
  64. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  65. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  66. data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
  67. data/assets/stylesheets/bootstrap/forms/_form-control.scss +219 -0
  68. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  69. data/assets/stylesheets/bootstrap/forms/_form-select.scss +67 -0
  70. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  71. data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
  72. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  73. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  74. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  75. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  76. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  77. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  78. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  79. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  80. data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -5
  81. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +10 -8
  82. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  83. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
  84. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +71 -48
  85. data/assets/stylesheets/bootstrap/mixins/_caret.scss +10 -8
  86. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  87. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  88. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  89. data/assets/stylesheets/bootstrap/mixins/_forms.scss +39 -97
  90. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  91. data/assets/stylesheets/bootstrap/mixins/_grid.scss +90 -34
  92. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  93. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
  94. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  95. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +17 -8
  96. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
  97. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  98. data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
  99. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -0
  100. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  101. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  102. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +214 -130
  103. data/bootstrap.gemspec +1 -3
  104. data/lib/bootstrap/version.rb +2 -2
  105. data/tasks/updater/js.rb +19 -16
  106. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  107. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  108. data/test/dummy_rails/app/views/pages/root.html +89 -0
  109. data/test/dummy_rails/config/application.rb +0 -3
  110. data/test/gemfiles/rails_6_1.gemfile +7 -0
  111. metadata +45 -73
  112. data/assets/javascripts/bootstrap/util.js +0 -189
  113. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  114. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
  115. data/assets/stylesheets/bootstrap/_input-group.scss +0 -211
  116. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  117. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  118. data/assets/stylesheets/bootstrap/_print.scss +0 -132
  119. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  120. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  121. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  122. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  123. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  124. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  125. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  126. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  127. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  128. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  129. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  130. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  131. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  132. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  133. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  134. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  135. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  136. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  137. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  138. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  139. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  140. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  141. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  142. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  143. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  144. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  145. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  146. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  147. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
  148. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
  149. /data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
@@ -1,19 +1,16 @@
1
1
  :root {
2
2
  // Custom variable values only support SassScript inside `#{}`.
3
3
  @each $color, $value in $colors {
4
- --#{$color}: #{$value};
4
+ --#{$variable-prefix}#{$color}: #{$value};
5
5
  }
6
6
 
7
7
  @each $color, $value in $theme-colors {
8
- --#{$color}: #{$value};
9
- }
10
-
11
- @each $bp, $value in $grid-breakpoints {
12
- --breakpoint-#{$bp}: #{$value};
8
+ --#{$variable-prefix}#{$color}: #{$value};
13
9
  }
14
10
 
15
11
  // Use `inspect` for lists so that quoted items keep the quotes.
16
12
  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
17
- --font-family-sans-serif: #{inspect($font-family-sans-serif)};
18
- --font-family-monospace: #{inspect($font-family-monospace)};
13
+ --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};
14
+ --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};
15
+ --#{$variable-prefix}gradient: #{$gradient};
19
16
  }
@@ -2,20 +2,22 @@
2
2
  // Rotating border
3
3
  //
4
4
 
5
+ // scss-docs-start spinner-border-keyframes
5
6
  @keyframes spinner-border {
6
- to { transform: rotate(360deg); }
7
+ to { transform: rotate(360deg) #{"/* rtl:ignore */"}; }
7
8
  }
9
+ // scss-docs-end spinner-border-keyframes
8
10
 
9
11
  .spinner-border {
10
12
  display: inline-block;
11
13
  width: $spinner-width;
12
14
  height: $spinner-height;
13
15
  vertical-align: $spinner-vertical-align;
14
- border: $spinner-border-width solid currentcolor;
16
+ border: $spinner-border-width solid currentColor;
15
17
  border-right-color: transparent;
16
18
  // stylelint-disable-next-line property-disallowed-list
17
19
  border-radius: 50%;
18
- animation: .75s linear infinite spinner-border;
20
+ animation: $spinner-animation-speed linear infinite spinner-border;
19
21
  }
20
22
 
21
23
  .spinner-border-sm {
@@ -28,6 +30,7 @@
28
30
  // Growing circle
29
31
  //
30
32
 
33
+ // scss-docs-start spinner-grow-keyframes
31
34
  @keyframes spinner-grow {
32
35
  0% {
33
36
  transform: scale(0);
@@ -37,17 +40,18 @@
37
40
  transform: none;
38
41
  }
39
42
  }
43
+ // scss-docs-end spinner-grow-keyframes
40
44
 
41
45
  .spinner-grow {
42
46
  display: inline-block;
43
47
  width: $spinner-width;
44
48
  height: $spinner-height;
45
49
  vertical-align: $spinner-vertical-align;
46
- background-color: currentcolor;
50
+ background-color: currentColor;
47
51
  // stylelint-disable-next-line property-disallowed-list
48
52
  border-radius: 50%;
49
53
  opacity: 0;
50
- animation: .75s linear infinite spinner-grow;
54
+ animation: $spinner-animation-speed linear infinite spinner-grow;
51
55
  }
52
56
 
53
57
  .spinner-grow-sm {
@@ -55,11 +59,11 @@
55
59
  height: $spinner-height-sm;
56
60
  }
57
61
 
58
- @if $enable-prefers-reduced-motion-media-query {
62
+ @if $enable-reduced-motion {
59
63
  @media (prefers-reduced-motion: reduce) {
60
64
  .spinner-border,
61
65
  .spinner-grow {
62
- animation-duration: 1.5s;
66
+ animation-duration: $spinner-animation-speed * 2;
63
67
  }
64
68
  }
65
69
  }
@@ -3,37 +3,64 @@
3
3
  //
4
4
 
5
5
  .table {
6
+ --#{$variable-prefix}table-bg: #{$table-bg};
7
+ --#{$variable-prefix}table-striped-color: #{$table-striped-color};
8
+ --#{$variable-prefix}table-striped-bg: #{$table-striped-bg};
9
+ --#{$variable-prefix}table-active-color: #{$table-active-color};
10
+ --#{$variable-prefix}table-active-bg: #{$table-active-bg};
11
+ --#{$variable-prefix}table-hover-color: #{$table-hover-color};
12
+ --#{$variable-prefix}table-hover-bg: #{$table-hover-bg};
13
+
6
14
  width: 100%;
7
15
  margin-bottom: $spacer;
8
16
  color: $table-color;
9
- background-color: $table-bg; // Reset for nesting within parents with `background-color`.
17
+ vertical-align: $table-cell-vertical-align;
18
+ border-color: $table-border-color;
19
+
20
+ // Target th & td
21
+ // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.
22
+ // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).
23
+ // Another advantage is that this generates less code and makes the selector less specific making it easier to override.
24
+ // stylelint-disable-next-line selector-max-universal
25
+ > :not(caption) > * > * {
26
+ padding: $table-cell-padding-y $table-cell-padding-x;
27
+ background-color: var(--#{$variable-prefix}table-bg);
28
+ border-bottom-width: $table-border-width;
29
+ box-shadow: inset 0 0 0 9999px var(--#{$variable-prefix}table-accent-bg);
30
+ }
10
31
 
11
- th,
12
- td {
13
- padding: $table-cell-padding;
14
- vertical-align: top;
15
- border-top: $table-border-width solid $table-border-color;
32
+ > tbody {
33
+ vertical-align: inherit;
16
34
  }
17
35
 
18
- thead th {
36
+ > thead {
19
37
  vertical-align: bottom;
20
- border-bottom: (2 * $table-border-width) solid $table-border-color;
21
38
  }
22
39
 
23
- tbody + tbody {
24
- border-top: (2 * $table-border-width) solid $table-border-color;
40
+ // Highlight border color between thead, tbody and tfoot.
41
+ > :not(:last-child) > :last-child > * {
42
+ border-bottom-color: $table-group-separator-color;
25
43
  }
26
44
  }
27
45
 
28
46
 
47
+ //
48
+ // Change placement of captions with a class
49
+ //
50
+
51
+ .caption-top {
52
+ caption-side: top;
53
+ }
54
+
55
+
29
56
  //
30
57
  // Condensed table w/ half padding
31
58
  //
32
59
 
33
60
  .table-sm {
34
- th,
35
- td {
36
- padding: $table-cell-padding-sm;
61
+ // stylelint-disable-next-line selector-max-universal
62
+ > :not(caption) > * > * {
63
+ padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;
37
64
  }
38
65
  }
39
66
 
@@ -41,29 +68,27 @@
41
68
  // Border versions
42
69
  //
43
70
  // Add or remove borders all around the table and between all the columns.
71
+ //
72
+ // When borders are added on all sides of the cells, the corners can render odd when
73
+ // these borders do not have the same color or if they are semi-transparent.
74
+ // Therefor we add top and border bottoms to the `tr`s and left and right borders
75
+ // to the `td`s or `th`s
44
76
 
45
77
  .table-bordered {
46
- border: $table-border-width solid $table-border-color;
78
+ > :not(caption) > * {
79
+ border-width: $table-border-width 0;
47
80
 
48
- th,
49
- td {
50
- border: $table-border-width solid $table-border-color;
51
- }
52
-
53
- thead {
54
- th,
55
- td {
56
- border-bottom-width: 2 * $table-border-width;
81
+ // stylelint-disable-next-line selector-max-universal
82
+ > * {
83
+ border-width: 0 $table-border-width;
57
84
  }
58
85
  }
59
86
  }
60
87
 
61
88
  .table-borderless {
62
- th,
63
- td,
64
- thead th,
65
- tbody + tbody {
66
- border: 0;
89
+ // stylelint-disable-next-line selector-max-universal
90
+ > :not(caption) > * > * {
91
+ border-bottom-width: 0;
67
92
  }
68
93
  }
69
94
 
@@ -72,114 +97,54 @@
72
97
  // Default zebra-stripe styles (alternating gray and transparent backgrounds)
73
98
 
74
99
  .table-striped {
75
- tbody tr:nth-of-type(#{$table-striped-order}) {
76
- background-color: $table-accent-bg;
100
+ > tbody > tr:nth-of-type(#{$table-striped-order}) {
101
+ --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-striped-bg);
102
+ color: var(--#{$variable-prefix}table-striped-color);
77
103
  }
78
104
  }
79
105
 
106
+ // Active table
107
+ //
108
+ // The `.table-active` class can be added to highlight rows or cells
109
+
110
+ .table-active {
111
+ --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-active-bg);
112
+ color: var(--#{$variable-prefix}table-active-color);
113
+ }
80
114
 
81
115
  // Hover effect
82
116
  //
83
117
  // Placed here since it has to come after the potential zebra striping
84
118
 
85
119
  .table-hover {
86
- tbody tr {
87
- @include hover() {
88
- color: $table-hover-color;
89
- background-color: $table-hover-bg;
90
- }
120
+ > tbody > tr:hover {
121
+ --#{$variable-prefix}table-accent-bg: var(--#{$variable-prefix}table-hover-bg);
122
+ color: var(--#{$variable-prefix}table-hover-color);
91
123
  }
92
124
  }
93
125
 
94
126
 
95
- // Table backgrounds
96
- //
97
- // Exact selectors below required to override `.table-striped` and prevent
98
- // inheritance to nested tables.
99
-
100
- @each $color, $value in $theme-colors {
101
- @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));
102
- }
103
-
104
- @include table-row-variant(active, $table-active-bg);
105
-
106
-
107
- // Dark styles
127
+ // Table variants
108
128
  //
109
- // Same table markup, but inverted color scheme: dark background and light text.
110
-
111
- // stylelint-disable-next-line no-duplicate-selectors
112
- .table {
113
- .thead-dark {
114
- th {
115
- color: $table-dark-color;
116
- background-color: $table-dark-bg;
117
- border-color: $table-dark-border-color;
118
- }
119
- }
129
+ // Table variants set the table cell backgrounds, border colors
130
+ // and the colors of the striped, hovered & active tables
120
131
 
121
- .thead-light {
122
- th {
123
- color: $table-head-color;
124
- background-color: $table-head-bg;
125
- border-color: $table-border-color;
126
- }
127
- }
132
+ @each $color, $value in $table-variants {
133
+ @include table-variant($color, $value);
128
134
  }
129
135
 
130
- .table-dark {
131
- color: $table-dark-color;
132
- background-color: $table-dark-bg;
133
-
134
- th,
135
- td,
136
- thead th {
137
- border-color: $table-dark-border-color;
138
- }
139
-
140
- &.table-bordered {
141
- border: 0;
142
- }
143
-
144
- &.table-striped {
145
- tbody tr:nth-of-type(#{$table-striped-order}) {
146
- background-color: $table-dark-accent-bg;
147
- }
148
- }
149
-
150
- &.table-hover {
151
- tbody tr {
152
- @include hover() {
153
- color: $table-dark-hover-color;
154
- background-color: $table-dark-hover-bg;
155
- }
156
- }
157
- }
158
- }
159
-
160
-
161
136
  // Responsive tables
162
137
  //
163
138
  // Generate series of `.table-responsive-*` classes for configuring the screen
164
139
  // size of where your table will overflow.
165
140
 
166
- .table-responsive {
167
- @each $breakpoint in map-keys($grid-breakpoints) {
168
- $next: breakpoint-next($breakpoint, $grid-breakpoints);
169
- $infix: breakpoint-infix($next, $grid-breakpoints);
170
-
171
- &#{$infix} {
172
- @include media-breakpoint-down($breakpoint) {
173
- display: block;
174
- width: 100%;
175
- overflow-x: auto;
176
- -webkit-overflow-scrolling: touch;
177
-
178
- // Prevent double border on horizontal scroll due to use of `display: block;`
179
- > .table-bordered {
180
- border: 0;
181
- }
182
- }
141
+ @each $breakpoint in map-keys($grid-breakpoints) {
142
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
143
+
144
+ @include media-breakpoint-down($breakpoint) {
145
+ .table-responsive#{$infix} {
146
+ overflow-x: auto;
147
+ -webkit-overflow-scrolling: touch;
183
148
  }
184
149
  }
185
150
  }
@@ -1,32 +1,31 @@
1
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;
2
+ width: $toast-max-width;
3
+ max-width: 100%;
6
4
  @include font-size($toast-font-size);
7
5
  color: $toast-color;
6
+ pointer-events: auto;
8
7
  background-color: $toast-background-color;
9
8
  background-clip: padding-box;
10
9
  border: $toast-border-width solid $toast-border-color;
11
10
  box-shadow: $toast-box-shadow;
12
- opacity: 0;
13
11
  @include border-radius($toast-border-radius);
14
12
 
15
- &:not(:last-child) {
16
- margin-bottom: $toast-padding-x;
13
+ &:not(.showing):not(.show) {
14
+ opacity: 0;
17
15
  }
18
16
 
19
- &.showing {
20
- opacity: 1;
17
+ &.hide {
18
+ display: none;
21
19
  }
20
+ }
22
21
 
23
- &.show {
24
- display: block;
25
- opacity: 1;
26
- }
22
+ .toast-container {
23
+ width: max-content;
24
+ max-width: 100%;
25
+ pointer-events: none;
27
26
 
28
- &.hide {
29
- display: none;
27
+ > :not(:last-child) {
28
+ margin-bottom: $toast-spacing;
30
29
  }
31
30
  }
32
31
 
@@ -39,8 +38,14 @@
39
38
  background-clip: padding-box;
40
39
  border-bottom: $toast-border-width solid $toast-header-border-color;
41
40
  @include border-top-radius(subtract($toast-border-radius, $toast-border-width));
41
+
42
+ .btn-close {
43
+ margin-right: $toast-padding-x / -2;
44
+ margin-left: $toast-padding-x;
45
+ }
42
46
  }
43
47
 
44
48
  .toast-body {
45
49
  padding: $toast-padding-x; // apply to both vertical and horizontal
50
+ word-wrap: break-word;
46
51
  }
@@ -14,7 +14,7 @@
14
14
 
15
15
  &.show { opacity: $tooltip-opacity; }
16
16
 
17
- .arrow {
17
+ .tooltip-arrow {
18
18
  position: absolute;
19
19
  display: block;
20
20
  width: $tooltip-arrow-width;
@@ -32,28 +32,28 @@
32
32
  .bs-tooltip-top {
33
33
  padding: $tooltip-arrow-height 0;
34
34
 
35
- .arrow {
35
+ .tooltip-arrow {
36
36
  bottom: 0;
37
37
 
38
38
  &::before {
39
- top: 0;
40
- border-width: $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
39
+ top: -1px;
40
+ border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
41
41
  border-top-color: $tooltip-arrow-color;
42
42
  }
43
43
  }
44
44
  }
45
45
 
46
- .bs-tooltip-right {
46
+ .bs-tooltip-end {
47
47
  padding: 0 $tooltip-arrow-height;
48
48
 
49
- .arrow {
49
+ .tooltip-arrow {
50
50
  left: 0;
51
51
  width: $tooltip-arrow-height;
52
52
  height: $tooltip-arrow-width;
53
53
 
54
54
  &::before {
55
- right: 0;
56
- border-width: ($tooltip-arrow-width * .5) $tooltip-arrow-height ($tooltip-arrow-width * .5) 0;
55
+ right: -1px;
56
+ border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
57
57
  border-right-color: $tooltip-arrow-color;
58
58
  }
59
59
  }
@@ -62,45 +62,45 @@
62
62
  .bs-tooltip-bottom {
63
63
  padding: $tooltip-arrow-height 0;
64
64
 
65
- .arrow {
65
+ .tooltip-arrow {
66
66
  top: 0;
67
67
 
68
68
  &::before {
69
- bottom: 0;
70
- border-width: 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
69
+ bottom: -1px;
70
+ border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
71
71
  border-bottom-color: $tooltip-arrow-color;
72
72
  }
73
73
  }
74
74
  }
75
75
 
76
- .bs-tooltip-left {
76
+ .bs-tooltip-start {
77
77
  padding: 0 $tooltip-arrow-height;
78
78
 
79
- .arrow {
79
+ .tooltip-arrow {
80
80
  right: 0;
81
81
  width: $tooltip-arrow-height;
82
82
  height: $tooltip-arrow-width;
83
83
 
84
84
  &::before {
85
- left: 0;
86
- border-width: ($tooltip-arrow-width * .5) 0 ($tooltip-arrow-width * .5) $tooltip-arrow-height;
85
+ left: -1px;
86
+ border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
87
87
  border-left-color: $tooltip-arrow-color;
88
88
  }
89
89
  }
90
90
  }
91
91
 
92
92
  .bs-tooltip-auto {
93
- &[x-placement^="top"] {
93
+ &[data-popper-placement^="top"] {
94
94
  @extend .bs-tooltip-top;
95
95
  }
96
- &[x-placement^="right"] {
97
- @extend .bs-tooltip-right;
96
+ &[data-popper-placement^="right"] {
97
+ @extend .bs-tooltip-end;
98
98
  }
99
- &[x-placement^="bottom"] {
99
+ &[data-popper-placement^="bottom"] {
100
100
  @extend .bs-tooltip-bottom;
101
101
  }
102
- &[x-placement^="left"] {
103
- @extend .bs-tooltip-left;
102
+ &[data-popper-placement^="left"] {
103
+ @extend .bs-tooltip-start;
104
104
  }
105
105
  }
106
106
 
@@ -6,6 +6,7 @@
6
6
  }
7
7
  }
8
8
 
9
+ // scss-docs-start collapse-classes
9
10
  .collapse {
10
11
  &:not(.show) {
11
12
  display: none;
@@ -13,14 +14,8 @@
13
14
  }
14
15
 
15
16
  .collapsing {
16
- position: relative;
17
17
  height: 0;
18
18
  overflow: hidden;
19
19
  @include transition($transition-collapse);
20
-
21
- &.width {
22
- width: 0;
23
- height: auto;
24
- @include transition($transition-collapse-width);
25
- }
26
20
  }
21
+ // scss-docs-end collapse-classes
@@ -1,82 +1,56 @@
1
- // stylelint-disable selector-list-comma-newline-after
2
-
3
1
  //
4
2
  // Headings
5
3
  //
6
-
7
- h1, h2, h3, h4, h5, h6,
8
- .h1, .h2, .h3, .h4, .h5, .h6 {
9
- margin-bottom: $headings-margin-bottom;
10
- font-family: $headings-font-family;
11
- font-weight: $headings-font-weight;
12
- line-height: $headings-line-height;
13
- color: $headings-color;
4
+ .h1 {
5
+ @extend h1;
14
6
  }
15
7
 
16
- h1, .h1 { @include font-size($h1-font-size); }
17
- h2, .h2 { @include font-size($h2-font-size); }
18
- h3, .h3 { @include font-size($h3-font-size); }
19
- h4, .h4 { @include font-size($h4-font-size); }
20
- h5, .h5 { @include font-size($h5-font-size); }
21
- h6, .h6 { @include font-size($h6-font-size); }
22
-
23
- .lead {
24
- @include font-size($lead-font-size);
25
- font-weight: $lead-font-weight;
8
+ .h2 {
9
+ @extend h2;
26
10
  }
27
11
 
28
- // Type display classes
29
- .display-1 {
30
- @include font-size($display1-size);
31
- font-weight: $display1-weight;
32
- line-height: $display-line-height;
12
+ .h3 {
13
+ @extend h3;
33
14
  }
34
- .display-2 {
35
- @include font-size($display2-size);
36
- font-weight: $display2-weight;
37
- line-height: $display-line-height;
15
+
16
+ .h4 {
17
+ @extend h4;
38
18
  }
39
- .display-3 {
40
- @include font-size($display3-size);
41
- font-weight: $display3-weight;
42
- line-height: $display-line-height;
19
+
20
+ .h5 {
21
+ @extend h5;
43
22
  }
44
- .display-4 {
45
- @include font-size($display4-size);
46
- font-weight: $display4-weight;
47
- line-height: $display-line-height;
23
+
24
+ .h6 {
25
+ @extend h6;
48
26
  }
49
27
 
50
28
 
51
- //
52
- // Horizontal rules
53
- //
54
-
55
- hr {
56
- margin-top: $hr-margin-y;
57
- margin-bottom: $hr-margin-y;
58
- border: 0;
59
- border-top: $hr-border-width solid $hr-border-color;
29
+ .lead {
30
+ @include font-size($lead-font-size);
31
+ font-weight: $lead-font-weight;
60
32
  }
61
33
 
34
+ // Type display classes
35
+ @each $display, $font-size in $display-font-sizes {
36
+ .display-#{$display} {
37
+ @include font-size($font-size);
38
+ font-weight: $display-font-weight;
39
+ line-height: $display-line-height;
40
+ }
41
+ }
62
42
 
63
43
  //
64
44
  // Emphasis
65
45
  //
66
-
67
- small,
68
46
  .small {
69
- @include font-size($small-font-size);
70
- font-weight: $font-weight-normal;
47
+ @extend small;
71
48
  }
72
49
 
73
- mark,
74
50
  .mark {
75
- padding: $mark-padding;
76
- background-color: $mark-bg;
51
+ @extend mark;
77
52
  }
78
53
 
79
-
80
54
  //
81
55
  // Lists
82
56
  //
@@ -104,20 +78,25 @@ mark,
104
78
 
105
79
  // Builds on `abbr`
106
80
  .initialism {
107
- @include font-size(90%);
81
+ @include font-size($initialism-font-size);
108
82
  text-transform: uppercase;
109
83
  }
110
84
 
111
85
  // Blockquotes
112
86
  .blockquote {
113
- margin-bottom: $spacer;
87
+ margin-bottom: $blockquote-margin-y;
114
88
  @include font-size($blockquote-font-size);
89
+
90
+ > :last-child {
91
+ margin-bottom: 0;
92
+ }
115
93
  }
116
94
 
117
95
  .blockquote-footer {
118
- display: block;
119
- @include font-size($blockquote-small-font-size);
120
- color: $blockquote-small-color;
96
+ margin-top: -$blockquote-margin-y;
97
+ margin-bottom: $blockquote-margin-y;
98
+ @include font-size($blockquote-footer-font-size);
99
+ color: $blockquote-footer-color;
121
100
 
122
101
  &::before {
123
102
  content: "\2014\00A0"; // em dash, nbsp