@asd20/ui 3.2.414 → 3.2.417

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.
Files changed (23) hide show
  1. package/package.json +1 -1
  2. package/src/components/atoms/Asd20Messaging/index.vue +87 -69
  3. package/src/components/organisms/Asd20EventModal/index.vue +12 -16
  4. package/src/components/organisms/Asd20ImageGallery/index.vue +1 -1
  5. package/src/components/organisms/Asd20ImageHeader/index.stories.js +38 -0
  6. package/src/components/organisms/Asd20ImageHeader/index.vue +559 -0
  7. package/src/components/organisms/Asd20PageContent/index.vue +24 -1
  8. package/src/components/organisms/Asd20VideoHeaderContent/index.vue +1 -1
  9. package/src/components/templates/Asd20ArticleDigestTemplate/index.stories.js +4 -1
  10. package/src/components/templates/Asd20ArticleListTemplate/index.stories.js +7 -1
  11. package/src/components/templates/Asd20ArticleTemplate/index.stories.js +2 -1
  12. package/src/components/templates/Asd20CampusTemplate/index.stories.js +1 -1
  13. package/src/components/templates/Asd20DetailImageTemplate/index.stories.js +60 -0
  14. package/src/components/templates/Asd20DetailImageTemplate/index.vue +267 -0
  15. package/src/components/templates/Asd20LoginsTemplate/index.stories.js +3 -0
  16. package/src/components/templates/Asd20ProfileTemplate/index.stories.js +2 -1
  17. package/src/components/templates/Asd20WayfindingImageTemplate/index.stories.js +65 -0
  18. package/src/components/templates/Asd20WayfindingImageTemplate/index.vue +234 -0
  19. package/src/components/templates/Asd20WayfindingTemplate/index.stories.js +1 -1
  20. package/src/data/page-queries/landing-page-query-result.json +70 -4
  21. package/src/data/page-queries/sublanding-page-query-result.json +3 -3
  22. package/src/helpers/mapEventToCard.js +6 -3
  23. package/src/mixins/mockPageMixin.js +6 -6
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "*.scss",
6
6
  "*.vue"
7
7
  ],
8
- "version": "3.2.414",
8
+ "version": "3.2.417",
9
9
  "private": false,
10
10
  "license": "MIT",
