@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.
Files changed (161) hide show
  1. package/dist/assets/components/bs5/backToTop/backToTop.hbs +1 -1
  2. package/dist/assets/components/bs5/breadcrumbs/breadcrumbs.hbs +19 -15
  3. package/dist/assets/components/bs5/button/button.hbs +48 -30
  4. package/dist/assets/components/bs5/containerLayout/containerLayout.hbs +100 -0
  5. package/dist/assets/components/bs5/contentFooter/contentFooter.hbs +15 -4
  6. package/dist/assets/components/bs5/formcheck/formcheck.hbs +1 -1
  7. package/dist/assets/components/bs5/head/head.hbs +1 -1
  8. package/dist/assets/components/bs5/iconLink/iconLink.hbs +41 -0
  9. package/dist/assets/components/bs5/logo/logo.hbs +7 -0
  10. package/dist/assets/components/bs5/logo/logoCOALandscape.hbs +58 -0
  11. package/dist/assets/components/bs5/logo/logoCOALandscape2Lines.hbs +58 -0
  12. package/dist/assets/components/bs5/navbar/navbar.hbs +65 -245
  13. package/dist/assets/components/bs5/pageLayout/pageLayout.hbs +11 -10
  14. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithForm.hbs +78 -0
  15. package/dist/assets/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +103 -0
  16. package/dist/assets/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +61 -0
  17. package/dist/assets/components/bs5/searchInput/searchInput.hbs +8 -10
  18. package/dist/assets/css/qld.bootstrap.css +1 -1
  19. package/dist/assets/css/qld.bootstrap.css.map +3 -3
  20. package/dist/assets/js/bootstrap.bundle.js +3 -6
  21. package/dist/assets/js/bootstrap.bundle.js.map +1 -1
  22. package/dist/assets/js/bootstrap.bundle.min.js +2 -2
  23. package/dist/assets/js/bootstrap.bundle.min.js.map +1 -1
  24. package/dist/assets/js/bootstrap.js +3 -6
  25. package/dist/assets/js/bootstrap.min.js +2 -2
  26. package/dist/assets/js/bootstrap.min.js.map +1 -1
  27. package/dist/assets/js/handlebars.helpers.bundle.js +1 -1
  28. package/dist/assets/js/handlebars.helpers.bundle.js.map +3 -3
  29. package/dist/assets/js/handlebars.helpers.js +51 -40
  30. package/dist/assets/js/handlebars.init.min.js +698 -347
  31. package/dist/assets/js/handlebars.init.min.js.map +4 -4
  32. package/dist/assets/js/handlebars.partials.js +16 -0
  33. package/dist/assets/js/qld.bootstrap.min.js +9 -9
  34. package/dist/assets/js/qld.bootstrap.min.js.map +4 -4
  35. package/dist/assets/node/handlebars.init.min.js +359 -72
  36. package/dist/assets/node/handlebars.init.min.js.map +3 -3
  37. package/dist/components/bs5/backToTop/backToTop.hbs +1 -1
  38. package/dist/components/bs5/breadcrumbs/breadcrumbs.hbs +19 -15
  39. package/dist/components/bs5/button/button.hbs +48 -30
  40. package/dist/components/bs5/containerLayout/containerLayout.hbs +100 -0
  41. package/dist/components/bs5/contentFooter/contentFooter.hbs +15 -4
  42. package/dist/components/bs5/formcheck/formcheck.hbs +1 -1
  43. package/dist/components/bs5/head/head.hbs +1 -1
  44. package/dist/components/bs5/iconLink/iconLink.hbs +41 -0
  45. package/dist/components/bs5/logo/logo.hbs +7 -0
  46. package/dist/components/bs5/logo/logoCOALandscape.hbs +58 -0
  47. package/dist/components/bs5/logo/logoCOALandscape2Lines.hbs +58 -0
  48. package/dist/components/bs5/navbar/navbar.hbs +65 -245
  49. package/dist/components/bs5/pageLayout/pageLayout.hbs +11 -10
  50. package/dist/components/bs5/pageLayout/templates/contentPageWithForm.hbs +78 -0
  51. package/dist/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +103 -0
  52. package/dist/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +61 -0
  53. package/dist/components/bs5/searchInput/searchInput.hbs +8 -10
  54. package/dist/components/handlebars.helpers.js +51 -40
  55. package/dist/components/handlebars.partials.js +16 -0
  56. package/dist/package.json +2 -2
  57. package/dist/sample-data/breadcrumbs/breadcrumbs.data.json +113 -49
  58. package/dist/sample-data/button/button.data.json +10 -8
  59. package/dist/sample-data/contentFooter/contentFooter.data.json +9 -1
  60. package/dist/sample-data/formcheck/stories/checkbox/checkbox.data.json +51 -46
  61. package/dist/sample-data/formcheck/stories/radio/radio.data.json +51 -46
  62. package/dist/sample-data/iconLink/iconLink.data.json +77 -0
  63. package/dist/sample-data/logo/logo.data.json +6 -0
  64. package/dist/sample-data/navbar/navbar.data.json +191 -0
  65. package/dist/sample-data/searchInput/searchInput.data.json +2 -3
  66. package/dist/sample-data/tabs/tabs.data.json +45 -44
  67. package/package.json +2 -2
  68. package/src/components/bs5/backToTop/backToTop.hbs +1 -1
  69. package/src/components/bs5/banner/banner.scss +52 -46
  70. package/src/components/bs5/breadcrumbs/__snapshots__/breadcrumbs.test.js.snap +49 -0
  71. package/src/components/bs5/breadcrumbs/breadcrumbs.data.json +113 -49
  72. package/src/components/bs5/breadcrumbs/breadcrumbs.functions.js +169 -0
  73. package/src/components/bs5/breadcrumbs/breadcrumbs.hbs +19 -15
  74. package/src/components/bs5/breadcrumbs/breadcrumbs.scss +164 -43
  75. package/src/components/bs5/breadcrumbs/breadcrumbs.stories.js +16 -2
  76. package/src/components/bs5/breadcrumbs/breadcrumbs.test.js +136 -0
  77. package/src/components/bs5/button/button.data.json +10 -8
  78. package/src/components/bs5/button/button.hbs +48 -30
  79. package/src/components/bs5/button/button.scss +365 -244
  80. package/src/components/bs5/button/button.stories.js +116 -30
  81. package/src/components/bs5/containerLayout/containerLayout.hbs +100 -0
  82. package/src/components/bs5/containerLayout/containerLayout.stories.js +83 -0
  83. package/src/components/bs5/contentFooter/contentFooter.data.json +9 -1
  84. package/src/components/bs5/contentFooter/contentFooter.hbs +15 -4
  85. package/src/components/bs5/formcheck/formcheck.hbs +1 -1
  86. package/src/components/bs5/formcheck/formcheck.scss +161 -139
  87. package/src/components/bs5/formcheck/stories/checkbox/checkbox.data.json +51 -46
  88. package/src/components/bs5/formcheck/stories/radio/radio.data.json +51 -46
  89. package/src/components/bs5/iconLink/iconLink.data.json +77 -0
  90. package/src/components/bs5/iconLink/iconLink.hbs +41 -0
  91. package/src/components/bs5/iconLink/iconLink.js +20 -0
  92. package/src/components/bs5/iconLink/iconLink.mdx +16 -0
  93. package/src/components/bs5/iconLink/iconLink.scss +57 -0
  94. package/src/components/bs5/iconLink/iconLink.stories.js +127 -0
  95. package/src/components/bs5/icons/icons.scss +79 -72
  96. package/src/components/bs5/inpagenav/inpagenav.scss +37 -37
  97. package/src/components/bs5/logo/Logo.js +20 -0
  98. package/src/components/bs5/logo/Logo.mdx +10 -0
  99. package/src/components/bs5/logo/logo.data.json +6 -0
  100. package/src/components/bs5/logo/logo.hbs +7 -0
  101. package/src/components/bs5/logo/logo.stories.js +32 -0
  102. package/src/components/bs5/logo/logoCOALandscape.hbs +58 -0
  103. package/src/components/bs5/logo/logoCOALandscape2Lines.hbs +58 -0
  104. package/src/components/bs5/navbar/Navbar.js +2 -9
  105. package/src/components/bs5/navbar/navbar.data.json +191 -0
  106. package/src/components/bs5/navbar/navbar.functions.js +48 -196
  107. package/src/components/bs5/navbar/navbar.hbs +65 -245
  108. package/src/components/bs5/navbar/navbar.scss +585 -518
  109. package/src/components/bs5/navbar/navbar.stories.js +532 -0
  110. package/src/components/bs5/pageLayout/ContentPageWithForm.js +8 -0
  111. package/src/components/bs5/pageLayout/ContentPageWithSideNavigation.js +8 -0
  112. package/src/components/bs5/pageLayout/FullWidthLandingPage.js +8 -0
  113. package/src/components/bs5/pageLayout/pageLayout.hbs +11 -10
  114. package/src/components/bs5/pageLayout/pageLayout.stories.js +230 -6
  115. package/src/components/bs5/pageLayout/templates/contentPageWithForm.hbs +78 -0
  116. package/src/components/bs5/pageLayout/templates/contentPageWithSideNavigation.hbs +103 -0
  117. package/src/components/bs5/pageLayout/templates/fullWidthLandingPage.hbs +61 -0
  118. package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +9 -8
  119. package/src/components/bs5/searchInput/search.functions.js +94 -63
  120. package/src/components/bs5/searchInput/searchInput.data.json +2 -3
  121. package/src/components/bs5/searchInput/searchInput.hbs +8 -10
  122. package/src/components/bs5/searchInput/searchInput.scss +296 -255
  123. package/src/components/bs5/searchInput/searchInput.test.js +98 -89
  124. package/src/components/bs5/sidenav/sidenav.stories.js +17 -15
  125. package/src/components/bs5/tabs/tabs.data.json +45 -44
  126. package/src/components/bs5/tabs/tabs.scss +544 -500
  127. package/src/components/bs5/tabs/tabs.stories.js +81 -51
  128. package/src/components/common/footer/footer.scss +137 -140
  129. package/src/components/common/layout/container.scss +22 -0
  130. package/src/components/common/layout/content.scss +11 -4
  131. package/src/components/common/layout/grid.scss +26 -0
  132. package/src/css/main.scss +5 -4
  133. package/src/css/qld-variables.scss +102 -81
  134. package/src/js/handlebars.helpers.js +51 -40
  135. package/src/js/handlebars.partials.js +16 -0
  136. package/src/js/qld.bootstrap.js +17 -9
  137. package/src/components/bs5/backToTop/backToTop.scss +0 -9
  138. package/src/components/bs5/breadcrumbs/breadcrumb.functions.js +0 -95
  139. package/src/components/bs5/breadcumbsWrapper/breadcrumbsWrapper.stories.js +0 -34
  140. package/src/components/bs5/contentFooterWrapper/contentFooterWrapper.stories.js +0 -36
  141. package/src/components/bs5/contentWrapper/contentWrapper.stories.js +0 -65
  142. package/src/components/bs5/fullPageWrapper/fullPage.stories.js +0 -63
  143. package/src/components/bs5/mainContainerWrapper/mainContainerWrapper.stories.js +0 -50
  144. package/src/components/bs5/navbar/_colours.scss +0 -85
  145. package/src/components/bs5/navbar/_icons.scss +0 -64
  146. package/src/components/bs5/sidenavWrapper/SidenavWrapper.mdx +0 -11
  147. package/src/components/bs5/sidenavWrapper/sidenavWrapper.stories.js +0 -65
  148. package/src/stories/integration/MainIntegration.js +0 -28
  149. package/src/stories/integration/MainIntegration.mdx +0 -10
  150. package/src/stories/integration/breadcrumb.data.json +0 -28
  151. package/src/stories/integration/content.data.json +0 -3
  152. package/src/stories/integration/contentFooter.data.json +0 -3
  153. package/src/stories/integration/footer.data.json +0 -111
  154. package/src/stories/integration/globalAlert.data.json +0 -10
  155. package/src/stories/integration/header.data.json +0 -173
  156. package/src/stories/integration/inpagenav.data.json +0 -26
  157. package/src/stories/integration/integration.stories.js +0 -147
  158. package/src/stories/integration/main.hbs +0 -13
  159. package/src/stories/integration/navigation.data.json +0 -22
  160. package/src/stories/integration/search.data.json +0 -20
  161. package/src/stories/integration/sidenav.data.json +0 -88
