bootstrap 4.1.3 → 5.0.0

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 (156) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +17 -2
  3. data/CHANGELOG.md +2 -14
  4. data/README.md +7 -4
  5. data/Rakefile +2 -2
  6. data/assets/javascripts/bootstrap/alert.js +226 -166
  7. data/assets/javascripts/bootstrap/base-component.js +63 -0
  8. data/assets/javascripts/bootstrap/button.js +119 -165
  9. data/assets/javascripts/bootstrap/carousel.js +634 -445
  10. data/assets/javascripts/bootstrap/collapse.js +447 -327
  11. data/assets/javascripts/bootstrap/dom/data.js +68 -0
  12. data/assets/javascripts/bootstrap/dom/event-handler.js +322 -0
  13. data/assets/javascripts/bootstrap/dom/manipulator.js +88 -0
  14. data/assets/javascripts/bootstrap/dom/selector-engine.js +85 -0
  15. data/assets/javascripts/bootstrap/dropdown.js +550 -425
  16. data/assets/javascripts/bootstrap/modal.js +695 -492
  17. data/assets/javascripts/bootstrap/offcanvas.js +671 -0
  18. data/assets/javascripts/bootstrap/popover.js +167 -217
  19. data/assets/javascripts/bootstrap/scrollspy.js +319 -302
  20. data/assets/javascripts/bootstrap/tab.js +303 -221
  21. data/assets/javascripts/bootstrap/toast.js +333 -0
  22. data/assets/javascripts/bootstrap/tooltip.js +896 -577
  23. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  24. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  25. data/assets/javascripts/bootstrap-sprockets.js +15 -7
  26. data/assets/javascripts/bootstrap.js +4262 -3163
  27. data/assets/javascripts/bootstrap.min.js +4 -4
  28. data/assets/stylesheets/_bootstrap-grid.scss +54 -21
  29. data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
  30. data/assets/stylesheets/_bootstrap.scss +21 -11
  31. data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
  32. data/assets/stylesheets/bootstrap/_alert.scss +15 -9
  33. data/assets/stylesheets/bootstrap/_badge.scss +3 -21
  34. data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -18
  35. data/assets/stylesheets/bootstrap/_button-group.scss +29 -62
  36. data/assets/stylesheets/bootstrap/_buttons.scss +33 -65
  37. data/assets/stylesheets/bootstrap/_card.scss +55 -141
  38. data/assets/stylesheets/bootstrap/_carousel.scss +94 -101
  39. data/assets/stylesheets/bootstrap/_close.scss +33 -28
  40. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  41. data/assets/stylesheets/bootstrap/_dropdown.scss +114 -40
  42. data/assets/stylesheets/bootstrap/_forms.scss +9 -333
  43. data/assets/stylesheets/bootstrap/_functions.scss +148 -29
  44. data/assets/stylesheets/bootstrap/_grid.scss +4 -34
  45. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  46. data/assets/stylesheets/bootstrap/_images.scss +4 -4
  47. data/assets/stylesheets/bootstrap/_list-group.scss +86 -27
  48. data/assets/stylesheets/bootstrap/_mixins.scss +17 -16
  49. data/assets/stylesheets/bootstrap/_modal.scss +90 -42
  50. data/assets/stylesheets/bootstrap/_nav.scss +31 -10
  51. data/assets/stylesheets/bootstrap/_navbar.scss +68 -61
  52. data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
  53. data/assets/stylesheets/bootstrap/_pagination.scss +13 -27
  54. data/assets/stylesheets/bootstrap/_popover.scss +63 -88
  55. data/assets/stylesheets/bootstrap/_progress.scss +20 -6
  56. data/assets/stylesheets/bootstrap/_reboot.scss +349 -211
  57. data/assets/stylesheets/bootstrap/_root.scss +5 -8
  58. data/assets/stylesheets/bootstrap/_spinners.scss +69 -0
  59. data/assets/stylesheets/bootstrap/_tables.scss +79 -116
  60. data/assets/stylesheets/bootstrap/_toasts.scss +51 -0
  61. data/assets/stylesheets/bootstrap/_tooltip.scss +18 -18
  62. data/assets/stylesheets/bootstrap/_transitions.scss +2 -3
  63. data/assets/stylesheets/bootstrap/_type.scss +42 -63
  64. data/assets/stylesheets/bootstrap/_utilities.scss +594 -15
  65. data/assets/stylesheets/bootstrap/_variables.scss +952 -440
  66. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  67. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  68. data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
  69. data/assets/stylesheets/bootstrap/forms/_form-control.scss +219 -0
  70. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  71. data/assets/stylesheets/bootstrap/forms/_form-select.scss +67 -0
  72. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  73. data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
  74. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  75. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  76. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  77. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  78. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  79. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  80. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  81. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  82. data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -5
  83. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +57 -14
  84. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +14 -1
  85. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +13 -9
  86. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +77 -53
  87. data/assets/stylesheets/bootstrap/mixins/_caret.scss +14 -16
  88. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  89. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  90. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  91. data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
  92. data/assets/stylesheets/bootstrap/mixins/_forms.scss +87 -97
  93. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  94. data/assets/stylesheets/bootstrap/mixins/_grid.scss +106 -33
  95. data/assets/stylesheets/bootstrap/mixins/_image.scss +0 -20
  96. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +5 -2
  97. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +18 -9
  98. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  99. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  100. data/assets/stylesheets/bootstrap/mixins/_transition.scss +19 -6
  101. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -0
  102. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  103. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  104. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +312 -0
  105. data/bootstrap.gemspec +7 -6
  106. data/lib/bootstrap/engine.rb +3 -0
  107. data/lib/bootstrap/version.rb +4 -2
  108. data/lib/bootstrap.rb +10 -7
  109. data/tasks/updater/js.rb +20 -5
  110. data/tasks/updater/network.rb +8 -2
  111. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  112. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  113. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  114. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  115. data/test/dummy_rails/app/views/pages/root.html +89 -0
  116. data/test/dummy_rails/config/application.rb +0 -3
  117. data/test/gemfiles/rails_6_0.gemfile +7 -0
  118. data/test/gemfiles/rails_6_1.gemfile +7 -0
  119. data/test/support/dummy_rails_integration.rb +3 -1
  120. data/test/test_helper.rb +18 -13
  121. metadata +64 -79
  122. data/assets/javascripts/bootstrap/util.js +0 -143
  123. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  124. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -433
  125. data/assets/stylesheets/bootstrap/_input-group.scss +0 -173
  126. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -16
  127. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  128. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  129. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -21
  130. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -12
  131. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -11
  132. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -67
  133. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  134. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  135. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -33
  136. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -6
  137. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -30
  138. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -14
  139. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -13
  140. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -7
  141. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  142. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  143. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -59
  144. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -38
  145. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -52
  146. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  147. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -9
  148. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -37
  149. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  150. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  151. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -12
  152. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -51
  153. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -58
  154. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -11
  155. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
  156. /data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
