bootstrap 4.6.2 → 5.0.0.alpha1

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 (135) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap/alert.js +148 -73
  4. data/assets/javascripts/bootstrap/button.js +71 -154
  5. data/assets/javascripts/bootstrap/carousel.js +315 -209
  6. data/assets/javascripts/bootstrap/collapse.js +307 -153
  7. data/assets/javascripts/bootstrap/dom/data.js +81 -0
  8. data/assets/javascripts/bootstrap/dom/event-handler.js +311 -0
  9. data/assets/javascripts/bootstrap/dom/manipulator.js +100 -0
  10. data/assets/javascripts/bootstrap/dom/polyfill.js +110 -0
  11. data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
  12. data/assets/javascripts/bootstrap/dropdown.js +257 -205
  13. data/assets/javascripts/bootstrap/modal.js +354 -250
  14. data/assets/javascripts/bootstrap/popover.js +85 -94
  15. data/assets/javascripts/bootstrap/scrollspy.js +179 -107
  16. data/assets/javascripts/bootstrap/tab.js +170 -99
  17. data/assets/javascripts/bootstrap/toast.js +181 -110
  18. data/assets/javascripts/bootstrap/tooltip.js +375 -226
  19. data/assets/javascripts/bootstrap-sprockets.js +5 -1
  20. data/assets/javascripts/bootstrap.js +2260 -1550
  21. data/assets/javascripts/bootstrap.min.js +3 -3
  22. data/assets/stylesheets/_bootstrap-grid.scss +53 -18
  23. data/assets/stylesheets/_bootstrap-reboot.scss +6 -3
  24. data/assets/stylesheets/_bootstrap.scss +16 -10
  25. data/assets/stylesheets/bootstrap/_alert.scss +3 -4
  26. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  27. data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -17
  28. data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
  29. data/assets/stylesheets/bootstrap/_buttons.scss +27 -45
  30. data/assets/stylesheets/bootstrap/_card.scss +22 -68
  31. data/assets/stylesheets/bootstrap/_carousel.scss +15 -20
  32. data/assets/stylesheets/bootstrap/_close.scss +9 -13
  33. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  34. data/assets/stylesheets/bootstrap/_dropdown.scss +12 -9
  35. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  36. data/assets/stylesheets/bootstrap/_functions.scss +82 -69
  37. data/assets/stylesheets/bootstrap/_grid.scss +3 -54
  38. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  39. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  40. data/assets/stylesheets/bootstrap/_list-group.scss +7 -4
  41. data/assets/stylesheets/bootstrap/_mixins.scss +6 -12
  42. data/assets/stylesheets/bootstrap/_modal.scss +36 -41
  43. data/assets/stylesheets/bootstrap/_nav.scss +7 -9
  44. data/assets/stylesheets/bootstrap/_navbar.scss +42 -82
  45. data/assets/stylesheets/bootstrap/_pagination.scss +7 -20
  46. data/assets/stylesheets/bootstrap/_popover.scss +14 -14
  47. data/assets/stylesheets/bootstrap/_progress.scss +3 -5
  48. data/assets/stylesheets/bootstrap/_reboot.scss +304 -172
  49. data/assets/stylesheets/bootstrap/_root.scss +5 -8
  50. data/assets/stylesheets/bootstrap/_spinners.scss +8 -17
  51. data/assets/stylesheets/bootstrap/_tables.scss +80 -114
  52. data/assets/stylesheets/bootstrap/_toasts.scss +2 -4
  53. data/assets/stylesheets/bootstrap/_tooltip.scss +9 -9
  54. data/assets/stylesheets/bootstrap/_transitions.scss +0 -7
  55. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  56. data/assets/stylesheets/bootstrap/_utilities.scss +503 -18
  57. data/assets/stylesheets/bootstrap/_variables.scss +548 -437
  58. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  59. data/assets/stylesheets/bootstrap/forms/_form-check.scss +142 -0
  60. data/assets/stylesheets/bootstrap/forms/_form-control.scss +116 -0
  61. data/assets/stylesheets/bootstrap/forms/_form-file.scss +91 -0
  62. data/assets/stylesheets/bootstrap/forms/_form-range.scss +136 -0
  63. data/assets/stylesheets/bootstrap/forms/_form-select.scss +82 -0
  64. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  65. data/assets/stylesheets/bootstrap/forms/_input-group.scss +140 -0
  66. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  67. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  68. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  69. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  70. data/assets/stylesheets/bootstrap/helpers/_embed.scss +31 -0
  71. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  72. data/assets/stylesheets/bootstrap/helpers/_screenreaders.scss +8 -0
  73. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  74. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  75. data/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -4
  76. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +1 -1
  77. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -8
  78. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +62 -47
  79. data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
  80. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  81. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  82. data/assets/stylesheets/bootstrap/mixins/_forms.scss +23 -85
  83. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
  84. data/assets/stylesheets/bootstrap/mixins/_grid.scss +86 -34
  85. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  86. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
  87. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  88. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
  89. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
  90. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +18 -24
  91. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  92. data/assets/stylesheets/bootstrap/mixins/_transition.scss +2 -2
  93. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
  94. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  95. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +214 -130
  96. data/bootstrap.gemspec +1 -1
  97. data/lib/bootstrap/version.rb +2 -2
  98. data/tasks/updater/js.rb +6 -18
  99. data/tasks/updater/network.rb +1 -7
  100. metadata +34 -42
  101. data/assets/javascripts/bootstrap/util.js +0 -189
  102. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  103. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
  104. data/assets/stylesheets/bootstrap/_input-group.scss +0 -211
  105. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  106. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  107. data/assets/stylesheets/bootstrap/_print.scss +0 -132
  108. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  109. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  110. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  111. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  112. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  113. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  114. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  115. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  116. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  117. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  118. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  119. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  120. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  121. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  122. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  123. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  124. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  125. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  126. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  127. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  128. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  129. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  130. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  131. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  132. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  133. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  134. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  135. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
