bootstrap 5.1.1 → 5.2.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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap/alert.js +18 -153
  4. data/assets/javascripts/bootstrap/base-component.js +44 -127
  5. data/assets/javascripts/bootstrap/button.js +16 -80
  6. data/assets/javascripts/bootstrap/carousel.js +225 -497
  7. data/assets/javascripts/bootstrap/collapse.js +79 -262
  8. data/assets/javascripts/bootstrap/dom/data.js +6 -8
  9. data/assets/javascripts/bootstrap/dom/event-handler.js +95 -133
  10. data/assets/javascripts/bootstrap/dom/manipulator.js +25 -29
  11. data/assets/javascripts/bootstrap/dom/selector-engine.js +17 -59
  12. data/assets/javascripts/bootstrap/dropdown.js +124 -342
  13. data/assets/javascripts/bootstrap/modal.js +122 -767
  14. data/assets/javascripts/bootstrap/offcanvas.js +102 -671
  15. data/assets/javascripts/bootstrap/popover.js +42 -124
  16. data/assets/javascripts/bootstrap/scrollspy.js +186 -269
  17. data/assets/javascripts/bootstrap/tab.js +222 -221
  18. data/assets/javascripts/bootstrap/toast.js +41 -227
  19. data/assets/javascripts/bootstrap/tooltip.js +283 -629
  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 +16 -7
  31. data/assets/javascripts/bootstrap.js +2094 -1891
  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 +52 -24
  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 +3 -0
  41. data/assets/stylesheets/bootstrap/_buttons.scss +97 -22
  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 +83 -75
  46. data/assets/stylesheets/bootstrap/_functions.scss +7 -7
  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 +44 -27
  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 +91 -150
  54. data/assets/stylesheets/bootstrap/_offcanvas.scss +119 -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 +38 -25
  63. data/assets/stylesheets/bootstrap/_toasts.scss +35 -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 +118 -124
  68. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +3 -6
  69. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +14 -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 +2 -1
  73. data/assets/stylesheets/bootstrap/forms/_input-group.scss +15 -7
  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 +8 -0
  85. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +1 -1
  86. data/assets/stylesheets/bootstrap/mixins/_grid.scss +13 -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 +12 -4
  91. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +1 -1
  92. data/bootstrap.gemspec +1 -1
  93. data/lib/bootstrap/version.rb +2 -2
  94. data/tasks/updater/js.rb +9 -4
  95. 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,6 +34,8 @@
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
40
  > .btn:not(:first-child),
39
41
  > .btn-group:not(:first-child) {
@@ -42,6 +44,7 @@
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,94 @@
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-box-shadow: #{$btn-box-shadow};
19
+ --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};
20
+ --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);
21
+ // scss-docs-end btn-css-vars
22
+
6
23
  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;