@@ -1,4 +1,4 @@
1
- import { createPopper } from '@popperjs/core';
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('Network response was not ok');
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('.qld-search-input input');
33
- const suggestions = form.querySelector('.suggestions');
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('d-none');
37
+ suggestions.classList.add("d-none");
38
38
 
39
39
  // Retrieve additional params
40
- const collection = searchInput.getAttribute('data-collection') || 'qgov~sp-search';
41
- const profile = searchInput.getAttribute('data-profile') || 'qld';
42
- const numRanks = searchInput.getAttribute('data-numranks') || '10';
43
- const tiers = searchInput.getAttribute('data-tiers') || 'off';
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('action');
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 = '', isDefault = false, form) {
73
- const searchInput = form.querySelector('.qld-search-input input');
74
- const suggestions = form.querySelector('.suggestions');
75
- const defaultSuggestionsContainer = form.querySelector('.default-suggestions');
76
- const dynamicSuggestionsContainer = form.querySelector('.dynamic-suggestions');
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('d-none');
86
- dynamicSuggestionsContainer.innerHTML = '';
87
- dynamicSuggestionsContainer.classList.add('d-none');
90
+ defaultSuggestionsContainer.classList.remove("d-none");
91
+ dynamicSuggestionsContainer.innerHTML = "";
92
+ dynamicSuggestionsContainer.classList.add("d-none");
88
93
  createPopper(searchInput, suggestions, {
89
- placement: 'bottom-start',
94
+ placement: "bottom-start",
90
95
  });
91
- suggestions.classList.remove('d-none');
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('d-none');
101
+ dynamicSuggestionsContainer.innerHTML = "";
102
+ dynamicSuggestionsContainer.classList.add("d-none");
98
103
  return;
99
104
  }
