@qld-gov-au/qgds-bootstrap5 2.0.11 → 2.0.12
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/preview.js +5 -2
- package/dist/assets/components/bs5/dateinput/dateinput.hbs +27 -27
- package/dist/assets/components/bs5/formcheck/formcheck.hbs +10 -2
- package/dist/assets/components/bs5/head/head.hbs +1 -1
- package/dist/assets/components/bs5/searchInput/searchInput.hbs +31 -29
- package/dist/assets/components/bs5/select/select.hbs +19 -19
- package/dist/assets/components/bs5/textarea/textarea.hbs +17 -17
- package/dist/assets/components/bs5/textbox/textbox.hbs +17 -18
- package/dist/assets/css/qld.bootstrap.css +2 -2
- package/dist/assets/css/qld.bootstrap.css.map +3 -3
- package/dist/assets/css/qld.bootstrap.legacy.css +2 -2
- package/dist/assets/css/qld.bootstrap.legacy.css.map +3 -3
- package/dist/assets/js/handlebars.helpers.bundle.js +1 -1
- package/dist/assets/js/handlebars.init.min.js +134 -125
- package/dist/assets/js/handlebars.init.min.js.map +2 -2
- package/dist/assets/js/handlebars.partials.js +134 -125
- package/dist/assets/js/handlebars.partials.js.map +2 -2
- package/dist/assets/js/qld.bootstrap.min.js +9 -10
- package/dist/assets/js/qld.bootstrap.min.js.map +3 -3
- package/dist/assets/node/handlebars.init.min.js +51 -7
- package/dist/assets/node/handlebars.init.min.js.map +2 -2
- package/dist/components/bs5/dateinput/dateinput.hbs +27 -27
- package/dist/components/bs5/formcheck/formcheck.hbs +10 -2
- package/dist/components/bs5/head/head.hbs +1 -1
- package/dist/components/bs5/searchInput/searchInput.hbs +31 -29
- package/dist/components/bs5/select/select.hbs +19 -19
- package/dist/components/bs5/textarea/textarea.hbs +17 -17
- package/dist/components/bs5/textbox/textbox.hbs +17 -18
- package/dist/package.json +1 -1
- package/dist/sample-data/dateinput/dateinput.data.json +14 -12
- package/dist/sample-data/formcheck/stories/checkbox/checkbox.data.json +4 -5
- package/dist/sample-data/formcheck/stories/radio/radio.data.json +4 -4
- package/dist/sample-data/searchInput/searchInput.data.json +19 -10
- package/dist/sample-data/select/select.data.json +12 -10
- package/dist/sample-data/textarea/textarea.data.json +14 -11
- package/dist/sample-data/textbox/textbox.data.json +13 -10
- package/package.json +1 -1
- package/src/components/bs5/dateinput/Dateinput.js +26 -11
- package/src/components/bs5/dateinput/dateinput.data.json +14 -12
- package/src/components/bs5/dateinput/dateinput.hbs +27 -27
- package/src/components/bs5/formcheck/Formcheck.js +57 -6
- package/src/components/bs5/formcheck/_form-variables.scss +131 -0
- package/src/components/bs5/formcheck/formcheck.hbs +10 -2
- package/src/components/bs5/formcheck/formcheck.scss +229 -66
- package/src/components/bs5/formcheck/stories/bootstrap-validation/bootstrap-validation.stories.js +304 -0
- package/src/components/bs5/formcheck/stories/checkbox/checkbox.data.json +4 -5
- package/src/components/bs5/formcheck/stories/checkbox/checkbox.stories.js +19 -111
- package/src/components/bs5/formcheck/stories/radio/radio.data.json +4 -4
- package/src/components/bs5/formcheck/stories/radio/radio.stories.js +30 -122
- package/src/components/bs5/inpageAlert/inpageAlert.scss +1 -1
- package/src/components/bs5/pageLayout/{ThemeShowcase.stories.js → PaletteShowcase.stories.js} +36 -35
- package/src/components/bs5/searchInput/__snapshots__/searchInput.test.js.snap +24 -28
- package/src/components/bs5/searchInput/search.functions.js +93 -76
- package/src/components/bs5/searchInput/searchInput.data.json +19 -10
- package/src/components/bs5/searchInput/searchInput.hbs +31 -29
- package/src/components/bs5/searchInput/searchInput.scss +140 -196
- package/src/components/bs5/searchInput/searchInput.stories.js +35 -13
- package/src/components/bs5/searchInput/searchInput.test.js +5 -1
- package/src/components/bs5/select/Select.js +13 -5
- package/src/components/bs5/select/Select.stories.js +27 -83
- package/src/components/bs5/select/select.data.json +12 -10
- package/src/components/bs5/select/select.hbs +19 -19
- package/src/components/bs5/textarea/Textarea.js +13 -5
- package/src/components/bs5/textarea/Textarea.stories.js +29 -55
- package/src/components/bs5/textarea/textarea.data.json +14 -11
- package/src/components/bs5/textarea/textarea.hbs +17 -17
- package/src/components/bs5/textbox/Textbox.js +16 -5
- package/src/components/bs5/textbox/Textbox.stories.js +26 -51
- package/src/components/bs5/textbox/textInput.scss +12 -232
- package/src/components/bs5/textbox/textbox.data.json +13 -10
- package/src/components/bs5/textbox/textbox.hbs +17 -18
- package/src/css/functions/_index.scss +2 -0
- package/src/css/functions/remify.scss +32 -0
- package/src/css/functions/snap-line-height.scss +7 -0
- package/src/css/main.scss +1 -1
- package/src/css/mixins/focusable.scss +3 -0
- package/src/css/{qld-theme.scss → qld-palettes.scss} +30 -23
- package/src/components/bs5/formcheck/_formcheck.stories.bak.js +0 -432
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
1
|
+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
3
|
exports[`SearchInput > Renders as expected 1`] = `
|
|
4
4
|
"<!--
|
|
@@ -11,35 +11,31 @@ exports[`SearchInput > Renders as expected 1`] = `
|
|
|
11
11
|
<span class="btn-icon"></span>
|
|
12
12
|
<span class="btn-label">Search</span>
|
|
13
13
|
</button>
|
|
14
|
-
<div class="suggestions suggestions__group d-none">
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<div class="suggestions-category mt-16">
|
|
27
|
-
<strong class="suggestions-category-label d-block">Browse by category</strong>
|
|
28
|
-
<ul class="mt-12 mb-0">
|
|
29
|
-
<li><a href="https://www.forgov.qld.gov.au/pay-benefits-and-policy/directives-policies-circulars-and-guidelines">Search for directives, policies, circulars, and guidelines</a></li>
|
|
30
|
-
<li><a href="https://www.forgov.qld.gov.au/pay-benefits-and-policy/benefits/employee-pay-and-benefits">Employee pay and benefits</a></li>
|
|
31
|
-
<li><a href="https://www.forgov.qld.gov.au/sandbox/archive/queensland-shared-services">Queensland Shared Services</a></li>
|
|
32
|
-
<li><a href="https://www.forgov.qld.gov.au/recruitment-performance-and-career/career-development">Career development</a></li>
|
|
33
|
-
</ul>
|
|
34
|
-
</div>
|
|
14
|
+
<div class="suggestions suggestions__group d-none default">
|
|
15
|
+
<div class="default-suggestions">
|
|
16
|
+
<div class="suggestions-category">
|
|
17
|
+
<strong class="suggestions-category-label d-block">Popular</strong>
|
|
18
|
+
<ul>
|
|
19
|
+
<li><a href="https://www.forgov.qld.gov.au/pay-benefits-and-policy/leave/submit-a-leave-application">Apply for leave now</a></li>
|
|
20
|
+
<li><a href="https://www.forgov.qld.gov.au/recruitment-performance-and-career/starting-a-new-job/apply-for-higher-duties-or-relieving-at-level">Apply for higher duties or relieving at level</a></li>
|
|
21
|
+
<li><a href="https://www.forgov.qld.gov.au/recruitment-performance-and-career/recruitment/extending-my-job/extend-a-temporary-or-casual-employee">Extend a temporary or casual employee</a></li>
|
|
22
|
+
<li><a href="https://www.forgov.qld.gov.au/recruitment-performance-and-career/recruitment">Hire a staff member (recruitment)</a></li>
|
|
23
|
+
<li><a href="/queenslanders" class="view-more">View more</a></li>
|
|
24
|
+
</ul>
|
|
25
|
+
</div>
|
|
35
26
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
<div class="suggestions-category">
|
|
28
|
+
<strong class="suggestions-category-label d-block">Collection</strong>
|
|
29
|
+
<ul>
|
|
30
|
+
<li><a href="https://www.forgov.qld.gov.au/pay-benefits-and-policy/directives-policies-circulars-and-guidelines">Search for directives, policies, circulars, and guidelines</a></li>
|
|
31
|
+
<li><a href="https://www.forgov.qld.gov.au/pay-benefits-and-policy/benefits/employee-pay-and-benefits">Employee pay and benefits</a></li>
|
|
32
|
+
<li><a href="https://www.forgov.qld.gov.au/sandbox/archive/queensland-shared-services">Queensland Shared Services</a></li>
|
|
33
|
+
<li><a href="https://www.forgov.qld.gov.au/recruitment-performance-and-career/career-development">Career development</a></li>
|
|
34
|
+
<li><a href="/queenslanders" class="view-more">View all</a></li>
|
|
35
|
+
</ul>
|
|
36
|
+
</div>
|
|
39
37
|
</div>
|
|
40
|
-
|
|
41
|
-
<div class="dynamic-suggestions"></div>
|
|
38
|
+
<div class="dynamic-suggestions" data-view-more="/queenslanders"></div>
|
|
42
39
|
</div>
|
|
43
|
-
|
|
44
40
|
</div>"
|
|
45
41
|
`;
|
|
@@ -34,7 +34,7 @@ export function selectSuggestion(value, form) {
|
|
|
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
40
|
const collection =
|
|
@@ -87,9 +87,13 @@ export async function showSuggestions(value = "", isDefault = false, form) {
|
|
|
87
87
|
|
|
88
88
|
// Hide/show default suggestions
|
|
89
89
|
if (isDefault) {
|
|
90
|
-
defaultSuggestionsContainer
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
if (defaultSuggestionsContainer) {
|
|
91
|
+
defaultSuggestionsContainer.classList.remove("d-none");
|
|
92
|
+
}
|
|
93
|
+
if (dynamicSuggestionsContainer) {
|
|
94
|
+
dynamicSuggestionsContainer.innerHTML = "";
|
|
95
|
+
dynamicSuggestionsContainer.classList.add("d-none");
|
|
96
|
+
}
|
|
93
97
|
createPopper(searchInput, suggestions, {
|
|
94
98
|
placement: "bottom-start",
|
|
95
99
|
});
|
|
@@ -97,30 +101,34 @@ export async function showSuggestions(value = "", isDefault = false, form) {
|
|
|
97
101
|
return;
|
|
98
102
|
}
|
|
99
103
|
|
|
100
|
-
if (
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
if (dynamicSuggestionsContainer) {
|
|
105
|
+
if (value.length === 0) {
|
|
106
|
+
dynamicSuggestionsContainer.innerHTML = "";
|
|
107
|
+
dynamicSuggestionsContainer.classList.add("d-none");
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
104
110
|
}
|
|
105
111
|
|
|
106
|
-
defaultSuggestionsContainer
|
|
112
|
+
if (defaultSuggestionsContainer) {
|
|
113
|
+
defaultSuggestionsContainer.classList.add("d-none");
|
|
114
|
+
}
|
|
107
115
|
|
|
108
116
|
// Fetch dynamic suggestions if available
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
<ul
|
|
117
|
+
if (dynamicSuggestionsContainer) {
|
|
118
|
+
const suggestUrl = searchInput.getAttribute("data-suggestions");
|
|
119
|
+
if (suggestUrl) {
|
|
120
|
+
const collection =
|
|
121
|
+
searchInput.getAttribute("data-collection") || "qgov~sp-search";
|
|
122
|
+
const profile = searchInput.getAttribute("data-profile") || "qld";
|
|
123
|
+
const fetchedSuggestions = await fetchData(
|
|
124
|
+
`${suggestUrl}?collection=${collection}&profile=${profile}&fmt=json&alpha=0.5&partial_query=${encodeURIComponent(value)}`,
|
|
125
|
+
"suggestions",
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
if (fetchedSuggestions.length > 0) {
|
|
129
|
+
dynamicSuggestionsContainer.innerHTML = `
|
|
130
|
+
<div class="suggestions-category">
|
|
131
|
+
<ul>${fetchedSuggestions
|
|
124
132
|
.slice(0, 4)
|
|
125
133
|
.map((item) => {
|
|
126
134
|
const highlightedText = item.replace(
|
|
@@ -131,61 +139,70 @@ export async function showSuggestions(value = "", isDefault = false, form) {
|
|
|
131
139
|
})
|
|
132
140
|
.join("")}</ul>
|
|
133
141
|
</div>`;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
142
|
+
dynamicSuggestionsContainer.classList.remove("d-none");
|
|
143
|
+
createPopper(searchInput, suggestions, {
|
|
144
|
+
placement: "bottom-start",
|
|
145
|
+
});
|
|
146
|
+
suggestions.classList.remove("d-none");
|
|
147
|
+
|
|
148
|
+
// Attach click event listeners to each suggestion item
|
|
149
|
+
form.querySelectorAll(".suggestions li").forEach((item) => {
|
|
150
|
+
item.addEventListener("click", () =>
|
|
151
|
+
selectSuggestion(item.innerText, form),
|
|
152
|
+
);
|
|
153
|
+
});
|
|
154
|
+
} else {
|
|
155
|
+
dynamicSuggestionsContainer.innerHTML = "";
|
|
156
|
+
dynamicSuggestionsContainer.classList.add("d-none");
|
|
157
|
+
suggestions.classList.add("d-none");
|
|
158
|
+
}
|
|
150
159
|
}
|
|
151
|
-
}
|
|
152
160
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
161
|
+
const resultsUrl = searchInput.getAttribute("data-results-url");
|
|
162
|
+
if (resultsUrl) {
|
|
163
|
+
const collection =
|
|
164
|
+
searchInput.getAttribute("data-collection") || "qgov~sp-search";
|
|
165
|
+
const profile = searchInput.getAttribute("data-profile") || "qld";
|
|
166
|
+
const fetchedServices = await fetchData(
|
|
167
|
+
`${resultsUrl}?collection=${collection}&profile=${profile}&smeta_sfinder_sand=yes&query=${encodeURIComponent(value)}`,
|
|
168
|
+
"services",
|
|
169
|
+
);
|
|
170
|
+
|
|
171
|
+
if (
|
|
172
|
+
fetchedServices.response.resultPacket &&
|
|
173
|
+
fetchedServices.response.resultPacket.results.length > 0
|
|
174
|
+
) {
|
|
175
|
+
const viewMoreUrl =
|
|
176
|
+
dynamicSuggestionsContainer.getAttribute("data-view-more");
|
|
177
|
+
|
|
178
|
+
// Build the services HTML safely
|
|
179
|
+
const servicesItems = fetchedServices.response.resultPacket.results
|
|
180
|
+
.slice(0, 4)
|
|
181
|
+
.map((item) => `<li><a href="${item.liveUrl}">${item.title}</a></li>`)
|
|
182
|
+
.join("");
|
|
183
|
+
|
|
184
|
+
const viewMoreItem = viewMoreUrl
|
|
185
|
+
? `<li><a href="${viewMoreUrl}" class="view-more">View more</a></li>`
|
|
186
|
+
: "";
|
|
187
|
+
|
|
188
|
+
dynamicSuggestionsContainer.innerHTML += `
|
|
189
|
+
<div class="suggestions-category feature">
|
|
190
|
+
<strong class="suggestions-category-label d-block">Related services</strong>
|
|
191
|
+
<ul>${servicesItems}${viewMoreItem}</ul>
|
|
176
192
|
</div>`;
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
193
|
+
dynamicSuggestionsContainer.classList.remove("d-none");
|
|
194
|
+
createPopper(searchInput, suggestions, {
|
|
195
|
+
placement: "bottom-start",
|
|
196
|
+
});
|
|
197
|
+
suggestions.classList.remove("d-none");
|
|
198
|
+
|
|
199
|
+
// Attach click event listeners to each suggestion item
|
|
200
|
+
form.querySelectorAll(".suggestions li").forEach((item) => {
|
|
201
|
+
item.addEventListener("click", () =>
|
|
202
|
+
selectSuggestion(item.innerText, form),
|
|
203
|
+
);
|
|
204
|
+
});
|
|
205
|
+
}
|
|
189
206
|
}
|
|
190
207
|
}
|
|
191
208
|
}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
"buttonType": "submit",
|
|
7
7
|
"buttonLabel": "Search",
|
|
8
8
|
"ariaLabel": "Search website",
|
|
9
|
-
"suggestions": true,
|
|
10
9
|
"tags": {
|
|
11
10
|
"collection": "qgov~sp-search",
|
|
12
11
|
"profile": "qld",
|
|
@@ -15,10 +14,20 @@
|
|
|
15
14
|
"suggestions": "https://discover.search.qld.gov.au/s/suggest.json",
|
|
16
15
|
"results-url": "https://discover.search.qld.gov.au/s/search.json"
|
|
17
16
|
},
|
|
18
|
-
"
|
|
19
|
-
|
|
17
|
+
"hasDynamicSuggestions": true,
|
|
18
|
+
"hasDefaultSuggestions": true,
|
|
19
|
+
"dynamicSuggestionsServiceLink": {
|
|
20
|
+
"href": "/queenslanders"
|
|
21
|
+
},
|
|
22
|
+
"defaultSuggestions": {
|
|
23
|
+
"popularServicesTitle": "Popular",
|
|
24
|
+
"popularServicesLink": {
|
|
25
|
+
"label": "View more",
|
|
26
|
+
"href": "/queenslanders"
|
|
27
|
+
},
|
|
28
|
+
"popularServices": [
|
|
20
29
|
{
|
|
21
|
-
"title": "Apply for leave",
|
|
30
|
+
"title": "Apply for leave now",
|
|
22
31
|
"link": "https://www.forgov.qld.gov.au/pay-benefits-and-policy/leave/submit-a-leave-application"
|
|
23
32
|
},
|
|
24
33
|
{
|
|
@@ -34,6 +43,11 @@
|
|
|
34
43
|
"link": "https://www.forgov.qld.gov.au/recruitment-performance-and-career/recruitment"
|
|
35
44
|
}
|
|
36
45
|
],
|
|
46
|
+
"categoriesTitle": "Collection",
|
|
47
|
+
"categoriesLink": {
|
|
48
|
+
"label": "View all",
|
|
49
|
+
"href": "/queenslanders"
|
|
50
|
+
},
|
|
37
51
|
"categories": [
|
|
38
52
|
{
|
|
39
53
|
"title": "Search for directives, policies, circulars, and guidelines",
|
|
@@ -51,11 +65,6 @@
|
|
|
51
65
|
"title": "Career development",
|
|
52
66
|
"link": "https://www.forgov.qld.gov.au/recruitment-performance-and-career/career-development"
|
|
53
67
|
}
|
|
54
|
-
]
|
|
55
|
-
"options": {
|
|
56
|
-
"label": "Browse all categories",
|
|
57
|
-
"view_more": true,
|
|
58
|
-
"href": "/queenslanders"
|
|
59
|
-
}
|
|
68
|
+
]
|
|
60
69
|
}
|
|
61
70
|
}
|
|
@@ -8,36 +8,38 @@
|
|
|
8
8
|
<span class="btn-icon"></span>
|
|
9
9
|
<span class="btn-label">{{ buttonLabel }}</span>
|
|
10
10
|
</button>
|
|
11
|
-
{{#
|
|
12
|
-
<div class="suggestions suggestions__group d-none">
|
|
13
|
-
|
|
14
|
-
<div class="suggestions
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
{{#each default_suggestions.categories}}
|
|
27
|
-
<li><a href="{{link}}">{{title}}</a></li>
|
|
28
|
-
{{/each}}
|
|
29
|
-
</ul>
|
|
30
|
-
</div>
|
|
11
|
+
{{#ifCond hasDynamicSuggestions '||' hasDefaultSuggestions}}
|
|
12
|
+
<div class="suggestions suggestions__group d-none default">
|
|
13
|
+
{{#if hasDefaultSuggestions}}
|
|
14
|
+
<div class="default-suggestions">
|
|
15
|
+
<div class="suggestions-category">
|
|
16
|
+
<strong class="suggestions-category-label d-block">{{defaultSuggestions.popularServicesTitle}}</strong>
|
|
17
|
+
<ul>
|
|
18
|
+
{{#each defaultSuggestions.popularServices}}
|
|
19
|
+
<li><a href="{{link}}">{{title}}</a></li>
|
|
20
|
+
{{/each}}
|
|
21
|
+
{{#if defaultSuggestions.popularServicesLink}}
|
|
22
|
+
<li><a href="{{defaultSuggestions.popularServicesLink.href}}" class="view-more">{{#if defaultSuggestions.popularServicesLink.label}}{{defaultSuggestions.popularServicesLink.label}}{{else}}View More{{/if}}</a></li>
|
|
23
|
+
{{/if}}
|
|
24
|
+
</ul>
|
|
25
|
+
</div>
|
|
31
26
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
<div class="suggestions-category">
|
|
28
|
+
<strong class="suggestions-category-label d-block">{{defaultSuggestions.categoriesTitle}}</strong>
|
|
29
|
+
<ul>
|
|
30
|
+
{{#each defaultSuggestions.categories}}
|
|
31
|
+
<li><a href="{{link}}">{{title}}</a></li>
|
|
32
|
+
{{/each}}
|
|
33
|
+
{{#if defaultSuggestions.categoriesLink}}
|
|
34
|
+
<li><a href="{{defaultSuggestions.categoriesLink.href}}" class="view-more">{{#if defaultSuggestions.categoriesLink.label}}{{defaultSuggestions.categoriesLink.label}}{{else}}View More{{/if}}</a></li>
|
|
35
|
+
{{/if}}
|
|
36
|
+
</ul>
|
|
37
|
+
</div>
|
|
36
38
|
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
{{/if}}
|
|
40
|
+
{{#if hasDynamicSuggestions}}
|
|
41
|
+
<div class="dynamic-suggestions" {{#if dynamicSuggestionsServiceLink.href}}data-view-more="{{dynamicSuggestionsServiceLink.href}}"{{/if}}></div>
|
|
42
|
+
{{/if}}
|
|
40
43
|
</div>
|
|
41
|
-
{{/
|
|
42
|
-
|
|
44
|
+
{{/ifCond}}
|
|
43
45
|
</div>
|