@@ -8,19 +8,16 @@
8
8
  // Deprecate
9
9
  @import "mixins/deprecate";
10
10
 
11
- // Utilities
11
+ // Helpers
12
12
  @import "mixins/breakpoints";
13
- @import "mixins/hover";
14
13
  @import "mixins/image";
15
- @import "mixins/badge";
16
14
  @import "mixins/resize";
17
15
  @import "mixins/screen-reader";
18
- @import "mixins/size";
19
16
  @import "mixins/reset-text";
20
- @import "mixins/text-emphasis";
21
- @import "mixins/text-hide";
22
17
  @import "mixins/text-truncate";
23
- @import "mixins/visibility";
18
+
19
+ // Utilities
20
+ @import "mixins/utilities";
24
21
 
25
22
  // Components
26
23
  @import "mixins/alert";
@@ -29,12 +26,10 @@
29
26
  @import "mixins/pagination";
30
27
  @import "mixins/lists";
31
28
  @import "mixins/list-group";
32
- @import "mixins/nav-divider";
33
29
  @import "mixins/forms";
34
- @import "mixins/table-row";
30
+ @import "mixins/table-variants";
35
31
 
36
32
  // Skins
37
- @import "mixins/background-variant";
38
33
  @import "mixins/border-radius";
39
34
  @import "mixins/box-shadow";
40
35
  @import "mixins/gradients";
@@ -42,6 +37,5 @@
42
37
 
43
38
  // Layout
44
39
  @import "mixins/clearfix";
45
- @import "mixins/grid-framework";
40
+ @import "mixins/container";
46
41
  @import "mixins/grid";
47
- @import "mixins/float";
@@ -56,19 +56,12 @@
56
56
  }
57
57
 
58
58
  .modal-dialog-scrollable {
59
- display: flex; // IE10/11
60
59
  max-height: subtract(100%, $modal-dialog-margin * 2);
61
60
 
62
61
  .modal-content {
63
- max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11
64
62
  overflow: hidden;
65
63
  }
66
64
 
67
- .modal-header,
68
- .modal-footer {
69
- flex-shrink: 0;
70
- }
71
-
72
65
  .modal-body {
73
66
  overflow-y: auto;
74
67
  }
@@ -78,29 +71,6 @@
78
71
  display: flex;
79
72
  align-items: center;
80
73
  min-height: subtract(100%, $modal-dialog-margin * 2);
81
-
82
- // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)
83
- &::before {
84
- display: block; // IE10
85
- height: subtract(100vh, $modal-dialog-margin * 2);
86
- height: min-content; // Reset height to 0 except on IE
87
- content: "";
88
- }
89
-
90
- // Ensure `.modal-body` shows scrollbar (IE10/11)
91
- &.modal-dialog-scrollable {
92
- flex-direction: column;
93
- justify-content: center;
94
- height: 100%;
95
-
96
- .modal-content {
97
- max-height: none;
98
- }
99
-
100
- &::before {
101
- content: none;
102
- }
103
- }
104
74
  }
