@asd20/ui-next 2.9.0 → 2.10.1

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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.10.1](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.10.0...ui-next-v2.10.1) (2026-05-12)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * remove link assignments for footer principal and hours items ([12cd040](https://github.com/academydistrict20/asd20-ui-next/commit/12cd040669d4d6141e937e793986126465df7e7f))
9
+
10
+ # [2.10.0](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.9.0...ui-next-v2.10.0) (2026-05-12)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * fix hard coded image references ([6c29df5](https://github.com/academydistrict20/asd20-ui-next/commit/6c29df52660031d64b6154d93bfb486c23545c66))
16
+
17
+
18
+ ### Features
19
+
20
+ * implement cache path for hard coded images ([10e39e7](https://github.com/academydistrict20/asd20-ui-next/commit/10e39e720f6ca5f4cc4f7b5954550abbde5405c2))
21
+
3
22
  # [2.9.0](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.8.0...ui-next-v2.9.0) (2026-05-12)
4
23
 
5
24
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asd20/ui-next",
3
- "version": "2.9.0",
3
+ "version": "2.10.1",
4
4
  "private": false,
5
5
  "description": "ASD20 UI component library for Vue 3.",
6
6
  "license": "MIT",
@@ -53,6 +53,13 @@ export default {
53
53
  const isDistrict = this.organization.title === 'Academy District 20'
54
54
  const hasExteriorPhoto = this.organization.exteriorPhotoUrl
55
55
 
56
+ if (isDistrict) {
57
+ return {
58
+ '--asd20-district-footer-image':
59
+ "url('/_media/asd20-images/page-images/asd20-footer-image.jpg')",
60
+ }
61
+ }
62
+
56
63
  if (!isDistrict && hasExteriorPhoto) {
57
64
  return {
58
65
  '--school-exterior-photo-url': `url(${this.organization.exteriorPhotoUrl})`,
@@ -103,7 +110,8 @@ export default {
103
110
  border-top: none;
104
111
  }
105
112
 
106
- :deep(#page-footer.footer-image--school::before),:deep(#page-footer.footer-image--school::after) {
113
+ :deep(#page-footer.footer-image--school::before),
114
+ :deep(#page-footer.footer-image--school::after) {
107
115
  display: none;
108
116
  }
109
117
 
@@ -112,7 +120,7 @@ export default {
112
120
  rgba(40, 80, 180, 0.6),
113
121
  rgba(40, 80, 180, 0.6)
114
122
  ),
115
- url('https://asd20websitestorage.blob.core.windows.net/asd20-images/page-images/asd20-footer-image.jpg');
123
+ var(--asd20-district-footer-image);
116
124
  background-repeat: no-repeat;
117
125
  background-size: cover;
118
126
  background-position: 20%;
@@ -49,7 +49,9 @@
49
49
  >
50
50
  <img
51
51
  :src="
52
- websiteLogoProps2.logoImageUrl ? websiteLogoProps2.logoImageUrl : ''
52
+ websiteLogoProps2.logoImageUrl
53
+ ? websiteLogoProps2.logoImageUrl
54
+ : ''
53
55
  "
54
56
  :alt="websiteLogoProps2.logoAlt ? websiteLogoProps2.logoAlt : ''"
55
57
  />
@@ -65,7 +67,6 @@
65
67
  organization.title !== 'Academy District 20'
66
68
  "
67
69
  class="principal"
68
- link="#"
69
70
  :label="
70
71
  organization.title === 'School in the Woods'
71
72
  ? `Administrator: ${administrator}`
@@ -81,7 +82,6 @@
81
82
  <asd20-button
82
83
  v-if="organization.hours"
83
84
  class="hours"
84
- link="#"
85
85
  :label="organization.hours"
86
86
  icon="hours-alt"
87
87
  size="md"
@@ -115,9 +115,7 @@
115
115
  />
116
116
  <asd20-button
117
117
  v-if="organization.address && organization.address.street1"
118
- :link="
119
- `https://www.google.com/maps/dir/${organization.address.street1} ${organization.address.city} ${organization.address.state} ${organization.address.zip}`
120
- "
118
+ :link="`https://www.google.com/maps/dir/${organization.address.street1} ${organization.address.city} ${organization.address.state} ${organization.address.zip}`"
121
119
  icon="map"
122
120
  size="md"
123
121
  horizontal
@@ -133,7 +131,11 @@
133
131
  </asd20-button>
134
132
  <asd20-button
135
133
  v-if="organization.email"
136
- :link="organization.title === 'Academy District 20' ? `https://www.asd20.org/help-desk/` : `mailto:${organization.email}`"
134
+ :link="
135
+ organization.title === 'Academy District 20'
136
+ ? `https://www.asd20.org/help-desk/`
137
+ : `mailto:${organization.email}`
138
+ "
137
139
  label="Contact Us"
138
140
  icon="email"
139
141
  size="md"
@@ -162,7 +164,8 @@
162
164
  <asd20-social-menu :social-links="socialLinks" />
163
165
 
164
166
  <div class="copyright">
165
- Copyright &copy; {{ currentYear }} Academy District 20. All&nbsp;rights&nbsp;reserved.
167
+ Copyright &copy; {{ currentYear }} Academy District 20.
168
+ All&nbsp;rights&nbsp;reserved.
166
169
  </div>
167
170
 
168
171
  <slot />
@@ -235,7 +238,7 @@ export default {
235
238
  const hostname = url.hostname
236
239
 
237
240
  // Grab just the first part before ".asd20.org"
238
- const [subdomain] = hostname.split(".asd20.org")
241
+ const [subdomain] = hostname.split('.asd20.org')
239
242
 
240
243
  return `${subdomain}@asd20.org`
241
244
  } catch (e) {
@@ -260,9 +263,16 @@ export default {
260
263
  const isDistrict = this.organization.title === 'Academy District 20'
261
264
  const hasExteriorPhoto = this.organization.exteriorPhotoUrl
262
265
 
266
+ if (isDistrict) {
267
+ return {
268
+ '--asd20-district-footer-image':
269
+ "url('/_media/asd20-images/page-images/asd20-footer-image.jpg')",
270
+ }
271
+ }
272
+
263
273
  if (!isDistrict && hasExteriorPhoto) {
264
274
  return {
265
- '--school-exterior-photo-url': `url(${this.organization.exteriorPhotoUrl})`
275
+ '--school-exterior-photo-url': `url(${this.organization.exteriorPhotoUrl})`,
266
276
  }
267
277
  }
268
278
  return null
@@ -394,9 +404,11 @@ export default {
394
404
  }
395
405
 
396
406
  #page-footer.footer-image--district {
397
- background-image:
398
- linear-gradient(rgba(40, 80, 180, 0.6), rgba(40, 80, 180, 0.6)),
399
- url('https://asd20websitestorage.blob.core.windows.net/asd20-images/page-images/asd20-footer-image.jpg');
407
+ background-image: linear-gradient(
408
+ rgba(40, 80, 180, 0.6),
409
+ rgba(40, 80, 180, 0.6)
410
+ ),
411
+ var(--asd20-district-footer-image);
400
412
  background-repeat: no-repeat;
401
413
  background-size: cover;
402
414
  background-position: 10%;
@@ -428,7 +440,11 @@ export default {
428
440
  left: 0;
429
441
  right: 0;
430
442
  bottom: 0;
431
- background: color-mix(in srgb, var(--website-footer__background-color) 80%, transparent);
443
+ background: color-mix(
444
+ in srgb,
445
+ var(--website-footer__background-color) 80%,
446
+ transparent
447
+ );
432
448
  z-index: 1;
433
449
  }
434
450
 
@@ -478,7 +494,7 @@ export default {
478
494
  justify-content: space-between;
479
495
  padding-bottom: space(2);
480
496
  .footer-optional-logo {
481
- display:flex;
497
+ display: flex;
482
498
  flex-direction: row;
483
499
  a {
484
500
  display: block;
@@ -1,6 +1,9 @@
1
1
  <template>
2
2
  <div>
3
- <div class="photostrip"></div>
3
+ <div
4
+ class="photostrip"
5
+ :style="photoStripStyle"
6
+ ></div>
4
7
 
5
8
  <section
6
9
  class="asd20-primary-header"
@@ -55,6 +58,12 @@ export default {
55
58
  userGroupsList: { type: Array, default: () => [] },
56
59
  },
57
60
  computed: {
61
+ photoStripStyle() {
62
+ return {
63
+ '--asd20-photo-strip-image':
64
+ "url('/_media/asd20-images/page-images/ASD20PhotoStrip.jpg')",
65
+ }
66
+ },
58
67
  firstMessage() {
59
68
  return this.messages.length > 0 ? this.messages[0] : null
60
69
  },
@@ -88,7 +97,7 @@ export default {
88
97
  .photostrip {
89
98
  height: 25vh;
90
99
  width: 100%;
91
- background-image: url(https://asd20websitestorage.blob.core.windows.net/asd20-images/page-images/ASD20PhotoStrip.jpg);
100
+ background-image: var(--asd20-photo-strip-image);
92
101
  background-size: cover;
93
102
  background-position: center;
94
103
  background-attachment: scroll;
@@ -138,7 +147,7 @@ export default {
138
147
 
139
148
  /* -webkit-background-clip: text;*/
140
149
  /* -webkit-text-fill-color: transparent;*/
141
- /* background-image: url('https://asd20websitestorage.blob.core.windows.net/asd20-images/page-images/asd20-header-divider.jpg');*/
150
+ /* background-image: var(--asd20-header-divider-image);*/
142
151
  /* background-size: 30% auto;*/
143
152
  & :deep(.lead) {
144
153
  @include fluid-type($base-font-size * 1.2, $base-font-size * 1.4);
@@ -205,7 +214,7 @@ export default {
205
214
  /* top: space(-1);*/
206
215
  /* left: 0;*/
207
216
  /* height: space(3);*/
208
- /* background-image: url('https://asd20websitestorage.blob.core.windows.net/asd20-images/page-images/asd20-header-divider.jpg');*/
217
+ /* background-image: var(--asd20-header-divider-image);*/
209
218
  /* background-size: cover;*/
210
219
  /* background-position: 55% top;*/
211
220
  /* }*/
@@ -2,6 +2,7 @@
2
2
  <section
3
3
  class="asd20-tertiary-header"
4
4
  aria-label="Tertiary message"
5
+ :style="headerStyle"
5
6
  >
6
7
  <asd20-messaging v-bind="messages[2]"></asd20-messaging>
7
8
  </section>
@@ -24,6 +25,14 @@ export default {
24
25
  grid: { type: Boolean, default: false },
25
26
  forceDisplay: { type: Boolean, default: false },
26
27
  },
28
+ computed: {
29
+ headerStyle() {
30
+ return {
31
+ '--asd20-header-divider-image':
32
+ "url('/_media/asd20-images/page-images/asd20-header-divider.jpg')",
33
+ }
34
+ },
35
+ },
27
36
  }
28
37
  </script>
29
38
 
@@ -49,7 +58,7 @@ export default {
49
58
  color: var(--website-homepage-header__secondary-title-color);
50
59
  /* -webkit-background-clip: text;*/
51
60
  /* -webkit-text-fill-color: transparent;*/
52
- /* background-image: url('https://asd20websitestorage.blob.core.windows.net/asd20-images/page-images/asd20-header-divider.jpg');*/
61
+ /* background-image: var(--asd20-header-divider-image);*/
53
62
  /* background-size: 30% auto;*/
54
63
  }
55
64
  & :deep(.lead) {
@@ -90,7 +99,7 @@ export default {
90
99
  top: space(-1);
91
100
  left: 0;
92
101
  height: space(2);
93
- background-image: url('https://asd20websitestorage.blob.core.windows.net/asd20-images/page-images/asd20-header-divider.jpg');
102
+ background-image: var(--asd20-header-divider-image);
94
103
  background-size: cover;
95
104
  /* transform: translate3d(0, calc(-10% * var(--scroll-progress)), 0);*/
96
105
  /* opacity: 0.5;*/
@@ -103,7 +112,7 @@ export default {
103
112
  left: 0;
104
113
  bottom: space(-2);
105
114
  height: space(2);
106
- background-image: url('https://asd20websitestorage.blob.core.windows.net/asd20-images/page-images/asd20-header-divider.jpg');
115
+ background-image: var(--asd20-header-divider-image);
107
116
  transform: rotateY(180deg);
108
117
  background-size: cover;
109
118
  /* transform: translate3d(0, calc(-10% * var(--scroll-progress)), 0);*/