@asd20/ui-next 2.12.4 → 2.12.6
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/CHANGELOG.md +14 -0
- package/package.json +1 -1
- package/src/components/molecules/Asd20Notification/index.vue +2 -2
- package/src/components/organisms/Asd20SiteSearch/index.vue +39 -1
- package/src/components/templates/Asd20404Template/index.vue +1 -0
- package/src/components/templates/Asd20ArticleDigestCompactTemplate/index.vue +1 -0
- package/src/components/templates/Asd20ArticleDigestTemplate/index.vue +1 -0
- package/src/components/templates/Asd20ArticleListTemplate/index.vue +1 -0
- package/src/components/templates/Asd20ArticleTemplate/index.vue +1 -0
- package/src/components/templates/Asd20BasePageTemplate/index.vue +1 -0
- package/src/components/templates/Asd20ClubsTemplate/index.vue +1 -0
- package/src/components/templates/Asd20DetailAlternateTemplate/index.vue +1 -0
- package/src/components/templates/Asd20DetailImageFullTemplate/index.vue +1 -0
- package/src/components/templates/Asd20DetailImageTemplate/index.vue +1 -0
- package/src/components/templates/Asd20DetailTemplate/index.vue +1 -0
- package/src/components/templates/Asd20DistrictHomeTemplate/index.vue +1 -0
- package/src/components/templates/Asd20DistrictVideoTemplate/index.vue +1 -0
- package/src/components/templates/Asd20FileListPageTemplate/index.vue +1 -0
- package/src/components/templates/Asd20GroupFeatureTemplate/index.vue +1 -0
- package/src/components/templates/Asd20LoginsTemplate/index.vue +1 -0
- package/src/components/templates/Asd20PeopleFeatureTemplate/index.vue +1 -0
- package/src/components/templates/Asd20ProfileTemplate/index.vue +1 -0
- package/src/components/templates/Asd20SalaryCalculatorTemplate/index.vue +1 -0
- package/src/components/templates/Asd20SchoolHomeTemplate/index.vue +1 -0
- package/src/components/templates/Asd20SchoolHomeVideoTemplate/index.vue +1 -0
- package/src/components/templates/Asd20WayfindingAccessibilityTemplate/index.vue +1 -0
- package/src/components/templates/Asd20WayfindingAlternateTemplate/index.vue +1 -0
- package/src/components/templates/Asd20WayfindingImageTemplate/index.vue +1 -0
- package/src/components/templates/Asd20WayfindingTemplate/index.vue +1 -0
- package/src/mixins/pageTemplateMixin.js +29 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.12.6](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.12.5...ui-next-v2.12.6) (2026-06-02)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* allow exact contact matches to rise above group results; fix notification bullet indent ([ab35494](https://github.com/academydistrict20/asd20-ui-next/commit/ab35494603e9b36d79565fe96bcf50c9771e1a5c))
|
|
9
|
+
|
|
10
|
+
## [2.12.5](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.12.4...ui-next-v2.12.5) (2026-05-28)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* add navigation search props to all non-home templates ([038885c](https://github.com/academydistrict20/asd20-ui-next/commit/038885c83f7d3cc416c52c0305be954f894b8ece))
|
|
16
|
+
|
|
3
17
|
## [2.12.4](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.12.3...ui-next-v2.12.4) (2026-05-28)
|
|
4
18
|
|
|
5
19
|
|
package/package.json
CHANGED
|
@@ -185,8 +185,8 @@ export default {
|
|
|
185
185
|
display: block;
|
|
186
186
|
flex-direction: column;
|
|
187
187
|
margin: 0.5rem 0;
|
|
188
|
-
padding-left:
|
|
189
|
-
list-style-position:
|
|
188
|
+
padding-left: 1.25rem !important;
|
|
189
|
+
list-style-position: outside !important;
|
|
190
190
|
white-space: normal;
|
|
191
191
|
}
|
|
192
192
|
|
|
@@ -1006,7 +1006,19 @@ export default {
|
|
|
1006
1006
|
},
|
|
1007
1007
|
|
|
1008
1008
|
contactListItems() {
|
|
1009
|
-
return [...this.
|
|
1009
|
+
return [...this.groupListItems, ...this.peopleListItems]
|
|
1010
|
+
.map((item, index) => ({
|
|
1011
|
+
item,
|
|
1012
|
+
index,
|
|
1013
|
+
exactMatch: this.isExactContactMatch(item),
|
|
1014
|
+
typeRank: item.contactType === 'group' ? 0 : 1,
|
|
1015
|
+
}))
|
|
1016
|
+
.sort((a, b) => {
|
|
1017
|
+
if (a.exactMatch !== b.exactMatch) return a.exactMatch ? -1 : 1
|
|
1018
|
+
if (a.typeRank !== b.typeRank) return a.typeRank - b.typeRank
|
|
1019
|
+
return a.index - b.index
|
|
1020
|
+
})
|
|
1021
|
+
.map(entry => entry.item)
|
|
1010
1022
|
},
|
|
1011
1023
|
feedbackFormUrlRaw() {
|
|
1012
1024
|
if (this.aiSearchFeedbackFormUrl) return this.aiSearchFeedbackFormUrl
|
|
@@ -1441,6 +1453,32 @@ export default {
|
|
|
1441
1453
|
return String(group.id || group.title || group.contactEmail || '').trim()
|
|
1442
1454
|
},
|
|
1443
1455
|
|
|
1456
|
+
normalizeContactMatchValue(value = '') {
|
|
1457
|
+
return String(value || '')
|
|
1458
|
+
.toLowerCase()
|
|
1459
|
+
.replace(/[^a-z0-9\s]/g, ' ')
|
|
1460
|
+
.replace(/\s+/g, ' ')
|
|
1461
|
+
.trim()
|
|
1462
|
+
},
|
|
1463
|
+
|
|
1464
|
+
getContactSearchText() {
|
|
1465
|
+
return (
|
|
1466
|
+
this.searchQuestion ||
|
|
1467
|
+
this.keywords ||
|
|
1468
|
+
this.inputText ||
|
|
1469
|
+
''
|
|
1470
|
+
).trim()
|
|
1471
|
+
},
|
|
1472
|
+
|
|
1473
|
+
isExactContactMatch(item = {}) {
|
|
1474
|
+
const searchText = this.normalizeContactMatchValue(
|
|
1475
|
+
this.getContactSearchText()
|
|
1476
|
+
)
|
|
1477
|
+
const label = this.normalizeContactMatchValue(item.label)
|
|
1478
|
+
|
|
1479
|
+
return !!searchText && !!label && label === searchText
|
|
1480
|
+
},
|
|
1481
|
+
|
|
1444
1482
|
hasGroupContactDetails(group = {}) {
|
|
1445
1483
|
if (!group || typeof group !== 'object') return false
|
|
1446
1484
|
const detailFields = [
|
|
@@ -64,6 +64,18 @@ export default {
|
|
|
64
64
|
// Page state
|
|
65
65
|
menuOpen: { type: Boolean, default: false },
|
|
66
66
|
searchOpen: { type: Boolean, default: false },
|
|
67
|
+
searchPages: { type: Array, default: () => [] },
|
|
68
|
+
searchFiles: { type: Array, default: () => [] },
|
|
69
|
+
searchGroups: { type: Array, default: () => [] },
|
|
70
|
+
searchPeople: { type: Array, default: () => [] },
|
|
71
|
+
includeDistrictResults: { type: Boolean, default: true },
|
|
72
|
+
searchLanguageCode: { type: String, default: null },
|
|
73
|
+
queryPagesHandler: { type: Function, default: null },
|
|
74
|
+
queryFilesHandler: { type: Function, default: null },
|
|
75
|
+
queryGroupsHandler: { type: Function, default: null },
|
|
76
|
+
queryPeopleHandler: { type: Function, default: null },
|
|
77
|
+
queryAiSiteHandler: { type: Function, default: null },
|
|
78
|
+
aiSearchFeedbackFormUrl: { type: String, default: '' },
|
|
67
79
|
|
|
68
80
|
// Navigation
|
|
69
81
|
navigation: { type: Array, default: () => [] },
|
|
@@ -112,6 +124,23 @@ export default {
|
|
|
112
124
|
},
|
|
113
125
|
|
|
114
126
|
computed: {
|
|
127
|
+
siteNavigationSearchProps() {
|
|
128
|
+
return {
|
|
129
|
+
pages: this.searchPages,
|
|
130
|
+
files: this.searchFiles,
|
|
131
|
+
groups: this.searchGroups,
|
|
132
|
+
people: this.searchPeople,
|
|
133
|
+
includeDistrictResults: this.includeDistrictResults,
|
|
134
|
+
searchLanguageCode: this.searchLanguageCode,
|
|
135
|
+
queryPagesHandler: this.queryPagesHandler,
|
|
136
|
+
queryFilesHandler: this.queryFilesHandler,
|
|
137
|
+
queryGroupsHandler: this.queryGroupsHandler,
|
|
138
|
+
queryPeopleHandler: this.queryPeopleHandler,
|
|
139
|
+
queryAiSiteHandler: this.queryAiSiteHandler,
|
|
140
|
+
aiSearchFeedbackFormUrl: this.aiSearchFeedbackFormUrl,
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
|
|
115
144
|
firstMessage() {
|
|
116
145
|
return this.messages.length > 0 ? this.messages[0] : null
|
|
117
146
|
},
|