bootstrap 4.6.0 → 5.0.0.beta2

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 (145) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -1
  3. data/README.md +7 -4
  4. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  5. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  6. data/assets/javascripts/bootstrap-sprockets.js +14 -8
  7. data/assets/javascripts/bootstrap.js +2152 -1633
  8. data/assets/javascripts/bootstrap.min.js +2 -2
  9. data/assets/javascripts/bootstrap/alert.js +179 -64
  10. data/assets/javascripts/bootstrap/base-component.js +75 -0
  11. data/assets/javascripts/bootstrap/button.js +94 -143
  12. data/assets/javascripts/bootstrap/carousel.js +386 -202
  13. data/assets/javascripts/bootstrap/collapse.js +349 -132
  14. data/assets/javascripts/bootstrap/dom/data.js +81 -0
  15. data/assets/javascripts/bootstrap/dom/event-handler.js +310 -0
  16. data/assets/javascripts/bootstrap/dom/manipulator.js +86 -0
  17. data/assets/javascripts/bootstrap/dom/selector-engine.js +93 -0
  18. data/assets/javascripts/bootstrap/dropdown.js +387 -224
  19. data/assets/javascripts/bootstrap/modal.js +391 -220
  20. data/assets/javascripts/bootstrap/popover.js +94 -49
  21. data/assets/javascripts/bootstrap/scrollspy.js +212 -80
  22. data/assets/javascripts/bootstrap/tab.js +198 -79
  23. data/assets/javascripts/bootstrap/toast.js +211 -78
  24. data/assets/javascripts/bootstrap/tooltip.js +558 -300
  25. data/assets/stylesheets/_bootstrap-grid.scss +51 -16
  26. data/assets/stylesheets/_bootstrap-reboot.scss +4 -1
  27. data/assets/stylesheets/_bootstrap.scss +15 -8
  28. data/assets/stylesheets/bootstrap/_accordion.scss +126 -0
  29. data/assets/stylesheets/bootstrap/_alert.scss +15 -10
  30. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  31. data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -17
  32. data/assets/stylesheets/bootstrap/_button-group.scss +21 -45
  33. data/assets/stylesheets/bootstrap/_buttons.scss +27 -60
  34. data/assets/stylesheets/bootstrap/_card.scss +21 -92
  35. data/assets/stylesheets/bootstrap/_carousel.scss +65 -33
  36. data/assets/stylesheets/bootstrap/_close.scss +30 -30
  37. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  38. data/assets/stylesheets/bootstrap/_dropdown.scss +95 -38
  39. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  40. data/assets/stylesheets/bootstrap/_functions.scss +84 -23
  41. data/assets/stylesheets/bootstrap/_grid.scss +3 -54
  42. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  43. data/assets/stylesheets/bootstrap/_list-group.scss +17 -8
  44. data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
  45. data/assets/stylesheets/bootstrap/_modal.scss +41 -46
  46. data/assets/stylesheets/bootstrap/_nav.scss +16 -4
  47. data/assets/stylesheets/bootstrap/_navbar.scss +43 -71
  48. data/assets/stylesheets/bootstrap/_pagination.scss +10 -20
  49. data/assets/stylesheets/bootstrap/_popover.scss +15 -27
  50. data/assets/stylesheets/bootstrap/_progress.scss +2 -4
  51. data/assets/stylesheets/bootstrap/_reboot.scss +314 -163
  52. data/assets/stylesheets/bootstrap/_root.scss +5 -8
  53. data/assets/stylesheets/bootstrap/_spinners.scss +5 -5
  54. data/assets/stylesheets/bootstrap/_tables.scss +79 -114
  55. data/assets/stylesheets/bootstrap/_toasts.scss +20 -15
  56. data/assets/stylesheets/bootstrap/_tooltip.scss +17 -17
  57. data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
  58. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  59. data/assets/stylesheets/bootstrap/_utilities.scss +566 -18
  60. data/assets/stylesheets/bootstrap/_variables.scss +673 -463
  61. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  62. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  63. data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
  64. data/assets/stylesheets/bootstrap/forms/_form-control.scss +223 -0
  65. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  66. data/assets/stylesheets/bootstrap/forms/_form-select.scss +67 -0
  67. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  68. data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
  69. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  70. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  71. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  72. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  73. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  74. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  75. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  76. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  77. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  78. data/assets/stylesheets/bootstrap/mixins/_alert.scss +1 -5
  79. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +8 -8
  80. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  81. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
  82. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +65 -47
  83. data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -8
  84. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  85. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  86. data/assets/stylesheets/bootstrap/mixins/_forms.scss +27 -88
  87. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  88. data/assets/stylesheets/bootstrap/mixins/_grid.scss +83 -32
  89. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  90. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -2
  91. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  92. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
  93. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  94. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  95. data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
  96. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -0
  97. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  98. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  99. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
  100. data/bootstrap.gemspec +1 -3
  101. data/lib/bootstrap/version.rb +2 -2
  102. data/tasks/updater/js.rb +20 -5
  103. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  104. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  105. data/test/dummy_rails/app/views/pages/root.html +89 -0
  106. data/test/dummy_rails/config/application.rb +0 -3
  107. data/test/gemfiles/rails_6_1.gemfile +7 -0
  108. metadata +44 -75
  109. data/assets/javascripts/bootstrap/util.js +0 -192
  110. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  111. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
  112. data/assets/stylesheets/bootstrap/_input-group.scss +0 -208
  113. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  114. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  115. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  116. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  117. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  118. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  119. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  120. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  121. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  122. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  123. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  124. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  125. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  126. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  127. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  128. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  129. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  130. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  131. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  132. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  133. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  134. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  135. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  136. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  137. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  138. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  139. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  140. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  141. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  142. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  143. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  144. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
  145. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
@@ -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
  }
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  @keyframes spinner-border {
6
- to { transform: rotate(360deg); }
6
+ to { transform: rotate(360deg) #{"/* rtl:ignore */"}; }
7
7
  }
8
8
 
9
9
  .spinner-border {
@@ -15,7 +15,7 @@
15
15
  border-right-color: transparent;
16
16
  // stylelint-disable-next-line property-disallowed-list
17
17
  border-radius: 50%;
18
- animation: .75s linear infinite spinner-border;
18
+ animation: $spinner-animation-speed linear infinite spinner-border;
19
19
  }
20
20
 
21
21
  .spinner-border-sm {
@@ -47,7 +47,7 @@
47
47
  // stylelint-disable-next-line property-disallowed-list
48
48
  border-radius: 50%;
49
49
  opacity: 0;
50
- animation: .75s linear infinite spinner-grow;
50
+ animation: $spinner-animation-speed linear infinite spinner-grow;
51
51
  }
52
52
 
53
53
  .spinner-grow-sm {
@@ -55,11 +55,11 @@
55
55
  height: $spinner-height-sm;
56
56
  }
57
57
 
58
- @if $enable-prefers-reduced-motion-media-query {
58
+ @if $enable-reduced-motion {
59
59
  @media (prefers-reduced-motion: reduce) {
60
60
  .spinner-border,
61
61
  .spinner-grow {
62
- animation-duration: 1.5s;
62
+ animation-duration: $spinner-animation-speed * 2;
63
63
  }
64
64
  }
65
65
  }
@@ -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,27 +32,27 @@
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;
39
+ top: -1px;
40
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;
55
+ right: -1px;
56
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
  }
@@ -62,27 +62,27 @@
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;
69
+ bottom: -1px;
70
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;
85
+ left: -1px;
86
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
  }
@@ -90,17 +90,17 @@
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