@qhealth-design-system/core 1.17.1 → 1.18.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.
- package/.storybook/globals.js +10 -0
- package/.storybook/preview.js +9 -13
- package/CHANGELOG.md +4 -0
- package/package.json +1 -1
- package/src/assets/img/QLD-Health-icons.svg +10 -6
- package/src/assets/img/QLD-icons.svg +12 -8
- package/src/assets/img/qgov-coa.svg +65 -0
- package/src/components/_global/css/forms/general/component.scss +1 -1
- package/src/components/_global/css/icons/component.scss +40 -38
- package/src/components/_global/css/tags/component.scss +28 -27
- package/src/components/_global/html/head.html +1 -1
- package/src/components/basic_search/html/component.hbs +2 -1
- package/src/components/card_single_action/css/component.scss +15 -0
- package/src/components/code/html/component.hbs +4 -4
- package/src/components/footer/html/component.hbs +18 -15
- package/src/components/header/css/component.scss +25 -85
- package/src/components/header/html/component.hbs +4 -176
- package/src/components/header/js/global.js +189 -181
- package/src/components/left_hand_navigation/css/component.scss +32 -29
- package/src/components/left_hand_navigation/html/component.hbs +10 -6
- package/src/components/left_hand_navigation/js/global.js +49 -26
- package/src/components/main_navigation/css/component.scss +115 -89
- package/src/components/main_navigation/html/component.hbs +9 -3
- package/src/components/mega_main_navigation/css/component.scss +6 -6
- package/src/components/mega_main_navigation/html/component.hbs +9 -3
- package/src/components/multi_column/css/component.scss +2 -32
- package/src/components/overflow_menu/css/component.scss +19 -41
- package/src/components/search_box/css/component.scss +42 -0
- package/src/components/tab/css/component.scss +56 -41
- package/src/components/tab/html/component.hbs +13 -13
- package/src/components/tab/js/global.js +43 -114
- package/src/components/tab/js/manifest.json +881 -873
- package/src/data/site.json +28 -4
- package/src/index.js +11 -2
- package/src/stories/BackToTop/BackToTop.js +8 -0
- package/src/stories/BackToTop/BackToTop.mdx +42 -0
- package/src/stories/BackToTop/BackToTop.stories.js +28 -0
- package/src/stories/CTALink/CTALink.js +5 -0
- package/src/stories/CTALink/CTALink.mdx +39 -0
- package/src/stories/CTALink/CTALink.stories.js +151 -0
- package/src/assets/data-tables-csv-test.csv +0 -191
- package/src/assets/img/header-logo-agov.png +0 -0
- package/src/assets/img/header-search.svg +0 -3
- package/src/assets/img/layers-2x.png +0 -0
- package/src/assets/img/layers.png +0 -0
- package/src/assets/img/marker-icon.png +0 -0
- package/src/assets/img/video-play.svg +0 -3
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module header
|
|
3
3
|
*/
|
|
4
|
-
(function () {
|
|
5
|
-
// Search toggle button
|
|
6
|
-
var searchToggle = document.querySelector(".qld__main-nav__toggle-search");
|
|
7
|
-
var searchForm = document.querySelector(".qld__header__search .qld__search-form");
|
|
8
|
-
|
|
9
|
-
// Global events object
|
|
10
|
-
var headerSearchEvents = {};
|
|
11
4
|
|
|
5
|
+
// Search toggle button
|
|
6
|
+
const searchToggle = document.querySelector(".qld__main-nav__toggle-search");
|
|
7
|
+
const searchForm = document.querySelector(".qld__header__search .qld__search-form");
|
|
8
|
+
const targetId = searchToggle.getAttribute("aria-controls");
|
|
9
|
+
const target = document.getElementById(targetId);
|
|
10
|
+
const focustrapTop = target.querySelector(".qld__main-nav__focus-trap-top");
|
|
11
|
+
const focustrapBottom = target.querySelector(".qld__main-nav__focus-trap-bottom");
|
|
12
|
+
const searchToggleText = searchToggle.querySelector(".qld__main-nav__toggle-text");
|
|
13
|
+
// Hold state of the header (open vs close)
|
|
14
|
+
let isHeaderOpen = false;
|
|
15
|
+
// Global events object
|
|
16
|
+
let headerSearchEvents = {};
|
|
17
|
+
// Breakpoint for mobile mode
|
|
18
|
+
const mobileBreakpoint = 992;
|
|
19
|
+
|
|
20
|
+
export default function initHeader(document = document) {
|
|
12
21
|
// Add action so the search works only if JS is enabled
|
|
13
22
|
if (searchForm) {
|
|
14
23
|
searchForm.querySelector(".qld__btn--search").setAttribute("type", "submit");
|
|
@@ -23,189 +32,188 @@
|
|
|
23
32
|
searchToggle.addEventListener("click", toggleHeaderSearch);
|
|
24
33
|
}
|
|
25
34
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
35
|
+
// We want to ensure the search input is visible on desktop at all times
|
|
36
|
+
window.addEventListener("resize", () => {
|
|
37
|
+
if (window.innerWidth >= mobileBreakpoint && !isHeaderOpen) {
|
|
38
|
+
openHeader();
|
|
39
|
+
// Disable focus trap as it's not needed on desktop
|
|
40
|
+
disableFocusTrap();
|
|
41
|
+
} else if (window.innerWidth < mobileBreakpoint && isHeaderOpen) {
|
|
42
|
+
closeHeader();
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Check if honeypot field is empty
|
|
49
|
+
*
|
|
50
|
+
* @memberof module:header
|
|
51
|
+
* @instance
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
54
|
+
function checkHoneypot() {
|
|
55
|
+
const honeypot = searchForm.querySelector(".qld__text-input--validation");
|
|
56
|
+
honeypot.value = "";
|
|
57
|
+
|
|
58
|
+
searchForm.addEventListener("submit", function (event) {
|
|
59
|
+
// Prevent form submission if the honeypot field is filled
|
|
60
|
+
if (honeypot.value !== "") {
|
|
61
|
+
event.preventDefault(); // Stop the form submission
|
|
62
|
+
} else {
|
|
63
|
+
honeypot.removeAttribute("name");
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Toggle the header search on mobile/tablet
|
|
70
|
+
*
|
|
71
|
+
* @memberof module:header
|
|
72
|
+
* @instance
|
|
73
|
+
* @private
|
|
74
|
+
*/
|
|
75
|
+
function toggleHeaderSearch() {
|
|
76
|
+
// Open menu
|
|
77
|
+
if (!isHeaderOpen) {
|
|
78
|
+
openHeader();
|
|
79
|
+
// Close menu
|
|
80
|
+
} else {
|
|
81
|
+
closeHeader();
|
|
45
82
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
searchToggle.classList.add("qld__main-nav__toggle-search--close");
|
|
65
|
-
searchToggle.querySelector(".qld__main-nav__toggle-text").textContent = "Close";
|
|
66
|
-
target.style.display = "block";
|
|
67
|
-
|
|
68
|
-
// Wait for display: block, and then add class to open smoothly
|
|
69
|
-
setTimeout(function () {
|
|
70
|
-
target.classList.add("qld__main-nav__search--open");
|
|
71
|
-
target.querySelector(".qld__text-input").focus();
|
|
72
|
-
|
|
73
|
-
// Close header search on click outside
|
|
74
|
-
headerSearchEvents.background = addEvent(document, "click", function () {
|
|
75
|
-
var event = event || window.event;
|
|
76
|
-
|
|
77
|
-
if (!target.contains(event.target)) {
|
|
78
|
-
console.log("toggling");
|
|
79
|
-
toggleHeaderSearch();
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
}, 0);
|
|
83
|
-
|
|
84
|
-
// Focus trap enabled
|
|
85
|
-
focustrapTop.setAttribute("tabindex", 0);
|
|
86
|
-
focustrapBottom.setAttribute("tabindex", 0);
|
|
87
|
-
|
|
88
|
-
// Add focus listeners
|
|
89
|
-
headerSearchEvents.focusTop = addEvent(focustrapTop, "focus", function () {
|
|
90
|
-
target.querySelector("button").focus();
|
|
91
|
-
});
|
|
92
|
-
headerSearchEvents.focusBottom = addEvent(focustrapBottom, "focus", function () {
|
|
93
|
-
target.querySelector("input").focus();
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
// Close header search if burger menu opened
|
|
97
|
-
var menuToggle = document.querySelector('button[aria-controls="main-nav"]');
|
|
98
|
-
headerSearchEvents.menu = addEvent(menuToggle, "click", function () {
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function openHeader() {
|
|
86
|
+
isHeaderOpen = true;
|
|
87
|
+
searchToggle.setAttribute("aria-expanded", true);
|
|
88
|
+
searchToggle.classList.remove("qld__main-nav__toggle-search--open");
|
|
89
|
+
searchToggle.classList.add("qld__main-nav__toggle-search--close");
|
|
90
|
+
searchToggleText.textContent = "Close";
|
|
91
|
+
target.style.display = "block";
|
|
92
|
+
|
|
93
|
+
// Wait for display: block, and then add class to open smoothly
|
|
94
|
+
setTimeout(function () {
|
|
95
|
+
target.classList.add("qld__main-nav__search--open");
|
|
96
|
+
target.querySelector(".qld__text-input").focus();
|
|
97
|
+
|
|
98
|
+
// Close header search on click outside
|
|
99
|
+
headerSearchEvents.background = addEvent(document, "click", function () {
|
|
100
|
+
if (!target.contains(event.target) && window.innerWidth < mobileBreakpoint) {
|
|
99
101
|
toggleHeaderSearch();
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
headerSearchEvents.escKey = addEvent(document, "keyup", function () {
|
|
104
|
-
var event = event || window.event;
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}, 0);
|
|
105
105
|
|
|
106
|
-
|
|
107
|
-
if (event.keyCode === 27) {
|
|
108
|
-
toggleHeaderSearch();
|
|
109
|
-
}
|
|
110
|
-
});
|
|
106
|
+
enableFocusTrap();
|
|
111
107
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
searchToggle.focus();
|
|
119
|
-
target.classList.remove("qld__main-nav__search--open");
|
|
120
|
-
target.style.display = "none";
|
|
121
|
-
|
|
122
|
-
// Remove the focus trap
|
|
123
|
-
focustrapTop.removeAttribute("tabindex");
|
|
124
|
-
focustrapBottom.removeAttribute("tabindex");
|
|
125
|
-
|
|
126
|
-
// Remove the event listeners
|
|
127
|
-
removeEvent(headerSearchEvents.focusTop);
|
|
128
|
-
removeEvent(headerSearchEvents.focusBottom);
|
|
129
|
-
removeEvent(headerSearchEvents.background);
|
|
130
|
-
removeEvent(headerSearchEvents.menu);
|
|
131
|
-
removeEvent(headerSearchEvents.escKey);
|
|
132
|
-
}
|
|
108
|
+
// Close header search if burger menu opened
|
|
109
|
+
const menuToggle = document.querySelector('button[aria-controls="main-nav"]');
|
|
110
|
+
if (menuToggle) {
|
|
111
|
+
headerSearchEvents.menu = addEvent(menuToggle, "click", function () {
|
|
112
|
+
toggleHeaderSearch();
|
|
113
|
+
});
|
|
133
114
|
}
|
|
134
115
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
* @property {function} handler Event handler function
|
|
141
|
-
* @property {document#event} event DOM event to listen for
|
|
142
|
-
*/
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Add event listener
|
|
146
|
-
*
|
|
147
|
-
* @memberof module:header
|
|
148
|
-
* @instance
|
|
149
|
-
* @private
|
|
150
|
-
*
|
|
151
|
-
* @param {Node} element DOM element to add event to
|
|
152
|
-
* @param {document#event} event The event to listen for
|
|
153
|
-
* @param {function} rawHandler The raw handler function
|
|
154
|
-
* @return {event}
|
|
155
|
-
*/
|
|
156
|
-
function addEvent(element, event, rawHandler) {
|
|
157
|
-
// Using local functions instead of anonymous for event handler
|
|
158
|
-
function listenHandler(event) {
|
|
159
|
-
var handler = rawHandler.apply(this, arguments);
|
|
160
|
-
if (handler === false) {
|
|
161
|
-
event.stopPropagation();
|
|
162
|
-
event.preventDefault();
|
|
163
|
-
}
|
|
164
|
-
return handler;
|
|
116
|
+
// Add key listener
|
|
117
|
+
headerSearchEvents.escKey = addEvent(document, "keydown", function (event) {
|
|
118
|
+
// Check the menu is open and visible and the escape key is pressed
|
|
119
|
+
if (event.key === "Escape") {
|
|
120
|
+
toggleHeaderSearch();
|
|
165
121
|
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function closeHeader() {
|
|
126
|
+
isHeaderOpen = false;
|
|
127
|
+
searchToggle.setAttribute("aria-expanded", false);
|
|
128
|
+
searchToggle.classList.remove("qld__main-nav__toggle-search--close");
|
|
129
|
+
searchToggle.classList.add("qld__main-nav__toggle-search--open");
|
|
130
|
+
searchToggleText.textContent = "Search";
|
|
131
|
+
searchToggle.focus();
|
|
132
|
+
target.classList.remove("qld__main-nav__search--open");
|
|
133
|
+
target.style.display = "none";
|
|
134
|
+
|
|
135
|
+
disableFocusTrap();
|
|
136
|
+
|
|
137
|
+
// Remove the event listeners
|
|
138
|
+
removeEvent(headerSearchEvents.background);
|
|
139
|
+
removeEvent(headerSearchEvents.menu);
|
|
140
|
+
removeEvent(headerSearchEvents.escKey);
|
|
141
|
+
// Clear events object
|
|
142
|
+
headerSearchEvents = {};
|
|
143
|
+
}
|
|
144
|
+
// Enable trap enabled
|
|
145
|
+
function enableFocusTrap() {
|
|
146
|
+
focustrapTop.setAttribute("tabindex", 0);
|
|
147
|
+
focustrapBottom.setAttribute("tabindex", 0);
|
|
148
|
+
|
|
149
|
+
// Add focus listeners
|
|
150
|
+
headerSearchEvents.focusTop = addEvent(focustrapTop, "focus", function () {
|
|
151
|
+
target.querySelector("button").focus();
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
headerSearchEvents.focusBottom = addEvent(focustrapBottom, "focus", function () {
|
|
155
|
+
target.querySelector("input").focus();
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
// Remove the focus trap
|
|
159
|
+
function disableFocusTrap() {
|
|
160
|
+
focustrapTop.removeAttribute("tabindex");
|
|
161
|
+
focustrapBottom.removeAttribute("tabindex");
|
|
162
|
+
|
|
163
|
+
// Remove focus listeners
|
|
164
|
+
removeEvent(headerSearchEvents.focusTop);
|
|
165
|
+
removeEvent(headerSearchEvents.focusBottom);
|
|
166
|
+
}
|
|
166
167
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}
|
|
168
|
+
/**
|
|
169
|
+
* Object representing an event listener
|
|
170
|
+
*
|
|
171
|
+
* @typedef {Object} event
|
|
172
|
+
* @property {Node} element Element the event is attached to
|
|
173
|
+
* @property {function} handler Event handler function
|
|
174
|
+
* @property {document#event} event DOM event to listen for
|
|
175
|
+
*/
|
|
176
176
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
177
|
+
/**
|
|
178
|
+
* Add event listener
|
|
179
|
+
*
|
|
180
|
+
* @memberof module:header
|
|
181
|
+
* @instance
|
|
182
|
+
* @private
|
|
183
|
+
*
|
|
184
|
+
* @param {Node} element DOM element to add event to
|
|
185
|
+
* @param {document#event} event The event to listen for
|
|
186
|
+
* @param {function} rawHandler The raw handler function
|
|
187
|
+
* @return {event}
|
|
188
|
+
*/
|
|
189
|
+
function addEvent(element, event, rawHandler) {
|
|
190
|
+
// Using local functions instead of anonymous for event handler
|
|
191
|
+
function listenHandler(event) {
|
|
192
|
+
const handler = rawHandler.apply(this, arguments);
|
|
193
|
+
if (handler === false) {
|
|
194
|
+
event.stopPropagation();
|
|
195
|
+
event.preventDefault();
|
|
192
196
|
}
|
|
197
|
+
return handler;
|
|
193
198
|
}
|
|
194
199
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
200
|
+
element.addEventListener(event, listenHandler, false);
|
|
201
|
+
return {
|
|
202
|
+
element: element,
|
|
203
|
+
handler: listenHandler,
|
|
204
|
+
event: event,
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Remove event listener
|
|
210
|
+
*
|
|
211
|
+
* @memberof module:header
|
|
212
|
+
* @instance
|
|
213
|
+
* @private
|
|
214
|
+
*
|
|
215
|
+
* @param {event} token The event to remove
|
|
216
|
+
*/
|
|
217
|
+
function removeEvent(token) {
|
|
218
|
+
token.element.removeEventListener(token.event, token.handler);
|
|
219
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
2
|
-
//
|
|
2
|
+
// Left Hand Navigation
|
|
3
3
|
//--------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
4
4
|
|
|
5
5
|
.qld__left-nav {
|
|
@@ -54,9 +54,8 @@
|
|
|
54
54
|
@include QLD-space(width, 1.5unit);
|
|
55
55
|
@include QLD-space(margin-right, 0.75unit);
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
57
|
+
color: var(--QLD-color-light__action--secondary);
|
|
58
|
+
fill: var(--QLD-color-light__action--secondary);
|
|
60
59
|
}
|
|
61
60
|
}
|
|
62
61
|
|
|
@@ -94,9 +93,9 @@
|
|
|
94
93
|
}
|
|
95
94
|
|
|
96
95
|
&.active {
|
|
97
|
-
> .qld__left-nav__item-link .qld__left-nav__item-icon svg
|
|
96
|
+
> .qld__left-nav__item-link .qld__left-nav__item-icon svg {
|
|
97
|
+
color: var(--QLD-color-light__heading);
|
|
98
98
|
fill: var(--QLD-color-light__heading);
|
|
99
|
-
stroke-width: 10px;
|
|
100
99
|
}
|
|
101
100
|
|
|
102
101
|
> .qld__left-nav__item-link .qld__left-nav__item-text {
|
|
@@ -113,7 +112,8 @@
|
|
|
113
112
|
background-color: $QLD-color-neutral--white;
|
|
114
113
|
}
|
|
115
114
|
|
|
116
|
-
.qld__left-nav__item-icon svg
|
|
115
|
+
.qld__left-nav__item-icon svg {
|
|
116
|
+
color: var(--QLD-color-light__link);
|
|
117
117
|
fill: var(--QLD-color-light__link);
|
|
118
118
|
}
|
|
119
119
|
}
|
|
@@ -131,7 +131,8 @@
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
// Hover over the full nav link only if the children are not expanded
|
|
135
|
+
&:not(:has(.qld__left-nav__item-link--open)):hover {
|
|
135
136
|
background-color: var(--QLD-color-light__background--alt);
|
|
136
137
|
}
|
|
137
138
|
|
|
@@ -139,7 +140,8 @@
|
|
|
139
140
|
background-color: var(--QLD-color-light__background--alt);
|
|
140
141
|
color: var(--QLD-color-light__link);
|
|
141
142
|
|
|
142
|
-
.qld__left-nav__item-icon svg
|
|
143
|
+
.qld__left-nav__item-icon svg {
|
|
144
|
+
color: var(--QLD-color-light__action--primary-hover);
|
|
143
145
|
fill: var(--QLD-color-light__action--primary-hover);
|
|
144
146
|
}
|
|
145
147
|
|
|
@@ -148,6 +150,12 @@
|
|
|
148
150
|
}
|
|
149
151
|
}
|
|
150
152
|
|
|
153
|
+
// Override hover styles for nested lists
|
|
154
|
+
ul li:hover,
|
|
155
|
+
ul a.qld__left-nav__item-link:hover {
|
|
156
|
+
background-color: transparent;
|
|
157
|
+
}
|
|
158
|
+
|
|
151
159
|
.qld__left-nav__item-link {
|
|
152
160
|
@include QLD-space(padding, 1.25unit 1.25unit 1.25unit 1.25unit);
|
|
153
161
|
display: flex;
|
|
@@ -170,7 +178,8 @@
|
|
|
170
178
|
background-color: $QLD-color-neutral--white;
|
|
171
179
|
}
|
|
172
180
|
|
|
173
|
-
.qld__left-nav__item-icon svg
|
|
181
|
+
.qld__left-nav__item-icon svg {
|
|
182
|
+
color: var(--QLD-color-light__link);
|
|
174
183
|
fill: var(--QLD-color-light__link);
|
|
175
184
|
}
|
|
176
185
|
}
|
|
@@ -195,31 +204,21 @@
|
|
|
195
204
|
@include QLD-box-shadow(3);
|
|
196
205
|
}
|
|
197
206
|
|
|
198
|
-
|
|
199
|
-
content: " ";
|
|
207
|
+
svg {
|
|
200
208
|
position: absolute;
|
|
201
209
|
@include QLD-space(margin-top, -0.5unit); // Pull it up half of it's height
|
|
210
|
+
@include QLD-space(border-radius, 50%);
|
|
202
211
|
left: 0;
|
|
203
212
|
right: 0;
|
|
204
213
|
top: 0;
|
|
205
214
|
bottom: 0;
|
|
206
215
|
margin: auto;
|
|
207
|
-
@include QLD-space(height, 2unit);
|
|
208
|
-
@include QLD-space(width, 2unit);
|
|
209
|
-
@include QLD-space(border-radius, 50%);
|
|
210
|
-
background-color: var(--QLD-color-light__background);
|
|
211
|
-
mask-image: QLD-svguri($QLD-icon-chevron-up);
|
|
212
|
-
mask-size: 1rem;
|
|
213
|
-
mask-repeat: no-repeat;
|
|
214
|
-
mask-position: center;
|
|
215
|
-
background-color: var(--QLD-color-light__action--secondary);
|
|
216
|
-
background-repeat: no-repeat;
|
|
217
|
-
background-position: center;
|
|
218
|
-
@include QLD-space(background-size, 1unit);
|
|
219
216
|
transition: transform 0.25s ease-in;
|
|
217
|
+
color: var(--QLD-color-light__action--secondary);
|
|
218
|
+
fill: var(--QLD-color-light__action--secondary);
|
|
220
219
|
}
|
|
221
220
|
|
|
222
|
-
&.qld__accordion--closed
|
|
221
|
+
&.qld__accordion--closed svg {
|
|
223
222
|
transform: rotate(-180deg);
|
|
224
223
|
}
|
|
225
224
|
}
|
|
@@ -244,7 +243,8 @@
|
|
|
244
243
|
background-color: var(--QLD-color-dark__background--shade);
|
|
245
244
|
border-color: var(--QLD-color-dark__border);
|
|
246
245
|
|
|
247
|
-
.qld__left-nav__item-icon svg
|
|
246
|
+
.qld__left-nav__item-icon svg {
|
|
247
|
+
color: var(--QLD-color-dark__action--secondary);
|
|
248
248
|
fill: var(--QLD-color-dark__action--secondary);
|
|
249
249
|
}
|
|
250
250
|
|
|
@@ -267,7 +267,8 @@
|
|
|
267
267
|
}
|
|
268
268
|
|
|
269
269
|
&.active {
|
|
270
|
-
.qld__left-nav__item-icon svg
|
|
270
|
+
.qld__left-nav__item-icon svg {
|
|
271
|
+
color: var(--QLD-color-dark__heading);
|
|
271
272
|
fill: var(--QLD-color-dark__heading);
|
|
272
273
|
}
|
|
273
274
|
|
|
@@ -287,7 +288,8 @@
|
|
|
287
288
|
a.qld__left-nav__item-link:hover {
|
|
288
289
|
background-color: var(--QLD-color-dark__background--alt);
|
|
289
290
|
|
|
290
|
-
.qld__left-nav__item-icon svg
|
|
291
|
+
.qld__left-nav__item-icon svg {
|
|
292
|
+
color: var(--QLD-color-dark__action--primary-hover);
|
|
291
293
|
fill: var(--QLD-color-dark__action--primary-hover);
|
|
292
294
|
}
|
|
293
295
|
|
|
@@ -307,7 +309,8 @@
|
|
|
307
309
|
background-color: var(--QLD-color-dark__background);
|
|
308
310
|
}
|
|
309
311
|
|
|
310
|
-
.qld__left-nav__item-icon svg
|
|
312
|
+
.qld__left-nav__item-icon svg {
|
|
313
|
+
color: var(--QLD-color-dark__link);
|
|
311
314
|
fill: var(--QLD-color-dark__link);
|
|
312
315
|
}
|
|
313
316
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<a class="qld__left-nav__item-link" href="./?a={{site.data.assetid}}">
|
|
7
7
|
{{#if site.metadata.mainNavHomeIconShow.value}}
|
|
8
8
|
<span class="qld__left-nav__item-icon">
|
|
9
|
-
<svg
|
|
9
|
+
<svg class="qld__icon qld__icon--md" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="{{@root.site.metadata.coreSiteIcons.value}}#home"></use></svg>
|
|
10
10
|
</span>
|
|
11
11
|
{{/if}}
|
|
12
12
|
<span class="qld__left-nav__item-text" data-name="{{{asset_short_name}}}">Home</span>
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<span class="qld__left-nav__item-link">
|
|
18
18
|
{{#if site.metadata.mainNavHomeIconShow.value}}
|
|
19
19
|
<span class="qld__left-nav__item-icon">
|
|
20
|
-
<svg
|
|
20
|
+
<svg class="qld__icon qld__icon--md" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="{{@root.site.metadata.coreSiteIcons.value}}#home"></use></svg>
|
|
21
21
|
</span>
|
|
22
22
|
{{/if}}
|
|
23
23
|
<span class="qld__left-nav__item-text" data-name="{{{asset_short_name}}}">Home</span>
|
|
@@ -44,11 +44,15 @@
|
|
|
44
44
|
{{#ifCond ../site.metadata.mainNavMegaMenuShow.value '==' 'true'}}
|
|
45
45
|
{{#arrayWith children 'asset_metadata_showInMegaNav' 'true'}}
|
|
46
46
|
{{#if this}}
|
|
47
|
-
{{#inArray
|
|
48
|
-
<button class="qld__left-nav__item-toggle qld__accordion--open" aria-controls="internal-nav-{{../this.asset_assetid}}" aria-expanded="true" aria-selected="true" aria-label="Toggle navigation, {{{../asset_short_name}}}"
|
|
47
|
+
{{#inArray this 'asset_assetid' @root.current.data.assetid}}
|
|
48
|
+
<button class="qld__left-nav__item-toggle qld__accordion--open" aria-controls="internal-nav-{{../this.asset_assetid}}" aria-expanded="true" aria-selected="true" aria-label="Toggle navigation, {{{../asset_short_name}}}">
|
|
49
|
+
<svg class="qld__icon qld__icon--sm" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="{{@root.site.metadata.coreSiteIcons.value}}#chevron-up"></use></svg>
|
|
50
|
+
</button>
|
|
49
51
|
<ul id="internal-nav-{{../this.asset_assetid}}" class="qld__link-list qld__accordion--open qld__accordion__body">
|
|
50
52
|
{{else}}
|
|
51
|
-
<button class="qld__left-nav__item-toggle qld__accordion--closed" aria-controls="internal-nav-{{../this.asset_assetid}}" aria-expanded="false" aria-selected="false" aria-label="Toggle navigation, {{{../asset_short_name}}}"
|
|
53
|
+
<button class="qld__left-nav__item-toggle qld__accordion--closed" aria-controls="internal-nav-{{../this.asset_assetid}}" aria-expanded="false" aria-selected="false" aria-label="Toggle navigation, {{{../asset_short_name}}}">
|
|
54
|
+
<svg class="qld__icon qld__icon--sm" aria-hidden="true" xmlns="http://www.w3.org/2000/svg"><use href="{{@root.site.metadata.coreSiteIcons.value}}#chevron-up"></use></svg>
|
|
55
|
+
</button>
|
|
52
56
|
<ul id="internal-nav-{{../this.asset_assetid}}" class="qld__link-list qld__accordion--closed qld__accordion__body">
|
|
53
57
|
{{/inArray}}
|
|
54
58
|
{{#each this}}
|
|
@@ -70,7 +74,7 @@
|
|
|
70
74
|
{{/ifCond}}
|
|
71
75
|
</li>
|
|
72
76
|
{{/each}}
|
|
73
|
-
</ul>
|
|
77
|
+
</ul>
|
|
74
78
|
{{/if}}
|
|
75
79
|
{{/arrayWith}}
|
|
76
80
|
{{/ifCond}}
|