@qhealth-design-system/core 1.16.5 → 1.17.1

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 (47) hide show
  1. package/.storybook/assets/storybook.css +1 -1
  2. package/.storybook/globals.js +10 -0
  3. package/CHANGELOG.md +4 -0
  4. package/package.json +1 -1
  5. package/src/components/_global/css/cta_links/component.scss +107 -14
  6. package/src/components/_global/css/forms/control_inputs/component.scss +65 -77
  7. package/src/components/_global/css/link_columns/component.scss +2 -2
  8. package/src/components/_global/html/head.html +4 -57
  9. package/src/components/_global/html/scripts.html +0 -2
  10. package/src/components/_global/js/cta_links/global.js +33 -0
  11. package/src/components/_global/js/global.js +175 -138
  12. package/src/components/_global/js/tabs/global.js +6 -2
  13. package/src/components/banner_advanced/html/component.hbs +1 -1
  14. package/src/components/breadcrumbs/js/global.js +17 -4
  15. package/src/components/card_feature/html/component.hbs +1 -1
  16. package/src/components/card_multi_action/html/component.hbs +1 -1
  17. package/src/components/card_single_action/css/component.scss +38 -47
  18. package/src/components/card_single_action/html/component.hbs +1 -1
  19. package/src/components/code/css/component.scss +72 -73
  20. package/src/components/code/html/component.hbs +62 -19
  21. package/src/components/code/js/global.js +102 -86
  22. package/src/components/footer/css/component.scss +2 -4
  23. package/src/components/footer/html/component.hbs +11 -8
  24. package/src/components/header/css/component.scss +12 -12
  25. package/src/components/header/html/component.hbs +3 -3
  26. package/src/components/header/js/global.js +58 -65
  27. package/src/components/in_page_navigation/js/global.js +34 -31
  28. package/src/components/internal_navigation/js/global.js +13 -3
  29. package/src/components/main_navigation/css/component.scss +79 -13
  30. package/src/components/main_navigation/html/component.hbs +5 -5
  31. package/src/components/main_navigation/js/global.js +94 -115
  32. package/src/components/mega_main_navigation/css/component.scss +27 -14
  33. package/src/components/mega_main_navigation/html/component.hbs +5 -5
  34. package/src/components/mega_main_navigation/js/global.js +50 -55
  35. package/src/components/page_alert/css/component.scss +141 -179
  36. package/src/data/site.json +3 -3
  37. package/src/html/component-card_feature.html +74 -487
  38. package/src/html/component-card_single_action.html +219 -1175
  39. package/src/html/component-forms.html +202 -67
  40. package/src/stories/Checkboxes/Checkboxes.js +41 -0
  41. package/src/stories/Checkboxes/Checkboxes.mdx +45 -0
  42. package/src/stories/Checkboxes/Checkboxes.stories.js +209 -0
  43. package/src/stories/RadioButtons/RadioButtons.js +41 -0
  44. package/src/stories/RadioButtons/RadioButtons.mdx +45 -0
  45. package/src/stories/RadioButtons/RadioButtons.stories.js +209 -0
  46. package/src/styles/imports/mixins.scss +5 -43
  47. package/src/styles/imports/variables.scss +3 -2
@@ -2,131 +2,126 @@
2
2
  * @module header
3
3
  */