105
75
 
106
76
  // Actual modal
@@ -140,6 +110,7 @@
140
110
  // Top section of the modal w/ title and dismiss
141
111
  .modal-header {
142
112
  display: flex;
113
+ flex-shrink: 0;
143
114
  align-items: flex-start; // so the close btn always stays on the upper right corner
144
115
  justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
145
116
  padding: $modal-header-padding;
@@ -173,9 +144,10 @@
173
144
  .modal-footer {
174
145
  display: flex;
175
146
  flex-wrap: wrap;
147
+ flex-shrink: 0;
176
148
  align-items: center; // vertically center
177
149
  justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
178
- padding: $modal-inner-padding - $modal-footer-margin-between * .5;
150
+ padding: $modal-inner-padding - $modal-footer-margin-between / 2;
179
151
  border-top: $modal-footer-border-width solid $modal-footer-border-color;
180
152
  @include border-bottom-radius($modal-content-inner-border-radius);
181
153
 
@@ -183,7 +155,7 @@
183
155
  // This solution is far from ideal because of the universal selector usage,
184
156
  // but is needed to fix https://github.com/twbs/bootstrap/issues/24800
185
157
  > * {
186
- margin: $modal-footer-margin-between * .5;
158
+ margin: $modal-footer-margin-between / 2;
187
159
  }
188
160
  }
189
161
 
@@ -206,19 +178,10 @@
206
178
 
207
179
  .modal-dialog-scrollable {
208
180
  max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
209
-
210
- .modal-content {
211
- max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
212
- }
213
181
  }
214
182
 
215
183
  .modal-dialog-centered {
216
184
  min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
217
-
218
- &::before {
219
- height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
220
- height: min-content;
221
- }
222
185
  }
223
186
 
224
187
  .modal-content {
@@ -238,3 +201,35 @@
238
201
  @include media-breakpoint-up(xl) {
239
202
  .modal-xl { max-width: $modal-xl; }
240
203
  }
204
+
205
+ @each $breakpoint in map-keys($grid-breakpoints) {
206
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
207
+ $postfix: if($infix != "", $infix + "-down", "");
208
+
209
+ @include media-breakpoint-down($breakpoint) {
210
+ .modal-fullscreen#{$postfix} {
211
+ width: 100vw;
212
+ max-width: none;
213
+ height: 100%;
214
+ margin: 0;
215
+
216
+ .modal-content {
217
+ height: 100%;
218
+ border: 0;
219
+ @include border-radius(0);
220
+ }
221
+
222
+ .modal-header {
223
+ @include border-radius(0);
224
+ }
225
+
226
+ .modal-body {
227
+ overflow-y: auto;
228
+ }
229
+
230
+ .modal-footer {
231
+ @include border-radius(0);
232
+ }
233
+ }
234
+ }
235
+ }
@@ -15,9 +15,11 @@
15
15
  display: block;
16
16
  padding: $nav-link-padding-y $nav-link-padding-x;
17
17
  text-decoration: if($link-decoration == none, null, none);
18
+ @include transition($nav-link-transition);
18
19
 
19
- @include hover-focus() {
20
- text-decoration: none;
20
+ &:hover,
21
+ &:focus {
22
+ text-decoration: if($link-hover-decoration == underline, none, null);
21
23
  }
22
24
 
23
25
  // Disabled state lightens text
@@ -37,13 +39,11 @@
37
39
 
38
40
  .nav-link {
39
41
  margin-bottom: -$nav-tabs-border-width;
40
- background-color: transparent;
41
42
  border: $nav-tabs-border-width solid transparent;
42
43
  @include border-top-radius($nav-tabs-border-radius);
43
44
 
44
- @include hover-focus() {
45
- // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link
46
- isolation: isolate;
45
+ &:hover,
46
+ &:focus {
47
47
  border-color: $nav-tabs-link-hover-border-color;
48
48
  }
49
49
 
@@ -76,15 +76,13 @@
76
76
 
77
77
  .nav-pills {
78
78
  .nav-link {
79
- background: none;
80
- border: 0;
81
79
  @include border-radius($nav-pills-border-radius);
82
80
  }
83
81
 
84
82
  .nav-link.active,
85
83
  .show > .nav-link {
86
84
  color: $nav-pills-link-active-color;
87
- background-color: $nav-pills-link-active-bg;
85
+ @include gradient-bg($nav-pills-link-active-bg);
88
86
  }
89
87
  }
90
88
 
@@ -4,7 +4,6 @@
4
4
  // Navbar brand
5
5
  // Navbar nav
6
6
  // Navbar text
7
- // Navbar divider
8
7
  // Responsive navbar
9
8
  // Navbar position
10
9
  // Navbar themes
@@ -21,19 +20,24 @@
21
20
  flex-wrap: wrap; // allow us to do the line break for collapsing content
22
21
  align-items: center;
23
22
  justify-content: space-between; // space out brand from logo
24
- padding: $navbar-padding-y $navbar-padding-x;
23
+ padding-top: $navbar-padding-y;
24
+ padding-right: $navbar-padding-x; // default: null
25
+ padding-bottom: $navbar-padding-y;
26
+ padding-left: $navbar-padding-x; // default: null
27
+ @include gradient-bg();
25
28
 
26
29
  // Because flex properties aren't inherited, we need to redeclare these first
27
30
  // few properties so that content nested within behave properly.
31
+ // The `flex-wrap` property is inherited to simplify the expanded navbars
28
32
  %container-flex-properties {
29
33
  display: flex;
30
- flex-wrap: wrap;
34
+ flex-wrap: inherit;
31
35
  align-items: center;
32
36
  justify-content: space-between;
33
37
  }
34
38
 
35
- .container,
36
- .container-fluid {
39
+ > .container,
40
+ > .container-fluid {
37
41
  @extend %container-flex-properties;
38
42
  }
39
43
 
@@ -50,16 +54,16 @@
50
54
  // Used for brand, project, or site names.
51
55
 
52
56
  .navbar-brand {
53
- display: inline-block;
54
57
  padding-top: $navbar-brand-padding-y;
55
58
  padding-bottom: $navbar-brand-padding-y;
56
- margin-right: $navbar-padding-x;
59
+ margin-right: $navbar-brand-margin-right;
57
60
  @include font-size($navbar-brand-font-size);
58
- line-height: inherit;
61
+ text-decoration: if($link-decoration == none, null, none);
59
62
  white-space: nowrap;
60
63
 
61
- @include hover-focus() {
62
- text-decoration: none;
64
+ &:hover,
65
+ &:focus {
66
+ text-decoration: if($link-hover-decoration == underline, none, null);
63
67
  }
64
68
  }
65
69
 
@@ -82,7 +86,6 @@
82
86
 
83
87
  .dropdown-menu {
84
88
  position: static;
85
- float: none;
86
89
  }
87
90
  }
88
91
 
@@ -92,7 +95,6 @@
92
95
  //
93
96
 
94
97
  .navbar-text {
95
- display: inline-block;
96
98
  padding-top: $nav-link-padding-y;
97
99
  padding-bottom: $nav-link-padding-y;
98
100
  }
@@ -107,11 +109,10 @@
107
109
  // the default flexbox row orientation. Requires the use of `flex-wrap: wrap`
108
110
  // on the `.navbar` parent.
109
111
  .navbar-collapse {
110
- flex-basis: 100%;
111
- flex-grow: 1;
112
112
  // For always expanded or extra full navbars, ensure content aligns itself
113
113
  // properly vertically. Can be easily overridden with flex utilities.
114
114
  align-items: center;
115
+ width: 100%;
115
116
  }
116
117
 
117
118
  // Button for toggling the navbar when in its collapsed state
@@ -122,9 +123,16 @@
122
123
  background-color: transparent; // remove default button style
123
124
  border: $border-width solid transparent; // remove default button style
124
125
  @include border-radius($navbar-toggler-border-radius);
126
+ @include transition($navbar-toggler-transition);
127
+
128
+ &:hover {
129
+ text-decoration: none;
130
+ }
125
131
 
126
- @include hover-focus() {
132
+ &:focus {
127
133
  text-decoration: none;
134
+ outline: 0;
135
+ box-shadow: 0 0 0 $navbar-toggler-focus-width;
128
136
  }
129
137
  }
130
138
 
@@ -135,13 +143,9 @@
135
143
  width: 1.5em;
136
144
  height: 1.5em;
137
145
  vertical-align: middle;
138
- content: "";
139
- background: 50% / 100% 100% no-repeat;
140
- }
141
-
142
- .navbar-nav-scroll {
143
- max-height: $navbar-nav-scroll-max-height;
144
- overflow-y: auto;
146
+ background-repeat: no-repeat;
147
+ background-position: center;
148
+ background-size: 100%;
145
149
  }
146
150
 
147
151
  // Generate series of `.navbar-expand-*` responsive classes for configuring
@@ -152,26 +156,8 @@
152
156
  $infix: breakpoint-infix($next, $grid-breakpoints);
153
157
 
154
158
  &#{$infix} {
155
- @include media-breakpoint-down($breakpoint) {
156
- %container-navbar-expand-#{$breakpoint} {
157
- padding-right: 0;
158
- padding-left: 0;
159
- }
160
-
161
- > .container,
162
- > .container-fluid {
163
- @extend %container-navbar-expand-#{$breakpoint};
164
- }
165
-
166
- @each $size, $container-max-width in $container-max-widths {
167
- > .container#{breakpoint-infix($size, $container-max-widths)} {
168
- @extend %container-navbar-expand-#{$breakpoint};
169
- }
170
- }
171
- }
172
-
173
159
  @include media-breakpoint-up($next) {
174
- flex-flow: row nowrap;
160
+ flex-wrap: nowrap;
175
161
  justify-content: flex-start;
176
162
 
177
163
  .navbar-nav {
@@ -187,31 +173,8 @@
187
173
  }
188
174
  }
189
175
 
190
- // For nesting containers, have to redeclare for alignment purposes
191
- %container-nesting-#{$breakpoint} {
192
- flex-wrap: nowrap;
193
- }
194
-
195
- > .container,
196
- > .container-fluid {
197
- @extend %container-nesting-#{$breakpoint};
198
- }
199
-
200
- @each $size, $container-max-width in $container-max-widths {
201
- > .container#{breakpoint-infix($size, $container-max-widths)} {
202
- @extend %container-nesting-#{$breakpoint};
203
- }
204
- }
205
-
206
- .navbar-nav-scroll {
207
- overflow: visible;
208
- }
209
-
210
176
  .navbar-collapse {
211
177
  display: flex !important; // stylelint-disable-line declaration-no-important
212
-
213
- // Changes flex-bases to auto because of an IE10 bug
214
- flex-basis: auto;
215
178
  }