@@ -1,64 +1,49 @@
1
1
  .pagination {
2
2
  display: flex;
3
3
  @include list-unstyled();
4
- @include border-radius();
5
4
  }
6
5
 
7
6
  .page-link {
8
7
  position: relative;
9
8
  display: block;
10
- padding: $pagination-padding-y $pagination-padding-x;
11
- margin-left: -$pagination-border-width;
12
- line-height: $pagination-line-height;
13
9
  color: $pagination-color;
10
+ text-decoration: if($link-decoration == none, null, none);
14
11
  background-color: $pagination-bg;
15
12
  border: $pagination-border-width solid $pagination-border-color;
13
+ @include transition($pagination-transition);
16
14
 
17
15
  &:hover {
18
16
  z-index: 2;
19
17
  color: $pagination-hover-color;
20
- text-decoration: none;
18
+ text-decoration: if($link-hover-decoration == underline, none, null);
21
19
  background-color: $pagination-hover-bg;
22
20
  border-color: $pagination-hover-border-color;
23
21
  }
24
22
 
25
23
  &:focus {
26
- z-index: 2;
24
+ z-index: 3;
25
+ color: $pagination-focus-color;
26
+ background-color: $pagination-focus-bg;
27
27
  outline: $pagination-focus-outline;
28
28
  box-shadow: $pagination-focus-box-shadow;
29
29
  }
30
-
31
- // Opinionated: add "hand" cursor to non-disabled .page-link elements
32
- &:not(:disabled):not(.disabled) {
33
- cursor: pointer;
34
- }
35
30
  }
36
31
 
37
32
  .page-item {
38
- &:first-child {
39
- .page-link {
40
- margin-left: 0;
41
- @include border-left-radius($border-radius);
42
- }
43
- }
44
- &:last-child {
45
- .page-link {
46
- @include border-right-radius($border-radius);
47
- }
33
+ &:not(:first-child) .page-link {
34
+ margin-left: $pagination-margin-start;
48
35
  }
49
36
 
50
37
  &.active .page-link {
51
- z-index: 1;
38
+ z-index: 3;
52
39
  color: $pagination-active-color;
53
- background-color: $pagination-active-bg;
40
+ @include gradient-bg($pagination-active-bg);
54
41
  border-color: $pagination-active-border-color;
55
42
  }
56
43
 
57
44
  &.disabled .page-link {
58
45
  color: $pagination-disabled-color;
59
46
  pointer-events: none;
60
- // Opinionated: remove the "hand" cursor set previously for .page-link
61
- cursor: auto;
62
47
  background-color: $pagination-disabled-bg;
63
48
  border-color: $pagination-disabled-border-color;
64
49
  }
@@ -68,11 +53,12 @@
68
53
  //
69
54
  // Sizing
70
55
  //
56
+ @include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);
71
57
 
72
58
  .pagination-lg {
73
- @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);
59
+ @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);
74
60
  }
