jekyll-theme-petridish 3.0 → 3.1.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 (107) hide show
  1. checksums.yaml +4 -4
  2. data/_config.yml +5 -4
  3. data/_data/team.yml +3 -1
  4. data/_includes/footer.html +45 -23
  5. data/_includes/head.html +5 -5
  6. data/_includes/header.html +1 -1
  7. data/_includes/navbar.html +2 -2
  8. data/_layouts/home.html +10 -32
  9. data/_layouts/team.html +20 -8
  10. data/_sass/bootstrap/_accordion.scss +73 -33
  11. data/_sass/bootstrap/_alert.scss +25 -14
  12. data/_sass/bootstrap/_badge.scss +14 -5
  13. data/_sass/bootstrap/_breadcrumb.scss +22 -10
  14. data/_sass/bootstrap/_button-group.scss +6 -3
  15. data/_sass/bootstrap/_buttons.scss +133 -28
  16. data/_sass/bootstrap/_card.scss +60 -37
  17. data/_sass/bootstrap/_carousel.scss +22 -15
  18. data/_sass/bootstrap/_close.scss +33 -10
  19. data/_sass/bootstrap/_containers.scss +1 -1
  20. data/_sass/bootstrap/_dropdown.scss +86 -76
  21. data/_sass/bootstrap/_functions.scss +10 -10
  22. data/_sass/bootstrap/_grid.scss +9 -3
  23. data/_sass/bootstrap/_helpers.scss +3 -0
  24. data/_sass/bootstrap/_list-group.scss +60 -37
  25. data/_sass/bootstrap/_maps.scss +174 -0
  26. data/_sass/bootstrap/_mixins.scss +1 -2
  27. data/_sass/bootstrap/_modal.scss +71 -44
  28. data/_sass/bootstrap/_nav.scss +86 -28
  29. data/_sass/bootstrap/_navbar.scss +101 -147
  30. data/_sass/bootstrap/_offcanvas.scss +121 -61
  31. data/_sass/bootstrap/_pagination.scss +66 -21
  32. data/_sass/bootstrap/_placeholders.scss +1 -1
  33. data/_sass/bootstrap/_popover.scss +90 -52
  34. data/_sass/bootstrap/_progress.scss +30 -10
  35. data/_sass/bootstrap/_reboot.scss +31 -45
  36. data/_sass/bootstrap/_root.scss +155 -22
  37. data/_sass/bootstrap/_spinners.scss +38 -22
  38. data/_sass/bootstrap/_tables.scss +40 -24
  39. data/_sass/bootstrap/_toasts.scss +38 -16
  40. data/_sass/bootstrap/_tooltip.scss +60 -56
  41. data/_sass/bootstrap/_type.scss +2 -0
  42. data/_sass/bootstrap/_utilities.scss +209 -33
  43. data/_sass/bootstrap/_variables-dark.scss +87 -0
  44. data/_sass/bootstrap/_variables.scss +404 -294
  45. data/_sass/bootstrap/bootstrap-grid.scss +4 -9
  46. data/_sass/bootstrap/bootstrap-reboot.scss +4 -7
  47. data/_sass/bootstrap/bootstrap-utilities.scss +7 -6
  48. data/_sass/bootstrap/bootstrap.scss +5 -6
  49. data/_sass/bootstrap/forms/_floating-labels.scss +37 -5
  50. data/_sass/bootstrap/forms/_form-check.scss +51 -14
  51. data/_sass/bootstrap/forms/_form-control.scss +36 -41
  52. data/_sass/bootstrap/forms/_form-range.scss +3 -3
  53. data/_sass/bootstrap/forms/_form-select.scss +12 -4
  54. data/_sass/bootstrap/forms/_input-group.scss +20 -9
  55. data/_sass/bootstrap/helpers/_color-bg.scss +7 -0
  56. data/_sass/bootstrap/helpers/_colored-links.scss +20 -2
  57. data/_sass/bootstrap/helpers/_focus-ring.scss +5 -0
  58. data/_sass/bootstrap/helpers/_icon-link.scss +25 -0
  59. data/_sass/bootstrap/helpers/_position.scss +7 -1
  60. data/_sass/bootstrap/helpers/_ratio.scss +2 -2
  61. data/_sass/bootstrap/helpers/_vr.scss +2 -2
  62. data/_sass/bootstrap/mixins/_alert.scss +11 -4
  63. data/_sass/bootstrap/mixins/_banner.scss +7 -0
  64. data/_sass/bootstrap/mixins/_breakpoints.scss +8 -8
  65. data/_sass/bootstrap/mixins/_buttons.scss +32 -95
  66. data/_sass/bootstrap/mixins/_caret.scss +30 -25
  67. data/_sass/bootstrap/mixins/_color-mode.scss +21 -0
  68. data/_sass/bootstrap/mixins/_container.scss +4 -2
  69. data/_sass/bootstrap/mixins/_forms.scss +38 -19
  70. data/_sass/bootstrap/mixins/_gradients.scss +1 -1
  71. data/_sass/bootstrap/mixins/_grid.scss +14 -14
  72. data/_sass/bootstrap/mixins/_list-group.scss +2 -0
  73. data/_sass/bootstrap/mixins/_pagination.scss +4 -25
  74. data/_sass/bootstrap/mixins/_reset-text.scss +1 -1
  75. data/_sass/bootstrap/mixins/_table-variants.scss +12 -9
  76. data/_sass/bootstrap/mixins/_utilities.scss +14 -6
  77. data/_sass/bootstrap/mixins/_visually-hidden.scss +5 -1
  78. data/_sass/bootstrap/vendor/_rfs.scss +23 -29
  79. data/assets/theme/css/fontawesome-all.min.css +6 -2
  80. data/assets/theme/js/bootstrap.min.js +3 -3
  81. data/assets/theme/js/bootstrap.min.js.map +1 -1
  82. data/assets/theme/js/jquery.min.js +2 -2
  83. data/assets/theme/js/popper.min.js +2 -2
  84. data/assets/theme/js/popper.min.js.map +1 -1
  85. data/assets/theme/webfonts/fa-brands-400.ttf +0 -0
  86. data/assets/theme/webfonts/fa-brands-400.woff2 +0 -0
  87. data/assets/theme/webfonts/fa-regular-400.ttf +0 -0
  88. data/assets/theme/webfonts/fa-regular-400.woff2 +0 -0
  89. data/assets/theme/webfonts/fa-solid-900.ttf +0 -0
  90. data/assets/theme/webfonts/fa-solid-900.woff2 +0 -0
  91. data/assets/theme/webfonts/fa-v4compatibility.ttf +0 -0
  92. data/assets/theme/webfonts/fa-v4compatibility.woff2 +0 -0
  93. metadata +12 -17
  94. data/assets/theme/css/academicons.min.css +0 -1
  95. data/assets/theme/fonts/academicons.eot +0 -0
  96. data/assets/theme/fonts/academicons.svg +0 -1663
  97. data/assets/theme/fonts/academicons.ttf +0 -0
  98. data/assets/theme/fonts/academicons.woff +0 -0
  99. data/assets/theme/webfonts/fa-brands-400.eot +0 -0
  100. data/assets/theme/webfonts/fa-brands-400.svg +0 -3717
  101. data/assets/theme/webfonts/fa-brands-400.woff +0 -0
  102. data/assets/theme/webfonts/fa-regular-400.eot +0 -0
  103. data/assets/theme/webfonts/fa-regular-400.svg +0 -801
  104. data/assets/theme/webfonts/fa-regular-400.woff +0 -0
  105. data/assets/theme/webfonts/fa-solid-900.eot +0 -0
  106. data/assets/theme/webfonts/fa-solid-900.svg +0 -5034
  107. data/assets/theme/webfonts/fa-solid-900.woff +0 -0
