bootstrap 5.1.3 → 5.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +24 -4
  3. data/assets/javascripts/bootstrap/alert.js +11 -146
  4. data/assets/javascripts/bootstrap/base-component.js +37 -120
  5. data/assets/javascripts/bootstrap/button.js +10 -74
  6. data/assets/javascripts/bootstrap/carousel.js +213 -485
  7. data/assets/javascripts/bootstrap/collapse.js +65 -249
  8. data/assets/javascripts/bootstrap/dom/data.js +3 -5
  9. data/assets/javascripts/bootstrap/dom/event-handler.js +94 -132
  10. data/assets/javascripts/bootstrap/dom/manipulator.js +23 -27
  11. data/assets/javascripts/bootstrap/dom/selector-engine.js +16 -58
  12. data/assets/javascripts/bootstrap/dropdown.js +103 -317
  13. data/assets/javascripts/bootstrap/modal.js +107 -749
  14. data/assets/javascripts/bootstrap/offcanvas.js +90 -659
  15. data/assets/javascripts/bootstrap/popover.js +36 -118
  16. data/assets/javascripts/bootstrap/scrollspy.js +183 -262
  17. data/assets/javascripts/bootstrap/tab.js +215 -214
  18. data/assets/javascripts/bootstrap/toast.js +28 -214
  19. data/assets/javascripts/bootstrap/tooltip.js +272 -611
  20. data/assets/javascripts/bootstrap/util/backdrop.js +165 -0
  21. data/assets/javascripts/bootstrap/util/component-functions.js +46 -0
  22. data/assets/javascripts/bootstrap/util/config.js +79 -0
  23. data/assets/javascripts/bootstrap/util/focustrap.js +129 -0
  24. data/assets/javascripts/bootstrap/util/index.js +350 -0
  25. data/assets/javascripts/bootstrap/util/sanitizer.js +122 -0
  26. data/assets/javascripts/bootstrap/util/scrollbar.js +138 -0
  27. data/assets/javascripts/bootstrap/util/swipe.js +155 -0
  28. data/assets/javascripts/bootstrap/util/template-factory.js +177 -0
  29. data/assets/javascripts/bootstrap-global-this-define.js +1 -1
  30. data/assets/javascripts/bootstrap-sprockets.js +10 -1
  31. data/assets/javascripts/bootstrap.js +2077 -1859
  32. data/assets/javascripts/bootstrap.min.js +3 -3
  33. data/assets/stylesheets/_bootstrap-grid.scss +3 -6
  34. data/assets/stylesheets/_bootstrap-reboot.scss +3 -7
  35. data/assets/stylesheets/_bootstrap.scss +4 -6
  36. data/assets/stylesheets/bootstrap/_accordion.scss +56 -25
  37. data/assets/stylesheets/bootstrap/_alert.scss +18 -4
  38. data/assets/stylesheets/bootstrap/_badge.scss +14 -5
  39. data/assets/stylesheets/bootstrap/_breadcrumb.scss +22 -10
  40. data/assets/stylesheets/bootstrap/_button-group.scss +4 -1
  41. data/assets/stylesheets/bootstrap/_buttons.scss +120 -30
  42. data/assets/stylesheets/bootstrap/_card.scss +55 -37
  43. data/assets/stylesheets/bootstrap/_close.scss +1 -1
  44. data/assets/stylesheets/bootstrap/_containers.scss +1 -1
  45. data/assets/stylesheets/bootstrap/_dropdown.scss +85 -76
  46. data/assets/stylesheets/bootstrap/_functions.scss +8 -8
  47. data/assets/stylesheets/bootstrap/_grid.scss +3 -3
  48. data/assets/stylesheets/bootstrap/_helpers.scss +1 -0
  49. data/assets/stylesheets/bootstrap/_list-group.scss +48 -30
  50. data/assets/stylesheets/bootstrap/_maps.scss +54 -0
  51. data/assets/stylesheets/bootstrap/_modal.scss +71 -43
  52. data/assets/stylesheets/bootstrap/_nav.scss +53 -20
  53. data/assets/stylesheets/bootstrap/_navbar.scss +93 -150
  54. data/assets/stylesheets/bootstrap/_offcanvas.scss +120 -59
  55. data/assets/stylesheets/bootstrap/_pagination.scss +66 -21
  56. data/assets/stylesheets/bootstrap/_placeholders.scss +1 -1
  57. data/assets/stylesheets/bootstrap/_popover.scss +90 -52
  58. data/assets/stylesheets/bootstrap/_progress.scss +20 -9
  59. data/assets/stylesheets/bootstrap/_reboot.scss +25 -40
  60. data/assets/stylesheets/bootstrap/_root.scss +40 -21
  61. data/assets/stylesheets/bootstrap/_spinners.scss +38 -22
  62. data/assets/stylesheets/bootstrap/_tables.scss +32 -23
  63. data/assets/stylesheets/bootstrap/_toasts.scss +36 -16
  64. data/assets/stylesheets/bootstrap/_tooltip.scss +61 -56
  65. data/assets/stylesheets/bootstrap/_type.scss +2 -0
  66. data/assets/stylesheets/bootstrap/_utilities.scss +43 -26
  67. data/assets/stylesheets/bootstrap/_variables.scss +128 -135
  68. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +3 -6
  69. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +15 -3
  70. data/assets/stylesheets/bootstrap/forms/_form-check.scss +28 -5
  71. data/assets/stylesheets/bootstrap/forms/_form-control.scss +12 -37
  72. data/assets/stylesheets/bootstrap/forms/_form-select.scss +0 -1
  73. data/assets/stylesheets/bootstrap/forms/_input-group.scss +19 -8
  74. data/assets/stylesheets/bootstrap/helpers/_color-bg.scss +10 -0
  75. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +2 -2
  76. data/assets/stylesheets/bootstrap/helpers/_position.scss +7 -1
  77. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +2 -2
  78. data/assets/stylesheets/bootstrap/helpers/_vr.scss +1 -1
  79. data/assets/stylesheets/bootstrap/mixins/_alert.scss +7 -3
  80. data/assets/stylesheets/bootstrap/mixins/_banner.scss +9 -0
  81. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +8 -8
  82. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +32 -95
  83. data/assets/stylesheets/bootstrap/mixins/_container.scss +4 -2
  84. data/assets/stylesheets/bootstrap/mixins/_forms.scss +18 -10
  85. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +1 -1
  86. data/assets/stylesheets/bootstrap/mixins/_grid.scss +12 -12
  87. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +4 -25
  88. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
  89. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +12 -9
  90. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +13 -5
  91. data/bootstrap.gemspec +1 -1
  92. data/lib/bootstrap/version.rb +2 -2
  93. data/tasks/updater/js.rb +10 -5
  94. metadata +16 -4
