@asd20/ui-next 2.3.5 → 2.3.7

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,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.3.7](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.3.6...ui-next-v2.3.7) (2026-04-29)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * fix parallax issue on secondary header for tablet sizes ([3066da8](https://github.com/academydistrict20/asd20-ui-next/commit/3066da87418b5e958bfe37f9110cffd8f314766c))
9
+
10
+ ## [2.3.6](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.3.5...ui-next-v2.3.6) (2026-04-29)
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * remove page header category tags ([3bab2af](https://github.com/academydistrict20/asd20-ui-next/commit/3bab2af6825c3ff025ffcaba8c23846337601779))
16
+
3
17
  ## [2.3.5](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.3.4...ui-next-v2.3.5) (2026-04-28)
4
18
 
5
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asd20/ui-next",
3
- "version": "2.3.5",
3
+ "version": "2.3.7",
4
4
  "private": false,
5
5
  "description": "ASD20 UI component library for Vue 3.",
6
6
  "license": "MIT",
@@ -93,11 +93,6 @@
93
93
  </span>
94
94
  <asd20-formatted-date :date-time="modifiedDateTime" />
95
95
  </div>
96
- <asd20-tag-group
97
- v-if="categories.length"
98
- :tags="categories"
99
- class="date-prefix"
100
- />
101
96
  <slot name="meta" />
102
97
  </div>
103
98
  <div
@@ -194,7 +189,6 @@ import Asd20Breadcrumb from '../../../components/atoms/Asd20Breadcrumb'
194
189
  import Asd20LanguageTranslation from '../../molecules/Asd20LanguageTranslation'
195
190
  import Asd20Share from '../../molecules/Asd20Share'
196
191
  import Asd20FormattedDate from '../../atoms/Asd20FormattedDate'
197
- import Asd20TagGroup from '../../organisms/Asd20TagGroup'
198
192
 
199
193
  import truncate from 'lodash/truncate'
200
194
 
@@ -205,7 +199,6 @@ export default {
205
199
  // Asd20DistrictLogo,
206
200
  Asd20OrganizationPicker,
207
201
  Asd20Breadcrumb,
208
- Asd20TagGroup,
209
202
  Asd20LanguageTranslation,
210
203
  Asd20Share,
211
204
  Asd20FormattedDate,
@@ -255,7 +248,6 @@ export default {
255
248
  return (
256
249
  this.publishDateTime ||
257
250
  this.showModifiedDateTime ||
258
- this.categories.length ||
259
251
  this.$slots.meta
260
252
  )
261
253
  },
@@ -497,15 +489,12 @@ export default {
497
489
  }
498
490
 
499
491
  &__meta {
492
+ font-family: var(--website-typography__font-family-headlines);
493
+ font-size: 0.75rem;
494
+ font-weight: 400;
500
495
  margin-bottom: space(0.5);
501
- .asd20-tag-group {
502
- margin-left: -0.5em;
503
- }
504
496
  .date-prefix {
505
- @include asd20-font(
506
- 0.6,
507
- var(--website-typography__font-family-headlines)
508
- );
497
+ font: inherit;
509
498
  }
510
499
  .modified-meta {
511
500
  display: inline-block;
@@ -514,10 +503,7 @@ export default {
514
503
  margin-left: 0.25em;
515
504
  }
516
505
  .asd20-formatted-date {
517
- @include asd20-font(
518
- 0.6,
519
- var(--website-typography__font-family-headlines)
520
- );
506
+ font: inherit;
521
507
  }
522
508
  }
523
509
 
@@ -143,6 +143,7 @@ export default {
143
143
  },
144
144
  data() {
145
145
  return {
146
+ isTouchCapableDevice: false,
146
147
  parallaxEnabled: false,
147
148
  intersectionObserver: null,
148
149
  parallaxRaf: null,
@@ -151,9 +152,16 @@ export default {
151
152
  }
152
153
  },
153
154
  computed: {
155
+ shouldUseParallax() {
156
+ return !this.isTouchCapableDevice
157
+ },
154
158
  headerClasses() {
155
159
  return {
156
160
  'asd20-secondary-header': true,
161
+ 'asd20-secondary-header--desktop-background':
162
+ this.hasSecondaryHeaderImage,
163
+ 'asd20-secondary-header--parallax-enabled-background':
164
+ this.hasSecondaryHeaderImage && this.shouldUseParallax,
157
165
  'asd20-secondary-header--hide-desktop-image':
158
166
  !this.shouldShowDesktopInlineImage,
159
167
  }
@@ -206,13 +214,20 @@ export default {
206
214
  },
207
215
  },
208
216
  mounted() {
217
+ if (typeof window !== 'undefined') {
218
+ this.isTouchCapableDevice = Boolean(
219
+ window.matchMedia?.('(pointer: coarse)').matches ||
220
+ window.navigator?.maxTouchPoints > 0
221
+ )
222
+ }
223
+
209
224
  // Respect reduced motion
210
225
  const prefersReduced =
211
226
  typeof window !== 'undefined' &&
212
227
  window.matchMedia &&
213
228
  window.matchMedia('(prefers-reduced-motion: reduce)').matches
214
229
 
215
- if (prefersReduced) return
230
+ if (prefersReduced || !this.shouldUseParallax) return
216
231
 
217
232
  this.handleScroll = () => this.scheduleParallaxUpdate()
218
233
  this.handleResize = () => this.scheduleParallaxUpdate()
@@ -557,14 +572,17 @@ export default {
557
572
  -webkit-mask: url(#secondary-accent-mask-desktop);
558
573
  }
559
574
 
560
- .asd20-secondary-header {
575
+ }
576
+
577
+ @media (min-width: 1024px) {
578
+ .asd20-secondary-header--desktop-background {
561
579
  padding: space(3) space(3) space(2) space(3);
562
580
  background-color: var(--website-homepage-header__secondary-background-color);
563
581
  background-image: var(--secondary-header-image);
564
582
  background-position: center;
565
583
  background-repeat: no-repeat;
566
584
  background-size: cover;
567
- background-attachment: fixed;
585
+ background-attachment: scroll;
568
586
  padding-top: 70px;
569
587
 
570
588
  mask: url(#secondary-header-mask-desktop);
@@ -601,47 +619,6 @@ export default {
601
619
  margin: space(0.5) space(0.5) 0 0 !important;
602
620
  padding: space(0.5) space(1.5);
603
621
  }
604
- .secondary-parallax__field {
605
- transform: translate3d(0px, var(--secondary-parallax-y2, 0px), 0)
606
- rotate(-5deg);
607
- /* background: radial-gradient(*/
608
- /* 280% 155% at 20% 110%,*/
609
- /* rgba(255, 255, 255, 0) 0%,*/
610
- /* rgba(255, 255, 255, 0) 62%,*/
611
- /* rgba(188, 220, 250, 0.95) 70%,*/
612
- /* rgba(255, 255, 255, 0) 72%*/
613
- /* );*/
614
- filter: none;
615
- opacity: 0.9;
616
- mask-image: linear-gradient(
617
- 90deg,
618
- rgba(0, 0, 0, 0.85) 0%,
619
- rgba(0, 0, 0, 1) 85%
620
- );
621
- -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,1) 85%);
622
- }
623
-
624
- /* Layer 3: highlight ribbons (brighter curves) */
625
- .secondary-parallax__ribbons {
626
- transform: translate3d(0, var(--secondary-parallax-y3, 0px), 0)
627
- rotate(-3deg);
628
-
629
- background: radial-gradient(
630
- 180% 160% at 40% 110%,
631
- rgba(255, 255, 255, 0) 0%,
632
- rgba(255, 255, 255, 0) 60%,
633
- rgba(255, 255, 255, 0.9) 64%,
634
- rgba(255, 255, 255, 0) 70%
635
- );
636
- opacity: 0.9;
637
- filter: none;
638
- mask-image: linear-gradient(
639
- 90deg,
640
- rgba(0, 0, 0, 0.3) 0%,
641
- rgba(0, 0, 0, 1) 70%
642
- );
643
- -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,1) 70%);
644
- }
645
622
 
646
623
  & :deep(.message-image) {
647
624
  display: flex;
@@ -657,7 +634,58 @@ export default {
657
634
  }
658
635
  }
659
636
 
660
- .asd20-secondary-header--hide-desktop-image {
637
+ .asd20-secondary-header--desktop-background .secondary-parallax {
638
+ display: block;
639
+ }
640
+
641
+ .asd20-secondary-header--desktop-background .secondary-parallax__field,
642
+ .asd20-secondary-header--desktop-background .secondary-parallax__ribbons {
643
+ display: none;
644
+ }
645
+
646
+ .asd20-secondary-header--parallax-enabled-background {
647
+ background-attachment: fixed;
648
+ }
649
+
650
+ .asd20-secondary-header--parallax-enabled-background .secondary-parallax__field,
651
+ .asd20-secondary-header--parallax-enabled-background .secondary-parallax__ribbons {
652
+ display: block;
653
+ }
654
+
655
+ .asd20-secondary-header--parallax-enabled-background .secondary-parallax__field {
656
+ transform: translate3d(0px, var(--secondary-parallax-y2, 0px), 0)
657
+ rotate(-5deg);
658
+ filter: none;
659
+ opacity: 0.9;
660
+ mask-image: linear-gradient(
661
+ 90deg,
662
+ rgba(0, 0, 0, 0.85) 0%,
663
+ rgba(0, 0, 0, 1) 85%
664
+ );
665
+ -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,1) 85%);
666
+ }
667
+
668
+ .asd20-secondary-header--parallax-enabled-background .secondary-parallax__ribbons {
669
+ transform: translate3d(0, var(--secondary-parallax-y3, 0px), 0)
670
+ rotate(-3deg);
671
+ background: radial-gradient(
672
+ 180% 160% at 40% 110%,
673
+ rgba(255, 255, 255, 0) 0%,
674
+ rgba(255, 255, 255, 0) 60%,
675
+ rgba(255, 255, 255, 0.9) 64%,
676
+ rgba(255, 255, 255, 0) 70%
677
+ );
678
+ opacity: 0.9;
679
+ filter: none;
680
+ mask-image: linear-gradient(
681
+ 90deg,
682
+ rgba(0, 0, 0, 0.3) 0%,
683
+ rgba(0, 0, 0, 1) 70%
684
+ );
685
+ -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,1) 70%);
686
+ }
687
+
688
+ .asd20-secondary-header--desktop-background.asd20-secondary-header--hide-desktop-image {
661
689
  & :deep(.asd20-messaging--fullscreen > .message-image) {
662
690
  display: none;
663
691
  }