elixir-toolkit-theme 3.1.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +19 -10
  3. data/_includes/head.html +7 -7
  4. data/_includes/more-information-tiles.html +15 -5
  5. data/_includes/pageids-overview.html +1 -3
  6. data/_includes/resource-table-all.html +4 -2
  7. data/_includes/scroll-top.html +5 -0
  8. data/_includes/section-navigation-tiles.html +1 -1
  9. data/_includes/toc.html +31 -1
  10. data/_layouts/default.html +2 -6
  11. data/_layouts/page.html +1 -1
  12. data/_sass/bootstrap/_accordion.scss +11 -11
  13. data/_sass/bootstrap/_buttons.scss +9 -0
  14. data/_sass/bootstrap/_carousel.scss +2 -10
  15. data/_sass/bootstrap/_modal.scss +0 -1
  16. data/_sass/bootstrap/_offcanvas.scss +1 -4
  17. data/_sass/bootstrap/_tables.scss +1 -1
  18. data/_sass/bootstrap/_variables.scss +7 -3
  19. data/_sass/bootstrap/forms/_form-check.scss +1 -1
  20. data/_sass/bootstrap/mixins/_banner.scss +2 -2
  21. data/_sass/bootstrap/mixins/_forms.scss +12 -2
  22. data/_sass/bootstrap/mixins/_grid.scss +1 -1
  23. data/_sass/bootstrap/tests/mixins/_auto-import-of-variables-dark.test.scss +7 -0
  24. data/_sass/bootstrap/tests/mixins/_utilities.test.scss +1 -1
  25. data/assets/css/all.min.css +5 -5
  26. data/assets/css/dataTables.bootstrap5.min.css +2 -2
  27. data/assets/css/main.scss +0 -1
  28. data/assets/js/bootstrap.bundle.min.js +3 -3
  29. data/assets/js/bootstrap.bundle.min.js.map +1 -1
  30. data/assets/js/dataTables.bootstrap5.min.js +2 -2
  31. data/assets/js/jquery.dataTables.min.js +3 -3
  32. data/assets/js/jquery.min.js +2 -2
  33. data/assets/js/jquery.min.map +1 -1
  34. data/assets/js/toc.js +35 -53
  35. data/assets/webfonts/fa-brands-400.ttf +0 -0
  36. data/assets/webfonts/fa-brands-400.woff2 +0 -0
  37. data/assets/webfonts/fa-regular-400.ttf +0 -0
  38. data/assets/webfonts/fa-regular-400.woff2 +0 -0
  39. data/assets/webfonts/fa-solid-900.ttf +0 -0
  40. data/assets/webfonts/fa-solid-900.woff2 +0 -0
  41. data/assets/webfonts/fa-v4compatibility.ttf +0 -0
  42. data/assets/webfonts/fa-v4compatibility.woff2 +0 -0
  43. metadata +4 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3267c907281c8601c8ef5b4050bc50cd5ed9ec81fdf1597ff1df9324b02c722f
4
- data.tar.gz: 44102163b9642fc43400aeaa54c0e2c54a6ae16adba516b1158fb26b1116a59a
3
+ metadata.gz: f548b13baeff3465547d3b606f86230a26a2292a69a8f2520f75e6ae296be6f2
4
+ data.tar.gz: 5ada6137928b24d60362b4f9ec52269daf3c7c7c2e4d99f273ad790d554f38dc
5
5
  SHA512:
6
- metadata.gz: ad2244937003421f31a83b4a01c9b23a91dc6d22ebaba3b2f8f8788361650a647b829027c6c7308c6aa7ec235ddbe772a5391686a15cdc8508574d7b90ed0506
7
- data.tar.gz: cc977bc1c224160e2cda1d8b3f1d8c002606a86f9c42e76c6d4d8463f0deb0a4b9452d9c605a8031bdec11dafddab638c375b2e6247cf561a3cbe9c0f9673421
6
+ metadata.gz: bea27fcf78dddc769228dc7c2f0a9e5cb93f2627465dc9aa6a56cdf34f8b13eac9a8318b412c668227a9a597cb9fb7bdb366b0778c6797d9cfb5214f108e5e17
7
+ data.tar.gz: 12122bffe7763d793c7693be69e3435dc5383dbff34b9237a6be54908fe0aece1519ec2184328c9006a74fff1c6952ddd4b241d2fa0151283acdca0d96049a97
data/README.md CHANGED
@@ -149,16 +149,25 @@ This will start the docker container and serve the website locally. Make sure th
149
149
 