@@ -2,7 +2,9 @@
2
2
  .dropup,
3
3
  .dropend,
4
4
  .dropdown,
5
- .dropstart {
5
+ .dropstart,
6
+ .dropup-center,
7
+ .dropdown-center {
6
8
  position: relative;
7
9
  }
8
10
 
@@ -15,26 +17,67 @@
15
17
 
16
18
  // The dropdown menu
17
19
  .dropdown-menu {
20
+ // scss-docs-start dropdown-css-vars
21
+ --#{$prefix}dropdown-zindex: #{$zindex-dropdown};
22
+ --#{$prefix}dropdown-min-width: #{$dropdown-min-width};
23
+ --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x};
24
+ --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y};
25
+ --#{$prefix}dropdown-spacer: #{$dropdown-spacer};
26
+ @include rfs($dropdown-font-size, --#{$prefix}dropdown-font-size);
27
+ --#{$prefix}dropdown-color: #{$dropdown-color};
28
+ --#{$prefix}dropdown-bg: #{$dropdown-bg};
29
+ --#{$prefix}dropdown-border-color: #{$dropdown-border-color};
30
+ --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius};
31
+ --#{$prefix}dropdown-border-width: #{$dropdown-border-width};
32
+ --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius};
33
+ --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg};
34
+ --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y};
35
+ --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow};
36
+ --#{$prefix}dropdown-link-color: #{$dropdown-link-color};
37
+ --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color};
38
+ --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg};
39
+ --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color};
40
+ --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg};
41
+ --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color};
42
+ --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x};
43
+ --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y};
44
+ --#{$prefix}dropdown-header-color: #{$dropdown-header-color};
45
+ --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x};
46
+ --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y};
47
+ // scss-docs-end dropdown-css-vars
48
+
18
49
  position: absolute;
