elixir-toolkit-theme 1.22.0 → 1.23.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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/footer.html +25 -2
  3. data/_includes/section-navigation-tiles-simple.html +3 -0
  4. data/_includes/section-navigation-tiles.html +2 -2
  5. data/_includes/topnav.html +9 -1
  6. data/_sass/_variables.scss +1 -0
  7. data/_sass/bootstrap/_accordion.scss +56 -25
  8. data/_sass/bootstrap/_alert.scss +18 -4
  9. data/_sass/bootstrap/_badge.scss +14 -5
  10. data/_sass/bootstrap/_breadcrumb.scss +22 -10
  11. data/_sass/bootstrap/_button-group.scss +4 -1
  12. data/_sass/bootstrap/_buttons.scss +125 -29
  13. data/_sass/bootstrap/_card.scss +55 -37
  14. data/_sass/bootstrap/_carousel.scss +0 -3
  15. data/_sass/bootstrap/_close.scss +1 -1
  16. data/_sass/bootstrap/_containers.scss +1 -1
  17. data/_sass/bootstrap/_dropdown.scss +85 -76
  18. data/_sass/bootstrap/_functions.scss +9 -9
  19. data/_sass/bootstrap/_grid.scss +3 -3
  20. data/_sass/bootstrap/_helpers.scss +1 -0
  21. data/_sass/bootstrap/_list-group.scss +48 -30
  22. data/_sass/bootstrap/_maps.scss +54 -0
  23. data/_sass/bootstrap/_modal.scss +71 -43
  24. data/_sass/bootstrap/_nav.scss +53 -20
  25. data/_sass/bootstrap/_navbar.scss +93 -150
  26. data/_sass/bootstrap/_offcanvas.scss +120 -59
  27. data/_sass/bootstrap/_pagination.scss +66 -21
  28. data/_sass/bootstrap/_placeholders.scss +1 -1
  29. data/_sass/bootstrap/_popover.scss +90 -52
  30. data/_sass/bootstrap/_progress.scss +20 -9
  31. data/_sass/bootstrap/_reboot.scss +25 -40
  32. data/_sass/bootstrap/_root.scss +40 -21
  33. data/_sass/bootstrap/_spinners.scss +38 -22
  34. data/_sass/bootstrap/_tables.scss +32 -23
  35. data/_sass/bootstrap/_toasts.scss +38 -16
  36. data/_sass/bootstrap/_tooltip.scss +61 -56
  37. data/_sass/bootstrap/_type.scss +2 -0
  38. data/_sass/bootstrap/_utilities.scss +43 -26
  39. data/_sass/bootstrap/_variables.scss +128 -135
  40. data/_sass/bootstrap/bootstrap-grid.scss +3 -6
  41. data/_sass/bootstrap/bootstrap-reboot.scss +3 -7
  42. data/_sass/bootstrap/bootstrap-utilities.scss +6 -6
  43. data/_sass/bootstrap/bootstrap.scss +4 -6
  44. data/_sass/bootstrap/forms/_floating-labels.scss +15 -3
  45. data/_sass/bootstrap/forms/_form-check.scss +28 -5
  46. data/_sass/bootstrap/forms/_form-control.scss +12 -37
  47. data/_sass/bootstrap/forms/_form-select.scss +0 -1
  48. data/_sass/bootstrap/forms/_input-group.scss +19 -8
  49. data/_sass/bootstrap/helpers/_color-bg.scss +10 -0
  50. data/_sass/bootstrap/helpers/_colored-links.scss +2 -2
  51. data/_sass/bootstrap/helpers/_position.scss +7 -1
  52. data/_sass/bootstrap/helpers/_ratio.scss +2 -2
  53. data/_sass/bootstrap/helpers/_vr.scss +1 -1
  54. data/_sass/bootstrap/mixins/_alert.scss +7 -3
  55. data/_sass/bootstrap/mixins/_banner.scss +9 -0
  56. data/_sass/bootstrap/mixins/_breakpoints.scss +8 -8
  57. data/_sass/bootstrap/mixins/_buttons.scss +32 -95
  58. data/_sass/bootstrap/mixins/_container.scss +4 -2
  59. data/_sass/bootstrap/mixins/_forms.scss +18 -10
  60. data/_sass/bootstrap/mixins/_gradients.scss +1 -1
  61. data/_sass/bootstrap/mixins/_grid.scss +12 -12
  62. data/_sass/bootstrap/mixins/_pagination.scss +4 -25
  63. data/_sass/bootstrap/mixins/_reset-text.scss +1 -1
  64. data/_sass/bootstrap/mixins/_table-variants.scss +12 -9
  65. data/_sass/bootstrap/mixins/_utilities.scss +13 -5
  66. data/assets/css/main.scss +22 -3
  67. data/assets/img/ett_compact_logo_bw.svg +22 -0
  68. data/assets/js/bootstrap.bundle.min.js +3 -3
  69. data/assets/js/bootstrap.bundle.min.js.map +1 -1
  70. metadata +6 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 032ea43d4f95971dd6ab880ca40d68a27cfeee11f97beaae7ef9a92c4098f533