4
4
  (function () {
5
-
6
5
  // Search toggle button
7
- var searchToggle = document.querySelector('.qld__main-nav__toggle-search');
8
- var searchForm = document.querySelector('.qld__header__search .qld__search-form');
6
+ var searchToggle = document.querySelector(".qld__main-nav__toggle-search");
7
+ var searchForm = document.querySelector(".qld__header__search .qld__search-form");
9
8
 
10
9
  // Global events object
11
10
  var headerSearchEvents = {};
12
11
 
13
12
  // Add action so the search works only if JS is enabled
14
13
  if (searchForm) {
15
- searchForm.querySelector('.qld__btn--search').setAttribute('type', 'submit');
16
- searchForm.querySelectorAll('.qld__btn--search, .qld__text-input').forEach((el) => {
17
- el.removeAttribute('disabled');
14
+ searchForm.querySelector(".qld__btn--search").setAttribute("type", "submit");
15
+ searchForm.querySelectorAll(".qld__btn--search, .qld__text-input").forEach((el) => {
16
+ el.removeAttribute("disabled");
18
17
  });
19
18
  checkHoneypot();
20
19
  }
21
20
 
22
21
  // Add event listener to search toggle button
23
22
  if (searchToggle) {
24
- searchToggle.addEventListener('click', toggleHeaderSearch);
23
+ searchToggle.addEventListener("click", toggleHeaderSearch);
25
24
  }
26
25
 
27
26
  /**
28
27
  * Check if honeypot field is empty
29
- *
28
+ *
30
29
  * @memberof module:header
31
30
  * @instance
32
31
  * @private
33
32
  */
34
33
  function checkHoneypot() {
35
- var honeypot = searchForm.querySelector('.qld__text-input--validation');
36
- honeypot.value = '';
34
+ var honeypot = searchForm.querySelector(".qld__text-input--validation");
35
+ honeypot.value = "";
37
36
 
38
- searchForm.addEventListener('submit', function(event) {
37
+ searchForm.addEventListener("submit", function (event) {
39
38
  // Prevent form submission if the honeypot field is filled
40
- if (honeypot.value !== '') {
39
+ if (honeypot.value !== "") {
41
40
  event.preventDefault(); // Stop the form submission
42
41
  } else {
43
- honeypot.removeAttribute('name');
42
+ honeypot.removeAttribute("name");
44
43
  }
45
44
  });
46
45
  }
47
46
  /**
48
47
  * Toggle the header search on mobile/tablet
49
- *
48
+ *
50
49
  * @memberof module:header
51
50
  * @instance
52
51
  * @private
53
52
  */
54
53
  function toggleHeaderSearch() {
55
-
56
- var targetId = searchToggle.getAttribute('aria-controls');
54
+ var targetId = searchToggle.getAttribute("aria-controls");
57
55
  var target = document.getElementById(targetId);
58
- var focustrapTop = target.querySelector('.qld__main-nav__focus-trap-top');
59
- var focustrapBottom = target.querySelector('.qld__main-nav__focus-trap-bottom');
60
- var isExpanded = searchToggle.getAttribute('aria-expanded');
56
+ var focustrapTop = target.querySelector(".qld__main-nav__focus-trap-top");
57
+ var focustrapBottom = target.querySelector(".qld__main-nav__focus-trap-bottom");
58
+ var isExpanded = searchToggle.getAttribute("aria-expanded");
61
59
 
62
60
  // Open menu
63
61
  if (isExpanded === "false") {
64
-
65
- searchToggle.setAttribute('aria-expanded', true);
66
- searchToggle.classList.remove('qld__main-nav__toggle-search--open');
67
- searchToggle.classList.add('qld__main-nav__toggle-search--close');
68
- searchToggle.querySelector('.qld__main-nav__toggle-text').innerHTML = 'Close';
62
+ searchToggle.setAttribute("aria-expanded", true);
63
+ searchToggle.classList.remove("qld__main-nav__toggle-search--open");
64
+ searchToggle.classList.add("qld__main-nav__toggle-search--close");
65
+ searchToggle.querySelector(".qld__main-nav__toggle-text").textContent = "Close";
69
66
  target.style.display = "block";
70
-
67
+
71
68
  // Wait for display: block, and then add class to open smoothly
72
- setTimeout(function() {
73
- target.classList.add('qld__main-nav__search--open');
74
- target.querySelector('.qld__text-input').focus();
69
+ setTimeout(function () {
70
+ target.classList.add("qld__main-nav__search--open");
71
+ target.querySelector(".qld__text-input").focus();
75
72
 
76
73
  // Close header search on click outside
77
- headerSearchEvents.background = addEvent(document, 'click', function() {
74
+ headerSearchEvents.background = addEvent(document, "click", function () {
78
75
  var event = event || window.event;
79
-
76
+
80
77
  if (!target.contains(event.target)) {
81
- console.log('toggling');
78
+ console.log("toggling");
82
79
  toggleHeaderSearch();
83
80
  }
84
81
  });
85
82
  }, 0);
86
83
 
87
84
  // Focus trap enabled
88
- focustrapTop.setAttribute('tabindex', 0);
89
- focustrapBottom.setAttribute('tabindex', 0);
85
+ focustrapTop.setAttribute("tabindex", 0);
86
+ focustrapBottom.setAttribute("tabindex", 0);
90
87
 
91
88
  // Add focus listeners
92
- headerSearchEvents.focusTop = addEvent(focustrapTop, 'focus', function() {
93
- target.querySelector('button').focus();
89
+ headerSearchEvents.focusTop = addEvent(focustrapTop, "focus", function () {
90
+ target.querySelector("button").focus();
94
91
  });
95
- headerSearchEvents.focusBottom = addEvent(focustrapBottom, 'focus', function() {
96
- target.querySelector('input').focus();
92
+ headerSearchEvents.focusBottom = addEvent(focustrapBottom, "focus", function () {
93
+ target.querySelector("input").focus();
97
94
  });
98
95
 
99
96
  // Close header search if burger menu opened
100
97
  var menuToggle = document.querySelector('button[aria-controls="main-nav"]');
101
- headerSearchEvents.menu = addEvent(menuToggle, 'click', function() {
98
+ headerSearchEvents.menu = addEvent(menuToggle, "click", function () {
102
99
  toggleHeaderSearch();
103
100
  });
104
-
101
+
105
102
  // Add key listener
106
- headerSearchEvents.escKey = addEvent(document, 'keyup', function() {
103
+ headerSearchEvents.escKey = addEvent(document, "keyup", function () {
107
104
  var event = event || window.event;
108
105
 
109
106
  // Check the menu is open and visible and the escape key is pressed
110
- if (event.keyCode === 27 ) {
107
+ if (event.keyCode === 27) {
111
108
  toggleHeaderSearch();
112
109
  }
113
110
  });
114
-
115
111
 
116
- // Close menu
112
+ // Close menu
117
113
  } else {
118
-
119
- searchToggle.setAttribute('aria-expanded', false);
120
- searchToggle.classList.remove('qld__main-nav__toggle-search--close');
121
- searchToggle.classList.add('qld__main-nav__toggle-search--open');
122
- searchToggle.querySelector('.qld__main-nav__toggle-text').innerHTML = 'Search';
114
+ searchToggle.setAttribute("aria-expanded", false);
115
+ searchToggle.classList.remove("qld__main-nav__toggle-search--close");
116
+ searchToggle.classList.add("qld__main-nav__toggle-search--open");
117
+ searchToggle.querySelector(".qld__main-nav__toggle-text").textContent = "Search";
123
118
  searchToggle.focus();
124
- target.classList.remove('qld__main-nav__search--open');
119
+ target.classList.remove("qld__main-nav__search--open");
125
120
  target.style.display = "none";
126
121
 
127
122
  // Remove the focus trap
128
- focustrapTop.removeAttribute('tabindex');
129
- focustrapBottom.removeAttribute('tabindex');
123
+ focustrapTop.removeAttribute("tabindex");
124
+ focustrapBottom.removeAttribute("tabindex");
130
125
 
131
126
  // Remove the event listeners
132
127
  removeEvent(headerSearchEvents.focusTop);
@@ -139,7 +134,7 @@
139
134
 
140
135
  /**
141
136
  * Object representing an event listener
142
- *
137
+ *
143
138
  * @typedef {Object} event
144
139
  * @property {Node} element Element the event is attached to
145
140
  * @property {function} handler Event handler function
@@ -148,11 +143,11 @@
148
143
 
149
144
  /**
150
145
  * Add event listener
151
- *
146
+ *
152
147
  * @memberof module:header
153
148
  * @instance
154
149
  * @private
155
- *
150
+ *
156
151
  * @param {Node} element DOM element to add event to
157
152
  * @param {document#event} event The event to listen for
158
153
  * @param {function} rawHandler The raw handler function
@@ -166,7 +161,7 @@
166
161
  event.stopPropagation();
167
162
  event.preventDefault();
168
163
  }
169
- return (handler);
164
+ return handler;
170
165
  }
171
166
 
172
167
  // Make sure attachHandler is also going to work
@@ -176,7 +171,7 @@
176
171
  window.event.returnValue = false;
177
172
  window.event.cancelBubble = true;
178
173
  }
179
- return (handler);
174
+ return handler;
180
175
  }
181
176
 
182
177
  // Return the token and add the correct listener
@@ -185,34 +180,32 @@
185
180
  return {
186
181
  element: element,
187
182
  handler: listenHandler,
188
- event: event
183
+ event: event,
189
184
  };
190
185
  } else {
191
- element.attachEvent('on' + event, attachHandler);
186
+ element.attachEvent("on" + event, attachHandler);
192
187
  return {
193
188
  element: element,
194
189
  handler: attachHandler,
195
- event: event
190
+ event: event,
196
191
  };
197
192
  }
198
193
  }
199
194
 
200
-
201
195
  /**
202
196
  * Remove event listener
203
- *
197
+ *
204
198
  * @memberof module:header
205
199
  * @instance
206
200
  * @private
207
- *
201
+ *
208
202
  * @param {event} token The event to remove
209
203
  */
210
204
  function removeEvent(token) {
211
205
  if (token.element.removeEventListener) {
212
206
  token.element.removeEventListener(token.event, token.handler);
213
207
  } else {
214
- token.element.detachEvent('on' + token.event, token.handler);
208
+ token.element.detachEvent("on" + token.event, token.handler);
215
209
  }
216
210
  }
217
-
218
- })();
211
+ })();
@@ -1,5 +1,4 @@
1
- (function() {
2
-
1
+ (function () {
3
2
  /**
4
3
  * @module inPageNav
5
4
  */
@@ -7,51 +6,55 @@
7
6
 
8
7
  /**
9
8
  * Create in page nav from headings
10
- *
9
+ *
11
10
  * @memberof module:inPageNav
12
11
  */
13
- inPageNav.init = function() {
14
- var navs = document.querySelectorAll('.qld__inpage-nav-links');
15
- var mainEl = document.querySelector('main.main');
16
- var isLandingPage = mainEl && mainEl.classList.contains('landing');
12
+ inPageNav.init = function () {
13
+ var navs = document.querySelectorAll(".qld__inpage-nav-links");
14
+ var mainEl = document.querySelector("main.main");
15
+ var isLandingPage = mainEl && mainEl.classList.contains("landing");
17
16
 
18
17
  // For all In-Page Nav components
19
- navs.forEach(function(nav) {
20
-
21
- var headingSelector = nav.getAttribute('data-headingType') ? nav.getAttribute('data-headingType') : 'h2';
22
- var pageContent = isLandingPage ? mainEl : document.getElementById('content');
18
+ navs.forEach(function (nav) {
19
+ var headingSelector = nav.getAttribute("data-headingType") ? nav.getAttribute("data-headingType") : "h2";
20
+ var pageContent = isLandingPage ? mainEl : document.getElementById("content");
23
21
  // Exclude Code CT, and accordion h3, h4, h5, h6
24
22
  var headings = pageContent.querySelectorAll(
25
- headingSelector +
26
- ':not(.qld__inpage-nav-links__heading):not(.banner__heading):not(.qld__code *):not(.qld__accordion h3):not(.qld__accordion h4):not(.qld__accordion h5):not(.qld__accordion h6)'
27
- );
28
-
23
+ headingSelector + ":not(.qld__inpage-nav-links__heading):not(.banner__heading):not(.qld__code *):not(.qld__accordion h3):not(.qld__accordion h4):not(.qld__accordion h5):not(.qld__accordion h6)",
24
+ );
29
25
 
30
- var list = nav.querySelector('.qld__link-list');
31
- list.innerHTML = '';
26
+ // Get list element and clear existing children
27
+ var list = nav.querySelector(".qld__link-list");
28
+ list.replaceChildren();
32
29
 
33
30
  if (headings.length === 0) {
34
- nav.style.display = 'none';
31
+ nav.style.display = "none";
35
32
  }
36
-
33
+
37
34
  // For all headings (with matching data-headingType) in page content
38
- headings.forEach(function(heading) {
35
+ headings.forEach(function (heading) {
39
36
  var title = heading.innerText;
40
- var id = 'section__' + title.toLowerCase().replace(/\s+/g, '-');
41
- heading.setAttribute('id', id);
42
- heading.setAttribute('tabindex', -1);
43
- var link = '<li><a href="#' + id + '">' + title + '</a></li>';
44
-
45
- // Append link item if it doesn't already exist in list
46
- if (list.querySelector('a[href="#' + id + '"') === null) {
47
- list.insertAdjacentHTML('beforeend', link);
37
+ var id = "section__" + title.toLowerCase().replace(/\s+/g, "-");
38
+ heading.setAttribute("id", id);
39
+ heading.setAttribute("tabindex", -1);
40
+
41
+ // Create link and anchor items to be added to the list
42
+ var link = document.createElement("li");
43
+ var anchor = document.createElement("a");
44
+ anchor.setAttribute("href", `#${id}`);
45
+ anchor.textContent = title;
46
+ link.appendChild(anchor);
47
+
48
+ // Append link item if it doesn't already exist in the list
49
+ if (list.querySelector(`a[href="#${id}"]`) === null) {
50
+ list.appendChild(link);
48
51
  }
49
52
  });
50
53
  });
51
- }
54
+ };
52
55
 
53
56
  QLD.inPageNav = inPageNav;
54
57
 
55
58
  // Init In Page Nav on document load
56
- document.addEventListener('DOMContentLoaded', QLD.inPageNav.init);
57
- })();
59
+ document.addEventListener("DOMContentLoaded", QLD.inPageNav.init);
60
+ })();
@@ -12,14 +12,24 @@
12
12
 
13
13
  if (svgSelector) {
14
14
  const svgPath = svgSelector.getAttribute("data-path");
15
- const svgIcon = `<svg class="qld__icon" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="${svgPath}#tick"></use></svg>`;
16
-
17
15
  const thirdLevelLinks = document.querySelectorAll("ul ul ul a, ul ul ul span");
18
16
 
19
17
  // Loop through each matching element and apply the style
20
18
  thirdLevelLinks.forEach((link) => {
21
19
  if (!link.querySelector("svg")) {
22
- link.insertAdjacentHTML("afterbegin", svgIcon);
20
+ // Create <svg>
21
+ const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
22
+ svg.setAttribute("class", "qld__icon");
23
+ svg.setAttribute("aria-hidden", "true");
24
+ svg.setAttribute("xmlns", "http://www.w3.org/2000/svg");
25
+
26
+ // Create <use>
27
+ const use = document.createElementNS("http://www.w3.org/2000/svg", "use");
28
+ use.setAttributeNS(null, "href", `${svgPath}#tick`);
29
+
30
+ // Append <use> to <svg>
31
+ svg.appendChild(use);
32
+ link.insertBefore(svg, link.firstChild);
23
33
  }
24
34
  link.parentElement.style.borderTopColor = "transparent";
25
35
  });
@@ -113,18 +113,6 @@ $QLD-header-md: 72px;
113
113
  &--open {
114
114
  color: var(--QLD-color-light__heading);
115
115
  }
116
-
117
- &.qld__main-nav__item-link--open {
118
- &:visited {
119
- color: var(--QLD-color-light__link);
120
- }
121
- }
122
- }
123
-
124
- .qld__main-nav__item-link.qld__main-nav__item-link--open {
125
- &:visited {
126
- color: var(--QLD-color-light__link);
127
- }
128
116
  }
129
117
  }
130
118
 
@@ -173,6 +161,10 @@ $QLD-header-md: 72px;
173
161
  @include QLD-fontgrid(sm, heading);
174
162
  height: 100%;
175
163
 
164
+ > a.qld__main-nav__item-link.qld__main-nav__item-link--open {
165
+ color: var(--QLD-color-light__heading);
166
+ }
167
+
176
168
  &::before {
177
169
  content: "";
178
170
  display: block;
@@ -491,7 +483,6 @@ $QLD-header-md: 72px;
491
483
  cursor: pointer;
492
484
  align-items: center;
493
485
  color: var(--QLD-color-light__link);
494
- @include QLD-focus("light", false);
495
486
  border-left: solid $QLD-border-width-thin $QLD-color-neutral--lighter;
496
487
 
497
488
  &:hover {
@@ -585,6 +576,13 @@ $QLD-header-md: 72px;
585
576
  @include QLD-media(lg) {
586
577
  @include QLD-space(padding-bottom, 0unit);
587
578
  }
579
+
580
+ // Reset the padding on list items in mobile as there is no arrow to obscure
581
+ li > a {
582
+ @include QLD-media(lg, "down") {
583
+ padding-right: 0;
584
+ }
585
+ }
588
586
  }
589
587
 
590
588
  .qld__main-nav__cta-wrapper .qld__link-list {
@@ -598,6 +596,9 @@ $QLD-header-md: 72px;
598
596
  background-color: var(--QLD-color-dark__background--shade);
599
597
  }
600
598
  .qld__main-nav__menu {
599
+ .qld__main-nav__item-title a.qld__main-nav__item-link.qld__main-nav__item-link--open {
600
+ color: var(--QLD-color-dark__heading);
601
+ }
601
602
  .qld__main-nav__item-title::before {
602
603
  background-color: var(--QLD-color-dark__border);
603
604
  }
@@ -649,6 +650,71 @@ $QLD-header-md: 72px;
649
650
  }
650
651
  }
651
652
  }
653
+
654
+ // Focus styles
655
+ .qld__main-nav__menu {
656
+ .qld__main-nav__menu-inner {
657
+ .qld__main-nav__item-link {
658
+ @include QLD-focus("light", false, -2px);
659
+ border-radius: 0;
660
+
661
+ @include QLD-media(lg, "down") {
662
+ @include QLD-focus("light", false, -3px);
663
+ }
664
+ }
665
+
666
+ .qld__main-nav__item-title:has(button.qld__main-nav__item-toggle) .qld__main-nav__item-link {
667
+ border-top-right-radius: 1rem;
668
+ }
669
+
670
+ .qld__main-nav__item-toggle {
671
+ @include QLD-focus("light", false, -2px);
672
+
673
+ @include QLD-media(lg, "down") {
674
+ @include QLD-focus("light", false, 2px);
675
+ }
676
+ }
677
+
678
+ .qld__main-nav__toggle {
679
+ @include QLD-focus("dark", false, -3px);
680
+ }
681
+
682
+ .qld__main-nav__cta-wrapper {
683
+ .qld__main-nav__item-link {
684
+ @include QLD-focus("dark", false, -3px);
685
+ }
686
+ }
687
+ }
688
+ .qld__main-nav__menu-sub-inner {
689
+ li > a,
690
+ div.qld__main-nav__sub-footer a {
691
+ @include QLD-media(lg, "down") {
692
+ @include QLD-focus("light", false, -3px);
693
+ border-radius: 0;
694
+ }
695
+ }
696
+ }
697
+ }
698
+
699
+ // Dark mode focus styles
700
+ &.qld__main-nav--dark,
701
+ &.qld__main-nav--dark--alt {
702
+ .qld__main-nav__menu-inner {
703
+ .qld__main-nav__item-link,
704
+ .qld__main-nav__item-toggle {
705
+ &:focus {
706
+ outline-color: var(--QLD-color-dark__focus);
707
+ }
708
+ }
709
+ }
710
+ .qld__link-list {
711
+ a:focus,
712
+ li > a:focus,
713
+ div.qld__main-nav__sub-footer a:focus {
714
+ outline-color: var(--QLD-color-dark__focus);
715
+ }
716
+ }
717
+ }
652
718
  }
653
719
 
654
720
  // Lock the scroll on the whole page when the menu is open
@@ -29,7 +29,7 @@
29
29
  {{#each site.children}}
30
30
  <li class="qld__main-nav__item {{#ifCond asset_assetid '==' ../current.data.assetid}}active{{/ifCond}}{{#ifCond asset_assetid '==' ../current.top.asset_assetid}}active{{/ifCond}}">
31
31
  <div class="qld__main-nav__item-title">
32
- <a class="qld__main-nav__item-link" {{#ifCond asset_assetid '==' ../current.data.assetid}}aria-current="page"{{/ifCond}} href="./?a={{asset_assetid}}" >
32
+ <a class="qld__main-nav__item-link" {{#ifCond asset_assetid '==' ../current.data.assetid}}aria-current="page"{{/ifCond}} href="./?a={{asset_assetid}}">
33
33
  <span class="qld__main-nav__item-text" data-name="{{{asset_short_name}}}">{{{asset_short_name}}}</span>
34
34
  </a>
35
35
  </div>
@@ -50,9 +50,9 @@
50
50
  {{#if site.metadata.mainNavCtaOne.value}}
51
51
  <li class="qld__main-nav__item qld__main-nav__item--cta {{#ifCond site.metadata.mainNavCtaOne.value '==' ../current.data.assetid}}active{{/ifCond}}">
52
52
  <div class="qld__main-nav__item-title">
53
- <a class="qld__main-nav__item-link" {{#ifCond site.metadata.mainNavCtaOne.value '==' ../current.data.assetid}}aria-current="page"{{/ifCond}} href="./?a={{site.metadata.mainNavCtaOne.value}}" >
53
+ <a class="qld__main-nav__item-link" {{#ifCond site.metadata.mainNavCtaOne.value '==' ../current.data.assetid}}aria-current="page"{{/ifCond}} href="./?a={{site.metadata.mainNavCtaOne.value}}">
54
54
  {{#if site.metadata.mainNavCtaOneIcon.value}}
55
- <i class="qld__icon qld__icon--sm {{site.metadata.mainNavCtaOneIcon.value}}"></i>
55
+ <svg class="qld__icon qld__icon--md" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="{{@root.site.metadata.coreSiteIcons.value}}#{{site.metadata.mainNavCtaOneIcon.value}}"></use></svg>
56
56
  {{/if}}
57
57
  <span class="qld__main-nav__item-text" data-name="{{{site.metadata.mainNavCtaOneText.value}}}">{{{site.metadata.mainNavCtaOneText.value}}}</span>
58
58
  </a>
@@ -62,9 +62,9 @@
62
62
  {{#if site.metadata.mainNavCtaTwo.value}}
63
63
  <li class="qld__main-nav__item qld__main-nav__item--cta {{#ifCond site.metadata.mainNavCtaTwo.value '==' ../current.data.assetid}}active{{/ifCond}}">
64
64
  <div class="qld__main-nav__item-title">
65
- <a class="qld__main-nav__item-link" {{#ifCond site.metadata.mainNavCtaTwo.value '==' ../current.data.assetid}}aria-current="page"{{/ifCond}} href="./?a={{site.metadata.mainNavCtaTwo.value}}" >
65
+ <a class="qld__main-nav__item-link" {{#ifCond site.metadata.mainNavCtaTwo.value '==' ../current.data.assetid}}aria-current="page"{{/ifCond}} href="./?a={{site.metadata.mainNavCtaTwo.value}}">
66
66
  {{#if site.metadata.mainNavCtaTwoIcon.value}}
67
- <i class="qld__icon qld__icon--sm {{site.metadata.mainNavCtaTwoIcon.value}}"></i>
67
+ <svg class="qld__icon qld__icon--md" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="{{@root.site.metadata.coreSiteIcons.value}}#{{site.metadata.mainNavCtaTwoIcon.value}}"></use></svg>
68
68
  {{/if}}
69
69
  <span class="qld__main-nav__item-text" data-name="{{{site.metadata.mainNavCtaTwoText.value}}}">{{{site.metadata.mainNavCtaTwoText.value}}}</span>
70
70
  </a>