75
61
 
76
62
  .pagination-sm {
77
- @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);
63
+ @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);
78
64
  }
@@ -1,14 +1,14 @@
1
1
  .popover {
2
2
  position: absolute;
3
3
  top: 0;
4
- left: 0;
4
+ left: 0 #{"/* rtl:ignore */"};
5
5
  z-index: $zindex-popover;
6
6
  display: block;
7
7
  max-width: $popover-max-width;
8
8
  // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
9
9
  // So reset our font and text properties to avoid inheriting weird values.
10
10
  @include reset-text();
11
- font-size: $popover-font-size;
11
+ @include font-size($popover-font-size);
12
12
  // Allow breaking very long words so they don't overflow the popover's bounds
13
13
  word-wrap: break-word;
14
14
  background-color: $popover-bg;
@@ -17,12 +17,11 @@
17
17
  @include border-radius($popover-border-radius);
18
18
  @include box-shadow($popover-box-shadow);
19
19
 
20
- .arrow {
20
+ .popover-arrow {
21
21
  position: absolute;
22
22
  display: block;
23
23
  width: $popover-arrow-width;
24
24
  height: $popover-arrow-height;
25
- margin: 0 $border-radius-lg;
26
25
 
27
26
  &::before,
28
27
  &::after {
@@ -36,74 +35,58 @@
36
35
  }
37
36
 
38
37
  .bs-popover-top {
39
- margin-bottom: $popover-arrow-height;
38
+ > .popover-arrow {
39
+ bottom: subtract(-$popover-arrow-height, $popover-border-width);
40
40
 
41
- .arrow {
42
- bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
43
- }
44
-
45
- .arrow::before,
46
- .arrow::after {
47
- border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
48
- }
49
-
50
- .arrow::before {
51
- bottom: 0;
52
- border-top-color: $popover-arrow-outer-color;
53
- }
41
+ &::before {
42
+ bottom: 0;
43
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
44
+ border-top-color: $popover-arrow-outer-color;
45
+ }
54
46
 
55
- .arrow::after {
56
- bottom: $popover-border-width;
57
- border-top-color: $popover-arrow-color;
47
+ &::after {
48
+ bottom: $popover-border-width;
49
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
50
+ border-top-color: $popover-arrow-color;
51
+ }
58
52
  }
59
53
  }
60
54
 
61
- .bs-popover-right {
62
- margin-left: $popover-arrow-height;
63
-
64
- .arrow {
65
- left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
55
+ .bs-popover-end {
56
+ > .popover-arrow {
57
+ left: subtract(-$popover-arrow-height, $popover-border-width);
66
58
  width: $popover-arrow-height;
67
59
  height: $popover-arrow-width;
68
- margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
69
- }
70
-
71
- .arrow::before,
72
- .arrow::after {
73
- border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
74
- }
75
60
 
76
- .arrow::before {
77
- left: 0;
78
- border-right-color: $popover-arrow-outer-color;
79
- }
61
+ &::before {
62
+ left: 0;
63
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
64
+ border-right-color: $popover-arrow-outer-color;
65
+ }
80
66
 
81
- .arrow::after {
82
- left: $popover-border-width;
83
- border-right-color: $popover-arrow-color;
67
+ &::after {
68
+ left: $popover-border-width;
69
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
70
+ border-right-color: $popover-arrow-color;
71
+ }
84
72
  }
85
73
  }
86
74
 
87
75
  .bs-popover-bottom {
88
- margin-top: $popover-arrow-height;
89
-
90
- .arrow {
91
- top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
92
- }
93
-
94
- .arrow::before,
95
- .arrow::after {
96
- border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
97
- }
76
+ > .popover-arrow {
77
+ top: subtract(-$popover-arrow-height, $popover-border-width);
98
78
 
99
- .arrow::before {
100
- top: 0;
101
- border-bottom-color: $popover-arrow-outer-color;
102
- }
79
+ &::before {
80
+ top: 0;
81
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
82
+ border-bottom-color: $popover-arrow-outer-color;
83
+ }
103
84
 
104
- .arrow::after {
105
- top: $popover-border-width;
106
- border-bottom-color: $popover-arrow-color;
85
+ &::after {
86
+ top: $popover-border-width;
87
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
88
+ border-bottom-color: $popover-arrow-color;
89
+ }
107
90
  }
108
91
 
109
92
  // This will remove the popover-header's border just below the arrow
@@ -113,64 +96,56 @@
113
96
  left: 50%;
114
97
  display: block;
115
98
  width: $popover-arrow-width;
116
- margin-left: ($popover-arrow-width / -2);
99
+ margin-left: -$popover-arrow-width / 2;
117
100
  content: "";
118
101
  border-bottom: $popover-border-width solid $popover-header-bg;
119
102
  }
120
103
  }
121
104
 
122
- .bs-popover-left {
123
- margin-right: $popover-arrow-height;
124
-
125
- .arrow {
126
- right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1);
105
+ .bs-popover-start {
106
+ > .popover-arrow {
107
+ right: subtract(-$popover-arrow-height, $popover-border-width);
127
108
  width: $popover-arrow-height;
128
109
  height: $popover-arrow-width;
129
- margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners
130
- }
131
-
132
- .arrow::before,
133
- .arrow::after {
134
- border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
135
- }
136
110
 
137
- .arrow::before {
138
- right: 0;
139
- border-left-color: $popover-arrow-outer-color;
140
- }
111
+ &::before {
112
+ right: 0;
113
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
114
+ border-left-color: $popover-arrow-outer-color;
115
+ }
141
116
 
142
- .arrow::after {
143
- right: $popover-border-width;
144
- border-left-color: $popover-arrow-color;
117
+ &::after {
118
+ right: $popover-border-width;
119
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
120
+ border-left-color: $popover-arrow-color;
121
+ }
145
122
  }
146
123
  }
147
124
 
148
125
  .bs-popover-auto {
149
- &[x-placement^="top"] {
126
+ &[data-popper-placement^="top"] {
150
127
  @extend .bs-popover-top;
151
128
  }
152
- &[x-placement^="right"] {
153
- @extend .bs-popover-right;
129
+ &[data-popper-placement^="right"] {
130
+ @extend .bs-popover-end;
154
131
  }
155
- &[x-placement^="bottom"] {
132
+ &[data-popper-placement^="bottom"] {
156
133
  @extend .bs-popover-bottom;
157
134
  }
158
- &[x-placement^="left"] {
159
- @extend .bs-popover-left;
135
+ &[data-popper-placement^="left"] {
136
+ @extend .bs-popover-start;
160
137
  }
161
138
  }
162
139
 
163
-
164
140
  // Offset the popover to account for the popover arrow
165
141
  .popover-header {
166
142
  padding: $popover-header-padding-y $popover-header-padding-x;
167
143
  margin-bottom: 0; // Reset the default from Reboot
168
- font-size: $font-size-base;
144
+ @include font-size($font-size-base);
169
145
  color: $popover-header-color;
170
146
  background-color: $popover-header-bg;
171
- border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);
172
- $offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width});
173
- @include border-top-radius($offset-border-width);
147
+ border-bottom: $popover-border-width solid shade-color($popover-header-bg, 10%);
148
+ @include border-top-radius($popover-inner-border-radius);
174
149
 
175
150
  &:empty {
176
151
  display: none;
@@ -1,13 +1,18 @@
1
- @keyframes progress-bar-stripes {
2
- from { background-position: $progress-height 0; }
3
- to { background-position: 0 0; }
1
+ // Disable animation if transitions are disabled
2
+
3
+ // scss-docs-start progress-keyframes
4
+ @if $enable-transitions {
5
+ @keyframes progress-bar-stripes {
6
+ 0% { background-position-x: $progress-height; }
7
+ }
4
8
  }
9
+ // scss-docs-end progress-keyframes
5
10
 
6
11
  .progress {
7
12
  display: flex;
8
13
  height: $progress-height;
9
14
  overflow: hidden; // force rounded corners by cropping it
10
- font-size: $progress-font-size;
15
+ @include font-size($progress-font-size);
11
16
  background-color: $progress-bg;
12
17
  @include border-radius($progress-border-radius);
13
18
  @include box-shadow($progress-box-shadow);
@@ -17,6 +22,7 @@
17
22
  display: flex;
18
23
  flex-direction: column;
19
24
  justify-content: center;
25
+ overflow: hidden;
20
26
  color: $progress-bar-color;
21
27
  text-align: center;
22
28
  white-space: nowrap;
@@ -29,6 +35,14 @@
29
35
  background-size: $progress-height $progress-height;
30
36
  }
31
37
 
32
- .progress-bar-animated {
33
- animation: progress-bar-stripes $progress-bar-animation-timing;
38
+ @if $enable-transitions {
39
+ .progress-bar-animated {
40
+ animation: $progress-bar-animation-timing progress-bar-stripes;
41
+
42
+ @if $enable-reduced-motion {
43
+ @media (prefers-reduced-motion: reduce) {
44
+ animation: none;
45
+ }
46
+ }
47
+ }
34
48
  }