4
- data.tar.gz: 435d45b9b94719ec9ae35861810a1132ef8392ade862e4e028c09791b6528761
3
+ metadata.gz: e7c7dba8eaa7c94e093f9e33e43b1b6cec0e2bd4475beef5daa659e56a612bca
4
+ data.tar.gz: 699e822493ae2c7e496d8ecaeb53960d738203926047545a0ddeaf7576dede28
5
5
  SHA512:
6
- metadata.gz: b090f9d55545f07aa6ed45634a64b583cfe677826fea2be4b622dc6fdd7933c96b05b94aed47690b98de9cc05af31bc7b686e38988e123d7453dbe282e2b626d
7
- data.tar.gz: 1dc1bd3d28ca86e2cbf348b80d245f7b297ce6e70de07251fec854388bcea78b0e538065ae1d5a9f07efa4e5f6445eeb785eac291cbb36379070c3e3d80a7cf7
6
+ metadata.gz: 6ebb5fa836f5e3d74070188ab12555131975af0a235b77e8d4a896b2d69cc5d3a3b7097cc87c3a1b27fbdaba90e4328aaf2b96346b1696f9022fc6de260a9a25
7
+ data.tar.gz: d79865c2e207841211f4cac88a823aab578f22163a2368b196c813e3d441818e6694b9205478d1f0e4760829a2831165cb220a5aa60c29d614b215347fd3bcb5
@@ -41,9 +41,32 @@
41
41
  <div class="copyright p-4">
42
42
  <div class="container d-flex justify-content-between flex-column flex-lg-row">
43
43
  {%- unless site.data.footer.copyright == nil %}
44
- <div class="d-flex align-items-center mb-3 mb-lg-0">{{ site.data.footer.copyright | markdownify }}</div>
44
+ <div class="d-flex align-items-center mb-3 mb-lg-0 mx-auto mx-lg-0 text-center">{{ site.data.footer.copyright | markdownify }}</div>
45
45
  {%- endunless %}
