@asd20/ui 3.2.430 → 3.2.433

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/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "*.scss",
6
6
  "*.vue"
7
7
  ],
8
- "version": "3.2.430",
8
+ "version": "3.2.433",
9
9
  "private": false,
10
10
  "license": "MIT",
11
11
  "repository": {
@@ -2,6 +2,7 @@
2
2
  <div class="asd20-picker" :class="{ 'asd20-picker--reversed': reversed }">
3
3
  <slot />
4
4
  <asd20-button
5
+ class="picker-button"
5
6
  :label="buttonLabel"
6
7
  @click.native="open = true"
7
8
  icon="chevron"
@@ -21,6 +22,9 @@
21
22
  :icon="modalIcon"
22
23
  >
23
24
  <asd20-viewport scrollable>
25
+ <asd20-list-item class="district-link">
26
+ <a href="https://asd20.org">Academy District 20 Website</a>
27
+ </asd20-list-item>
24
28
  <asd20-accordion :opened="true" label="Favorites">
25
29
  <transition-group name="fade" mode="in-out">
26
30
  <!-- <asd20-checkbox
@@ -66,6 +70,7 @@
66
70
  :icon="icon"
67
71
  v-on:eventLabelClick="catchFavorites"
68
72
  /> -->
73
+
69
74
  <div
70
75
  class="favorite-list-item"
71
76
  v-for="item in categoryItem.itemsSorted"
@@ -89,12 +94,13 @@
89
94
  </template>
90
95
 
91
96
  <script>
92
- import Asd20Checkbox from '../../atoms/Asd20Checkbox'
97
+ // import Asd20Checkbox from '../../atoms/Asd20Checkbox'
93
98
  import Asd20Modal from '../../molecules/Asd20Modal'
94
99
  import Asd20Button from '../../atoms/Asd20Button'
95
100
  import Asd20Icon from '../../atoms/Asd20Icon'
96
101
  import Asd20Accordion from '../../molecules/Asd20Accordion'
97
102
  import Asd20Viewport from '../../atoms/Asd20Viewport'
103
+ import Asd20ListItem from '../../molecules/Asd20ListItem'
98
104
 
99
105
  // Functionality
100
106
  import { setCookie, getCookie } from '../../../helpers/cookieRecipe'
@@ -104,12 +110,13 @@ export default {
104
110
  name: 'Asd20Picker',
105
111
 
106
112
  components: {
107
- Asd20Checkbox,
113
+ // Asd20Checkbox,
108
114
  Asd20Modal,
109
115
  Asd20Button,
110
116
  Asd20Icon,
111
117
  Asd20Accordion,
112
118
  Asd20Viewport,
119
+ Asd20ListItem,
113
120
  },
114
121
  props: {
115
122
  // All items of that type that exist
@@ -236,6 +243,9 @@ export default {
236
243
  .asd20-picker {
237
244
  position: relative;
238
245
  display: flex;
246
+ .picker-button {
247
+ // margin: space(0.1) space(0);
248
+ }
239
249
  .favorite-list-item {
240
250
  display: flex;
241
251
  align-items: center;
@@ -259,7 +269,8 @@ export default {
259
269
  }
260
270
  .asd20-button {
261
271
  position: relative;
262
- margin-left: space(1);
272
+ margin-left: space(0.5);
273
+ padding: space(0.5) space(0.25);
263
274
  &::before {
264
275
  content: '';
265
276
  position: absolute;
@@ -282,20 +293,35 @@ export default {
282
293
  }
283
294
 
284
295
  .asd20-picker__modal {
296
+ .district-link {
297
+ margin-left: space(0.5) !important;
298
+ font-weight: bold;
299
+ font-size: 1rem;
300
+ a {
301
+ color: var(--website-page__title-color);
302
+ text-decoration: none;
303
+ }
304
+ }
285
305
  height: min-content;
286
306
  &::v-deep .asd20-accordion__content {
287
307
  padding: 0;
288
308
  }
289
- &::v-deep .asd20-checkbox {
290
- margin-left: space(1);
291
- width: auto;
292
- }
309
+ // &::v-deep .asd20-checkbox {
310
+ // margin-left: space(1);
311
+ // width: auto;
312
+ // }
293
313
  }
294
314
 
295
315
  @media (min-width: 1024px) {
316
+ .asd20-picker {
317
+ .picker-button {
318
+ margin: space(0.75);
319
+ }
320
+ }
296
321
  .asd20-picker__modal {
297
322
  &::v-deep .asd20-modal {
298
- width: 30vw;
323
+ width: 40vw;
324
+ min-width: 400px;
299
325
  flex-grow: 0;
300
326
  height: min-content;
301
327
  }
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <header class="asd20-app-header">
3
3
  <asd20-button
4
+ v-show="!zoomed"
4
5
  class="back-button"
5
6
  icon="chevron"
6
7
  :icon-angle="-90"
@@ -38,6 +39,18 @@ export default {
38
39
  backLink: { type: String, default: 'https://www.asd20.org' },
39
40
  backLabel: { type: String, default: 'asd20.org' },
40
41
  },
42
+ data: () => ({
43
+ zoomed: false,
44
+ }),
45
+ mounted() {
46
+ this.zoomed = window.innerHeight <= 500
47
+ window.addEventListener('resize', this.handleResize)
48
+ },
49
+ methods: {
50
+ handleResize() {
51
+ this.zoomed = window.innerHeight <= 500
52
+ },
53
+ },
41
54
  }
42
55
  </script>
43
56
 
@@ -6,16 +6,15 @@
6
6
  role="banner"
7
7
  >
8
8
  <div class="asd20-image-header__top" v-if="organizationOptions.length > 0">
9
- <asd20-district-logo
9
+ <!-- <asd20-district-logo
10
10
  v-show="
11
11
  organization.title === 'Academy District 20' &&
12
12
  mq !== 'sm' &&
13
13
  mq !== 'md'
14
14
  "
15
- ></asd20-district-logo>
15
+ ></asd20-district-logo> -->
16
16
  <client-only>
17
17
  <asd20-organization-picker
18
- v-show="organization.title !== 'Academy District 20'"
19
18
  :organization-options="organizationOptions"
20
19
  :organization="organization"
21
20
  ></asd20-organization-picker>
@@ -71,6 +70,12 @@
71
70
  v-if="publishDateTime"
72
71
  :dateTime="publishDateTime"
73
72
  />
73
+ <br />
74
+ <span v-if="modifiedDateTime" class="date-prefix">Updated:</span>
75
+ <asd20-formatted-date
76
+ v-if="modifiedDateTime"
77
+ :dateTime="modifiedDateTime"
78
+ />
74
79
  <asd20-tag-group v-if="categories.length" :tags="categories" />
75
80
  <slot name="meta" />
76
81
  </div>
@@ -136,7 +141,7 @@
136
141
  <script>
137
142
  import scrollTrack from '../../../directives/scroll-track'
138
143
  import Asd20Button from '../../atoms/Asd20Button'
139
- import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
144
+ // import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
140
145
  import Asd20OrganizationPicker from '../../../components/organisms/Asd20OrganizationPicker'
141
146
  import Asd20Breadcrumb from '../../../components/atoms/Asd20Breadcrumb'
142
147
  import Asd20LanguageTranslation from '../../molecules/Asd20LanguageTranslation'
@@ -148,7 +153,7 @@ export default {
148
153
  name: 'Asd20ImageHeader',
149
154
  components: {
150
155
  Asd20Button,
151
- Asd20DistrictLogo,
156
+ // Asd20DistrictLogo,
152
157
  Asd20OrganizationPicker,
153
158
  Asd20Breadcrumb,
154
159
  Asd20TagGroup,
@@ -316,13 +321,13 @@ export default {
316
321
  align-items: center;
317
322
  padding: space(0.5) space(1);
318
323
 
319
- &::v-deep .asd20-picker {
324
+ &::v-deep .asd20-organization-picker {
320
325
  display: none;
321
326
  }
322
327
 
323
- &::v-deep .asd20-district-logo {
324
- display: none;
325
- }
328
+ // &::v-deep .asd20-district-logo {
329
+ // display: none;
330
+ // }
326
331
 
327
332
  &::v-deep .notification-group--status {
328
333
  margin-top: space(0.5);
@@ -392,13 +397,13 @@ export default {
392
397
  }
393
398
 
394
399
  &__call-to-action {
395
- margin: space(-1) space(2) space(-1) space(1);
400
+ margin: space(-1) space(1) space(-1) space(1);
396
401
  z-index: 1;
397
402
  display: flex;
398
403
  .asd20-button {
399
404
  box-sizing: border-box;
400
- flex-grow: 1;
401
- max-width: 40vw;
405
+ flex-shrink: 1;
406
+ // max-width: 40vw;
402
407
  min-height: space(2);
403
408
  font-size: 0.875rem !important;
404
409
  background-color: var(
@@ -462,9 +467,9 @@ export default {
462
467
  width: 100%;
463
468
  height: 100%;
464
469
  background: linear-gradient(
465
- 70deg,
470
+ 30deg,
466
471
  rgba(6, 11, 31, 0.7) 10%,
467
- rgba(6, 11, 31, 0.5) 40%,
472
+ rgba(6, 11, 31, 0.5) 50%,
468
473
  transparent 70%
469
474
  );
470
475
  }
@@ -478,11 +483,11 @@ export default {
478
483
  left: 0;
479
484
  }
480
485
  &__title-content {
481
- max-width: 50%;
486
+ max-width: 80%;
482
487
  }
483
488
 
484
489
  &::after {
485
- top: space(5);
490
+ top: space(6);
486
491
  bottom: space(-2);
487
492
  right: space(0);
488
493
  left: space(4);
@@ -511,30 +516,33 @@ export default {
511
516
  padding: 0 space(3);
512
517
  z-index: 5;
513
518
  }
514
-
515
- &__call-to-action {
516
- margin: space(-1) 60vw space(-1) space(3);
517
- .asd20-button {
518
- font-size: 1rem !important;
519
- }
520
- }
521
519
  }
522
520
  }
523
521
 
524
522
  @media (min-width: 1024px) {
525
523
  .asd20-image-header {
526
- &::v-deep .asd20-picker {
524
+ .add-fade {
525
+ &::before {
526
+ background: linear-gradient(
527
+ 70deg,
528
+ rgba(6, 11, 31, 0.7) 10%,
529
+ rgba(6, 11, 31, 0.5) 40%,
530
+ transparent 70%
531
+ );
532
+ }
533
+ }
534
+ &::v-deep .asd20-organization-picker {
527
535
  display: flex;
528
- margin: space(1) auto space(1) 0;
536
+ margin: space(0) auto space(0) space(0);
529
537
  }
530
538
 
531
- &::v-deep .asd20-district-logo {
532
- height: space(1.5);
533
- margin: space(1) auto space(1) 0;
534
- display: block;
535
- --fill-one: var(--color__primary);
536
- --fill-two: var(--color__secondary-t30);
537
- }
539
+ // &::v-deep .asd20-district-logo {
540
+ // height: space(1.5);
541
+ // margin: space(1) auto space(1) 0;
542
+ // display: block;
543
+ // --fill-one: var(--color__primary);
544
+ // --fill-two: var(--color__secondary-t30);
545
+ // }
538
546
  &__image {
539
547
  max-height: 60vh;
540
548
  }
@@ -550,6 +558,19 @@ export default {
550
558
  order: 2;
551
559
  }
552
560
  }
561
+ &__title-content {
562
+ max-width: 50%;
563
+ }
564
+ &__call-to-action {
565
+ margin: space(-1) 60vw space(-1) space(3);
566
+ .asd20-button {
567
+ font-size: 1rem !important;
568
+ flex-shrink: 0;
569
+ }
570
+ }
571
+ &__top {
572
+ margin: space(0.5) 0;
573
+ }
553
574
 
554
575
  .back {
555
576
  padding: 0;
@@ -1,26 +1,37 @@
1
1
  <template>
2
- <Asd20Picker
3
- icon="star"
4
- cookieLabel="OrganizationPicker"
5
- :items="organizationOptions"
6
- :itemsByCategory="orgItemsByCategory"
7
- :modalLabel="modalLabel"
8
- :reversed="reversed"
2
+ <div
3
+ class="asd20-organization-picker"
4
+ :class="{ 'asd20-organization-picker--reversed': reversed }"
9
5
  >
10
- <asd20-logo
11
- :title="orgTitle"
12
- :subtitle="orgLevel"
13
- :image="organization.logoImageUrl"
14
- :link="organization.website"
15
- :size="logoSize"
16
- bordered
6
+ <asd20-picker
7
+ :class="{ 'asd20-picker--reversed': reversed }"
8
+ icon="star"
9
+ cookieLabel="OrganizationPicker"
10
+ :items="organizationOptions"
11
+ :itemsByCategory="orgItemsByCategory"
12
+ :modalLabel="modalLabel"
17
13
  :reversed="reversed"
18
- :abbreviated="abbreviated"
19
- />
20
- </Asd20Picker>
14
+ >
15
+ <asd20-district-logo
16
+ v-show="organization.title === 'Academy District 20'"
17
+ ></asd20-district-logo>
18
+ <asd20-logo
19
+ v-show="organization.title !== 'Academy District 20'"
20
+ :title="orgTitle"
21
+ :subtitle="orgLevel"
22
+ :image="organization.logoImageUrl"
23
+ :link="organization.website"
24
+ :size="logoSize"
25
+ bordered
26
+ :reversed="reversed"
27
+ :abbreviated="abbreviated"
28
+ />
29
+ </asd20-picker>
30
+ </div>
21
31
  </template>
22
32
 
23
33
  <script>
34
+ import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
24
35
  import Asd20Picker from '../../molecules/Asd20Picker'
25
36
  import Asd20Logo from '../../atoms/Asd20Logo'
26
37
  import {
@@ -31,6 +42,7 @@ import {
31
42
  export default {
32
43
  name: 'Asd20OrganizationPicker',
33
44
  components: {
45
+ Asd20DistrictLogo,
34
46
  Asd20Picker,
35
47
  Asd20Logo,
36
48
  },
@@ -46,6 +58,9 @@ export default {
46
58
  },
47
59
 
48
60
  computed: {
61
+ // mq() {
62
+ // return this.$mq || 'sm'
63
+ // },
49
64
  orgItemsByCategory() {
50
65
  let categories = ['Elementary', 'Middle', 'High']
51
66
  let sorted = []
@@ -83,4 +98,43 @@ export default {
83
98
  }
84
99
  </script>
85
100
 
86
- <style lang="scss" scoped></style>
101
+ <style lang="scss" scoped>
102
+ @import '../../../design/_variables.scss';
103
+ @import '../../../design/_mixins.scss';
104
+
105
+ .asd20-organization-picker {
106
+ .asd20-district-logo {
107
+ margin: auto;
108
+ padding-left: space(0.25);
109
+ }
110
+ }
111
+ @media (min-width: 768px) {
112
+ .asd20-organization-picker {
113
+ .asd20-district-logo {
114
+ height: space(1.5);
115
+ padding-left: 0 !important;
116
+ }
117
+ }
118
+ }
119
+
120
+ @media (min-width: 1024px) {
121
+ .asd20-organization-picker {
122
+ .asd20-district-logo {
123
+ height: space(1.5);
124
+ margin: space(1) auto space(1) 0;
125
+ display: block;
126
+ --fill-one: var(--color__primary);
127
+ --fill-two: var(--color__secondary-t30);
128
+ }
129
+ &--reversed {
130
+ .asd20-district-logo {
131
+ height: space(1.5);
132
+ margin: space(1) auto space(1) 0;
133
+ display: block;
134
+ --fill-one: white;
135
+ --fill-two: white;
136
+ }
137
+ }
138
+ }
139
+ }
140
+ </style>
@@ -6,16 +6,8 @@
6
6
  role="banner"
7
7
  >
8
8
  <div class="asd20-page-header__top" v-if="organizationOptions.length > 0">
9
- <asd20-district-logo
10
- v-show="
11
- organization.title === 'Academy District 20' &&
12
- mq !== 'sm' &&
13
- mq !== 'md'
14
- "
15
- ></asd20-district-logo>
16
9
  <client-only>
17
10
  <asd20-organization-picker
18
- v-show="organization.title !== 'Academy District 20'"
19
11
  :organization-options="organizationOptions"
20
12
  :organization="organization"
21
13
  ></asd20-organization-picker>
@@ -142,7 +134,7 @@
142
134
  <script>
143
135
  import scrollTrack from '../../../directives/scroll-track'
144
136
  import Asd20Button from '../../atoms/Asd20Button'
145
- import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
137
+ // import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
146
138
  import Asd20OrganizationPicker from '../../../components/organisms/Asd20OrganizationPicker'
147
139
  import Asd20Breadcrumb from '../../../components/atoms/Asd20Breadcrumb'
148
140
  import Asd20LanguageTranslation from '../../molecules/Asd20LanguageTranslation'
@@ -154,7 +146,7 @@ export default {
154
146
  name: 'Asd20PageHeader',
155
147
  components: {
156
148
  Asd20Button,
157
- Asd20DistrictLogo,
149
+ // Asd20DistrictLogo,
158
150
  Asd20OrganizationPicker,
159
151
  Asd20Breadcrumb,
160
152
  Asd20TagGroup,
@@ -323,13 +315,13 @@ export default {
323
315
  align-items: center;
324
316
  padding: space(0.5) space(1);
325
317
 
326
- &::v-deep .asd20-picker {
318
+ &::v-deep .asd20-organization-picker {
327
319
  display: none;
328
320
  }
329
321
 
330
- &::v-deep .asd20-district-logo {
331
- display: none;
332
- }
322
+ // &::v-deep .asd20-district-logo {
323
+ // display: none;
324
+ // }
333
325
 
334
326
  &::v-deep .notification-group--status {
335
327
  margin-top: space(0.5);
@@ -398,13 +390,13 @@ export default {
398
390
  }
399
391
 
400
392
  &__call-to-action {
401
- margin: space(-1) space(2) space(-1) space(1);
393
+ margin: space(-1) space(1) space(-1) space(1);
402
394
  z-index: 1;
403
395
  display: flex;
404
396
  .asd20-button {
405
397
  box-sizing: border-box;
406
- flex-grow: 1;
407
- max-width: 40vw;
398
+ flex-shrink: 1;
399
+ // max-width: 40vw;
408
400
  min-height: space(2);
409
401
  font-size: 0.875rem !important;
410
402
  background-color: var(
@@ -460,7 +452,7 @@ export default {
460
452
  padding: 0;
461
453
  }
462
454
  &::after {
463
- top: space(5);
455
+ top: space(6);
464
456
  bottom: space(-2);
465
457
  right: space(0);
466
458
  left: space(4);
@@ -513,21 +505,22 @@ export default {
513
505
  }
514
506
  }
515
507
 
516
- &::v-deep .asd20-picker {
508
+ &::v-deep .asd20-organization-picker {
517
509
  display: flex;
518
- margin: space(1) auto space(1) 0;
510
+ margin: space(0) auto space(0) space(0);
519
511
  }
520
512
 
521
- &::v-deep .asd20-district-logo {
522
- height: space(1.5);
523
- margin: space(1) auto space(1) 0;
524
- display: block;
525
- --fill-one: var(--color__primary);
526
- --fill-two: var(--color__secondary-t30);
527
- }
513
+ // &::v-deep .asd20-district-logo {
514
+ // height: space(1.5);
515
+ // margin: space(1) auto space(1) 0;
516
+ // display: block;
517
+ // --fill-one: var(--color__primary);
518
+ // --fill-two: var(--color__secondary-t30);
519
+ // }
528
520
 
529
521
  &__top {
530
522
  padding: 0 space(3);
523
+ margin: space(0.5) 0;
531
524
  }
532
525
  &__tools {
533
526
  flex-direction: row-reverse;
@@ -550,6 +543,7 @@ export default {
550
543
  margin: space(-1) 60vw space(-1) space(3);
551
544
  .asd20-button {
552
545
  font-size: 1rem !important;
546
+ flex-shrink: 0;
553
547
  }
554
548
  }
555
549
  }
@@ -12,18 +12,14 @@
12
12
  :collapsed="collapsed"
13
13
  @keyboardTriggeredLastAction="keyboardTriggeredLastAction = $event"
14
14
  >
15
- <asd20-district-logo
15
+ <!-- <asd20-district-logo
16
16
  v-show="
17
17
  organization.title === 'Academy District 20' &&
18
18
  (mq === 'sm' || mq === 'md')
19
19
  "
20
- ></asd20-district-logo>
20
+ ></asd20-district-logo> -->
21
21
  <client-only>
22
22
  <asd20-organization-picker
23
- v-show="
24
- organization.title !== 'Academy District 20' &&
25
- (mq === 'sm' || mq === 'md')
26
- "
27
23
  :organization-options="organizationOptions"
28
24
  :organization="organization"
29
25
  logoSize="xs"
@@ -95,7 +91,7 @@ import Asd20ActionMenu from '../../../components/organisms/Asd20ActionMenu'
95
91
  import Asd20SiteMenu from '../../../components/organisms/Asd20SiteMenu'
96
92
  import Asd20SiteSearch from '../../../components/organisms/Asd20SiteSearch'
97
93
  import Asd20Navbar from '../../../components/organisms/Asd20Navbar'
98
- import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
94
+ // import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
99
95
  import Asd20OrganizationPicker from '../../../components/organisms/Asd20OrganizationPicker'
100
96
 
101
97
  import VScrollLock from 'v-scroll-lock'
@@ -108,7 +104,7 @@ export default {
108
104
  Asd20SiteMenu,
109
105
  Asd20SiteSearch,
110
106
  Asd20Navbar,
111
- Asd20DistrictLogo,
107
+ // Asd20DistrictLogo,
112
108
  Asd20OrganizationPicker,
113
109
  },
114
110
  props: {
@@ -35,7 +35,11 @@
35
35
  </template>
36
36
  </asd20-app-header>
37
37
  <nav
38
- class="asd20-app-template__toolbar"
38
+ :class="
39
+ zoomed
40
+ ? 'asd20-app-template__toolbar asd20-app-template__toolbar-zoomed'
41
+ : 'asd20-app-template__toolbar'
42
+ "
39
43
  v-if="searchable || $slots['toolbar-start'] || $slots['toolbar-end']"
40
44
  >
41
45
  <slot name="toolbar-start"></slot>
@@ -168,7 +172,17 @@ export default {
168
172
 
169
173
  data: () => ({
170
174
  sidebarOpen: false,
175
+ zoomed: false,
171
176
  }),
177
+ mounted() {
178
+ this.zoomed = window.innerHeight <= 500
179
+ window.addEventListener('resize', this.handleResize)
180
+ },
181
+ methods: {
182
+ handleResize() {
183
+ this.zoomed = window.innerHeight <= 500
184
+ },
185
+ },
172
186
  }
173
187
  </script>
174
188
 
@@ -192,6 +206,7 @@ export default {
192
206
  border-bottom: 1px solid var(--color__tertiary);
193
207
  flex-shrink: 0;
194
208
  display: flex;
209
+ flex-wrap: wrap;
195
210
  align-items: center;
196
211
  .asd20-search-field {
197
212
  flex-grow: 1;
@@ -202,6 +217,9 @@ export default {
202
217
  }
203
218
  }
204
219
  }
220
+ &__toolbar-zoomed {
221
+ flex-wrap: nowrap;
222
+ }
205
223
 
206
224
  &__main {
207
225
  position: relative;
@@ -233,7 +233,7 @@ export default {
233
233
  margin-top: 0;
234
234
  .asd20-notification-group--floating {
235
235
  position: absolute;
236
- top: space(1.5);
236
+ // top: space(1.5);
237
237
  // .bell {
238
238
  // span {
239
239
  // background: var(--color__accent);
@@ -60,7 +60,13 @@
60
60
 
61
61
  <!-- Headers -->
62
62
  <section class="logo-header">
63
- <asd20-district-logo v-show="mq !== 'sm' && mq !== 'md'" />
63
+ <client-only>
64
+ <asd20-organization-picker
65
+ :organization-options="organizationOptions"
66
+ :organization="organization"
67
+ ></asd20-organization-picker>
68
+ </client-only>
69
+ <slot name="top" />
64
70
  <template>
65
71
  <div class="header-notifications">
66
72
  <client-only>
@@ -210,7 +216,9 @@ import Asd20PageFooter from '../../../components/organisms/Asd20PageFooter'
210
216
  import Asd20SiteNavigation from '../../../components/organisms/Asd20SiteNavigation'
211
217
  import Asd20QuicklinksMenu from '../../../components/organisms/Asd20QuicklinksMenu'
212
218
  // import Asd20PageContent from '../../../components/organisms/Asd20PageContent'
213
- import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
219
+ import Asd20OrganizationPicker from '../../../components/organisms/Asd20OrganizationPicker'
220
+
221
+ // import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
214
222
  import Asd20NotificationGroup from '@asd20/notifications-ui/src/components/Asd20NotificationGroup'
215
223
  // import Asd20FactoidsSection from '../../../components/organisms/Asd20FactoidsSection'
216
224
  import Asd20FeedsSection from '../../../components/organisms/Asd20FeedsSection'
@@ -239,7 +247,8 @@ export default {
239
247
  Asd20PageFooter,
240
248
  Asd20SiteNavigation,
241
249
  Asd20QuicklinksMenu,
242
- Asd20DistrictLogo,
250
+ // Asd20DistrictLogo,
251
+ Asd20OrganizationPicker,
243
252
  Asd20NotificationGroup,
244
253
  // Asd20FactoidsSection,
245
254
  Asd20FeedsSection,
@@ -277,8 +286,8 @@ export default {
277
286
  display: flex;
278
287
  justify-content: space-between;
279
288
  align-items: center;
280
- & /deep/ .asd20-district-logo {
281
- height: space(3);
289
+ .asd20-picker {
290
+ display: none;
282
291
  }
283
292
  & /deep/ .notification-group--status .notifications {
284
293
  padding: 0.25em;
@@ -352,6 +361,7 @@ export default {
352
361
  display: block;
353
362
  margin-left: space(3);
354
363
  margin-top: 0;
364
+
355
365
  .logo-header {
356
366
  --fill-one: #0e2c6c;
357
367
  --fill-two: #9fa1a2;
@@ -360,19 +370,11 @@ export default {
360
370
  z-index: 3;
361
371
  display: flex;
362
372
  justify-content: space-between;
363
- // .notification-group--floating {
364
- // .bell {
365
- // span {
366
- // background: var(--color__accent);
367
- // top: -0.6em !important;
368
- // right: -0.6em !important;
369
- // }
370
- // }
371
- // }
372
- .asd20-district-logo {
373
- margin: space(1) space(1) space(1) space(1);
374
- line-height: 2;
375
- min-width: 30rem;
373
+ .asd20-picker {
374
+ display: inherit;
375
+ .asd20-district-logo {
376
+ height: space(3) !important;
377
+ }
376
378
  }
377
379
  .header-notifications {
378
380
  display: flex;
@@ -392,8 +394,8 @@ export default {
392
394
  }
393
395
  }
394
396
  }
395
- #site-navigation .asd20-district-logo {
396
- display: none;
397
- }
397
+ // #site-navigation .asd20-district-logo {
398
+ // display: none;
399
+ // }
398
400
  }
399
401
  </style>
@@ -33,9 +33,15 @@
33
33
  v-if="pageHeaderContent"
34
34
  v-bind="pageHeaderContent"
35
35
  >
36
- <asd20-district-logo slot="top" v-show="mq !== 'sm' && mq !== 'md'" />
37
-
38
36
  <template slot="top">
37
+ <client-only>
38
+ <asd20-organization-picker
39
+ :organization-options="organizationOptions"
40
+ :organization="organization"
41
+ reversed
42
+ ></asd20-organization-picker>
43
+ </client-only>
44
+
39
45
  <client-only>
40
46
  <asd20-notification-group
41
47
  :notifications="activeNotificationsByType.status"
@@ -88,10 +94,10 @@
88
94
  <slot name="page-footer" />
89
95
 
90
96
  <!-- analytics requested by Kyle Blakely -->
91
- <img
97
+ <!-- <img
92
98
  src="https://jelly.mdhv.io/v1/star.gif?pid=ipUavA655F50RvTSoYZIJU2vFFFB&src=mh&evt=hi"
93
99
  alt=""
94
- />
100
+ /> -->
95
101
  </asd20-page-footer>
96
102
  </div>
97
103
  </template>
@@ -108,7 +114,8 @@ import Asd20SkipTo from '../../../components/atoms/Asd20SkipTo'
108
114
  import Asd20PageFooter from '../../../components/organisms/Asd20PageFooter'
109
115
  import Asd20SiteNavigation from '../../../components/organisms/Asd20SiteNavigation'
110
116
  import Asd20QuicklinksMenu from '../../../components/organisms/Asd20QuicklinksMenu'
111
- import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
117
+ // import Asd20DistrictLogo from '../../../components/atoms/Asd20DistrictLogo'
118
+ import Asd20OrganizationPicker from '../../../components/organisms/Asd20OrganizationPicker'
112
119
  import Asd20NotificationGroup from '@asd20/notifications-ui/src/components/Asd20NotificationGroup'
113
120
  // import Asd20FactoidsSection from '../../../components/organisms/Asd20FactoidsSection'
114
121
  import Asd20FeedsSection from '../../../components/organisms/Asd20FeedsSection'
@@ -134,7 +141,8 @@ export default {
134
141
  Asd20PageFooter,
135
142
  Asd20SiteNavigation,
136
143
  Asd20QuicklinksMenu,
137
- Asd20DistrictLogo,
144
+ // Asd20DistrictLogo,
145
+ Asd20OrganizationPicker,
138
146
  Asd20NotificationGroup,
139
147
  // Asd20FactoidsSection,
140
148
  Asd20FeedsSection,
@@ -162,6 +170,12 @@ export default {
162
170
  flex-shrink: 0;
163
171
  overflow-y: auto;
164
172
  margin-top: space(2.25);
173
+
174
+ .asd20-video-header {
175
+ .asd20-organization-picker {
176
+ display: none;
177
+ }
178
+ }
165
179
  .asd20-video-header-content {
166
180
  position: absolute;
167
181
  top: space(2);
@@ -208,8 +222,16 @@ export default {
208
222
  // }
209
223
  // }
210
224
  }
211
- #site-navigation .asd20-district-logo {
212
- display: none;
225
+ .asd20-video-header {
226
+ .asd20-organization-picker {
227
+ display: block !important;
228
+ .asd20-picker {
229
+ .picker-button {
230
+ margin: space(1);
231
+ padding: space(0.75);
232
+ }
233
+ }
234
+ }
213
235
  }
214
236
  }
215
237
  </style>
@@ -0,0 +1,65 @@
1
+ import { storiesOf } from '@storybook/vue'
2
+ import { withKnobs, boolean } from '@storybook/addon-knobs'
3
+
4
+ import mockPageMixin from '../../../mixins/mockPageMixin'
5
+
6
+ import Asd20WayfindingAlternateTemplate from '.'
7
+ import pageQueryResult from '../../../data/page-queries/landing-page-query-result.json'
8
+ import notifications from '../../../data/messages/notifications'
9
+
10
+ const info = {
11
+ summary: 'Wayfinding Alternate Page Template',
12
+ }
13
+
14
+ const wrapper = {
15
+ mixins: [mockPageMixin],
16
+ components: {
17
+ Asd20WayfindingAlternateTemplate,
18
+ },
19
+ watch: {
20
+ languageCode(newValue, oldValue) {
21
+ console.log(newValue, oldValue)
22
+ },
23
+ },
24
+
25
+ data: () => ({ pageQueryResult, languageCode: 'es' }),
26
+
27
+ computed: {
28
+ activeNotificationsByType() {
29
+ const empty = {
30
+ inline: [],
31
+ banner: [],
32
+ floating: [],
33
+ status: [],
34
+ }
35
+ return boolean('Show Notifications', true)
36
+ ? notifications || empty
37
+ : empty
38
+ },
39
+ },
40
+
41
+ }
42
+
43
+ const stories = storiesOf('Templates - Asd20WayfindingAlternateTemplate', module)
44
+ stories.addDecorator(withKnobs)
45
+
46
+ stories.add(
47
+ 'Default',
48
+ () => ({
49
+ ...wrapper,
50
+ template: `
51
+ <Asd20WayfindingAlternateTemplate
52
+ v-bind="templateProps"
53
+ :menu-open.sync="menuOpen"
54
+ :search-open.sync="searchOpen"
55
+
56
+ @announcements-in-view="loadAnnouncements"
57
+ @stories-in-view="loadStories"
58
+ @events-in-view="loadEvents"
59
+ @files-in-view="loadFiles"
60
+ @people-in-view="loadPeople"
61
+ :languageCode.sync="languageCode"
62
+ />`,
63
+ }),
64
+ { info }
65
+ )
@@ -0,0 +1,253 @@
1
+ <template>
2
+ <div class="asd20-template-wayfinding-alternate">
3
+ <!-- Skip Nav -->
4
+ <asd20-skip-to></asd20-skip-to>
5
+
6
+ <!-- Site Navigation -->
7
+ <asd20-site-navigation
8
+ :navigation="navigation"
9
+ :action-items="actionItems"
10
+ @update:menuOpen="$emit('update:menuOpen', $event)"
11
+ :menu-open="menuOpen"
12
+ @update:searchOpen="$emit('update:searchOpen', $event)"
13
+ :search-open="searchOpen"
14
+ :organization="organization"
15
+ :organization-options="organizationOptions"
16
+ >
17
+ </asd20-site-navigation>
18
+
19
+ <!-- Banner Notifications -->
20
+ <client-only>
21
+ <asd20-notification-group
22
+ :notifications="activeNotificationsByType.banner"
23
+ group-type="banner"
24
+ @dismiss="$emit('dismiss-notification', $event)"
25
+ @toggle-all="$emit('toggle-all')"
26
+ ></asd20-notification-group>
27
+ </client-only>
28
+
29
+ <!-- Page Header -->
30
+ <asd20-page-header
31
+ id="page-header"
32
+ v-show="pageHeaderContent"
33
+ v-bind="pageHeaderContent"
34
+ :organization="organization"
35
+ :organization-options="organizationOptions"
36
+ :languageCode="languageCode"
37
+ v-on="$listeners"
38
+ :breadcrumb-links="breadcrumbLinks"
39
+ >
40
+ <!-- Floating Notifications -->
41
+ <template slot="top">
42
+ <client-only>
43
+ <asd20-notification-group
44
+ class="asd20-notification-group--floating"
45
+ :notifications="activeNotificationsByType.floating"
46
+ :total-dismissed-notifications="totalDismissedNotifications"
47
+ group-type="floating"
48
+ @dismiss="$emit('dismiss-notification', $event)"
49
+ @toggle-all="$emit('toggle-all')"
50
+ ></asd20-notification-group>
51
+ </client-only>
52
+ </template>
53
+ <!-- <asd20-breadcrumb slot="top" :links="breadcrumbLinks"></asd20-breadcrumb> -->
54
+ </asd20-page-header>
55
+
56
+ <!-- Page Content -->
57
+ <asd20-page-content
58
+ :primary-messages="wayFindingPrimaryMessages"
59
+ :secondary-messages="secondaryMessages"
60
+ omit-body-content
61
+ grid
62
+ >
63
+ <!-- Inline-Notifications -->
64
+ <template slot="before">
65
+ <client-only>
66
+ <asd20-notification-group
67
+ :notifications="activeNotificationsByType.inline"
68
+ group-type="inline"
69
+ @dismiss="$emit('dismiss-notification', $event)"
70
+ @toggle-all="$emit('toggle-all')"
71
+ ></asd20-notification-group>
72
+ </client-only>
73
+ </template>
74
+ <!-- Feeds -->
75
+ <template slot="before">
76
+ <asd20-feeds-section
77
+ :announcements="announcements"
78
+ :announcements-feed-props="announcementsFeedProps"
79
+ @announcements-in-view="$emit('announcements-in-view')"
80
+ :stories="stories"
81
+ :stories-feed-props="storiesFeedProps"
82
+ @stories-in-view="$emit('stories-in-view')"
83
+ :events="events"
84
+ :events-feed-props="eventsFeedProps"
85
+ @events-in-view="$emit('events-in-view')"
86
+ ></asd20-feeds-section>
87
+ </template>
88
+
89
+ <slot></slot>
90
+ </asd20-page-content>
91
+
92
+ <!-- Bottom Widgets -->
93
+ <asd20-widgets-section
94
+ v-if="
95
+ widgetsSectionProps.footer ||
96
+ widgetsSectionProps.sidebar ||
97
+ $slots.widgets
98
+ "
99
+ v-bind="{ ...widgetsSectionProps.footer, ...widgetsSectionProps.sidebar }"
100
+ @events-in-view="$emit('events-in-view')"
101
+ @files-in-view="$emit('files-in-view')"
102
+ @people-in-view="$emit('people-in-view')"
103
+ full
104
+ ><slot name="widgets"
105
+ /></asd20-widgets-section>
106
+
107
+ <slot name="before-footer" />
108
+
109
+ <!-- Quick Links -->
110
+ <asd20-quicklinks-menu slot="before-footer" :quick-links="quickLinks">
111
+ <slot name="quicklinks-menu" />
112
+ </asd20-quicklinks-menu>
113
+
114
+ <!-- Footer -->
115
+ <asd20-page-footer
116
+ :organization="organization"
117
+ :socialLinks="socialLinks"
118
+ :disclosureLinks="disclosureLinks"
119
+ :websiteLogoProps="websiteLogoProps"
120
+ >
121
+ <slot name="page-footer" />
122
+ </asd20-page-footer>
123
+ </div>
124
+ </template>
125
+
126
+ <script>
127
+ // Components
128
+ import Asd20SkipTo from '../../../components/atoms/Asd20SkipTo'
129
+ import Asd20PageHeader from '../../../components/organisms/Asd20PageHeader'
130
+
131
+ import Asd20SiteNavigation from '../../../components/organisms/Asd20SiteNavigation'
132
+ import Asd20PageContent from '../../../components/organisms/Asd20PageContent'
133
+
134
+ import Asd20WidgetsSection from '../../../components/organisms/Asd20WidgetsSection'
135
+ import Asd20FeedsSection from '../../../components/organisms/Asd20FeedsSection'
136
+ // import Asd20MediaSection from '../../../components/organisms/Asd20MediaSection'
137
+
138
+ import Asd20PageFooter from '../../../components/organisms/Asd20PageFooter'
139
+ import Asd20QuicklinksMenu from '../../../components/organisms/Asd20QuicklinksMenu'
140
+ import Asd20NotificationGroup from '@asd20/notifications-ui/src/components/Asd20NotificationGroup'
141
+
142
+ // import Intersect from 'vue-intersect'
143
+
144
+ // Mixins
145
+ import pageTemplateMixin from '../../../mixins/pageTemplateMixin'
146
+
147
+ export default {
148
+ name: 'Asd20WayfindingAlternateTemplate',
149
+ mixins: [pageTemplateMixin],
150
+ components: {
151
+ Asd20PageContent,
152
+ Asd20SkipTo,
153
+ Asd20PageHeader,
154
+ Asd20PageFooter,
155
+ Asd20SiteNavigation,
156
+ Asd20WidgetsSection,
157
+ Asd20FeedsSection,
158
+ Asd20NotificationGroup,
159
+ Asd20QuicklinksMenu,
160
+ // Asd20MediaSection,
161
+ },
162
+ computed: {
163
+ wayFindingPrimaryMessages() {
164
+ // wayfinding page
165
+ return (
166
+ this.messages
167
+ // Remove the first message, limit
168
+ .slice(
169
+ 1,
170
+ Math.min(this.messages.length, this.primaryMessageLimit + 1)
171
+ )
172
+ )
173
+ },
174
+ },
175
+ }
176
+ </script>
177
+
178
+ <style lang="scss">
179
+ @import '../../../design/_variables.scss';
180
+ @import '../../../design/_mixins.scss';
181
+ @import '../../../design/_typography.scss';
182
+ @import '../../../design/_template.scss';
183
+ @import '../../../design/_print.scss';
184
+ @import '../../../design/tokens.css';
185
+
186
+ .asd20-template-wayfinding-alternate {
187
+ @include typography;
188
+ @include template;
189
+ display: flex;
190
+ flex-direction: column;
191
+ flex-grow: 1;
192
+ flex-shrink: 0;
193
+ overflow: hidden;
194
+ margin-top: space(2.25);
195
+ .asd20-notification-group--floating {
196
+ position: absolute;
197
+ top: space(2);
198
+ .bell {
199
+ box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.125) !important;
200
+ svg {
201
+ fill: var(--color__accent) !important;
202
+ }
203
+ span {
204
+ background: var(--color__accent) !important;
205
+ top: inherit !important;
206
+ right: inherit !important;
207
+ width: 1.2rem !important;
208
+ height: 1.2rem !important;
209
+ font-size: 0.75rem !important;
210
+ }
211
+ }
212
+ }
213
+ .asd20-feeds-section {
214
+ margin-top: space(2);
215
+ .asd20-swiper-feed:first-child {
216
+ padding-top: space(2);
217
+ padding-bottom: space(1);
218
+ &::after {
219
+ top: space(1);
220
+ }
221
+ }
222
+ .asd20-swiper-feed:last-child {
223
+ // margin-top: space(-1);
224
+ padding-bottom: space(2);
225
+ &::after {
226
+ bottom: space(1);
227
+ }
228
+ }
229
+ }
230
+ }
231
+
232
+ @media (min-width: 1024px) {
233
+ .asd20-template-wayfinding-alternate {
234
+ .asd20-notification-group--floating {
235
+ position: absolute;
236
+ top: space(1);
237
+ // .bell {
238
+ // span {
239
+ // background: var(--color__accent);
240
+ // top: -0.6em !important;
241
+ // right: -0.6em !important;
242
+ // }
243
+ // }
244
+ }
245
+ @include template-desktop;
246
+ margin-left: space(3);
247
+ margin-top: 0;
248
+ .asd20-page-content {
249
+ margin-top: space(0);
250
+ }
251
+ }
252
+ }
253
+ </style>
@@ -70,6 +70,7 @@
70
70
  ></asd20-notification-group>
71
71
  </client-only>
72
72
  </template>
73
+ <!-- Announcement Feed -->
73
74
  <template slot="before">
74
75
  <asd20-feeds-section
75
76
  :announcements="announcements"
@@ -80,6 +81,8 @@
80
81
 
81
82
  <slot></slot>
82
83
  </asd20-page-content>
84
+
85
+ <!-- Feeds -->
83
86
  <asd20-feeds-section
84
87
  :stories="stories"
85
88
  :stories-feed-props="storiesFeedProps"