216
179
 
217
180
  .navbar-toggler {
@@ -232,7 +195,8 @@
232
195
  .navbar-brand {
233
196
  color: $navbar-light-brand-color;
234
197
 
235
- @include hover-focus() {
198
+ &:hover,
199
+ &:focus {
236
200
  color: $navbar-light-brand-hover-color;
237
201
  }
238
202
  }
@@ -241,7 +205,8 @@
241
205
  .nav-link {
242
206
  color: $navbar-light-color;
243
207
 
244
- @include hover-focus() {
208
+ &:hover,
209
+ &:focus {
245
210
  color: $navbar-light-hover-color;
246
211
  }
247
212
 
@@ -251,8 +216,6 @@
251
216
  }
252
217
 
253
218
  .show > .nav-link,
254
- .active > .nav-link,
255
- .nav-link.show,
256
219
  .nav-link.active {
257
220
  color: $navbar-light-active-color;
258
221
  }
@@ -269,12 +232,11 @@
269
232
 
270
233
  .navbar-text {
271
234
  color: $navbar-light-color;
272
- a {
273
- color: $navbar-light-active-color;
274
235
 
275
- @include hover-focus() {
276
- color: $navbar-light-active-color;
277
- }
236
+ a,
237
+ a:hover,
238
+ a:focus {
239
+ color: $navbar-light-active-color;
278
240
  }
279
241
  }
280
242
  }
@@ -284,7 +246,8 @@
284
246
  .navbar-brand {
285
247
  color: $navbar-dark-brand-color;
286
248
 
287
- @include hover-focus() {
249
+ &:hover,
250
+ &:focus {
288
251
  color: $navbar-dark-brand-hover-color;
289
252
  }
290
253
  }
@@ -293,7 +256,8 @@
293
256
  .nav-link {
294
257
  color: $navbar-dark-color;
295
258
 
296
- @include hover-focus() {
259
+ &:hover,
260
+ &:focus {
297
261
  color: $navbar-dark-hover-color;
298
262
  }
299
263
 
@@ -303,8 +267,6 @@
303
267
  }
304
268
 
305
269
  .show > .nav-link,
306
- .active > .nav-link,
307
- .nav-link.show,
308
270
  .nav-link.active {
309
271
  color: $navbar-dark-active-color;
310
272
  }
@@ -321,12 +283,10 @@
321
283
 
322
284
  .navbar-text {
323
285
  color: $navbar-dark-color;
324
- a {
286
+ a,
287
+ a:hover,
288
+ a:focus {
325
289
  color: $navbar-dark-active-color;
326
-
327
- @include hover-focus() {
328
- color: $navbar-dark-active-color;
329
- }
330
290
  }
331
291
  }
332
292
  }
@@ -1,15 +1,11 @@
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;
14
10
  text-decoration: if($link-decoration == none, null, none);
15
11
  background-color: $pagination-bg;
@@ -18,7 +14,7 @@
18
14
  &:hover {
19
15
  z-index: 2;
20
16
  color: $pagination-hover-color;
21
- text-decoration: none;
17
+ text-decoration: if($link-hover-decoration == underline, none, null);
22
18
  background-color: $pagination-hover-bg;
23
19
  border-color: $pagination-hover-border-color;
24
20
  }
@@ -31,30 +27,20 @@
31
27
  }
32
28
 
33
29
  .page-item {
34
- &:first-child {
35
- .page-link {
36
- margin-left: 0;
37
- @include border-left-radius($border-radius);
38
- }
39
- }
40
- &:last-child {
41
- .page-link {
42
- @include border-right-radius($border-radius);
43
- }
30
+ &:not(:first-child) .page-link {
31
+ margin-left: $pagination-margin-left;
44
32
  }
45
33
 
46
34
  &.active .page-link {
47
35
  z-index: 3;
48
36
  color: $pagination-active-color;
49
- background-color: $pagination-active-bg;
37
+ @include gradient-bg($pagination-active-bg);
50
38
  border-color: $pagination-active-border-color;
51
39
  }
52
40
 
53
41
  &.disabled .page-link {
54
42
  color: $pagination-disabled-color;
55
43
  pointer-events: none;
56
- // Opinionated: remove the "hand" cursor set previously for .page-link
57
- cursor: auto;
58
44
  background-color: $pagination-disabled-bg;
59
45
  border-color: $pagination-disabled-border-color;
60
46
  }
@@ -64,11 +50,12 @@
64
50
  //
65
51
  // Sizing
66
52
  //
53
+ @include pagination-size($pagination-padding-y, $pagination-padding-x, null, $pagination-border-radius);
67
54
 
68
55
  .pagination-lg {
69
- @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $pagination-border-radius-lg);
56
+ @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $border-radius-lg);
70
57
  }
71
58
 
72
59
  .pagination-sm {
73
- @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $pagination-border-radius-sm);
60
+ @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $border-radius-sm);
74
61
  }
@@ -17,7 +17,7 @@
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;
@@ -38,18 +38,18 @@
38
38
  .bs-popover-top {
39
39
  margin-bottom: $popover-arrow-height;
40
40
 
41
- > .arrow {
41
+ > .popover-arrow {
42
42
  bottom: subtract(-$popover-arrow-height, $popover-border-width);
43
43
 
44
44
  &::before {
45
45
  bottom: 0;
46
- border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;
46
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
47
47
  border-top-color: $popover-arrow-outer-color;
48
48
  }
49
49
 
50
50
  &::after {
51
51
  bottom: $popover-border-width;
52
- border-width: $popover-arrow-height ($popover-arrow-width * .5) 0;
52
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
53
53
  border-top-color: $popover-arrow-color;
54
54
  }
55
55
  }
@@ -58,7 +58,7 @@
58
58
  .bs-popover-right {
59
59
  margin-left: $popover-arrow-height;
60
60
 
61
- > .arrow {
61
+ > .popover-arrow {
62
62
  left: subtract(-$popover-arrow-height, $popover-border-width);
63
63
  width: $popover-arrow-height;
64
64
  height: $popover-arrow-width;
@@ -66,13 +66,13 @@
66
66
 
67
67
  &::before {
68
68
  left: 0;
69
- border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;
69
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
70
70
  border-right-color: $popover-arrow-outer-color;
71
71
  }
72
72
 
73
73
  &::after {
74
74
  left: $popover-border-width;
75
- border-width: ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5) 0;
75
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
76
76
  border-right-color: $popover-arrow-color;
77
77
  }
78
78
  }
@@ -81,18 +81,18 @@
81
81
  .bs-popover-bottom {
82
82
  margin-top: $popover-arrow-height;
83
83
 
84
- > .arrow {
84
+ > .popover-arrow {
85
85
  top: subtract(-$popover-arrow-height, $popover-border-width);
86
86
 
87
87
  &::before {
88
88
  top: 0;
89
- border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);
89
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
90
90
  border-bottom-color: $popover-arrow-outer-color;
91
91
  }
92
92
 
93
93
  &::after {
94
94
  top: $popover-border-width;
95
- border-width: 0 ($popover-arrow-width * .5) $popover-arrow-height ($popover-arrow-width * .5);
95
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
96
96
  border-bottom-color: $popover-arrow-color;
97
97
  }
98
98
  }
@@ -104,7 +104,7 @@
104
104
  left: 50%;
105
105
  display: block;
106
106
  width: $popover-arrow-width;
107
- margin-left: -$popover-arrow-width * .5;
107
+ margin-left: -$popover-arrow-width / 2;
108
108
  content: "";
109
109
  border-bottom: $popover-border-width solid $popover-header-bg;
110
110
  }
@@ -113,7 +113,7 @@
113
113
  .bs-popover-left {
114
114
  margin-right: $popover-arrow-height;
115
115
 
116
- > .arrow {
116
+ > .popover-arrow {
117
117
  right: subtract(-$popover-arrow-height, $popover-border-width);
118
118
  width: $popover-arrow-height;
119
119
  height: $popover-arrow-width;
@@ -121,13 +121,13 @@
121
121
 
122
122
  &::before {
123
123
  right: 0;
124
- border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;
124
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
125
125
  border-left-color: $popover-arrow-outer-color;
126
126
  }
127
127
 
128
128
  &::after {
129
129
  right: $popover-border-width;
130
- border-width: ($popover-arrow-width * .5) 0 ($popover-arrow-width * .5) $popover-arrow-height;
130
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
131
131
  border-left-color: $popover-arrow-color;
132
132
  }
133
133
  }
@@ -1,8 +1,7 @@
1
1
  // Disable animation if transitions are disabled
2
2
  @if $enable-transitions {
3
3
  @keyframes progress-bar-stripes {
4
- from { background-position: $progress-height 0; }
5
- to { background-position: 0 0; }
4
+ 0% { background-position-x: $progress-height; }
6
5
  }
7
6
  }
8
7
 
@@ -10,7 +9,6 @@
10
9
  display: flex;
11
10
  height: $progress-height;
12
11
  overflow: hidden; // force rounded corners by cropping it
13
- line-height: 0;
14
12
  @include font-size($progress-font-size);
15
13
  background-color: $progress-bg;
16
14
  @include border-radius($progress-border-radius);
@@ -36,9 +34,9 @@
36
34
 
37
35
  @if $enable-transitions {
38
36
  .progress-bar-animated {
39
- animation: $progress-bar-animation-timing progress-bar-stripes;
37
+ animation: progress-bar-stripes $progress-bar-animation-timing;
40
38
 
41
- @if $enable-prefers-reduced-motion-media-query {
39
+ @if $enable-reduced-motion {
42
40
  @media (prefers-reduced-motion: reduce) {
43
41
  animation: none;
44
42
  }