150
150
  ## This theme is known to be used in
151
151
 
152
- - [RDMkit](https://rdmkit.elixir-europe.org/)
153
- - [WorkflowHub project](https://about.workflowhub.eu/)
154
- - [RDM Guide](https://rdm.elixir-belgium.org/)
155
- - [Infectious Diseases Toolkit](https://www.infectious-diseases-toolkit.org/)
156
- - [Applied Bioinformatics and Biostatistics intranet page](https://intranet.psb.ugent.be/abb/)
157
- - [FAIRDOM](https://fair-dom.org/)
158
- - [Australian BioCommons How-to-Guides](https://australianbiocommons.github.io/how-to-guides/)
159
- - [Norwegian Life Science RDM LookUp](https://elixir.no/rdm-lookup)
160
- - [ERIM Research Toolbox](https://eur-nl.github.io/erim-research-toolbox/)
161
-
152
+ - [RDMkit](https://rdmkit.elixir-europe.org/) (CONVERGE)
153
+ - [WorkflowHub](https://about.workflowhub.eu/) (EOSC-life project)
154
+ - [RO-crate](https://www.researchobject.org/ro-crate-2024) (EOSC)
155
+ - [Infectious Diseases Toolkit](https://www.infectious-diseases-toolkit.org/) (BY-COVID)
156
+ - [FAIRDOM](https://fair-dom.org/) (FAIRDOM community)
157
+ - [ABB intranet page at PSB](https://intranet.psb.ugent.be/abb/) (VIB department)
158
+ - [How-to-Guides](https://australianbiocommons.github.io/how-to-guides/) (Australian BioCommons)
159
+ - [SPLASH](https://elixir-europe-training.github.io/ELIXIR-Training-SPLASH/) (ELIXIR Training platform)
160
+ - [1+MG Framework](https://framework.onemilliongenomes.eu/) (GDI)
161
+ - [Human 'Omics Data Sharing Field Guide](https://australianbiocommons.github.io/human-omics-data-sharing-field-guide/) (Australian BioCommons)
162
+ - [ERIM RDM Toolbox](https://eur-nl.github.io/erim-research-toolbox/) (ERIM NL)
163
+ - [ABLeS](https://australianbiocommons.github.io/ables) (Australian BioCommons)
164
+ - [TRE-FX](https://trefx.uk/) (DARE UK, HDR UK)
165
+ - [Norwegian Life Science RDM LookUp](https://elixir.no/rdm-lookup/) (ELIXIR Norway)
166
+ - [RSQkit: Research Software Quality kit](https://everse.software/RSQKit/) (EOSC-EVERSE)
167
+ - [dHMp norge](https://dhp-stottepakke.github.io/pages/) (ELIXIR Norway)
168
+ - [Learning-Library](https://patcapon39.github.io/Learning-Library/) (Australian BioCommons)
169
+ - [ELIXIR-IT Training Platform](https://elixir-iib-training.github.io/site/training_courses) (ELIXIR IT)
170
+ - Want your instance here? [Open an issue](https://github.com/ELIXIR-Belgium/elixir-toolkit-theme/issues)
162
171
 
163
172
  ## Dependencies
164
173
 
data/_includes/head.html CHANGED
@@ -74,13 +74,13 @@
74
74
  language: {
75
75
  searchPlaceholder: "Type here..."
76
76
  },
77
- "fnDrawCallback": function ( oSettings ){
78
- var tableId = oSettings.nTable.id;
79
- if(oSettings.fnRecordsTotal() < 10){
80
- $('#'+tableId+'_length').hide();
81
- $('#'+tableId+'_paginate').hide();
82
- $('#'+tableId+'_filter').hide();
83
- $('#'+tableId+'_info').hide();
77
+ "drawCallback": function ( settings ){
78
+ var tableId = settings.nTable.id;
79
+ if(settings.fnRecordsTotal() < 10){
80
+ $('#'+tableId+'_wrapper .dt-length').hide();
81
+ $('#'+tableId+'_wrapper .dt-paging').hide();
82
+ $('#'+tableId+'_wrapper .dt-search').hide();
83
+ $('#'+tableId+'_wrapper .dt-info').hide();
84
84
  }
85
85
  }
86
86
  });
@@ -38,15 +38,25 @@
38
38
  {%- endif %}
39
39
  {%- endfor %}
40
40
  {%- endif %}
41
- {%- if page.page_id %}
41
+ {%- if page.page_id and site.theme_variables.headings.resource-table-all-collapse%}
42
42
  {%- assign tools = site.data.tool_and_resource_list | where:"related_pages", page.page_id %}
43
- {%- unless tools.size == 0 or tools == nil %}
44
- {%- if site.theme_variables.headings.resource-table-all-collapse %}
43
+ {%- unless tools.size == 0 %}
45
44
  {%- assign actual_tools = 1 %}
46
- {%- endif %}
45
+ {%- endunless %}
46
+ {%- assign country_pages = site.pages | where_exp: "item", "item.search_exclude != true" | where_exp:"item","item.national_resources != nil" %}
47
+ {%- unless country_pages.size == 0 %}
48
+ {%- assign tool_matches_total = 0 %}
49
+ {%- assign query = "related_pages." | append: page.type %}
50
+ {%- for country_page in country_pages %}
51
+ {%- assign tool_matches = country_page.national_resources | where_exp:"resource","resource.related_pages != nil" | where: query, page.page_id %}
52
+ {%- assign tool_matches_total = tool_matches_total | plus: tool_matches.size %}
53
+ {%- endfor %}
54
+ {%- endunless %}
55
+ {%- unless tool_matches_total == 0 %}
56
+ {%- assign actual_nat_tools = 1 %}
47
57
  {%- endunless %}
48
58
  {%- endif %}
49
- {%- if actual_fairsharing or actual_faircookbook or actual_dsw or actual_rdmkit or actual_dsw or actual_training or actual_tools %}
59
+ {%- if actual_fairsharing or actual_faircookbook or actual_dsw or actual_rdmkit or actual_dsw or actual_training or actual_tools or actual_nat_tools %}
50
60
  <h2 class="mb-4">{{site.theme_variables.headings.more-information-tiles | default: 'More information' }}</h2>
51
61
  {%- endif %}
52
62
 
@@ -1,7 +1,7 @@
1
1
  {%- assign sidebar = site.data.sidebars[include.sidebar]['subitems'] -%}
2
2
  {%- for sections in sidebar %}
3
3
  {%- assign section = sections.title | downcase | replace: " ", "_" %}
4
- {%- assign section_pages = site.pages | where:"type", section %}
4
+ {%- assign section_pages = site.pages | where:"type", section | where_exp: "item", "item.search_exclude != true" | where_exp: "item", "item.page_id != nil" %}
5
5
  {%- unless section_pages.size == 0 %}
6
6
  <h2>{{sections.title}}</h2>
7
7
  <div class="table-responsive">
@@ -16,14 +16,12 @@
16
16
  </thead>
17
17
  <tbody>
18
18
  {%- for section_page in section_pages %}
19
- {%- if section_page.page_id and section_page.search_exclude != true %}
20
19
  <tr>
21
20
  <td><a href="{{ section_page.url | relative_url }}">{{section_page.title}}</a></td>
22
21
  <td>{{section_page.page_id}}</td>
23
22
  <td>{{section_page.description | default: "no description"}}</td>
24
23
  <td>{{section_page.url}}</td>
25
24
  </tr>
26
- {%- endif %}
27
25
  {%- endfor %}
28
26
  </tbody>
29
27
  </table>
@@ -18,8 +18,8 @@
18
18
  {%- endif %}
19
19
  {%- endfor %}
20
20
  {%- endunless %}
21
- {%- unless tools.size == 0 and tool_matches_total.size == 0 %}
22
- {%- if include.tag %}
21
+ {%- unless tools.size == 0 and tool_matches_total == 0 %}
22
+ {%- if include.tag and tools.size != 0 %}
23
23
  <a class="visually-hidden-focusable" href='#skip-tool-table'>Skip tool table</a>
24
24
  {%- if site.theme_variables.headings.resource-table-all-collapse %}
25
25
  <a data-bs-toggle="collapse" href="#tools_collapse" role="button" aria-expanded="false" aria-controls="tools_collapse" class="d-flex align-items-baseline pb-3 border-top info-collapse">
@@ -30,6 +30,8 @@
30
30
  </a>
31
31
  <div class="collapse info-card" id="tools_collapse">
32
32
  {%- endif %}
33
+ {%- elsif tools.size == 0 and site.theme_variables.headings.resource-table-all-collapse == false or site.theme_variables.headings.resource-table-all-collapse == nil %}
34
+ <h2 class="h2-like fs-2">{{site.theme_variables.headings.resource-table-all | default: 'Tools and resources on this page' }}</h2>
33
35
  {%- endif %}
34
36
  {%- unless tools.size == 0 %}
35
37
  <div class="table-responsive mt-4">
@@ -0,0 +1,5 @@
1
+ {%- if site.theme_variables.back_to_top or site.theme_variables.back_to_top == nil %}
2
+ <button id="back-to-top" class="btn btn-primary btn-sm rounded-pill" type="button" aria-hidden="true" onclick="topFunction()">
3
+ <i class="fa-solid fa-arrow-up"></i>
4
+ </button>
5
+ {%- endif %}
@@ -99,7 +99,7 @@
99
99
  {%- if current_page.affiliations %}
100
100
  {%- assign alllogos = site.data.affiliations %}
101
101
  {%- assign allcountries = site.data.countries %}
102
- <div class="d-flex align-items-center gap-2">
102
+ <div class="d-flex align-items-center flex-wrap gap-2">
103
103
  <span><b><small>Affiliations:</small></b></span>
104
104
  {%- for affiliation in current_page.affiliations %}
105
105
  {%- assign filter_affiliation = alllogos | where: "name", affiliation | first %}
data/_includes/toc.html CHANGED
@@ -1,6 +1,36 @@
1
1
  <script>
2
2
  $(document).ready(function () {
3
- $('#toc-contents').toc({ minimumHeaders: {{site.theme_variables.toc.min_headings | default: 2 }}, listType: 'ul', classes: { list: 'list-unstyled' }, noBackToTopLinks: true, showSpeed: 0, headers: '{{site.theme_variables.toc.headings | default: 'main h2' }}' , title: '<strong class="my-2">On this page</strong><hr class="my-2">' });
3
+ // Ensure that the TOC is generated after the document is fully loaded
4
+ $('#toc-contents').toc({
5
+ minimumHeaders: {{ site.theme_variables.toc.min_headings | default: 1 }},
6
+ listType: 'ul',
7
+ classes: { list: 'list-unstyled' },
8
+ showSpeed: 0,
9
+ headers: '{{site.theme_variables.toc.headings | default: "main h2" }}',
10
+ title: '<strong class="my-2">On this page</strong><hr class="my-2">'
11
+ });
12
+ // After generating the TOC, check the hash in the URL and scroll to the anchor if present
13
+ if (window.location.hash) {
14
+ var target = $(window.location.hash);
15
+ if (target.length) {
16
+ $('html, body').animate({
17
+ scrollTop: target.offset().top
18
+ }, 0);
19
+ }
20
+ }
21
+ // Allow the browser to handle the scrolling to the anchor
22
+ $('#toc-contents a').on('click', function (e) {
23
+ e.preventDefault(); // Prevent the default link click behavior
24
+
25
+ var target = this.hash; // Get the hash (e.g., #heading-id)
26
+ var $target = $(target); // Find the element with the corresponding ID
27
+
28
+ if ($target.length) {
29
+ // Change the URL hash
30
+ window.location.hash = target;
31
+ }
32
+ });
33
+
4
34
  });
5
35
  </script>
6
36
  <button id="btn-toc-hide" class="btn bg-light d-xl-none hover-primary mb-3" type="button" data-bs-toggle="collapse" data-bs-target="#toc-contents" aria-expanded="true" aria-controls="toc-contents">
@@ -3,7 +3,7 @@
3
3
  {% include head.html %}
4
4
  <body class="d-flex flex-column min-vh-100"{% unless page.toc == false %} data-bs-spy="scroll" data-bs-target="#toc-contents" data-bs-smooth-scroll="true" tabindex="0"{% endunless %}>
5
5
  {% if site.topnav_banner %}{% include banner.html %}{% endif %}
6
- {% if jekyll.environment == "development" %}{% include dev-info.html %}{% endif %}
6
+ {% if jekyll.environment == "development" and site.theme_variables.dev-info-banner == true %}{% include dev-info.html %}{% endif %}
7
7
  {% include topnav.html %}
8
8
  <!-- Page Content -->
9
9
  <div class="container flex-grow-1">
@@ -19,11 +19,7 @@
19
19
  {{content}}
20
20
  </div>
21
21
  </div>
22
- {%- if site.theme_variables.back_to_top or site.theme_variables.back_to_top == nil %}
23
- <button id="back-to-top" class="btn btn-primary btn-sm rounded-pill" type="button" aria-hidden="true" onclick="topFunction()">
24
- <i class="fa-solid fa-arrow-up"></i>
25
- </button>
26
- {%- endif %}
22
+ {% include scroll-top.html %}
27
23
  {% include footer.html %}
28
24
  {% include cookie-popup.html %}
29
25
  </body>
data/_layouts/page.html CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  layout: default
3
3
  ---
4
- <main id="main" class="order-1">
4
+ <main id="main" class="order-1{% unless page.toc == false %} add-grid{% endunless %}">
5
5
  <div id="intro">
6
6
  {%- if page.title %}
7
7
  {%- if page.type %}
@@ -20,7 +20,6 @@
20
20
  --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};
21
21
  --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};
22
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
23
  --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};
25
24
  --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};
26
25
  --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};
@@ -74,7 +73,6 @@
74
73
 
75
74
  &:focus {
76
75
  z-index: 3;
77
- border-color: var(--#{$prefix}accordion-btn-focus-border-color);
78
76
  outline: 0;
79
77
  box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);
80
78
  }
@@ -92,7 +90,7 @@
92
90
  &:first-of-type {
93
91
  @include border-top-radius(var(--#{$prefix}accordion-border-radius));
94
92
 
95
- .accordion-button {
93
+ > .accordion-header .accordion-button {
96
94
  @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));
97
95
  }
98
96
  }
@@ -105,13 +103,13 @@
105
103
  &:last-of-type {
106
104
  @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
107
105
 
108
- .accordion-button {
106
+ > .accordion-header .accordion-button {
109
107
  &.collapsed {
110
108
  @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));
111
109
  }
112
110
  }
113
111
 
114
- .accordion-collapse {
112
+ > .accordion-collapse {
115
113
  @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));
116
114
  }
117
115
  }
@@ -127,11 +125,7 @@
127
125
  // Remove borders and border-radius to keep accordion items edge-to-edge.
128
126
 
129
127
  .accordion-flush {
130
- .accordion-collapse {
131
- border-width: 0;
132
- }
133
-
134
- .accordion-item {
128
+ > .accordion-item {
135
129
  border-right: 0;
136
130
  border-left: 0;
137
131
  @include border-radius(0);
@@ -139,12 +133,18 @@
139
133
  &:first-child { border-top: 0; }
140
134
  &:last-child { border-bottom: 0; }
141
135
 
142
- .accordion-button {
136
+ // stylelint-disable selector-max-class
137
+ > .accordion-header .accordion-button {
143
138
  &,
144
139
  &.collapsed {
145
140
  @include border-radius(0);
146
141
  }
147
142
  }
143
+ // stylelint-enable selector-max-class
144
+
145
+ > .accordion-collapse {
146
+ @include border-radius(0);
147
+ }
148
148
  }
149
149
  }
150
150
 
@@ -100,6 +100,15 @@
100
100
  }
101
101
  }
102
102
 
103
+ .btn-check:checked:focus-visible + & {
104
+ // Avoid using mixin so we can pass custom focus shadow properly
105
+ @if $enable-shadows {
106
+ box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);
107
+ } @else {
108
+ box-shadow: var(--#{$prefix}btn-focus-box-shadow);
109
+ }
110
+ }
111
+
103
112
  &:disabled,
104
113
  &.disabled,
105
114
  fieldset:disabled & {
@@ -132,19 +132,11 @@
132
132
  background-size: 100% 100%;
133
133
  }
134
134
 
135
- /* rtl:options: {
136
- "autoRename": true,
137
- "stringMap":[ {
138
- "name" : "prev-next",
139
- "search" : "prev",
140
- "replace" : "next"
141
- } ]
142
- } */
143
135
  .carousel-control-prev-icon {
144
- background-image: escape-svg($carousel-control-prev-icon-bg);
136
+ background-image: escape-svg($carousel-control-prev-icon-bg) #{"/*rtl:" + escape-svg($carousel-control-next-icon-bg) + "*/"};
145
137
  }
146
138
  .carousel-control-next-icon {
147
- background-image: escape-svg($carousel-control-next-icon-bg);
139
+ background-image: escape-svg($carousel-control-next-icon-bg) #{"/*rtl:" + escape-svg($carousel-control-prev-icon-bg) + "*/"};
148
140
  }
149
141
 
150
142
  // Optional indicator pips/controls
@@ -126,7 +126,6 @@
126
126
  display: flex;
127
127
  flex-shrink: 0;
128
128
  align-items: center;
129
- justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
130
129
  padding: var(--#{$prefix}modal-header-padding);
131
130
  border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color);
132
131
  @include border-top-radius(var(--#{$prefix}modal-inner-border-radius));
@@ -123,14 +123,11 @@
123
123
  .offcanvas-header {
124
124
  display: flex;
125
125
  align-items: center;
126
- justify-content: space-between;
127
126
  padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);
128
127
 
129
128
  .btn-close {
130
129
  padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);
131
- margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
132
- margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));
133
- margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));
130
+ margin: calc(-.5 * var(--#{$prefix}offcanvas-padding-y)) calc(-.5 * var(--#{$prefix}offcanvas-padding-x)) calc(-.5 * var(--#{$prefix}offcanvas-padding-y)) auto;
134
131
  }
135
132
  }
136
133
 
@@ -79,7 +79,7 @@
79
79
  //
80
80
  // When borders are added on all sides of the cells, the corners can render odd when
81
81
  // these borders do not have the same color or if they are semi-transparent.
82
- // Therefor we add top and border bottoms to the `tr`s and left and right borders
82
+ // Therefore we add top and border bottoms to the `tr`s and left and right borders
83
83
  // to the `td`s or `th`s
84
84
 
85
85
  .table-bordered {
@@ -1383,7 +1383,9 @@ $accordion-transition: $btn-transition, border-radius .15s ea
1383
1383
  $accordion-button-active-bg: var(--#{$prefix}primary-bg-subtle) !default;
1384
1384
  $accordion-button-active-color: var(--#{$prefix}primary-text-emphasis) !default;
1385
1385
 
1386
- $accordion-button-focus-border-color: $input-focus-border-color !default;
1386
+ // fusv-disable
1387
+ $accordion-button-focus-border-color: $input-focus-border-color !default; // Deprecated in v5.3.3
1388
+ // fusv-enable
1387
1389
  $accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;
1388
1390
 
1389
1391
  $accordion-icon-width: 1.25rem !default;
@@ -1392,8 +1394,8 @@ $accordion-icon-active-color: $primary-text-emphasis !default;
1392
1394
  $accordion-icon-transition: transform .2s ease-in-out !default;
1393
1395
  $accordion-icon-transform: rotate(-180deg) !default;
1394
1396
 
1395
- $accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
1396
- $accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$accordion-icon-active-color}'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>") !default;
1397
+ $accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-color}' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5L8 11L14 5'/></svg>") !default;
1398
+ $accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-active-color}' stroke-linecap='round' stroke-linejoin='round'><path d='M2 5L8 11L14 5'/></svg>") !default;
1397
1399
  // scss-docs-end accordion-variables
1398
1400
 
1399
1401
  // Tooltips
@@ -1745,3 +1747,5 @@ $kbd-bg: var(--#{$prefix}body-color) !default;
1745
1747
  $nested-kbd-font-weight: null !default; // Deprecated in v5.2.0, removing in v6
1746
1748
 
1747
1749
  $pre-color: null !default;
1750
+
1751
+ @import "variables-dark"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3
@@ -131,7 +131,7 @@
131
131
  margin-left: $form-switch-padding-start * -1;
132
132
  background-image: var(--#{$prefix}form-switch-bg);
133
133
  background-position: left center;
134
- @include border-radius($form-switch-border-radius);
134
+ @include border-radius($form-switch-border-radius, 0);
135
135
  @include transition($form-switch-transition);
136
136
 
137
137
  &:focus {
@@ -1,7 +1,7 @@
1
1
  @mixin bsBanner($file) {
2
2
  /*!
3
- * Bootstrap #{$file} v5.3.2 (https://getbootstrap.com/)
4
- * Copyright 2011-2023 The Bootstrap Authors
3
+ * Bootstrap #{$file} v5.3.3 (https://getbootstrap.com/)
4
+ * Copyright 2011-2024 The Bootstrap Authors
5
5
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6
6
  */
7
7
  }
@@ -69,7 +69,12 @@
69
69
 
70
70
  &:focus {
71
71
  border-color: $border-color;
72
- box-shadow: $focus-box-shadow;
72
+ @if $enable-shadows {
73
+ @include box-shadow($input-box-shadow, $focus-box-shadow);
74
+ } @else {
75
+ // Avoid using mixin so we can pass custom focus shadow properly
76
+ box-shadow: $focus-box-shadow;
77
+ }
73
78
  }
74
79
  }
75
80
  }
@@ -100,7 +105,12 @@
100
105
 
101
106
  &:focus {
102
107
  border-color: $border-color;
103
- box-shadow: $focus-box-shadow;
108
+ @if $enable-shadows {
109
+ @include box-shadow($form-select-box-shadow, $focus-box-shadow);
110
+ } @else {
111
+ // Avoid using mixin so we can pass custom focus shadow properly
112
+ box-shadow: $focus-box-shadow;
113
+ }
104
114
  }
105
115
  }
106
116
  }
@@ -138,7 +138,7 @@
138
138
  }
139
139
  }
140
140
 
141
- // Start with `1` because `0` is and invalid value.
141
+ // Start with `1` because `0` is an invalid value.
142
142
  // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
143
143
  @for $i from 1 through ($columns - 1) {
144
144
  .g-start#{$infix}-#{$i} {
@@ -0,0 +1,7 @@
1
+ // TODO: this file can be removed safely in v6 when `@import "variables-dark"` will be removed at the end of _variables.scss
2
+
3
+ @import "../../functions";
4
+ @import "../../variables";
5
+ // Voluntarily not importing _variables-dark.scss
6
+ @import "../../maps";
7
+ @import "../../mixins";
@@ -258,7 +258,7 @@ $enable-important-utilities: false;
258
258
  .desaturated-color-blue {
259
259
  --bs-color-opacity: 1;
260
260
  // Sass compilation will put a leading zero so we want to keep that one
261
- // stylelint-disable-next-line stylistic/number-leading-zero
261
+ // stylelint-disable-next-line @stylistic/number-leading-zero
262
262
  --bs-color-saturation: 0.25;
263
263
  color: hsla(192deg, var(--bs-color-saturation), 0, var(--bs-color-opacity));
264
264
  }