19
- z-index: $zindex-dropdown;
50
+ z-index: var(--#{$prefix}dropdown-zindex);
20
51
  display: none; // none by default, but block on "open" of the menu
21
- min-width: $dropdown-min-width;
22
- padding: $dropdown-padding-y $dropdown-padding-x;
52
+ min-width: var(--#{$prefix}dropdown-min-width);
53
+ padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x);
23
54
  margin: 0; // Override default margin of ul
24
- @include font-size($dropdown-font-size);
25
- color: $dropdown-color;
55
+ @include font-size(var(--#{$prefix}dropdown-font-size));
56
+ color: var(--#{$prefix}dropdown-color);
26
57
  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)
27
58
  list-style: none;
28
- background-color: $dropdown-bg;
59
+ background-color: var(--#{$prefix}dropdown-bg);
29
60
  background-clip: padding-box;
30
- border: $dropdown-border-width solid $dropdown-border-color;
31
- @include border-radius($dropdown-border-radius);
32
- @include box-shadow($dropdown-box-shadow);
61
+ border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color);
62
+ @include border-radius(var(--#{$prefix}dropdown-border-radius));
63
+ @include box-shadow(var(--#{$prefix}dropdown-box-shadow));
33
64
 
34
65
  &[data-bs-popper] {
35
66
  top: 100%;
36
67
  left: 0;
37
- margin-top: $dropdown-spacer;
68
+ margin-top: var(--#{$prefix}dropdown-spacer);
69
+ }
70
+
71
+ @if $dropdown-padding-y == 0 {
72
+ > .dropdown-item:first-child,
73
+ > li:first-child .dropdown-item {
74
+ @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius));
75
+ }
76
+ > .dropdown-item:last-child,
77
+ > li:last-child .dropdown-item {
78
+ @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius));
79
+ }
80
+
38
81
  }
39
82
  }
40
83
 
@@ -74,7 +117,7 @@
74
117
  top: auto;
75
118
  bottom: 100%;
76
119
  margin-top: 0;
77
- margin-bottom: $dropdown-spacer;
120
+ margin-bottom: var(--#{$prefix}dropdown-spacer);
78
121
  }
79
122
 
80
123
  .dropdown-toggle {
@@ -88,7 +131,7 @@
88
131
  right: auto;
89
132
  left: 100%;
90
133
  margin-top: 0;
91
- margin-left: $dropdown-spacer;
134
+ margin-left: var(--#{$prefix}dropdown-spacer);
92
135
  }
93
136
 
94
137
  .dropdown-toggle {
@@ -105,7 +148,7 @@
105
148
  right: 100%;
106
149
  left: auto;
107
150
  margin-top: 0;
108
- margin-right: $dropdown-spacer;
151
+ margin-right: var(--#{$prefix}dropdown-spacer);
109
152
  }
110
153
 
111
154
  .dropdown-toggle {
@@ -120,9 +163,10 @@
120
163
  // Dividers (basically an `<hr>`) within the dropdown
121
164
  .dropdown-divider {
122
165
  height: 0;
123
- margin: $dropdown-divider-margin-y 0;
166
+ margin: var(--#{$prefix}dropdown-divider-margin-y) 0;
124
167
  overflow: hidden;
125
- border-top: 1px solid $dropdown-divider-bg;
168
+ border-top: 1px solid var(--#{$prefix}dropdown-divider-bg);
169
+ opacity: 1; // Revisit in v6 to de-dupe styles that conflict with <hr> element
126
170
  }
127
171
 
128
172
  // Links, buttons, and more within the dropdown menu
@@ -131,45 +175,34 @@
131
175
  .dropdown-item {
132
176
  display: block;
133
177
  width: 100%; // For `<button>`s
134
- padding: $dropdown-item-padding-y $dropdown-item-padding-x;
178
+ padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);
135
179
  clear: both;
136
180
  font-weight: $font-weight-normal;
137
- color: $dropdown-link-color;
181
+ color: var(--#{$prefix}dropdown-link-color);
138
182
  text-align: inherit; // For `<button>`s
139
183
  text-decoration: if($link-decoration == none, null, none);
140
184
  white-space: nowrap; // prevent links from randomly breaking onto new lines
141
185
  background-color: transparent; // For `<button>`s
142
186
  border: 0; // For `<button>`s
143
-
144
- // Prevent dropdown overflow if there's no padding
145
- // See https://github.com/twbs/bootstrap/pull/27703
146
- @if $dropdown-padding-y == 0 {
147
- &:first-child {
148
- @include border-top-radius($dropdown-inner-border-radius);
149
- }
150
-
151
- &:last-child {
152
- @include border-bottom-radius($dropdown-inner-border-radius);
153
- }
154
- }
187
+ @include border-radius(var(--#{$prefix}dropdown-item-border-radius, 0));
155
188
 
156
189
  &:hover,
157
190
  &:focus {
158
- color: $dropdown-link-hover-color;
191
+ color: var(--#{$prefix}dropdown-link-hover-color);
159
192
  text-decoration: if($link-hover-decoration == underline, none, null);
160
- @include gradient-bg($dropdown-link-hover-bg);
193
+ @include gradient-bg(var(--#{$prefix}dropdown-link-hover-bg));
161
194
  }
162
195
 
163
196
  &.active,
164
197
  &:active {
165
- color: $dropdown-link-active-color;
198
+ color: var(--#{$prefix}dropdown-link-active-color);
166
199
  text-decoration: none;
167
- @include gradient-bg($dropdown-link-active-bg);
200
+ @include gradient-bg(var(--#{$prefix}dropdown-link-active-bg));
168
201
  }
169
202
 
170
203
  &.disabled,
171
204
  &:disabled {
172
- color: $dropdown-link-disabled-color;
205
+ color: var(--#{$prefix}dropdown-link-disabled-color);
173
206
  pointer-events: none;
174
207
  background-color: transparent;
175
208
  // Remove CSS gradients if they're enabled
@@ -184,57 +217,34 @@
184
217
  // Dropdown section headers
185
218
  .dropdown-header {
186
219
  display: block;
187
- padding: $dropdown-header-padding;
220
+ padding: var(--#{$prefix}dropdown-header-padding-y) var(--#{$prefix}dropdown-header-padding-x);
188
221
  margin-bottom: 0; // for use with heading elements
189
222
  @include font-size($font-size-sm);
190
- color: $dropdown-header-color;
223
+ color: var(--#{$prefix}dropdown-header-color);
191
224
  white-space: nowrap; // as with > li > a
192
225
  }
193
226
 
194
227
  // Dropdown text
195
228
  .dropdown-item-text {
196
229
  display: block;
197
- padding: $dropdown-item-padding-y $dropdown-item-padding-x;
198
- color: $dropdown-link-color;
230
+ padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);
231
+ color: var(--#{$prefix}dropdown-link-color);
199
232
  }
200
233
 
201
234
  // Dark dropdowns
202
235
  .dropdown-menu-dark {
203
- color: $dropdown-dark-color;
204
- background-color: $dropdown-dark-bg;
205
- border-color: $dropdown-dark-border-color;
206
- @include box-shadow($dropdown-dark-box-shadow);
207
-
208
- .dropdown-item {
209
- color: $dropdown-dark-link-color;
210
-
211
- &:hover,
212
- &:focus {
213
- color: $dropdown-dark-link-hover-color;
214
- @include gradient-bg($dropdown-dark-link-hover-bg);
215
- }
216
-
217
- &.active,
218
- &:active {
219
- color: $dropdown-dark-link-active-color;
220
- @include gradient-bg($dropdown-dark-link-active-bg);
221
- }
222
-
223
- &.disabled,
224
- &:disabled {
225
- color: $dropdown-dark-link-disabled-color;
226
- }
227
- }
228
-
229
- .dropdown-divider {
230
- border-color: $dropdown-dark-divider-bg;
231
- }
232
-
233
- .dropdown-item-text {
234
- color: $dropdown-dark-link-color;
235
- }
236
-
237
- .dropdown-header {
238
- color: $dropdown-dark-header-color;
239
- }
236
+ // scss-docs-start dropdown-dark-css-vars
237
+ --#{$prefix}dropdown-color: #{$dropdown-dark-color};
238
+ --#{$prefix}dropdown-bg: #{$dropdown-dark-bg};
239
+ --#{$prefix}dropdown-border-color: #{$dropdown-dark-border-color};
240
+ --#{$prefix}dropdown-box-shadow: #{$dropdown-dark-box-shadow};
241
+ --#{$prefix}dropdown-link-color: #{$dropdown-dark-link-color};
242
+ --#{$prefix}dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};
243
+ --#{$prefix}dropdown-divider-bg: #{$dropdown-dark-divider-bg};
244
+ --#{$prefix}dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};
245
+ --#{$prefix}dropdown-link-active-color: #{$dropdown-dark-link-active-color};
246
+ --#{$prefix}dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};
247
+ --#{$prefix}dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};
248
+ --#{$prefix}dropdown-header-color: #{$dropdown-dark-header-color};
249
+ // scss-docs-end dropdown-dark-css-vars
240
250
  }
@@ -40,11 +40,11 @@
40
40
  // stylelint-disable scss/dollar-variable-pattern
41
41
  @function rgba-css-var($identifier, $target) {
42
42
  @if $identifier == "body" and $target == "bg" {
43
- @return rgba(var(--#{$variable-prefix}#{$identifier}-bg-rgb), var(--#{$variable-prefix}#{$target}-opacity));
43
+ @return rgba(var(--#{$prefix}#{$identifier}-bg-rgb), var(--#{$prefix}#{$target}-opacity));
44
44
  } @if $identifier == "body" and $target == "text" {
45
- @return rgba(var(--#{$variable-prefix}#{$identifier}-color-rgb), var(--#{$variable-prefix}#{$target}-opacity));
45
+ @return rgba(var(--#{$prefix}#{$identifier}-color-rgb), var(--#{$prefix}#{$target}-opacity));
46
46
  } @else {
47
- @return rgba(var(--#{$variable-prefix}#{$identifier}-rgb), var(--#{$variable-prefix}#{$target}-opacity));
47
+ @return rgba(var(--#{$prefix}#{$identifier}-rgb), var(--#{$prefix}#{$target}-opacity));
48
48
  }
49
49
  }
50
50
 
@@ -68,7 +68,7 @@
68
68
  @function varify($list) {
69
69
  $result: null;
70
70
  @each $entry in $list {
71
- $result: append($result, var(--#{$variable-prefix}#{$entry}), space);
71
+ $result: append($result, var(--#{$prefix}#{$entry}), space);
72
72
  }
73
73
  @return $result;
74
74
  }
@@ -109,7 +109,7 @@
109
109
  // Replace `$search` with `$replace` in `$string`
110
110
  // Used on our SVG icon backgrounds for custom forms.
111
111
  //
112
- // @author Hugo Giraudel
112
+ // @author Kitty Giraudel
113
113
  // @param {String} $string - Initial string
114
114
  // @param {String} $search - Substring to replace
115
115
  // @param {String} $replace ('') - New value
@@ -177,9 +177,9 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003
177
177
  @return if($l1 > $l2, divide($l1 + .05, $l2 + .05), divide($l2 + .05, $l1 + .05));
178
178
  }
179
179
 
180
- // Return WCAG2.0 relative luminance
181
- // See https://www.w3.org/WAI/GL/wiki/Relative_luminance
182
- // See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
180
+ // Return WCAG2.1 relative luminance
181
+ // See https://www.w3.org/TR/WCAG/#dfn-relative-luminance
182
+ // See https://www.w3.org/TR/WCAG/#dfn-contrast-ratio
183
183
  @function luminance($color) {
184
184
  $rgb: (
185
185
  "r": red($color),
@@ -188,7 +188,7 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003
188
188
  );
189
189
 
190
190
  @each $name, $value in $rgb {
191
- $value: if(divide($value, 255) < .03928, divide(divide($value, 255), 12.92), nth($_luminance-list, $value + 1));
191
+ $value: if(divide($value, 255) < .04045, divide(divide($value, 255), 12.92), nth($_luminance-list, $value + 1));
192
192
  $rgb: map-merge($rgb, ($name: $value));
193
193
  }
194
194
 
@@ -198,7 +198,7 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003
198
198
  // Return opaque color
199
199
  // opaque(#fff, rgba(0, 0, 0, .5)) => #808080
200
200
  @function opaque($background, $foreground) {
201
- @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100);
201
+ @return mix(rgba($foreground, 1), $background, opacity($foreground) * 100%);
202
202
  }
203
203
 
204
204
  // scss-docs-start color-functions
@@ -2,6 +2,12 @@
2
2
  //
3
3
  // Rows contain your columns.
4
4
 
5
+ :root {
6
+ @each $name, $value in $grid-breakpoints {
7
+ --#{$prefix}breakpoint-#{$name}: #{$value};
8
+ }
9
+ }
10
+
5
11
  @if $enable-grid-classes {
6
12
  .row {
7
13
  @include make-row();
@@ -15,9 +21,9 @@
15
21
  @if $enable-cssgrid {
16
22
  .grid {
17
23
  display: grid;
18
- grid-template-rows: repeat(var(--#{$variable-prefix}rows, 1), 1fr);
19
- grid-template-columns: repeat(var(--#{$variable-prefix}columns, #{$grid-columns}), 1fr);
20
- gap: var(--#{$variable-prefix}gap, #{$grid-gutter-width});
24
+ grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);
25
+ grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);
26
+ gap: var(--#{$prefix}gap, #{$grid-gutter-width});
21
27
 
22
28
  @include make-cssgrid();
23
29
  }
@@ -1,5 +1,8 @@
1
1
  @import "helpers/clearfix";
2
+ @import "helpers/color-bg";
2
3
  @import "helpers/colored-links";
4
+ @import "helpers/focus-ring";
5
+ @import "helpers/icon-link";
3
6
  @import "helpers/ratio";
4
7
  @import "helpers/position";
5
8
  @import "helpers/stacks";
@@ -3,27 +3,46 @@
3
3
  // Easily usable on <ul>, <ol>, or <div>.
4
4
 
5
5
  .list-group {
6
+ // scss-docs-start list-group-css-vars
7
+ --#{$prefix}list-group-color: #{$list-group-color};
8
+ --#{$prefix}list-group-bg: #{$list-group-bg};
9
+ --#{$prefix}list-group-border-color: #{$list-group-border-color};
10
+ --#{$prefix}list-group-border-width: #{$list-group-border-width};
11
+ --#{$prefix}list-group-border-radius: #{$list-group-border-radius};
12
+ --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};
13
+ --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};
14
+ --#{$prefix}list-group-action-color: #{$list-group-action-color};
15
+ --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};
16
+ --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};
17
+ --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};
18
+ --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};
19
+ --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};
20
+ --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};
21
+ --#{$prefix}list-group-active-color: #{$list-group-active-color};
22
+ --#{$prefix}list-group-active-bg: #{$list-group-active-bg};
23
+ --#{$prefix}list-group-active-border-color: #{$list-group-active-border-color};
24
+ // scss-docs-end list-group-css-vars
25
+
6
26
  display: flex;
7
27
  flex-direction: column;
8
28
 
9
29
  // No need to set list-style: none; since .list-group-item is block level
10
30
  padding-left: 0; // reset padding because ul and ol
11
31
  margin-bottom: 0;
12
- @include border-radius($list-group-border-radius);
32
+ @include border-radius(var(--#{$prefix}list-group-border-radius));
13
33
  }
14
34
 
15
35
  .list-group-numbered {
16
36
  list-style-type: none;
17
37
  counter-reset: section;
18
38
 
19
- > li::before {
39
+ > .list-group-item::before {
20
40
  // Increments only this instance of the section counter
21
41
  content: counters(section, ".") ". ";
22
42
  counter-increment: section;
23
43
  }
24
44
  }
25
45
 
26
-
27
46
  // Interactive list items
28
47
  //
29
48
  // Use anchor or button elements instead of `li`s or `div`s to create interactive
@@ -31,25 +50,24 @@
31
50
 
32
51
  .list-group-item-action {
33
52
  width: 100%; // For `<button>`s (anchors become 100% by default though)
34
- color: $list-group-action-color;
53
+ color: var(--#{$prefix}list-group-action-color);
35
54
  text-align: inherit; // For `<button>`s (anchors inherit)
36
55
 
37
56
  // Hover state
38
57
  &:hover,
39
58
  &:focus {
40
59
  z-index: 1; // Place hover/focus items above their siblings for proper border styling
41
- color: $list-group-action-hover-color;
60
+ color: var(--#{$prefix}list-group-action-hover-color);
42
61
  text-decoration: none;
43
- background-color: $list-group-hover-bg;
62
+ background-color: var(--#{$prefix}list-group-action-hover-bg);
44
63
  }
45
64
 
46
65
  &:active {
47
- color: $list-group-action-active-color;
48
- background-color: $list-group-action-active-bg;
66
+ color: var(--#{$prefix}list-group-action-active-color);
67
+ background-color: var(--#{$prefix}list-group-action-active-bg);
49
68
  }
50
69
  }
51
70
 
52
-
53
71
  // Individual list items
54
72
  //
55
73
  // Use on `li`s or `div`s within the `.list-group` parent.
@@ -57,11 +75,11 @@
57
75
  .list-group-item {
58
76
  position: relative;
59
77
  display: block;
60
- padding: $list-group-item-padding-y $list-group-item-padding-x;
61
- color: $list-group-color;
78
+ padding: var(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x);
79
+ color: var(--#{$prefix}list-group-color);
62
80
  text-decoration: if($link-decoration == none, null, none);
63
- background-color: $list-group-bg;
64
- border: $list-group-border-width solid $list-group-border-color;
81
+ background-color: var(--#{$prefix}list-group-bg);
82
+ border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}list-group-border-color);
65
83
 
66
84
  &:first-child {
67
85
  @include border-top-radius(inherit);
@@ -73,30 +91,30 @@
73
91
 
74
92
  &.disabled,
75
93
  &:disabled {
76
- color: $list-group-disabled-color;
94
+ color: var(--#{$prefix}list-group-disabled-color);
77
95
  pointer-events: none;
78
- background-color: $list-group-disabled-bg;
96
+ background-color: var(--#{$prefix}list-group-disabled-bg);
79
97
  }
80
98
 
81
99
  // Include both here for `<a>`s and `<button>`s
82
100
  &.active {
83
101
  z-index: 2; // Place active items above their siblings for proper border styling
84
- color: $list-group-active-color;
85
- background-color: $list-group-active-bg;
86
- border-color: $list-group-active-border-color;
102
+ color: var(--#{$prefix}list-group-active-color);
103
+ background-color: var(--#{$prefix}list-group-active-bg);
104
+ border-color: var(--#{$prefix}list-group-active-border-color);
87
105
  }
88
106
 
89
- & + & {
107
+ // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector
108
+ & + .list-group-item {
90
109
  border-top-width: 0;
91
110
 
92
111
  &.active {
93
- margin-top: -$list-group-border-width;
94
- border-top-width: $list-group-border-width;
112
+ margin-top: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list
113
+ border-top-width: var(--#{$prefix}list-group-border-width);
95
114
  }
96
115
  }
97
116
  }
98
117
 
99
-
100
118
  // Horizontal
101
119
  //
102
120
  // Change the layout of list group items from vertical (default) to horizontal.
@@ -109,13 +127,13 @@
109
127
  flex-direction: row;
110
128
 
111
129
  > .list-group-item {
112
- &:first-child {
113
- @include border-bottom-start-radius($list-group-border-radius);
130
+ &:first-child:not(:last-child) {
131
+ @include border-bottom-start-radius(var(--#{$prefix}list-group-border-radius));
114
132
  @include border-top-end-radius(0);
115
133
  }
116
134
 
117
- &:last-child {
118
- @include border-top-end-radius($list-group-border-radius);
135
+ &:last-child:not(:first-child) {
136
+ @include border-top-end-radius(var(--#{$prefix}list-group-border-radius));
119
137
  @include border-bottom-start-radius(0);
120
138
  }
121
139
 
@@ -124,12 +142,12 @@
124
142
  }
125
143
 
126
144
  + .list-group-item {
127
- border-top-width: $list-group-border-width;
145
+ border-top-width: var(--#{$prefix}list-group-border-width);
128
146
  border-left-width: 0;
129
147
 
130
148
  &.active {
131
- margin-left: -$list-group-border-width;
132
- border-left-width: $list-group-border-width;
149
+ margin-left: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list
150
+ border-left-width: var(--#{$prefix}list-group-border-width);
133
151
  }
134
152
  }
135
153
  }
@@ -147,7 +165,7 @@
147
165
  @include border-radius(0);
148
166
 
149
167
  > .list-group-item {
150
- border-width: 0 0 $list-group-border-width;
168
+ border-width: 0 0 var(--#{$prefix}list-group-border-width);
151
169
 
152
170
  &:last-child {
153
171
  border-bottom-width: 0;
@@ -162,13 +180,18 @@
162
180
  // Add modifier classes to change text and background color on individual items.
163
181
  // Organizationally, this must come after the `:hover` states.
164
182
 
165
- @each $state, $value in $theme-colors {
166
- $list-group-variant-bg: shift-color($value, $list-group-item-bg-scale);
167
- $list-group-variant-color: shift-color($value, $list-group-item-color-scale);
168
- @if (contrast-ratio($list-group-variant-bg, $list-group-variant-color) < $min-contrast-ratio) {
169
- $list-group-variant-color: mix($value, color-contrast($list-group-variant-bg), abs($list-group-item-color-scale));
183
+ @each $state in map-keys($theme-colors) {
184
+ .list-group-item-#{$state} {
185
+ --#{$prefix}list-group-color: var(--#{$prefix}#{$state}-text-emphasis);
186
+ --#{$prefix}list-group-bg: var(--#{$prefix}#{$state}-bg-subtle);
187
+ --#{$prefix}list-group-border-color: var(--#{$prefix}#{$state}-border-subtle);
188
+ --#{$prefix}list-group-action-hover-color: var(--#{$prefix}emphasis-color);
189
+ --#{$prefix}list-group-action-hover-bg: var(--#{$prefix}#{$state}-border-subtle);
190
+ --#{$prefix}list-group-action-active-color: var(--#{$prefix}emphasis-color);
191
+ --#{$prefix}list-group-action-active-bg: var(--#{$prefix}#{$state}-border-subtle);
192
+ --#{$prefix}list-group-active-color: var(--#{$prefix}#{$state}-bg-subtle);
193
+ --#{$prefix}list-group-active-bg: var(--#{$prefix}#{$state}-text-emphasis);
194
+ --#{$prefix}list-group-active-border-color: var(--#{$prefix}#{$state}-text-emphasis);
170
195
  }
171
-
172
- @include list-group-item-variant($state, $list-group-variant-bg, $list-group-variant-color);
173
196
  }
174
197
  // scss-docs-end list-group-modifiers