46
- <div class="d-flex align-items-center ms-0 ms-lg-4"><a class="text-nowrap" href="https://elixir-belgium.github.io/elixir-toolkit-theme">Powered by <img alt="ELIXIR Toolkit Logo" width="30px" src="{{'assets/img/ett_compact_logo.svg' | relative_url}}"></a></div>
46
+ <div class="d-flex align-items-center mx-auto ms-lg-4 me-lg-0">
47
+ <a id="ett-logo" class="text-nowrap" href="https://elixir-belgium.github.io/elixir-toolkit-theme">Built with
48
+ <svg data-name="ETT logo" xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 77.2 77.12">
49
+ <defs>
50
+ <style>
51
+ .cls-2,
52
+ .cls-3 {
53
+ fill: #fff;
54
+ pointer-events: none;
55
+ }
56
+
57
+ .cls-2 {
58
+ opacity: 0.18;
59
+ }
60
+ </style>
61
+ </defs>
62
+ <g>
63
+ <circle class="cls-1" cx="38.56" cy="38.56" r="38.56" />
64
+ <path class="cls-2" d="M9,48.08a44.19,44.19,0,0,0,4.68,19.84A38.56,38.56,0,1,0,55.16,3.72c-.59,0-1.19-.05-1.79-.05A44.4,44.4,0,0,0,9,48.08Z" />
65
+ <path class="cls-3" d="M54,20.52H13.64a.85.85,0,0,0-.84.85v34a.84.84,0,0,0,.84.84H30a.84.84,0,0,0,.85-.84V51.16a.85.85,0,0,0-.85-.85H20.07a.85.85,0,0,1-.85-.85V42a.85.85,0,0,1,.85-.84h8.66a.85.85,0,0,0,.85-.85V36.06a.85.85,0,0,0-.85-.85H20.07a.85.85,0,0,1-.85-.84V27.29a.85.85,0,0,1,.85-.85H38.26a.85.85,0,0,1,.85.85V55.38a.84.84,0,0,0,.85.84h4.73a.84.84,0,0,0,.85-.84V27.29a.85.85,0,0,1,.84-.85H61.27a.85.85,0,0,1,.84.85V55.38a.84.84,0,0,0,.85.84h4.73a.84.84,0,0,0,.85-.84V27.29a.85.85,0,0,1,.85-.85h6.77a.84.84,0,0,0,.84-.85V21.37a.84.84,0,0,0-.84-.85Z" />
66
+ </g>
67
+ </svg>
68
+ </a>
69
+ </div>
47
70
  </div>
48
71
  </div>
49
72
  </footer>
@@ -1,10 +1,13 @@
1
1
  {%- assign allcountries = site.data.countries %}
2
+ {%- assign except = include.except | split: ", " %}
2
3
  <div class="row row-cols-1 row-cols-md-2 g-3 mb-5 navigation-tiles">
3
4
  {%- for current_page in site.pages | sorted %}
4
5
  {%- if current_page.title and current_page.search_exclude != true and current_page.type == include.type %}
6
+ {%- unless except contains current_page.name %}
5
7
  <div class="col d-grid">
6
8
  <a role="button" class="btn bg-light py-4 fs-3 hover-primary" href="{{ current_page.url | relative_url }}">{{current_page.title}}<span class="flag-icon ms-3 flag-icon-{{current_page.country_code | downcase }}"></span></a>
7
9
  </div>
10
+ {% endunless %}
8
11
  {%- endif %}
9
12
  {%- endfor %}
10
13
  </div>
@@ -1,4 +1,4 @@
1
- {%- unless include.affiliations == nil and include.search == nil and include.related_pages == nil %}
1
+ {%- unless include.affiliations == nil and include.search == nil %}
2
2
  {%- assign allcountries = site.data.countries %}
3
3
  {%- for current_page in site.pages | sorted %}
4
4
  {%- if current_page.affiliations and current_page.search_exclude != true and current_page.type == include.type %}
@@ -147,7 +147,7 @@
147
147
  {%- if country_link %}
148
148
  <a role="button" href="{{country_link.url | relative_url}}" data-bs-toggle="tooltip" title="{{allcountries[country]}}" class="btn btn-sm bg-white hover-primary">
149
149
  {%- else %}
150
- <a role="button" data-bs-toggle="tooltip" title="{{allcountries[country]}}" class="btn btn-sm bg-white hover-primary disabled" aria-disabled="true">
150
+ <a role="button" data-bs-toggle="tooltip" title="{{allcountries[country]}}" class="btn btn-sm bg-white hover-primary disabled border-white" aria-disabled="true">
151
151
  {%- endif %}
152
152
  <div class="d-block h-24px">
153
153
  <span class="flag-icon flag-icon-{{affiliation | downcase}} align-items-center"></span>
@@ -58,7 +58,15 @@
58
58
  {%- endif %}
59
59
  {%- if site.theme_variables.topnav.github or site.theme_variables.topnav.github == nil %}
60
60
  <li class="nav-item ms-0 ms-lg-3 mt-2 mt-lg-0">
