bootstrap 4.4.1 → 5.0.0.alpha2

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 (136) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +12 -2
  3. data/README.md +1 -1
  4. data/assets/javascripts/bootstrap-sprockets.js +12 -8
  5. data/assets/javascripts/bootstrap.js +2094 -1562
  6. data/assets/javascripts/bootstrap.min.js +4 -4
  7. data/assets/javascripts/bootstrap/alert.js +145 -83
  8. data/assets/javascripts/bootstrap/button.js +66 -152
  9. data/assets/javascripts/bootstrap/carousel.js +307 -241
  10. data/assets/javascripts/bootstrap/collapse.js +287 -183
  11. data/assets/javascripts/bootstrap/dom/data.js +81 -0
  12. data/assets/javascripts/bootstrap/dom/event-handler.js +315 -0
  13. data/assets/javascripts/bootstrap/dom/manipulator.js +96 -0
  14. data/assets/javascripts/bootstrap/dom/polyfill.js +110 -0
  15. data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
  16. data/assets/javascripts/bootstrap/dropdown.js +255 -261
  17. data/assets/javascripts/bootstrap/modal.js +364 -270
  18. data/assets/javascripts/bootstrap/popover.js +72 -113
  19. data/assets/javascripts/bootstrap/scrollspy.js +162 -147
  20. data/assets/javascripts/bootstrap/tab.js +176 -108
  21. data/assets/javascripts/bootstrap/toast.js +179 -139
  22. data/assets/javascripts/bootstrap/tooltip.js +369 -259
  23. data/assets/stylesheets/_bootstrap-grid.scss +54 -18
  24. data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
  25. data/assets/stylesheets/_bootstrap.scss +17 -11
  26. data/assets/stylesheets/bootstrap/_alert.scss +6 -7
  27. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  28. data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -17
  29. data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
  30. data/assets/stylesheets/bootstrap/_buttons.scss +25 -40
  31. data/assets/stylesheets/bootstrap/_card.scss +43 -79
  32. data/assets/stylesheets/bootstrap/_carousel.scss +30 -15
  33. data/assets/stylesheets/bootstrap/_close.scss +31 -31
  34. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  35. data/assets/stylesheets/bootstrap/_dropdown.scss +54 -9
  36. data/assets/stylesheets/bootstrap/_forms.scss +9 -338
  37. data/assets/stylesheets/bootstrap/_functions.scss +97 -25
  38. data/assets/stylesheets/bootstrap/_grid.scss +3 -50
  39. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  40. data/assets/stylesheets/bootstrap/_list-group.scss +16 -17
  41. data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
  42. data/assets/stylesheets/bootstrap/_modal.scss +41 -45
  43. data/assets/stylesheets/bootstrap/_nav.scss +16 -9
  44. data/assets/stylesheets/bootstrap/_navbar.scss +43 -74
  45. data/assets/stylesheets/bootstrap/_pagination.scss +11 -20
  46. data/assets/stylesheets/bootstrap/_popover.scss +5 -5
  47. data/assets/stylesheets/bootstrap/_progress.scss +2 -3
  48. data/assets/stylesheets/bootstrap/_reboot.scss +310 -175
  49. data/assets/stylesheets/bootstrap/_root.scss +5 -9
  50. data/assets/stylesheets/bootstrap/_spinners.scss +5 -4
  51. data/assets/stylesheets/bootstrap/_tables.scss +80 -114
  52. data/assets/stylesheets/bootstrap/_toasts.scss +6 -2
  53. data/assets/stylesheets/bootstrap/_tooltip.scss +5 -5
  54. data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
  55. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  56. data/assets/stylesheets/bootstrap/_utilities.scss +531 -17
  57. data/assets/stylesheets/bootstrap/_variables.scss +609 -444
  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/_position.scss +30 -0
  71. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  72. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  73. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  74. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  75. data/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -4
  76. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +35 -22
  77. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  78. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
  79. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +69 -51
  80. data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
  81. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  82. data/assets/stylesheets/bootstrap/mixins/_container.scss +11 -0
  83. data/assets/stylesheets/bootstrap/mixins/_forms.scss +22 -66
  84. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
  85. data/assets/stylesheets/bootstrap/mixins/_grid.scss +84 -33
  86. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  87. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
  88. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  89. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
  90. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  91. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  92. data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
  93. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
  94. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +28 -0
  95. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  96. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
  97. data/lib/bootstrap/version.rb +2 -2
  98. data/tasks/updater/js.rb +3 -3
  99. data/tasks/updater/network.rb +2 -2
  100. data/test/gemfiles/rails_6_0.gemfile +7 -0
  101. metadata +36 -41
  102. data/assets/javascripts/bootstrap/util.js +0 -188
  103. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  104. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -521
  105. data/assets/stylesheets/bootstrap/_input-group.scss +0 -191
  106. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  107. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  108. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  109. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -22
  110. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  111. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  112. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -71
  113. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  114. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  115. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  116. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  117. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  118. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  119. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  120. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  121. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  122. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  123. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  124. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  125. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  126. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  127. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  128. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  129. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  130. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  131. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  132. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  133. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  134. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  135. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  136. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