11
11
  "repository": {
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div :class="classes">
3
- <figure v-if=" images && images.length > 0 && fullscreen">
3
+ <div class="message-image" v-if="images && images.length > 0 && fullscreen">
4
4
  <img :src="images[0].url" alt />
5
- </figure>
5
+ </div>
6
6
  <div class="asd20-messaging__content">
7
7
  <component
8
8
  class="asd20-messaging__heading"
@@ -10,23 +10,34 @@
10
10
  :is="headingTagName"
11
11
  :id="hash"
12
12
  >
13
- <!-- <a :href="`#${hash}`">#</a> -->
14
- <span v-html="heading"></span>
13
+ <!-- <span v-html="heading"></span> -->
14
+ <span>{{ heading }}</span>
15
15
  </component>
16
- <div v-if="shortDescription" class="lead short-description">
17
- <span v-html="shortDescription"></span>
16
+ <!-- <div class="asd20-messaging__heading" v-if="heading">
17
+ <span v-html="heading"></span>
18
+ <span>{{ heading }}</span>
19
+ </div> -->
20
+ <div v-if="shortDescription" class="lead">
21
+ <!-- <span v-text="shortDescription"></span> -->
22
+ <span>{{ shortDescription }}</span>
18
23
  <a v-if="detailLink" :href="detailLink">{{ detailLinkLabel }}</a>
19
24
  </div>
20
- <p
25
+ <!-- <p
21
26
  v-if="longDescription"
22
27
  class="long-description"
23
28
  v-html="longDescription"
24
- />
29
+ /> -->
30
+ <p v-if="longDescription" class="long-description">
31
+ >{{ longDescription }}
32
+ </p>
25
33
  <div v-if="bodyContent" class="asd20-messaging__body-content">
26
34
  <component :is="dynamicComponent"></component>
27
35
  </div>
28
36
 
29
- <p v-if=" callsToAction && callsToAction.length > 0" class="asd20-messaging__button-group">
37
+ <p
38
+ v-if="callsToAction && callsToAction.length > 0"
39
+ class="asd20-messaging__button-group"
40
+ >
30
41
  <asd20-button
31
42
  v-for="cta in callsToAction"
32
43
  :key="cta.label"
@@ -70,7 +81,7 @@ export default {
70
81
  return {
71
82
  'asd20-messaging': true,
72
83
  'asd20-messaging--fullscreen': this.fullscreen,
73
- 'asd20-messaging--padded': this.fullscreen,
84
+ 'asd20-messaging--padded': this.padded,
74
85
  }
75
86
  },
76
87
  dynamicComponent() {
@@ -140,13 +151,15 @@ export default {
140
151
  padding: space(1);
141
152
  }
142
153
  &--fullscreen {
143
- & + .asd20-messaging--fullscreen {
144
- margin-top: space(-1);
145
- }
146
- & > figure {
154
+ // & + .asd20-messaging--fullscreen {
155
+ // margin-top: space(-1);
156
+ // }
157
+ padding: space(1);
158
+
159
+ & > .message-image {
147
160
  padding: 0;
148
161
  margin: 0;
149
- overflow: hidden;
162
+ // overflow: hidden;
150
163
  margin: 0 space(-1) space(1) space(-1);
151
164
  & > img {
152
165
  display: block;
@@ -163,83 +176,88 @@ export default {
163
176
  &--fullscreen {
164
177
  // position: relative;
165
178
  padding: 0;
179
+ display: flex;
180
+ align-items: center;
166
181
  // min-height: 100vh;
167
- display: grid;
168
- grid-template-columns: $grid-three-up-columns;
169
- grid-template-rows: $grid-base-rows;
170
- grid-template-areas: $grid-aside-right-areas;
182
+ // display: grid;
183
+ // grid-template-columns: $grid-three-up-columns;
184
+ // grid-template-rows: $grid-base-rows;
185
+ // grid-template-areas: $grid-aside-right-areas;
171
186
  & + .asd20-messaging--fullscreen {
172
- margin-top: space(-3);
187
+ // margin-top: space(-3);
173
188
  z-index: -1;
174
189
  }
175
190
 
176
- &::before {
177
- content: '';
178
- display: block;
179
- position: relative;
180
- z-index: 2;
181
- grid-column: -1 / -2;
182
- grid-row: 1 / -1;
183
- height: 70%;
184
- align-self: center;
185
- background: var(--color__primary);
186
- transform: translate3d(0, calc(20% * var(--scroll-progress)), 0);
187
- }
191
+ // &::before {
192
+ // content: '';
193
+ // display: block;
194
+ // position: relative;
195
+ // z-index: 2;
196
+ // grid-column: -1 / -2;
197
+ // grid-row: 1 / -1;
198
+ // height: 70%;
199
+ // align-self: center;
200
+ // background: var(--color__primary);
201
+ // transform: translate3d(0, calc(20% * var(--scroll-progress)), 0);
202
+ // }
188
203
 
189
204
  .asd20-messaging__content {
190
205
  position: relative;
191
206
  z-index: 1;
192
- grid-row: 1 / -1;
193
- grid-column: 1 / 4;
194
- background: var(--website-page__background-color);
195
- padding: space(3);
207
+ // grid-row: 1 / -1;
208
+ // grid-column: 1 / 4;
209
+ // background: var(--website-page__background-color);
210
+ // padding: 0 0 0 space(2);
196
211
  height: min-content;
197
212
  align-self: center;
198
213
  transform: translate3d(0, calc(10% * var(--scroll-progress)), 0);
199
214
  }
200
215
 
201
- &::v-deep figure {
216
+ .message-image {
202
217
  position: relative;
203
- overflow: hidden;
204
- grid-column: 3 / -2;
205
- grid-row: 2 / -2;
206
- padding: 0;
218
+ // overflow: hidden;
219
+ // grid-column: 3 / -2;
220
+ // grid-row: 2 / -2;
221
+ padding-right: space(2);
207
222
  margin: 0;
208
- height: 100%;
209
- background: var(--website-card__reverse-background-color)
210
- var(--website-card__reverse-background-style);
211
- &::before {
212
- content: '';
213
- display: block;
214
- position: absolute;
215
- top: 0;
216
- left: 0;
217
- right: 0;
218
- bottom: 0;
219
- // background: var(--color__accent-t70);
220
- // background: hsla(40, 60%, 50%, 1);
221
- // mix-blend-mode: multiply;
222
- z-index: 1;
223
- }
223
+ // height: 100%;
224
+ // width: 20vw;
225
+ // background: var(--website-card__reverse-background-color)
226
+ // var(--website-card__reverse-background-style);
227
+ // &::before {
228
+ // content: '';
229
+ // display: block;
230
+ // position: absolute;
231
+ // top: 0;
232
+ // left: 0;
233
+ // right: 0;
234
+ // bottom: 0;
235
+ // background: var(--color__accent-t70);
236
+ // background: hsla(40, 60%, 50%, 1);
237
+ // mix-blend-mode: multiply;
238
+ // z-index: 1;
239
+ // }
224
240
  img {
241
+ width: 20vw;
242
+ height: 20vw;
225
243
  // filter: grayscale(100%);
226
244
  // mix-blend-mode: lighten;
227
245
  // opacity: 0.7;
228
246
  }
229
247
  }
230
248
 
231
- &:nth-child(even) {
232
- grid-template-areas: $grid-aside-left-areas;
233
- &::before {
234
- grid-column: 1 / 2;
235
- }
236
- figure {
237
- grid-column: 2 / 6;
238
- }
239
- .asd20-messaging__content {
240
- grid-column: 5 / -1;
241
- }
242
- }
249
+ // &:nth-child(even) {
250
+ // grid-template-areas: $grid-aside-left-areas;
251
+ // &::before {
252
+ // grid-column: 1 / 2;
253
+ // }
254
+ // figure {
255
+ // grid-column: 2 / 6;
256
+ // }
257
+ // .asd20-messaging__content {
258
+ // grid-column: 5 / -1;
259
+ // }
260
+ // }
243
261
  }
244
262
  }
245
263
  }
@@ -10,7 +10,6 @@
10
10
  class="asd20-event-modal"
11
11
  @dismiss="$emit('dismiss')"
12
12
  :style="{ '--accent-color': event.calendarColor }"
13
- v-scroll-lock="open"
14
13
  >
15
14
  <Asd20Viewport tabindex="0" class="asd20-event-modal__details" scrollable>
16
15
  <header class="asd20-event-modal__header">
@@ -23,13 +22,6 @@
23
22
  <h2 class="name">{{ event.summary }}</h2>
24
23
  </header>
25
24
  <Asd20List class="description">
26
- <Asd20ListItem
27
- icon="map"
28
- icon-size="lg"
29
- v-if="event.location"
30
- label="Location"
31
- :description="event.location"
32
- />
33
25
  <Asd20ListItem
34
26
  v-if="time"
35
27
  icon="hours-alt"
@@ -37,6 +29,13 @@
37
29
  label="Time"
38
30
  :description="time"
39
31
  />
32
+ <Asd20ListItem
33
+ icon="map"
34
+ icon-size="lg"
35
+ v-if="event.location"
36
+ label="Location"
37
+ :description="event.location"
38
+ />
40
39
  <Asd20ListItem
41
40
  v-if="event.description"
42
41
  label="Description"
@@ -57,7 +56,7 @@
57
56
 
58
57
  <script>
59
58
  // import parse from 'date-fns/parse'
60
- import Vue from 'vue'
59
+ // import Vue from 'vue'
61
60
 
62
61
  import { truncate } from 'lodash-es'
63
62
  import { format, parse } from 'date-fns'
@@ -66,8 +65,8 @@ import Asd20Tag from '../../atoms/Asd20Tag'
66
65
  import Asd20List from '../../organisms/Asd20List'
67
66
  import Asd20ListItem from '../../molecules/Asd20ListItem'
68
67
  import Asd20Viewport from '../../atoms/Asd20Viewport'
69
- import VScrollLock from 'v-scroll-lock'
70
- Vue.use(VScrollLock)
68
+ // import VScrollLock from 'v-scroll-lock'
69
+ // Vue.use(VScrollLock)
71
70
 
72
71
  export default {
73
72
  name: 'Asd20EventModal',
@@ -98,12 +97,9 @@ export default {
98
97
 
99
98
  let time = `${format(parse(this.event.start), '<b>h:mm aa</b>')}`
100
99
  if (this.event.endTimeUndetermined) {
101
- time += `${format(parse(this.event.end), ', dddd, MMMM DD, YYYY')}`
100
+ time += `${format(parse(this.event.end))}`
102
101
  } else {
103
- time += ` - ${format(
104
- parse(this.event.end),
105
- '<b>h:mm aa</b>, dddd, MMMM DD, YYYY'
106
- )}`
102
+ time += ` - ${format(parse(this.event.end), '<b>h:mm aa</b>')}`
107
103
  }
108
104
  return time
109
105
  },
@@ -217,7 +217,7 @@ export default {
217
217
  .asd20-image-gallery {
218
218
  .image-grid {
219
219
  .grid-overlay {
220
- font-size: 1rem !important;
220
+ // font-size: 1rem !important;
221
221
  }
222
222
  }
223
223
  }
@@ -0,0 +1,38 @@
1
+ import { storiesOf } from '@storybook/vue'
2
+ import Asd20ImageHeader from '.'
3
+
4
+ const info = {
5
+ summary: 'Asd20ImageHeader',
6
+ }
7
+
8
+ const wrapper = {
9
+ components: { Asd20ImageHeader },
10
+ data: () => ({
11
+ pageHeaderContent: {
12
+ heading: 'Cultivating the&nbsp;next generation of&nbsp;leaders.',
13
+ lead:
14
+ 'Cras justo odio, dapibus ac facilisis in, egestas eget quam. Cras justo odio, dapibus ac facilisis in, egestas eget quam.',
15
+ imageUrl: '/statics/images/home-images/best-brass-section.jpg',
16
+ imageCaption: '',
17
+ callsToAction: [
18
+ { label: 'Enroll Your Child', url: '/enroll' },
19
+ { label: 'Browse Our Schools', url: '/schools' },
20
+ ],
21
+ detailLink: '',
22
+ detailLinkLabel: '',
23
+ organization: {
24
+ title: 'Organization Title',
25
+ },
26
+ organizationOptions: [],
27
+ },
28
+ }),
29
+ }
30
+
31
+ storiesOf('Organisms - Asd20ImageHeader', module).add(
32
+ 'Default',
33
+ () => ({
34
+ ...wrapper,
35
+ template: `<Asd20ImageHeader v-bind="pageHeaderContent"></Asd20ImageHeader>`,
36
+ }),
37
+ { info }
38
+ )