61
- <a class="nav-link ps-2 d-flex align-items-center" href="{{site.github.repository_url}}"><i class="fa-brands fa-github me-2"></i>{{site.theme_variables.git_host | default: 'GitHub' }}</a>
61
+ <a class="nav-link ps-2 d-flex align-items-center" href="{{site.github.repository_url}}">
62
+ {%- assign git_host = site.theme_variables.git_host | downcase %}
63
+ {%- if git_host == 'gitlab' %}
64
+ <i class="fa-brands fa-gitlab me-2"></i>
65
+ {%- else %}
66
+ <i class="fa-brands fa-github me-2"></i>
67
+ {%- endif %}
68
+ {{site.theme_variables.git_host | default: 'GitHub' }}
69
+ </a>
62
70
  </li>
63
71
  {%- endif %}
64
72
  {%- unless include.search == false %}
@@ -68,3 +68,4 @@ $footer-color: $dark;
68
68
  $footer-link-color: $dark;
69
69
  $footer-link-color-hover: $primary;
70
70
  $footer-copyright-bg: $gray-200;
71
+ $footer-ett: $dark;
@@ -2,43 +2,70 @@
2
2
  // Base styles
3
3
  //
4
4
 
5
+ .accordion {
6
+ // scss-docs-start accordion-css-vars
7
+ --#{$prefix}accordion-color: #{$accordion-color};
8
+ --#{$prefix}accordion-bg: #{$accordion-bg};
9
+ --#{$prefix}accordion-transition: #{$accordion-transition};
10
+ --#{$prefix}accordion-border-color: #{$accordion-border-color};
11
+ --#{$prefix}accordion-border-width: #{$accordion-border-width};
12
+ --#{$prefix}accordion-border-radius: #{$accordion-border-radius};
13
+ --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};
14
+ --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x};
15
+ --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};
16
+ --#{$prefix}accordion-btn-color: #{$accordion-button-color};
17
+ --#{$prefix}accordion-btn-bg: #{$accordion-button-bg};
18
+ --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)};
19
+ --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width};
20
+ --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};
21
+ --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};
22
+ --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)};
23
+ --#{$prefix}accordion-btn-focus-border-color: #{$accordion-button-focus-border-color};
24
+ --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};
25
+ --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};
26
+ --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
27
+ --#{$prefix}accordion-active-color: #{$accordion-button-active-color};
28
+ --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg};
29
+ // scss-docs-end accordion-css-vars
30
+ }
31
+
5
32
  .accordion-button {
6
33
  position: relative;
7
34
  display: flex;
8
35
  align-items: center;
9
36
  width: 100%;
10
- padding: $accordion-button-padding-y $accordion-button-padding-x;
37
+ padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x);
11
38
  @include font-size($font-size-base);