@@ -1,20 +1,16 @@
1
- // Do not forget to update getting-started/theming.md!
2
1
  :root {
3
2
  // Custom variable values only support SassScript inside `#{}`.
4
3
  @each $color, $value in $colors {
5
- --#{$color}: #{$value};
4
+ --bs-#{$color}: #{$value};
6
5
  }
7
6
 
8
7
  @each $color, $value in $theme-colors {
9
- --#{$color}: #{$value};
10
- }
11
-
12
- @each $bp, $value in $grid-breakpoints {
13
- --breakpoint-#{$bp}: #{$value};
8
+ --bs-#{$color}: #{$value};
14
9
  }
15
10
 
16
11
  // Use `inspect` for lists so that quoted items keep the quotes.
17
12
  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
18
- --font-family-sans-serif: #{inspect($font-family-sans-serif)};
19
- --font-family-monospace: #{inspect($font-family-monospace)};
13
+ --bs-font-sans-serif: #{inspect($font-family-sans-serif)};
14
+ --bs-font-monospace: #{inspect($font-family-monospace)};
15
+ --bs-gradient: #{$gradient};
20
16
  }
@@ -13,9 +13,9 @@
13
13
  vertical-align: text-bottom;
14
14
  border: $spinner-border-width solid currentColor;
15
15
  border-right-color: transparent;
16
- // stylelint-disable-next-line property-blacklist
16
+ // stylelint-disable-next-line property-disallowed-list
17
17
  border-radius: 50%;
18
- animation: spinner-border .75s linear infinite;
18
+ animation: spinner-border $spinner-animation-speed linear infinite;
19
19
  }
20
20
 
21
21
  .spinner-border-sm {
@@ -34,6 +34,7 @@
34
34
  }
35
35
  50% {
36
36
  opacity: 1;
37
+ transform: none;
37
38
  }
38
39
  }
39
40
 
@@ -43,10 +44,10 @@
43
44
  height: $spinner-height;
44
45
  vertical-align: text-bottom;
45
46
  background-color: currentColor;
46
- // stylelint-disable-next-line property-blacklist
47
+ // stylelint-disable-next-line property-disallowed-list
47
48
  border-radius: 50%;
48
49
  opacity: 0;
49
- animation: spinner-grow .75s linear infinite;
50
+ animation: spinner-grow $spinner-animation-speed linear infinite;
50
51
  }
51
52
 