100
105
 
101
- defaultSuggestionsContainer.classList.add('d-none');
106
+ defaultSuggestionsContainer.classList.add("d-none");
102
107
 
103
108
  // Fetch dynamic suggestions if available
104
- const suggestUrl = searchInput.getAttribute('data-suggestions');
109
+ const suggestUrl = searchInput.getAttribute("data-suggestions");
105
110
  if (suggestUrl) {
106
- const collection = searchInput.getAttribute('data-collection') || 'qgov~sp-search';
107
- const profile = searchInput.getAttribute('data-profile') || 'qld';
108
- const fetchedSuggestions = await fetchData(`${suggestUrl}?collection=${collection}&profile=${profile}&fmt=json&alpha=0.5&partial_query=${encodeURIComponent(value)}`, 'suggestions');
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-2">
113
- <strong class="suggestions-category-label">Suggestions</strong>
114
- <ul class="mt-2">${fetchedSuggestions.slice(0, 4).map(item => {
115
- const highlightedText = item.replace(new RegExp(`(${value})`, 'gi'), '<strong>$1</strong>');
116
- return `<li><a href="#">${highlightedText}</a></li>`;
117
- }).join('')}</ul>
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('d-none');
134
+ dynamicSuggestionsContainer.classList.remove("d-none");
120
135
  createPopper(searchInput, suggestions, {
121
- placement: 'bottom-start',
136
+ placement: "bottom-start",
122
137
  });
123
- suggestions.classList.remove('d-none');
138
+ suggestions.classList.remove("d-none");
124
139
 
125
140
  // Attach click event listeners to each suggestion item
126
- form.querySelectorAll('.suggestions li').forEach((item) => {
127
- item.addEventListener('click', () => selectSuggestion(item.innerText, form));
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('d-none');
132
- suggestions.classList.add('d-none');
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('data-results-url');
153
+ const resultsUrl = searchInput.getAttribute("data-results-url");
137
154
  if (resultsUrl) {
138
- const collection = searchInput.getAttribute('data-collection') || 'qgov~sp-search';
139
- const profile = searchInput.getAttribute('data-profile') || 'qld';
140
- const fetchedServices = await fetchData(`${resultsUrl}?collection=${collection}&profile=${profile}&smeta_sfinder_sand=yes&query=${encodeURIComponent(value)}`, 'services');
141
-
142
- if (fetchedServices.response.resultPacket && fetchedServices.response.resultPacket.results.length > 0) {
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-2">
145
- <strong class="suggestions-category-label">Services</strong>
146
- <ul class="mt-2">${fetchedServices.response.resultPacket.results.slice(0, 4).map(item => `<li><a href="${item.liveUrl}">${item.title}</a></li>`).join('')}</ul>
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('d-none');
177
+ dynamicSuggestionsContainer.classList.remove("d-none");
149
178
  createPopper(searchInput, suggestions, {
150
- placement: 'bottom-start',
179
+ placement: "bottom-start",
151
180
  });
152
- suggestions.classList.remove('d-none');
181
+ suggestions.classList.remove("d-none");
153
182
 
154
183
  // Attach click event listeners to each suggestion item
155
- form.querySelectorAll('.suggestions li').forEach((item) => {
156
- item.addEventListener('click', () => selectSuggestion(item.innerText, form));
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 = '', form) {
171
- const searchInput = form.querySelector('.qld-search-input input');
200
+ export function submitSearchForm(query = "", form) {
201
+ const searchInput = form.querySelector(".qld-search-input input");
172
202
 
173
- const collection = searchInput.getAttribute('data-collection') || 'qgov~sp-search';
174
- const profile = searchInput.getAttribute('data-profile') || 'qld';
175
- const numRanks = searchInput.getAttribute('data-numranks') || '10';
176
- const tiers = searchInput.getAttribute('data-tiers') || 'off';
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('action')}?${params.toString()}`;
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": false,
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" placeholder="{{placeholder}}"
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-2">
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
- <hr>
22
-
23
- <div class="suggestions-category mt-2">
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 mt-4 mb-4">
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>