12
- color: $accordion-button-color;
39
+ color: var(--#{$prefix}accordion-btn-color);
13
40
  text-align: left; // Reset button style
14
- background-color: $accordion-button-bg;
41
+ background-color: var(--#{$prefix}accordion-btn-bg);
15
42
  border: 0;
16
43
  @include border-radius(0);
17
44
  overflow-anchor: none;
18
- @include transition($accordion-transition);
45
+ @include transition(var(--#{$prefix}accordion-transition));
19
46
 
20
47
  &:not(.collapsed) {
21
- color: $accordion-button-active-color;
22
- background-color: $accordion-button-active-bg;
23
- box-shadow: inset 0 ($accordion-border-width * -1) 0 $accordion-border-color;
48
+ color: var(--#{$prefix}accordion-active-color);
49
+ background-color: var(--#{$prefix}accordion-active-bg);
50
+ box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color); // stylelint-disable-line function-disallowed-list
24
51
 
25
52
  &::after {
26
- background-image: escape-svg($accordion-button-active-icon);
27
- transform: $accordion-icon-transform;
53
+ background-image: var(--#{$prefix}accordion-btn-active-icon);
54
+ transform: var(--#{$prefix}accordion-btn-icon-transform);
28
55
  }
29
56
  }
30
57
 
31
58
  // Accordion icon
32
59
  &::after {
33
60
  flex-shrink: 0;
34
- width: $accordion-icon-width;
35
- height: $accordion-icon-width;
61
+ width: var(--#{$prefix}accordion-btn-icon-width);
62
+ height: var(--#{$prefix}accordion-btn-icon-width);
36
63
  margin-left: auto;
37
64
  content: "";
38
- background-image: escape-svg($accordion-button-icon);
65
+ background-image: var(--#{$prefix}accordion-btn-icon);
39
66
  background-repeat: no-repeat;
40
- background-size: $accordion-icon-width;
41
- @include transition($accordion-icon-transition);
67
+ background-size: var(--#{$prefix}accordion-btn-icon-width);
68
+ @include transition(var(--#{$prefix}accordion-btn-icon-transition));
42
69
  }
43
70
 
44
71
  &:hover {
@@ -47,9 +74,9 @@
47
74
 
48
75
  &:focus {
49
76
  z-index: 3;
50
- border-color: $accordion-button-focus-border-color;
77
+ border-color: var(--#{$prefix}accordion-btn-focus-border-color);
51
78
  outline: 0;
52
- box-shadow: $accordion-button-focus-box-shadow;
79
+ box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
53
80
  }
54
81
  }
55
82
 
@@ -58,14 +85,15 @@
58
85
  }
59
86
 
60
87
  .accordion-item {
61
- background-color: $accordion-bg;
62
- border: $accordion-border-width solid $accordion-border-color;
88
+ color: var(--#{$prefix}accordion-color);
89
+ background-color: var(--#{$prefix}accordion-bg);
90
+ border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color);
63
91
 
64
92
  &:first-of-type {
65
- @include border-top-radius($accordion-border-radius);
93
+ @include border-top-radius(var(--#{$prefix}accordion-border-radius));
66
94
 
67
95
  .accordion-button {
68
- @include border-top-radius($accordion-inner-border-radius);
96
+ @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));
69
97
  }
70
98
  }
71
99
 
@@ -75,22 +103,22 @@
75
103
 
76
104
  // Only set a border-radius on the last item if the accordion is collapsed
77
105
  &:last-of-type {
78
- @include border-bottom-radius($accordion-border-radius);
106
+ @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
79
107
 
80
108
  .accordion-button {
81
109
  &.collapsed {
82
- @include border-bottom-radius($accordion-inner-border-radius);
110
+ @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));
83
111
  }
84
112
  }
85
113
 
86
114
  .accordion-collapse {
87
- @include border-bottom-radius($accordion-border-radius);
115
+ @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
88
116
  }
89
117
  }
90
118
  }
91
119
 
92
120
  .accordion-body {
93
- padding: $accordion-body-padding-y $accordion-body-padding-x;
121
+ padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}accordion-body-padding-x);
94
122
  }
95
123
 
96
124
 
@@ -112,7 +140,10 @@
112
140
  &:last-child { border-bottom: 0; }
113
141
 
114
142
  .accordion-button {
115
- @include border-radius(0);
143
+ &,
144
+ &.collapsed {
145
+ @include border-radius(0);
146
+ }
116
147
  }
117
148
  }
118
149
  }
@@ -3,11 +3,24 @@
3
3
  //
4
4
 
5
5
  .alert {
6
+ // scss-docs-start alert-css-vars
7
+ --#{$prefix}alert-bg: transparent;
8
+ --#{$prefix}alert-padding-x: #{$alert-padding-x};
9
+ --#{$prefix}alert-padding-y: #{$alert-padding-y};
10
+ --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};
11
+ --#{$prefix}alert-color: inherit;
12
+ --#{$prefix}alert-border-color: transparent;
13
+ --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color);
14
+ --#{$prefix}alert-border-radius: #{$alert-border-radius};
15
+ // scss-docs-end alert-css-vars
16
+
6
17
  position: relative;
7
- padding: $alert-padding-y $alert-padding-x;
8
- margin-bottom: $alert-margin-bottom;
9
- border: $alert-border-width solid transparent;
10
- @include border-radius($alert-border-radius);
18
+ padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);
19
+ margin-bottom: var(--#{$prefix}alert-margin-bottom);
20
+ color: var(--#{$prefix}alert-color);
21
+ background-color: var(--#{$prefix}alert-bg);
22
+ border: var(--#{$prefix}alert-border);
23
+ @include border-radius(var(--#{$prefix}alert-border-radius));
11
24
  }
12
25
 
13
26
  // Headings for larger alerts
@@ -47,6 +60,7 @@
47
60
  $alert-background: shift-color($value, $alert-bg-scale);
48
61
  $alert-border: shift-color($value, $alert-border-scale);
49
62
  $alert-color: shift-color($value, $alert-color-scale);
63
+
50
64
  @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) {
51
65
  $alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale));
52
66
  }
@@ -4,16 +4,25 @@
4
4
  // `background-color`.
5
5
 
6
6
  .badge {
7
+ // scss-docs-start badge-css-vars
8
+ --#{$prefix}badge-padding-x: #{$badge-padding-x};
9
+ --#{$prefix}badge-padding-y: #{$badge-padding-y};
10
+ @include rfs($badge-font-size, --#{$prefix}badge-font-size);
11
+ --#{$prefix}badge-font-weight: #{$badge-font-weight};
12
+ --#{$prefix}badge-color: #{$badge-color};
13
+ --#{$prefix}badge-border-radius: #{$badge-border-radius};
14
+ // scss-docs-end badge-css-vars
15
+
7
16
  display: inline-block;
8
- padding: $badge-padding-y $badge-padding-x;
9
- @include font-size($badge-font-size);
10
- font-weight: $badge-font-weight;
17
+ padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);
18
+ @include font-size(var(--#{$prefix}badge-font-size));
19
+ font-weight: var(--#{$prefix}badge-font-weight);
11
20
  line-height: 1;
12
- color: $badge-color;
21
+ color: var(--#{$prefix}badge-color);
13
22
  text-align: center;
14
23
  white-space: nowrap;
15
24
  vertical-align: baseline;
16
- @include border-radius($badge-border-radius);
25
+ @include border-radius(var(--#{$prefix}badge-border-radius));
17
26
  @include gradient-bg();
18
27
 
19
28
  // Empty badges collapse automatically
@@ -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,112 @@
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
43
  &:hover {
23
- color: $body-color;
44
+ color: var(--#{$prefix}btn-hover-color);
24
45
  text-decoration: if($link-hover-decoration == underline, none, null);
46
+ background-color: var(--#{$prefix}btn-hover-bg);
47
+ border-color: var(--#{$prefix}btn-hover-border-color);
48
+ }
49
+
50
+ .btn-check + &:hover {
51
+ // override for the checkbox/radio buttons
52
+ color: var(--#{$prefix}btn-color);
53
+ background-color: var(--#{$prefix}btn-bg);
54
+ border-color: var(--#{$prefix}btn-border-color);
25
55
  }
26
56
 
27
- .btn-check:focus + &,
28
- &:focus {
57
+ &:focus-visible {
58
+ color: var(--#{$prefix}btn-hover-color);
59
+ @include gradient-bg(var(--#{$prefix}btn-hover-bg));
60
+ border-color: var(--#{$prefix}btn-hover-border-color);
29
61
  outline: 0;
30
- box-shadow: $btn-focus-box-shadow;
62
+ // Avoid using mixin so we can pass custom focus shadow properly
63
+ @if $enable-shadows {
64
+ box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
65
+ } @else {
66
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
67
+ }
31
68
  }
32
69
 
33
- .btn-check:checked + &,
34
- .btn-check:active + &,
35
- &:active,
36
- &.active {
37
- @include box-shadow($btn-active-box-shadow);
70
+ .btn-check:focus-visible + & {
71
+ border-color: var(--#{$prefix}btn-hover-border-color);
72
+ outline: 0;
73
+ // Avoid using mixin so we can pass custom focus shadow properly
74
+ @if $enable-shadows {
75
+ box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);
76
+ } @else {
77
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
78
+ }
79
+ }
38
80
 
39
- &:focus {
40
- @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
81
+ .btn-check:checked + &,
82
+ :not(.btn-check) + &:active,
83
+ &:first-child:active,
84
+ &.active,
85
+ &.show {
86
+ color: var(--#{$prefix}btn-active-color);
87
+ background-color: var(--#{$prefix}btn-active-bg);
88
+ // Remove CSS gradients if they're enabled
89
+ background-image: if($enable-gradients, none, null);
90
+ border-color: var(--#{$prefix}btn-active-border-color);
91
+ @include box-shadow(var(--#{$prefix}btn-active-shadow));
92
+
93
+ &:focus-visible {
94
+ // Avoid using mixin so we can pass custom focus shadow properly
95
+ @if $enable-shadows {
96
+ box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
97
+ } @else {
98
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
99
+ }
41
100
  }
42
101
  }
43
102
 
44
103
  &:disabled,
45
104
  &.disabled,
46
105
  fieldset:disabled & {
106
+ color: var(--#{$prefix}btn-disabled-color);
47
107
  pointer-events: none;
48
- opacity: $btn-disabled-opacity;
108
+ background-color: var(--#{$prefix}btn-disabled-bg);
109
+ background-image: if($enable-gradients, none, null);
110
+ border-color: var(--#{$prefix}btn-disabled-border-color);
111
+ opacity: var(--#{$prefix}btn-disabled-opacity);
49
112
  @include box-shadow(none);
50
113
  }
51
114
  }
@@ -58,7 +121,27 @@
58
121
  // scss-docs-start btn-variant-loops
59
122
  @each $color, $value in $theme-colors {
60
123
  .btn-#{$color} {
61
- @include button-variant($value, $value);
124
+ @if $color == "light" {
125
+ @include button-variant(
126
+ $value,
127
+ $value,
128
+ $hover-background: shade-color($value, $btn-hover-bg-shade-amount),
129
+ $hover-border: shade-color($value, $btn-hover-border-shade-amount),
130
+ $active-background: shade-color($value, $btn-active-bg-shade-amount),
131
+ $active-border: shade-color($value, $btn-active-border-shade-amount)
132
+ );
133
+ } @else if $color == "dark" {
134
+ @include button-variant(
135
+ $value,
136
+ $value,
137
+ $hover-background: tint-color($value, $btn-hover-bg-tint-amount),
138
+ $hover-border: tint-color($value, $btn-hover-border-tint-amount),
139
+ $active-background: tint-color($value, $btn-active-bg-tint-amount),
140
+ $active-border: tint-color($value, $btn-active-border-tint-amount)
141
+ );
142
+ } @else {
143
+ @include button-variant($value, $value);
144
+ }
62
145
  }
63
146
  }
64
147
 
@@ -76,22 +159,35 @@
76
159
 
77
160
  // Make a button look and behave like a link
78
161
  .btn-link {
79
- font-weight: $font-weight-normal;
80
- color: $btn-link-color;
162
+ --#{$prefix}btn-font-weight: #{$font-weight-normal};
163
+ --#{$prefix}btn-color: #{$btn-link-color};
164
+ --#{$prefix}btn-bg: transparent;
165
+ --#{$prefix}btn-border-color: transparent;
166
+ --#{$prefix}btn-hover-color: #{$btn-link-hover-color};
167
+ --#{$prefix}btn-hover-border-color: transparent;
168
+ --#{$prefix}btn-active-color: #{$btn-link-hover-color};
169
+ --#{$prefix}btn-active-border-color: transparent;
170
+ --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};
171
+ --#{$prefix}btn-disabled-border-color: transparent;
172
+ --#{$prefix}btn-box-shadow: none;
173
+ --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix(color-contrast($primary), $primary, 15%))};
174
+
81
175
  text-decoration: $link-decoration;
176
+ @if $enable-gradients {
177
+ background-image: none;
178
+ }
82
179
 
83
- &:hover {
84
- color: $btn-link-hover-color;
180
+ &:hover,
181
+ &:focus-visible {
85
182
  text-decoration: $link-hover-decoration;
86
183
  }
87
184
 
88
- &:focus {
89
- text-decoration: $link-hover-decoration;
185
+ &:focus-visible {
186
+ color: var(--#{$prefix}btn-color);
90
187
  }
91
188
 
92
- &:disabled,
93
- &.disabled {
94
- color: $btn-link-disabled-color;
189
+ &:hover {
190
+ color: var(--#{$prefix}btn-hover-color);
95
191
  }
96
192
 
97
193
  // No need for an active state here