52
53
  .spinner-grow-sm {
@@ -3,37 +3,65 @@
3
3
  //
4
4
 
5
5
  .table {
6
+ --bs-table-bg: #{$table-bg};
7
+ --bs-table-accent-bg: transparent;
8
+ --bs-table-striped-color: #{$table-striped-color};
9
+ --bs-table-striped-bg: #{$table-striped-bg};
10
+ --bs-table-active-color: #{$table-active-color};
11
+ --bs-table-active-bg: #{$table-active-bg};
12
+ --bs-table-hover-color: #{$table-hover-color};
13
+ --bs-table-hover-bg: #{$table-hover-bg};
14
+
6
15
  width: 100%;
7
16
  margin-bottom: $spacer;
8
17
  color: $table-color;
9
- background-color: $table-bg; // Reset for nesting within parents with `background-color`.
18
+ vertical-align: $table-cell-vertical-align;
19
+ border-color: $table-border-color;
20
+
21
+ // Target th & td
22
+ // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.
23
+ // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).
24
+ // Another advantage is that this generates less code and makes the selector less specific making it easier to override.
25
+ // stylelint-disable-next-line selector-max-universal
26
+ > :not(caption) > * > * {
27
+ padding: $table-cell-padding-y $table-cell-padding-x;
28
+ background-color: var(--bs-table-bg);
29
+ background-image: linear-gradient(var(--bs-table-accent-bg), var(--bs-table-accent-bg));
30
+ border-bottom-width: $table-border-width;
31
+ }
10
32
 
11
- th,
12
- td {
13
- padding: $table-cell-padding;
14
- vertical-align: top;
15
- border-top: $table-border-width solid $table-border-color;
33
+ > tbody {
34
+ vertical-align: inherit;
16
35
  }
17
36
 
18
- thead th {
37
+ > thead {
19
38
  vertical-align: bottom;
20
- border-bottom: (2 * $table-border-width) solid $table-border-color;
21
39
  }
22
40
 
23
- tbody + tbody {
24
- border-top: (2 * $table-border-width) solid $table-border-color;
41
+ // Highlight border color between thead, tbody and tfoot.
42
+ > :not(:last-child) > :last-child > * {
43
+ border-bottom-color: $table-group-separator-color;
25
44
  }
26
45
  }
27
46
 
28
47
 
48
+ //
49
+ // Change placement of captions with a class
50
+ //
51
+
52
+ .caption-top {
53
+ caption-side: top;
54
+ }
55
+
56
+
29
57
  //
30
58
  // Condensed table w/ half padding
31
59
  //
32
60
 
33
61
  .table-sm {
34
- th,
35
- td {
36
- padding: $table-cell-padding-sm;
62
+ // stylelint-disable-next-line selector-max-universal
63
+ > :not(caption) > * > * {
64
+ padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;
37
65
  }
38
66
  }
39
67
 
@@ -41,29 +69,27 @@
41
69
  // Border versions
42
70
  //
43
71
  // Add or remove borders all around the table and between all the columns.
72
+ //
73
+ // When borders are added on all sides of the cells, the corners can render odd when
74
+ // these borders do not have the same color or if they are semi-transparent.
75
+ // Therefor we add top and border bottoms to the `tr`s and left and right borders
76
+ // to the `td`s or `th`s
44
77
 
45
78
  .table-bordered {
46
- border: $table-border-width solid $table-border-color;
79
+ > :not(caption) > * {
80
+ border-width: $table-border-width 0;
47
81
 
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;
82
+ // stylelint-disable-next-line selector-max-universal
83
+ > * {
84
+ border-width: 0 $table-border-width;
57
85
  }
58
86
  }
59
87
  }
60
88
 
61
89
  .table-borderless {
62
- th,
63
- td,
64
- thead th,
65
- tbody + tbody {
66
- border: 0;
90
+ // stylelint-disable-next-line selector-max-universal
91
+ > :not(caption) > * > * {
92
+ border-bottom-width: 0;
67
93
  }
68
94
  }
69
95
 
@@ -72,114 +98,54 @@
72
98
  // Default zebra-stripe styles (alternating gray and transparent backgrounds)
73
99
 
74
100
  .table-striped {
75
- tbody tr:nth-of-type(#{$table-striped-order}) {
76
- background-color: $table-accent-bg;
101
+ > tbody > tr:nth-of-type(#{$table-striped-order}) {
102
+ --bs-table-accent-bg: var(--bs-table-striped-bg);
103
+ color: var(--bs-table-striped-color);
77
104
  }
78
105
  }
79
106
 
107
+ // Active table
108
+ //
109
+ // The `.table-active` class can be added to highlight rows or cells
110
+
111
+ .table-active {
112
+ --bs-table-accent-bg: var(--bs-table-active-bg);
113
+ color: var(--bs-table-active-color);
114
+ }
80
115
 
81
116
  // Hover effect
82
117
  //
83
118
  // Placed here since it has to come after the potential zebra striping
84
119
 
85
120
  .table-hover {
86
- tbody tr {
87
- @include hover() {
88
- color: $table-hover-color;
89
- background-color: $table-hover-bg;
90
- }
121
+ > tbody > tr:hover {
122
+ --bs-table-accent-bg: var(--bs-table-hover-bg);
123
+ color: var(--bs-table-hover-color);
91
124
  }
92
125
  }
93
126
 
94
127
 
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
128
+ // Table variants
108
129
  //
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
- }
130
+ // Table variants set the table cell backgrounds, border colors
131
+ // and the colors of the striped, hovered & active tables
120
132
 
121
- .thead-light {
122
- th {
123
- color: $table-head-color;
124
- background-color: $table-head-bg;
125
- border-color: $table-border-color;
126
- }
127
- }
133
+ @each $color, $value in $table-variants {
134
+ @include table-variant($color, $value);
128
135
  }
129
136
 
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
137
  // Responsive tables
162
138
  //
163
139
  // Generate series of `.table-responsive-*` classes for configuring the screen
164
140
  // size of where your table will overflow.
165
141
 
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
- }
142
+ @each $breakpoint in map-keys($grid-breakpoints) {
143
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
144
+
145
+ @include media-breakpoint-down($breakpoint) {
146
+ .table-responsive#{$infix} {
147
+ overflow-x: auto;
148
+ -webkit-overflow-scrolling: touch;
183
149
  }
184
150
  }
185
151
  }
@@ -1,13 +1,11 @@
1
1
  .toast {
2
2
  max-width: $toast-max-width;
3
- overflow: hidden; // cheap rounded corners on nested items
4
3
  @include font-size($toast-font-size);
5
4
  color: $toast-color;
6
5
  background-color: $toast-background-color;
7
6
  background-clip: padding-box;
8
7
  border: $toast-border-width solid $toast-border-color;
9
8
  box-shadow: $toast-box-shadow;
10
- backdrop-filter: blur(10px);
11
9
  opacity: 0;
12
10
  @include border-radius($toast-border-radius);
13
11
 
@@ -37,6 +35,12 @@
37
35
  background-color: $toast-header-background-color;
38
36
  background-clip: padding-box;
39
37
  border-bottom: $toast-border-width solid $toast-header-border-color;
38
+ @include border-top-radius(subtract($toast-border-radius, $toast-border-width));
39
+
40
+ .btn-close {
41
+ margin-right: $toast-padding-x / -2;
42
+ margin-left: $toast-padding-x;
43
+ }
40
44
  }
41
45
 
42
46
  .toast-body {
@@ -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,7 +32,7 @@
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 {
@@ -46,7 +46,7 @@
46
46
  .bs-tooltip-right {
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;
@@ -62,7 +62,7 @@
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 {
@@ -76,7 +76,7 @@
76
76
  .bs-tooltip-left {
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;
@@ -13,7 +13,6 @@
13
13
  }
14
14
 
15
15
  .collapsing {
16
- position: relative;
17
16
  height: 0;
18
17
  overflow: hidden;
19
18
  @include transition($transition-collapse);
@@ -1,82 +1,56 @@
1
- // stylelint-disable declaration-no-important, 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