@@ -1,28 +1,40 @@
1
1
  .breadcrumb {
2
+ // scss-docs-start breadcrumb-css-vars
3
+ --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};
4
+ --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};
5
+ --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};
6
+ @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size);
7
+ --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};
8
+ --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};
9
+ --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};
10
+ --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};
11
+ --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};
12
+ // scss-docs-end breadcrumb-css-vars
13
+
2
14
  display: flex;
3
15
  flex-wrap: wrap;
4
- padding: $breadcrumb-padding-y $breadcrumb-padding-x;
5
- margin-bottom: $breadcrumb-margin-bottom;
6
- @include font-size($breadcrumb-font-size);
16
+ padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x);
17
+ margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom);
18
+ @include font-size(var(--#{$prefix}breadcrumb-font-size));
7
19
  list-style: none;
8
- background-color: $breadcrumb-bg;
9
- @include border-radius($breadcrumb-border-radius);
20
+ background-color: var(--#{$prefix}breadcrumb-bg);
21
+ @include border-radius(var(--#{$prefix}breadcrumb-border-radius));
10
22
  }
11
23
 
12
24
  .breadcrumb-item {
13
25
  // The separator between breadcrumbs (by default, a forward-slash: "/")
14
26
  + .breadcrumb-item {
15
- padding-left: $breadcrumb-item-padding-x;
27
+ padding-left: var(--#{$prefix}breadcrumb-item-padding-x);
16
28
 
17
29
  &::before {
18
30
  float: left; // Suppress inline spacings and underlining of the separator
19
- padding-right: $breadcrumb-item-padding-x;
20
- color: $breadcrumb-divider-color;
21
- content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
31
+ padding-right: var(--#{$prefix}breadcrumb-item-padding-x);
32
+ color: var(--#{$prefix}breadcrumb-divider-color);
33
+ content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"};
22
34
  }
23
35
  }
24
36
 
25
37
  &.active {
26
- color: $breadcrumb-active-color;
38
+ color: var(--#{$prefix}breadcrumb-item-active-color);
27
39
  }
28
40
  }
@@ -34,14 +34,17 @@
34
34
  }
35
35
 
36
36
  .btn-group {
37
+ @include border-radius($btn-border-radius);
38
+
37
39
  // Prevent double borders when buttons are next to each other
38
- > .btn:not(:first-child),
40
+ > :not(.btn-check:first-child) + .btn,
39
41
  > .btn-group:not(:first-child) {
40
42
  margin-left: -$btn-border-width;
41
43
  }
42
44
 
43
45
  // Reset rounded corners
44
46
  > .btn:not(:last-child):not(.dropdown-toggle),
47
+ > .btn.dropdown-toggle-split:first-child,
45
48
  > .btn-group:not(:last-child) > .btn {
46
49
  @include border-end-radius(0);
47
50
  }
@@ -3,49 +3,106 @@
3
3
  //
4
4
 
5
5
  .btn {
6
+ // scss-docs-start btn-css-vars
7
+ --#{$prefix}btn-padding-x: #{$btn-padding-x};
8
+ --#{$prefix}btn-padding-y: #{$btn-padding-y};
9
+ --#{$prefix}btn-font-family: #{$btn-font-family};
10
+ @include rfs($btn-font-size, --#{$prefix}btn-font-size);
11
+ --#{$prefix}btn-font-weight: #{$btn-font-weight};
12
+ --#{$prefix}btn-line-height: #{$btn-line-height};
13
+ --#{$prefix}btn-color: #{$body-color};
14
+ --#{$prefix}btn-bg: transparent;
15
+ --#{$prefix}btn-border-width: #{$btn-border-width};
16
+ --#{$prefix}btn-border-color: transparent;
17
+ --#{$prefix}btn-border-radius: #{$btn-border-radius};
18
+ --#{$prefix}btn-hover-border-color: transparent;
19
+ --#{$prefix}btn-box-shadow: #{$btn-box-shadow};
20
+ --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};
21
+ --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);
22
+ // scss-docs-end btn-css-vars
23
+
6
24
  display: inline-block;
7
- font-family: $btn-font-family;
8
- font-weight: $btn-font-weight;
9
- line-height: $btn-line-height;
10
- color: $body-color;
25
+ padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);
26
+ font-family: var(--#{$prefix}btn-font-family);
27
+ @include font-size(var(--#{$prefix}btn-font-size));
28
+ font-weight: var(--#{$prefix}btn-font-weight);
29
+ line-height: var(--#{$prefix}btn-line-height);
30
+ color: var(--#{$prefix}btn-color);
11
31
  text-align: center;
12
32
  text-decoration: if($link-decoration == none, null, none);
13
33
  white-space: $btn-white-space;
14
34
  vertical-align: middle;
15
35
  cursor: if($enable-button-pointers, pointer, null);
16
36
  user-select: none;
17
- background-color: transparent;
18
- border: $btn-border-width solid transparent;
19
- @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius);
37
+ border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);
38
+ @include border-radius(var(--#{$prefix}btn-border-radius));
39
+ @include gradient-bg(var(--#{$prefix}btn-bg));
40
+ @include box-shadow(var(--#{$prefix}btn-box-shadow));
20
41
  @include transition($btn-transition);
21
42
 
22
- &:hover {
23
- color: $body-color;
43
+ :not(.btn-check) + &:hover,
44
+ &:first-child:hover {
45
+ color: var(--#{$prefix}btn-hover-color);
24
46
  text-decoration: if($link-hover-decoration == underline, none, null);
47
+ background-color: var(--#{$prefix}btn-hover-bg);
48
+ border-color: var(--#{$prefix}btn-hover-border-color);
25
49
  }
26
50
 
27
- .btn-check:focus + &,
28
- &:focus {
51
+ &:focus-visible {
52
+ color: var(--#{$prefix}btn-hover-color);
53
+ @include gradient-bg(var(--#{$prefix}btn-hover-bg));
54
+ border-color: var(--#{$prefix}btn-hover-border-color);
29
55
  outline: 0;
30
- box-shadow: $btn-focus-box-shadow;
56
+ // Avoid using mixin so we can pass custom focus shadow properly
57
+ @if $enable-shadows {
58
+ box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
59
+ } @else {
60
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
61
+ }
31
62
  }
32
63
 
33
- .btn-check:checked + &,
34
- .btn-check:active + &,
35
- &:active,
36
- &.active {
37
- @include box-shadow($btn-active-box-shadow);
64
+ .btn-check:focus-visible + & {
65
+ border-color: var(--#{$prefix}btn-hover-border-color);
66
+ outline: 0;
67
+ // Avoid using mixin so we can pass custom focus shadow properly
68
+ @if $enable-shadows {
69
+ box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
70
+ } @else {
71
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
72
+ }
73
+ }
38
74
 
39
- &:focus {
40
- @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
75
+ .btn-check:checked + &,
76
+ :not(.btn-check) + &:active,
77
+ &:first-child:active,
78
+ &.active,
79
+ &.show {
80
+ color: var(--#{$prefix}btn-active-color);
81
+ background-color: var(--#{$prefix}btn-active-bg);
82
+ // Remove CSS gradients if they're enabled
83
+ background-image: if($enable-gradients, none, null);
84
+ border-color: var(--#{$prefix}btn-active-border-color);
85
+ @include box-shadow(var(--#{$prefix}btn-active-shadow));
86
+
87
+ &:focus-visible {
88
+ // Avoid using mixin so we can pass custom focus shadow properly
89
+ @if $enable-shadows {
90
+ box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
91
+ } @else {
92
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
93
+ }
41
94
  }
42
95
  }
43
96
 
44
97
  &:disabled,
45
98
  &.disabled,
46
99
  fieldset:disabled & {
100
+ color: var(--#{$prefix}btn-disabled-color);
47
101
  pointer-events: none;
48
- opacity: $btn-disabled-opacity;
102
+ background-color: var(--#{$prefix}btn-disabled-bg);
103
+ background-image: if($enable-gradients, none, null);
104
+ border-color: var(--#{$prefix}btn-disabled-border-color);
105
+ opacity: var(--#{$prefix}btn-disabled-opacity);
49
106
  @include box-shadow(none);
50
107
  }
51
108
  }
@@ -58,7 +115,27 @@
58
115
  // scss-docs-start btn-variant-loops
59
116
  @each $color, $value in $theme-colors {
60
117
  .btn-#{$color} {
61
- @include button-variant($value, $value);
118
+ @if $color == "light" {
119
+ @include button-variant(
120
+ $value,
121
+ $value,
122
+ $hover-background: shade-color($value, $btn-hover-bg-shade-amount),
123
+ $hover-border: shade-color($value, $btn-hover-border-shade-amount),
124
+ $active-background: shade-color($value, $btn-active-bg-shade-amount),
125
+ $active-border: shade-color($value, $btn-active-border-shade-amount)
126
+ );
127
+ } @else if $color == "dark" {
128
+ @include button-variant(
129
+ $value,
130
+ $value,
131
+ $hover-background: tint-color($value, $btn-hover-bg-tint-amount),
132
+ $hover-border: tint-color($value, $btn-hover-border-tint-amount),
133
+ $active-background: tint-color($value, $btn-active-bg-tint-amount),
134
+ $active-border: tint-color($value, $btn-active-border-tint-amount)
135
+ );
136
+ } @else {
137
+ @include button-variant($value, $value);
138
+ }
62
139
  }
63
140
  }
64
141
 
@@ -76,22 +153,35 @@
76
153
 
77
154
  // Make a button look and behave like a link
78
155
  .btn-link {
79
- font-weight: $font-weight-normal;
80
- color: $btn-link-color;
156
+ --#{$prefix}btn-font-weight: #{$font-weight-normal};
157
+ --#{$prefix}btn-color: #{$btn-link-color};
158
+ --#{$prefix}btn-bg: transparent;
159
+ --#{$prefix}btn-border-color: transparent;
160
+ --#{$prefix}btn-hover-color: #{$btn-link-hover-color};
161
+ --#{$prefix}btn-hover-border-color: transparent;
162
+ --#{$prefix}btn-active-color: #{$btn-link-hover-color};
163
+ --#{$prefix}btn-active-border-color: transparent;
164
+ --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};
165
+ --#{$prefix}btn-disabled-border-color: transparent;
166
+ --#{$prefix}btn-box-shadow: none;
167
+ --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix(color-contrast($primary), $primary, 15%))};
168
+
81
169
  text-decoration: $link-decoration;
170
+ @if $enable-gradients {
171
+ background-image: none;
172
+ }
82
173
 
83
- &:hover {
84
- color: $btn-link-hover-color;
174
+ &:hover,
175
+ &:focus-visible {
85
176
  text-decoration: $link-hover-decoration;
86
177
  }
87
178
 
88
- &:focus {
89
- text-decoration: $link-hover-decoration;
179
+ &:focus-visible {
180
+ color: var(--#{$prefix}btn-color);
90
181
  }
91
182
 
92
- &:disabled,
93
- &.disabled {
94
- color: $btn-link-disabled-color;
183
+ &:hover {
184
+ color: var(--#{$prefix}btn-hover-color);
95
185
  }
96
186
 
97
187
  // No need for an active state here
@@ -3,17 +3,37 @@
3
3
  //
4
4
 
5
5
  .card {
6
+ // scss-docs-start card-css-vars
7
+ --#{$prefix}card-spacer-y: #{$card-spacer-y};
8
+ --#{$prefix}card-spacer-x: #{$card-spacer-x};
9
+ --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y};
10
+ --#{$prefix}card-border-width: #{$card-border-width};
11
+ --#{$prefix}card-border-color: #{$card-border-color};
12
+ --#{$prefix}card-border-radius: #{$card-border-radius};
13
+ --#{$prefix}card-box-shadow: #{$card-box-shadow};
14
+ --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};
15
+ --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};
16
+ --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};
17
+ --#{$prefix}card-cap-bg: #{$card-cap-bg};
18
+ --#{$prefix}card-cap-color: #{$card-cap-color};
19
+ --#{$prefix}card-height: #{$card-height};
20
+ --#{$prefix}card-color: #{$card-color};
21
+ --#{$prefix}card-bg: #{$card-bg};
22
+ --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};
23
+ --#{$prefix}card-group-margin: #{$card-group-margin};
24
+ // scss-docs-end card-css-vars
25
+
6
26
  position: relative;
7
27
  display: flex;
8
28
  flex-direction: column;
9
29
  min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
10
- height: $card-height;
30
+ height: var(--#{$prefix}card-height);
11
31
  word-wrap: break-word;
12
- background-color: $card-bg;
32
+ background-color: var(--#{$prefix}card-bg);
13
33
  background-clip: border-box;
14
- border: $card-border-width solid $card-border-color;
15
- @include border-radius($card-border-radius);
16
- @include box-shadow($card-box-shadow);
34
+ border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
35
+ @include border-radius(var(--#{$prefix}card-border-radius));
36
+ @include box-shadow(var(--#{$prefix}card-box-shadow));
17
37
 
18
38
  > hr {
19
39
  margin-right: 0;
@@ -26,12 +46,12 @@
26
46
 
27
47
  &:first-child {
28
48
  border-top-width: 0;
29
- @include border-top-radius($card-inner-border-radius);
49
+ @include border-top-radius(var(--#{$prefix}card-inner-border-radius));
30
50
  }
31
51
 
32
52
  &:last-child {
33
53
  border-bottom-width: 0;
34
- @include border-bottom-radius($card-inner-border-radius);
54
+ @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));
35
55
  }
36
56
  }
37
57
 
@@ -47,16 +67,16 @@
47
67
  // Enable `flex-grow: 1` for decks and groups so that card blocks take up
48
68
  // as much space as possible, ensuring footers are aligned to the bottom.
49
69
  flex: 1 1 auto;
50
- padding: $card-spacer-y $card-spacer-x;
51
- color: $card-color;
70
+ padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);
71
+ color: var(--#{$prefix}card-color);
52
72
  }
53
73
 
54
74
  .card-title {
55
- margin-bottom: $card-title-spacer-y;
75
+ margin-bottom: var(--#{$prefix}card-title-spacer-y);
56
76
  }
57
77
 
58
78
  .card-subtitle {
59
- margin-top: -$card-title-spacer-y * .5;
79
+ margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list
60
80
  margin-bottom: 0;
61
81
  }
62
82
 
@@ -70,7 +90,7 @@
70
90
  }
71
91
 
72
92
  + .card-link {
73
- margin-left: $card-spacer-x;
93
+ margin-left: var(--#{$prefix}card-spacer-x);
74
94
  }
75
95
  }
76
96
 
@@ -79,25 +99,25 @@
79
99
  //
80
100
 
81
101
  .card-header {
82
- padding: $card-cap-padding-y $card-cap-padding-x;
102
+ padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);
83
103
  margin-bottom: 0; // Removes the default margin-bottom of <hN>
84
- color: $card-cap-color;
85
- background-color: $card-cap-bg;
86
- border-bottom: $card-border-width solid $card-border-color;
104
+ color: var(--#{$prefix}card-cap-color);
105
+ background-color: var(--#{$prefix}card-cap-bg);
106
+ border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
87
107
 
88
108
  &:first-child {
89
- @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0);
109
+ @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0);
90
110
  }
91
111
  }
92
112
 
93
113
  .card-footer {
94
- padding: $card-cap-padding-y $card-cap-padding-x;
95
- color: $card-cap-color;
96
- background-color: $card-cap-bg;
97
- border-top: $card-border-width solid $card-border-color;
114
+ padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);
115
+ color: var(--#{$prefix}card-cap-color);
116
+ background-color: var(--#{$prefix}card-cap-bg);
117
+ border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);
98
118
 
99
119
  &:last-child {
100
- @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius);
120
+ @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius));
101
121
  }
102
122
  }
103
123
 
@@ -107,22 +127,20 @@
107
127
  //
108
128
 
109
129
  .card-header-tabs {
110
- margin-right: -$card-cap-padding-x * .5;
111
- margin-bottom: -$card-cap-padding-y;
112
- margin-left: -$card-cap-padding-x * .5;
130
+ margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
131
+ margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list
132
+ margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
113
133
  border-bottom: 0;
114
134
 
115
- @if $nav-tabs-link-active-bg != $card-bg {
116
- .nav-link.active {
117
- background-color: $card-bg;
118
- border-bottom-color: $card-bg;
119
- }
135
+ .nav-link.active {
136
+ background-color: var(--#{$prefix}card-bg);
137
+ border-bottom-color: var(--#{$prefix}card-bg);
120
138
  }
121
139
  }
122
140
 
123
141
  .card-header-pills {
124
- margin-right: -$card-cap-padding-x * .5;
125
- margin-left: -$card-cap-padding-x * .5;
142
+ margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
143
+ margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list
126
144
  }
127
145
 
128
146
  // Card image
@@ -132,8 +150,8 @@
132
150
  right: 0;
133
151
  bottom: 0;
134
152
  left: 0;
135
- padding: $card-img-overlay-padding;
136
- @include border-radius($card-inner-border-radius);
153
+ padding: var(--#{$prefix}card-img-overlay-padding);
154
+ @include border-radius(var(--#{$prefix}card-inner-border-radius));
137
155
  }
138
156
 
139
157
  .card-img,
@@ -144,12 +162,12 @@
144
162
 
145
163
  .card-img,
146
164
  .card-img-top {
147
- @include border-top-radius($card-inner-border-radius);
165
+ @include border-top-radius(var(--#{$prefix}card-inner-border-radius));
148
166
  }
149
167
 
150
168
  .card-img,
151
169
  .card-img-bottom {
152
- @include border-bottom-radius($card-inner-border-radius);
170
+ @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));
153
171
  }
154
172
 
155
173
 
@@ -161,7 +179,7 @@
161
179
  // The child selector allows nested `.card` within `.card-group`
162
180
  // to display properly.
163
181
  > .card {
164
- margin-bottom: $card-group-margin;
182
+ margin-bottom: var(--#{$prefix}card-group-margin);
165
183
  }
166
184
 
167
185
  @include media-breakpoint-up(sm) {
@@ -1,4 +1,4 @@
1
- // transparent background and border properties included for button version.
1
+ // Transparent background and border properties included for button version.
2
2
  // iOS requires the button element instead of an anchor tag.
3
3
  // If you want the anchor version, it requires `href="#"`.
4
4
  // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
@@ -2,7 +2,7 @@
2
2
  //
3
3
  // Set the container width, and override it for fixed navbars in media queries.
4
4
 
5
- @if $enable-grid-classes {
5
+ @if $enable-container-classes {
6
6
  // Single container class with breakpoint max-widths
7
7
  .container,
8
8
  // 100% wide container at all breakpoints