24
+ padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);
25
+ font-family: var(--#{$prefix}btn-font-family);
26
+ @include font-size(var(--#{$prefix}btn-font-size));
27
+ font-weight: var(--#{$prefix}btn-font-weight);
28
+ line-height: var(--#{$prefix}btn-line-height);
29
+ color: var(--#{$prefix}btn-color);
11
30
  text-align: center;
12
31
  text-decoration: if($link-decoration == none, null, none);
13
32
  white-space: $btn-white-space;
14
33
  vertical-align: middle;
15
34
  cursor: if($enable-button-pointers, pointer, null);
16
35
  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);
36
+ border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);
37
+ @include border-radius(var(--#{$prefix}btn-border-radius));
38
+ @include gradient-bg(var(--#{$prefix}btn-bg));
39
+ @include box-shadow(var(--#{$prefix}btn-box-shadow));
20
40
  @include transition($btn-transition);
21
41
 
22
42
  &:hover {
23
- color: $body-color;
43
+ color: var(--#{$prefix}btn-hover-color);
24
44
  text-decoration: if($link-hover-decoration == underline, none, null);
45
+ background-color: var(--#{$prefix}btn-hover-bg);
46
+ border-color: var(--#{$prefix}btn-hover-border-color);
25
47
  }
26
48
 
27
49
  .btn-check:focus + &,
28
50
  &:focus {
51
+ color: var(--#{$prefix}btn-hover-color);
52
+ @include gradient-bg(var(--#{$prefix}btn-hover-bg));
53
+ border-color: var(--#{$prefix}btn-hover-border-color);
29
54
  outline: 0;
30
- box-shadow: $btn-focus-box-shadow;
55
+ // Avoid using mixin so we can pass custom focus shadow properly
56
+ @if $enable-shadows {
57
+ box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
58
+ } @else {
59
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
60
+ }
31
61
  }
32
62
 
33
63
  .btn-check:checked + &,
34
64
  .btn-check:active + &,
35
65
  &:active,
36
- &.active {
37
- @include box-shadow($btn-active-box-shadow);
66
+ &.active,
67
+ &.show {
68
+ color: var(--#{$prefix}btn-active-color);
69
+ background-color: var(--#{$prefix}btn-active-bg);
70
+ // Remove CSS gradients if they're enabled
71
+ background-image: if($enable-gradients, none, null);
72
+ border-color: var(--#{$prefix}btn-active-border-color);
73
+ @include box-shadow(var(--#{$prefix}btn-active-shadow));
38
74
 
39
75
  &:focus {
40
- @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
76
+ // Avoid using mixin so we can pass custom focus shadow properly
77
+ @if $enable-shadows {
78
+ box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
79
+ } @else {
80
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
81
+ }
41
82
  }
42
83
  }
43
84
 
44
85
  &:disabled,
45
86
  &.disabled,
46
87
  fieldset:disabled & {
88
+ color: var(--#{$prefix}btn-disabled-color);
47
89
  pointer-events: none;
48
- opacity: $btn-disabled-opacity;
90
+ background-color: var(--#{$prefix}btn-disabled-bg);
91
+ background-image: if($enable-gradients, none, null);
92
+ border-color: var(--#{$prefix}btn-disabled-border-color);
93
+ opacity: var(--#{$prefix}btn-disabled-opacity);
49
94
  @include box-shadow(none);
50
95
  }
51
96
  }
@@ -58,7 +103,27 @@
58
103
  // scss-docs-start btn-variant-loops
59
104
  @each $color, $value in $theme-colors {
60
105
  .btn-#{$color} {
61
- @include button-variant($value, $value);
106
+ @if $color == "light" {
107
+ @include button-variant(
108
+ $value,
109
+ $value,
110
+ $hover-background: shade-color($value, $btn-hover-bg-shade-amount),
111
+ $hover-border: shade-color($value, $btn-hover-border-shade-amount),
112
+ $active-background: shade-color($value, $btn-active-bg-shade-amount),
113
+ $active-border: shade-color($value, $btn-active-border-shade-amount)
114
+ );
115
+ } @else if $color == "dark" {
116
+ @include button-variant(
117
+ $value,
118
+ $value,
119
+ $hover-background: tint-color($value, $btn-hover-bg-tint-amount),
120
+ $hover-border: tint-color($value, $btn-hover-border-tint-amount),
121
+ $active-background: tint-color($value, $btn-active-bg-tint-amount),
122
+ $active-border: tint-color($value, $btn-active-border-tint-amount)
123
+ );
124
+ } @else {
125
+ @include button-variant($value, $value);
126
+ }
62
127
  }
63
128
  }
64
129
 
@@ -76,22 +141,32 @@
76
141
 
77
142
  // Make a button look and behave like a link
78
143
  .btn-link {
79
- font-weight: $font-weight-normal;
80
- color: $btn-link-color;
144
+ --#{$prefix}btn-font-weight: #{$font-weight-normal};
145
+ --#{$prefix}btn-color: #{$btn-link-color};
146
+ --#{$prefix}btn-bg: transparent;
147
+ --#{$prefix}btn-border-color: transparent;
148
+ --#{$prefix}btn-hover-color: #{$btn-link-hover-color};
149
+ --#{$prefix}btn-hover-border-color: transparent;
150
+ --#{$prefix}btn-active-color: #{$btn-link-hover-color};
151
+ --#{$prefix}btn-active-border-color: transparent;
152
+ --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};
153
+ --#{$prefix}btn-disabled-border-color: transparent;
154
+ --#{$prefix}btn-box-shadow: none;
155
+ --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix(color-contrast($primary), $primary, 15%))};
156
+
81
157
  text-decoration: $link-decoration;
82
158
 
83
- &:hover {
84
- color: $btn-link-hover-color;
159
+ &:hover,
160
+ &:focus {
85
161
  text-decoration: $link-hover-decoration;
86
162
  }
87
163
 
88
164
  &:focus {
89
- text-decoration: $link-hover-decoration;
165
+ color: var(--#{$prefix}btn-color);
90
166
  }
91
167
 
92
- &:disabled,
93
- &.disabled {
94
- color: $btn-link-disabled-color;
168
+ &:hover {
169
+ color: var(--#{$prefix}btn-hover-color);
95
170
  }
96
171
 
97
172
  // 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