@qld-gov-au/qgds-bootstrap5 1.1.39 → 1.1.41
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/dist/assets/components/bs5/backToTop/backToTop.hbs +1 -1
- package/dist/assets/components/bs5/breadcrumbs/breadcrumbs.hbs +19 -15
- package/dist/assets/components/bs5/button/button.hbs +48 -30
- package/dist/assets/components/bs5/containerLayout/containerLayout.hbs +100 -0
- package/dist/assets/components/bs5/contentFooter/contentFooter.hbs +15 -4
- package/dist/assets/components/bs5/formcheck/formcheck.hbs +1 -1
- package/dist/assets/components/bs5/head/head.hbs +1 -1
- package/dist/assets/components/bs5/iconLink/iconLink.hbs +41 -0
- package/dist/assets/components/bs5/logo/logo.hbs +7 -0
- package/dist/assets/components/bs5/logo/logoCOALandscape.hbs +58 -0
- package/dist/assets/components/bs5/logo/logoCOALandscape2Lines.hbs +58 -0
- package/dist/assets/components/bs5/navbar/navbar.hbs +65 -245
- package/dist/assets/components/bs5/pageLayout/pageLayout.hbs +11 -10
- package/dist/assets/components/bs5/pageLayout/templates/contentPageWithForm.hbs +78 -0
- package/dist/assets/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +103 -0
- package/dist/assets/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +61 -0
- package/dist/assets/components/bs5/searchInput/searchInput.hbs +8 -10
- package/dist/assets/css/qld.bootstrap.css +1 -1
- package/dist/assets/css/qld.bootstrap.css.map +3 -3
- package/dist/assets/js/bootstrap.bundle.js +3 -6
- package/dist/assets/js/bootstrap.bundle.js.map +1 -1
- package/dist/assets/js/bootstrap.bundle.min.js +2 -2
- package/dist/assets/js/bootstrap.bundle.min.js.map +1 -1
- package/dist/assets/js/bootstrap.js +3 -6
- package/dist/assets/js/bootstrap.min.js +2 -2
- package/dist/assets/js/bootstrap.min.js.map +1 -1
- package/dist/assets/js/handlebars.helpers.bundle.js +1 -1
- package/dist/assets/js/handlebars.helpers.bundle.js.map +3 -3
- package/dist/assets/js/handlebars.helpers.js +51 -40
- package/dist/assets/js/handlebars.init.min.js +698 -347
- package/dist/assets/js/handlebars.init.min.js.map +4 -4
- package/dist/assets/js/handlebars.partials.js +16 -0
- package/dist/assets/js/qld.bootstrap.min.js +9 -9
- package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
- package/dist/assets/node/handlebars.init.min.js +359 -72
- package/dist/assets/node/handlebars.init.min.js.map +3 -3
- package/dist/components/bs5/backToTop/backToTop.hbs +1 -1
- package/dist/components/bs5/breadcrumbs/breadcrumbs.hbs +19 -15
- package/dist/components/bs5/button/button.hbs +48 -30
- package/dist/components/bs5/containerLayout/containerLayout.hbs +100 -0
- package/dist/components/bs5/contentFooter/contentFooter.hbs +15 -4
- package/dist/components/bs5/formcheck/formcheck.hbs +1 -1
- package/dist/components/bs5/head/head.hbs +1 -1
- package/dist/components/bs5/iconLink/iconLink.hbs +41 -0
- package/dist/components/bs5/logo/logo.hbs +7 -0
- package/dist/components/bs5/logo/logoCOALandscape.hbs +58 -0
- package/dist/components/bs5/logo/logoCOALandscape2Lines.hbs +58 -0
- package/dist/components/bs5/navbar/navbar.hbs +65 -245
- package/dist/components/bs5/pageLayout/pageLayout.hbs +11 -10
- package/dist/components/bs5/pageLayout/templates/contentPageWithForm.hbs +78 -0
- package/dist/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +103 -0
- package/dist/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +61 -0
- package/dist/components/bs5/searchInput/searchInput.hbs +8 -10
- package/dist/components/handlebars.helpers.js +51 -40
- package/dist/components/handlebars.partials.js +16 -0
- package/dist/package.json +2 -2
- package/dist/sample-data/breadcrumbs/breadcrumbs.data.json +113 -49
- package/dist/sample-data/button/button.data.json +10 -8
- package/dist/sample-data/contentFooter/contentFooter.data.json +9 -1
- package/dist/sample-data/formcheck/stories/checkbox/checkbox.data.json +51 -46
- package/dist/sample-data/formcheck/stories/radio/radio.data.json +51 -46
- package/dist/sample-data/iconLink/iconLink.data.json +77 -0
- package/dist/sample-data/logo/logo.data.json +6 -0
- package/dist/sample-data/navbar/navbar.data.json +191 -0
- package/dist/sample-data/searchInput/searchInput.data.json +2 -3
- package/dist/sample-data/tabs/tabs.data.json +45 -44
- package/package.json +2 -2
- package/src/components/bs5/backToTop/backToTop.hbs +1 -1
- package/src/components/bs5/banner/banner.scss +52 -46
- package/src/components/bs5/breadcrumbs/__snapshots__/breadcrumbs.test.js.snap +49 -0
- package/src/components/bs5/breadcrumbs/breadcrumbs.data.json +113 -49
- package/src/components/bs5/breadcrumbs/breadcrumbs.functions.js +169 -0
- package/src/components/bs5/breadcrumbs/breadcrumbs.hbs +19 -15
- package/src/components/bs5/breadcrumbs/breadcrumbs.scss +164 -43
- package/src/components/bs5/breadcrumbs/breadcrumbs.stories.js +16 -2
- package/src/components/bs5/breadcrumbs/breadcrumbs.test.js +136 -0
- package/src/components/bs5/button/button.data.json +10 -8
- package/src/components/bs5/button/button.hbs +48 -30
- package/src/components/bs5/button/button.scss +365 -244
- package/src/components/bs5/button/button.stories.js +116 -30
- package/src/components/bs5/containerLayout/containerLayout.hbs +100 -0
- package/src/components/bs5/containerLayout/containerLayout.stories.js +83 -0
- package/src/components/bs5/contentFooter/contentFooter.data.json +9 -1
- package/src/components/bs5/contentFooter/contentFooter.hbs +15 -4
- package/src/components/bs5/formcheck/formcheck.hbs +1 -1
- package/src/components/bs5/formcheck/formcheck.scss +161 -139
- package/src/components/bs5/formcheck/stories/checkbox/checkbox.data.json +51 -46
- package/src/components/bs5/formcheck/stories/radio/radio.data.json +51 -46
- package/src/components/bs5/iconLink/iconLink.data.json +77 -0
- package/src/components/bs5/iconLink/iconLink.hbs +41 -0
- package/src/components/bs5/iconLink/iconLink.js +20 -0
- package/src/components/bs5/iconLink/iconLink.mdx +16 -0
- package/src/components/bs5/iconLink/iconLink.scss +57 -0
- package/src/components/bs5/iconLink/iconLink.stories.js +127 -0
- package/src/components/bs5/icons/icons.scss +79 -72
- package/src/components/bs5/inpagenav/inpagenav.scss +37 -37
- package/src/components/bs5/logo/Logo.js +20 -0
- package/src/components/bs5/logo/Logo.mdx +10 -0
- package/src/components/bs5/logo/logo.data.json +6 -0
- package/src/components/bs5/logo/logo.hbs +7 -0
- package/src/components/bs5/logo/logo.stories.js +32 -0
- package/src/components/bs5/logo/logoCOALandscape.hbs +58 -0
- package/src/components/bs5/logo/logoCOALandscape2Lines.hbs +58 -0
- package/src/components/bs5/navbar/Navbar.js +2 -9
- package/src/components/bs5/navbar/navbar.data.json +191 -0
- package/src/components/bs5/navbar/navbar.functions.js +48 -196
- package/src/components/bs5/navbar/navbar.hbs +65 -245
- package/src/components/bs5/navbar/navbar.scss +585 -518
- package/src/components/bs5/navbar/navbar.stories.js +532 -0
- package/src/components/bs5/pageLayout/ContentPageWithForm.js +8 -0
- package/src/components/bs5/pageLayout/ContentPageWithSideNavigation.js +8 -0
- package/src/components/bs5/pageLayout/FullWidthLandingPage.js +8 -0
- package/src/components/bs5/pageLayout/pageLayout.hbs +11 -10
- package/src/components/bs5/pageLayout/pageLayout.stories.js +230 -6
- package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +78 -0
- package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +103 -0
- package/src/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +61 -0
- package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +9 -8
- package/src/components/bs5/searchInput/search.functions.js +94 -63
- package/src/components/bs5/searchInput/searchInput.data.json +2 -3
- package/src/components/bs5/searchInput/searchInput.hbs +8 -10
- package/src/components/bs5/searchInput/searchInput.scss +296 -255
- package/src/components/bs5/searchInput/searchInput.test.js +98 -89
- package/src/components/bs5/sidenav/sidenav.stories.js +17 -15
- package/src/components/bs5/tabs/tabs.data.json +45 -44
- package/src/components/bs5/tabs/tabs.scss +544 -500
- package/src/components/bs5/tabs/tabs.stories.js +81 -51
- package/src/components/common/footer/footer.scss +137 -140
- package/src/components/common/layout/container.scss +22 -0
- package/src/components/common/layout/content.scss +11 -4
- package/src/components/common/layout/grid.scss +26 -0
- package/src/css/main.scss +5 -4
- package/src/css/qld-variables.scss +102 -81
- package/src/js/handlebars.helpers.js +51 -40
- package/src/js/handlebars.partials.js +16 -0
- package/src/js/qld.bootstrap.js +17 -9
- package/src/components/bs5/backToTop/backToTop.scss +0 -9
- package/src/components/bs5/breadcrumbs/breadcrumb.functions.js +0 -95
- package/src/components/bs5/breadcumbsWrapper/breadcrumbsWrapper.stories.js +0 -34
- package/src/components/bs5/contentFooterWrapper/contentFooterWrapper.stories.js +0 -36
- package/src/components/bs5/contentWrapper/contentWrapper.stories.js +0 -65
- package/src/components/bs5/fullPageWrapper/fullPage.stories.js +0 -63
- package/src/components/bs5/mainContainerWrapper/mainContainerWrapper.stories.js +0 -50
- package/src/components/bs5/navbar/_colours.scss +0 -85
- package/src/components/bs5/navbar/_icons.scss +0 -64
- package/src/components/bs5/sidenavWrapper/SidenavWrapper.mdx +0 -11
- package/src/components/bs5/sidenavWrapper/sidenavWrapper.stories.js +0 -65
- package/src/stories/integration/MainIntegration.js +0 -28
- package/src/stories/integration/MainIntegration.mdx +0 -10
- package/src/stories/integration/breadcrumb.data.json +0 -28
- package/src/stories/integration/content.data.json +0 -3
- package/src/stories/integration/contentFooter.data.json +0 -3
- package/src/stories/integration/footer.data.json +0 -111
- package/src/stories/integration/globalAlert.data.json +0 -10
- package/src/stories/integration/header.data.json +0 -173
- package/src/stories/integration/inpagenav.data.json +0 -26
- package/src/stories/integration/integration.stories.js +0 -147
- package/src/stories/integration/main.hbs +0 -13
- package/src/stories/integration/navigation.data.json +0 -22
- package/src/stories/integration/search.data.json +0 -20
- package/src/stories/integration/sidenav.data.json +0 -88
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createPopper } from
|
|
1
|
+
import { createPopper } from "@popperjs/core";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Fetches data from the provided URL.
|
|
@@ -11,7 +11,7 @@ async function fetchData(url, type) {
|
|
|
11
11
|
try {
|
|
12
12
|
const response = await fetch(url);
|
|
13
13
|
if (!response.ok) {
|
|
14
|
-
throw new Error(
|
|
14
|
+
throw new Error("Network response was not ok");
|
|
15
15
|
}
|
|
16
16
|
const data = await response.json();
|
|
17
17
|
return data;
|
|
@@ -29,21 +29,22 @@ async function fetchData(url, type) {
|
|
|
29
29
|
* @returns {void}
|
|
30
30
|
*/
|
|
31
31
|
export function selectSuggestion(value, form) {
|
|
32
|
-
const searchInput = form.querySelector(
|
|
33
|
-
const suggestions = form.querySelector(
|
|
32
|
+
const searchInput = form.querySelector(".qld-search-input input");
|
|
33
|
+
const suggestions = form.querySelector(".suggestions");
|
|
34
34
|
|
|
35
35
|
if (searchInput && suggestions) {
|
|
36
36
|
searchInput.value = value.trim();
|
|
37
|
-
suggestions.classList.add(
|
|
37
|
+
suggestions.classList.add("d-none");
|
|
38
38
|
|
|
39
39
|
// Retrieve additional params
|
|
40
|
-
const collection =
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
const
|
|
40
|
+
const collection =
|
|
41
|
+
searchInput.getAttribute("data-collection") || "qgov~sp-search";
|
|
42
|
+
const profile = searchInput.getAttribute("data-profile") || "qld";
|
|
43
|
+
const numRanks = searchInput.getAttribute("data-numranks") || "10";
|
|
44
|
+
const tiers = searchInput.getAttribute("data-tiers") || "off";
|
|
44
45
|
|
|
45
46
|
// Form action
|
|
46
|
-
const actionUrl = form.getAttribute(
|
|
47
|
+
const actionUrl = form.getAttribute("action");
|
|
47
48
|
|
|
48
49
|
// Construct the URL with proper parameters
|
|
49
50
|
const params = new URLSearchParams({
|
|
@@ -69,11 +70,15 @@ export function selectSuggestion(value, form) {
|
|
|
69
70
|
* @param {HTMLFormElement} form - The form element.
|
|
70
71
|
* @returns {void}
|
|
71
72
|
**/
|
|
72
|
-
export async function showSuggestions(value =
|
|
73
|
-
const searchInput = form.querySelector(
|
|
74
|
-
const suggestions = form.querySelector(
|
|
75
|
-
const defaultSuggestionsContainer = form.querySelector(
|
|
76
|
-
|
|
73
|
+
export async function showSuggestions(value = "", isDefault = false, form) {
|
|
74
|
+
const searchInput = form.querySelector(".qld-search-input input");
|
|
75
|
+
const suggestions = form.querySelector(".suggestions");
|
|
76
|
+
const defaultSuggestionsContainer = form.querySelector(
|
|
77
|
+
".default-suggestions",
|
|
78
|
+
);
|
|
79
|
+
const dynamicSuggestionsContainer = form.querySelector(
|
|
80
|
+
".dynamic-suggestions",
|
|
81
|
+
);
|
|
77
82
|
|
|
78
83
|
if (!suggestions || !searchInput) {
|
|
79
84
|
console.warn("Required suggestions elements not found.");
|
|
@@ -82,84 +87,109 @@ export async function showSuggestions(value = '', isDefault = false, form) {
|
|
|
82
87
|
|
|
83
88
|
// Hide/show default suggestions
|
|
84
89
|
if (isDefault) {
|
|
85
|
-
defaultSuggestionsContainer.classList.remove(
|
|
86
|
-
dynamicSuggestionsContainer.innerHTML =
|
|
87
|
-
dynamicSuggestionsContainer.classList.add(
|
|
90
|
+
defaultSuggestionsContainer.classList.remove("d-none");
|
|
91
|
+
dynamicSuggestionsContainer.innerHTML = "";
|
|
92
|
+
dynamicSuggestionsContainer.classList.add("d-none");
|
|
88
93
|
createPopper(searchInput, suggestions, {
|
|
89
|
-
placement:
|
|
94
|
+
placement: "bottom-start",
|
|
90
95
|
});
|
|
91
|
-
suggestions.classList.remove(
|
|
96
|
+
suggestions.classList.remove("d-none");
|
|
92
97
|
return;
|
|
93
98
|
}
|
|
94
99
|
|
|
95
100
|
if (value.length === 0) {
|
|
96
|
-
dynamicSuggestionsContainer.innerHTML =
|
|
97
|
-
dynamicSuggestionsContainer.classList.add(
|
|
101
|
+
dynamicSuggestionsContainer.innerHTML = "";
|
|
102
|
+
dynamicSuggestionsContainer.classList.add("d-none");
|
|
98
103
|
return;
|
|
99
104
|
}
|
|
100
105
|
|
|
101
|
-
defaultSuggestionsContainer.classList.add(
|
|
106
|
+
defaultSuggestionsContainer.classList.add("d-none");
|
|
102
107
|
|
|
103
108
|
// Fetch dynamic suggestions if available
|
|
104
|
-
const suggestUrl = searchInput.getAttribute(
|
|
109
|
+
const suggestUrl = searchInput.getAttribute("data-suggestions");
|
|
105
110
|
if (suggestUrl) {
|
|
106
|
-
const collection =
|
|
107
|
-
|
|
108
|
-
const
|
|
111
|
+
const collection =
|
|
112
|
+
searchInput.getAttribute("data-collection") || "qgov~sp-search";
|
|
113
|
+
const profile = searchInput.getAttribute("data-profile") || "qld";
|
|
114
|
+
const fetchedSuggestions = await fetchData(
|
|
115
|
+
`${suggestUrl}?collection=${collection}&profile=${profile}&fmt=json&alpha=0.5&partial_query=${encodeURIComponent(value)}`,
|
|
116
|
+
"suggestions",
|
|
117
|
+
);
|
|
109
118
|
|
|
110
119
|
if (fetchedSuggestions.length > 0) {
|
|
111
120
|
dynamicSuggestionsContainer.innerHTML = `
|
|
112
|
-
<div class="suggestions-category mt-
|
|
113
|
-
<strong class="suggestions-category-label">Suggestions</strong>
|
|
114
|
-
<ul class="mt-2">${fetchedSuggestions
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
121
|
+
<div class="suggestions-category mt-16">
|
|
122
|
+
<strong class="suggestions-category-label d-block">Suggestions</strong>
|
|
123
|
+
<ul class="mt-2">${fetchedSuggestions
|
|
124
|
+
.slice(0, 4)
|
|
125
|
+
.map((item) => {
|
|
126
|
+
const highlightedText = item.replace(
|
|
127
|
+
new RegExp(`(${value})`, "gi"),
|
|
128
|
+
"<strong>$1</strong>",
|
|
129
|
+
);
|
|
130
|
+
return `<li><a href="#">${highlightedText}</a></li>`;
|
|
131
|
+
})
|
|
132
|
+
.join("")}</ul>
|
|
118
133
|
</div>`;
|
|
119
|
-
dynamicSuggestionsContainer.classList.remove(
|
|
134
|
+
dynamicSuggestionsContainer.classList.remove("d-none");
|
|
120
135
|
createPopper(searchInput, suggestions, {
|
|
121
|
-
placement:
|
|
136
|
+
placement: "bottom-start",
|
|
122
137
|
});
|
|
123
|
-
suggestions.classList.remove(
|
|
138
|
+
suggestions.classList.remove("d-none");
|
|
124
139
|
|
|
125
140
|
// Attach click event listeners to each suggestion item
|
|
126
|
-
form.querySelectorAll(
|
|
127
|
-
item.addEventListener(
|
|
141
|
+
form.querySelectorAll(".suggestions li").forEach((item) => {
|
|
142
|
+
item.addEventListener("click", () =>
|
|
143
|
+
selectSuggestion(item.innerText, form),
|
|
144
|
+
);
|
|
128
145
|
});
|
|
129
146
|
} else {
|
|
130
|
-
dynamicSuggestionsContainer.innerHTML =
|
|
131
|
-
dynamicSuggestionsContainer.classList.add(
|
|
132
|
-
suggestions.classList.add(
|
|
147
|
+
dynamicSuggestionsContainer.innerHTML = "";
|
|
148
|
+
dynamicSuggestionsContainer.classList.add("d-none");
|
|
149
|
+
suggestions.classList.add("d-none");
|
|
133
150
|
}
|
|
134
151
|
}
|
|
135
152
|
|
|
136
|
-
const resultsUrl = searchInput.getAttribute(
|
|
153
|
+
const resultsUrl = searchInput.getAttribute("data-results-url");
|
|
137
154
|
if (resultsUrl) {
|
|
138
|
-
const collection =
|
|
139
|
-
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
155
|
+
const collection =
|
|
156
|
+
searchInput.getAttribute("data-collection") || "qgov~sp-search";
|
|
157
|
+
const profile = searchInput.getAttribute("data-profile") || "qld";
|
|
158
|
+
const fetchedServices = await fetchData(
|
|
159
|
+
`${resultsUrl}?collection=${collection}&profile=${profile}&smeta_sfinder_sand=yes&query=${encodeURIComponent(value)}`,
|
|
160
|
+
"services",
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
if (
|
|
164
|
+
fetchedServices.response.resultPacket &&
|
|
165
|
+
fetchedServices.response.resultPacket.results.length > 0
|
|
166
|
+
) {
|
|
143
167
|
dynamicSuggestionsContainer.innerHTML += `
|
|
144
|
-
<div class="suggestions-category feature pt-
|
|
145
|
-
<strong class="suggestions-category-label">Services</strong>
|
|
146
|
-
<ul class="mt-2">${fetchedServices.response.resultPacket.results
|
|
168
|
+
<div class="suggestions-category feature pt-16">
|
|
169
|
+
<strong class="suggestions-category-label d-block">Services</strong>
|
|
170
|
+
<ul class="mt-2">${fetchedServices.response.resultPacket.results
|
|
171
|
+
.slice(0, 4)
|
|
172
|
+
.map(
|
|
173
|
+
(item) => `<li><a href="${item.liveUrl}">${item.title}</a></li>`,
|
|
174
|
+
)
|
|
175
|
+
.join("")}</ul>
|
|
147
176
|
</div>`;
|
|
148
|
-
dynamicSuggestionsContainer.classList.remove(
|
|
177
|
+
dynamicSuggestionsContainer.classList.remove("d-none");
|
|
149
178
|
createPopper(searchInput, suggestions, {
|
|
150
|
-
placement:
|
|
179
|
+
placement: "bottom-start",
|
|
151
180
|
});
|
|
152
|
-
suggestions.classList.remove(
|
|
181
|
+
suggestions.classList.remove("d-none");
|
|
153
182
|
|
|
154
183
|
// Attach click event listeners to each suggestion item
|
|
155
|
-
form.querySelectorAll(
|
|
156
|
-
item.addEventListener(
|
|
184
|
+
form.querySelectorAll(".suggestions li").forEach((item) => {
|
|
185
|
+
item.addEventListener("click", () =>
|
|
186
|
+
selectSuggestion(item.innerText, form),
|
|
187
|
+
);
|
|
157
188
|
});
|
|
158
189
|
}
|
|
159
190
|
}
|
|
160
191
|
}
|
|
161
192
|
|
|
162
|
-
|
|
163
193
|
/**
|
|
164
194
|
* Submits the search form with proper parameters.
|
|
165
195
|
*
|
|
@@ -167,13 +197,14 @@ export async function showSuggestions(value = '', isDefault = false, form) {
|
|
|
167
197
|
* @param {HTMLFormElement} form - The form element.
|
|
168
198
|
* @returns {void}
|
|
169
199
|
*/
|
|
170
|
-
export function submitSearchForm(query =
|
|
171
|
-
const searchInput = form.querySelector(
|
|
200
|
+
export function submitSearchForm(query = "", form) {
|
|
201
|
+
const searchInput = form.querySelector(".qld-search-input input");
|
|
172
202
|
|
|
173
|
-
const collection =
|
|
174
|
-
|
|
175
|
-
const
|
|
176
|
-
const
|
|
203
|
+
const collection =
|
|
204
|
+
searchInput.getAttribute("data-collection") || "qgov~sp-search";
|
|
205
|
+
const profile = searchInput.getAttribute("data-profile") || "qld";
|
|
206
|
+
const numRanks = searchInput.getAttribute("data-numranks") || "10";
|
|
207
|
+
const tiers = searchInput.getAttribute("data-tiers") || "off";
|
|
177
208
|
|
|
178
209
|
const params = new URLSearchParams({
|
|
179
210
|
query: query.trim(),
|
|
@@ -183,7 +214,7 @@ export function submitSearchForm(query = '', form) {
|
|
|
183
214
|
tiers: tiers,
|
|
184
215
|
});
|
|
185
216
|
|
|
186
|
-
const searchUrl = `${form.getAttribute(
|
|
217
|
+
const searchUrl = `${form.getAttribute("action")}?${params.toString()}`;
|
|
187
218
|
window.location.href = searchUrl;
|
|
188
219
|
}
|
|
189
220
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"customClass": "",
|
|
3
3
|
"variantClass": "",
|
|
4
|
-
"placeholder": "Search website",
|
|
5
4
|
"inputID": "search",
|
|
6
5
|
"inputName": "query",
|
|
7
6
|
"buttonID": "search-button",
|
|
@@ -56,8 +55,8 @@
|
|
|
56
55
|
],
|
|
57
56
|
"options": {
|
|
58
57
|
"label": "Browse all categories",
|
|
59
|
-
"view_more":
|
|
58
|
+
"view_more": true,
|
|
60
59
|
"href": "/queenslanders"
|
|
61
60
|
}
|
|
62
61
|
}
|
|
63
|
-
}
|
|
62
|
+
}
|
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
-->
|
|
4
4
|
<div class="container {{variantClass}}">
|
|
5
5
|
<div class="qld-search-input {{customClass}} d-flex">
|
|
6
|
-
<input id="{{ inputID }}" name=" {{ inputName }}" class="form-control" type="text"
|
|
6
|
+
<input id="{{ inputID }}" name=" {{ inputName }}" class="form-control" type="text"
|
|
7
7
|
autocomplete="off" aria-label="{{ ariaLabel }}" {{#each tags}} data-{{@key}}="{{this}}" {{/each}} />
|
|
8
8
|
|
|
9
9
|
{{#if suggestions}}
|
|
10
10
|
<div class="suggestions suggestions__group d-none">
|
|
11
11
|
<div class="default-suggestions">
|
|
12
|
-
<div class="suggestions-category mt-
|
|
13
|
-
<strong class="suggestions-category-label">Popular services</strong>
|
|
12
|
+
<div class="suggestions-category mt-16">
|
|
13
|
+
<strong class="suggestions-category-label d-block">Popular services</strong>
|
|
14
14
|
<ul class="mt-2">
|
|
15
15
|
{{#each default_suggestions.popular_services}}
|
|
16
16
|
<li><a href="{{link}}">{{title}}</a></li>
|
|
@@ -18,11 +18,9 @@
|
|
|
18
18
|
</ul>
|
|
19
19
|
</div>
|
|
20
20
|
|
|
21
|
-
<
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
<strong class="suggestions-category-label">Browse by category</strong>
|
|
25
|
-
<ul class="mt-2">
|
|
21
|
+
<div class="suggestions-category mt-16">
|
|
22
|
+
<strong class="suggestions-category-label d-block">Browse by category</strong>
|
|
23
|
+
<ul class="mt-12 mb-0">
|
|
26
24
|
{{#each default_suggestions.categories}}
|
|
27
25
|
<li><a href="{{link}}">{{title}}</a></li>
|
|
28
26
|
{{/each}}
|
|
@@ -30,8 +28,8 @@
|
|
|
30
28
|
</div>
|
|
31
29
|
|
|
32
30
|
{{#if default_suggestions.options.view_more}}
|
|
33
|
-
<div class="suggestions-category
|
|
34
|
-
<a href="{{default_suggestions.options.href}}">{{default_suggestions.options.label}}</a>
|
|
31
|
+
<div class="suggestions-category">
|
|
32
|
+
<a class="px-16 pt-12 pb-16 d-block suggestions-category-view-more" href="{{default_suggestions.options.href}}">{{default_suggestions.options.label}}</a>
|
|
35
33
|
</div>
|
|
36
34
|
{{/if}}
|
|
37
35
|
</div>
|