@asd20/ui 3.2.1044 → 3.2.1045

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/.eslintrc.js +44 -5
  2. package/package.json +25 -32
  3. package/src/components/atoms/Asd20Factoid/index.vue +1 -1
  4. package/src/components/organisms/Asd20SiteMenu/index.vue +1 -1
  5. package/src/components/templates/Asd20ProfileTemplate/index.vue +1 -1
  6. package/src/components/templates/Asd20SchoolHomeTemplate/index.vue +1 -1
  7. package/src/components/templates/Asd20SchoolHomeVideoTemplate/index.vue +1 -1
  8. package/vue.config.js +41 -15
  9. package/package-lock.json +0 -93773
  10. package/src/components/organisms/Asd20BackToSchoolHeader/index.stories.js +0 -20
  11. package/src/components/organisms/Asd20BackToSchoolHeader/index.vue +0 -131
  12. package/src/components/organisms/Asd20CampaignPageHeader/index.stories.js +0 -35
  13. package/src/components/organisms/Asd20CampaignPageHeader/index.vue +0 -512
  14. package/src/components/organisms/Asd20ChoiceHeader/index.stories.js +0 -32
  15. package/src/components/organisms/Asd20ChoiceHeader/index.vue +0 -464
  16. package/src/components/organisms/Asd20CovidHeader/index.stories.js +0 -34
  17. package/src/components/organisms/Asd20CovidHeader/index.vue +0 -571
  18. package/src/components/organisms/Asd20GraduationHeader/index.stories.js +0 -33
  19. package/src/components/organisms/Asd20GraduationHeader/index.vue +0 -456
  20. package/src/components/organisms/Asd20KindergartenHeader/index.stories.js +0 -20
  21. package/src/components/organisms/Asd20KindergartenHeader/index.vue +0 -124
  22. package/src/components/organisms/Asd20ReturnToSchoolHeader/index.stories.js +0 -32
  23. package/src/components/organisms/Asd20ReturnToSchoolHeader/index.vue +0 -306
@@ -1,456 +0,0 @@
1
- <template>
2
- <header
3
- v-scroll-track.window
4
- class="asd20-choice-header"
5
- :class="classes"
6
- role="banner"
7
- >
8
- <div v-if="$slots.top" class="asd20-choice-header__top">
9
- <slot name="top" />
10
- </div>
11
-
12
- <video
13
- class="background-video"
14
- autoplay
15
- loop
16
- autobuffer
17
- muted
18
- playsinline
19
- poster="/videos/graduation-still.jpg"
20
- >
21
- <source src="/videos/graduation-optimized.mp4" type="video/mp4" />
22
- </video>
23
-
24
- <img class="background-image" src="/videos/graduation-still.jpg" alt="" />
25
-
26
- <div class="asd20-choice-header__text">
27
- <h1>
28
- <img
29
- src="/statics/images/home-images/graduation-header-text-isolated.svg"
30
- alt="Congratulations Graduates! Class of 2021"
31
- />
32
- </h1>
33
- </div>
34
-
35
- <div
36
- v-if="callsToAction.length > 0"
37
- class="asd20-choice-header__call-to-action"
38
- >
39
- <asd20-button
40
- v-for="(cta, index) in callsToAction"
41
- :key="index"
42
- :size="['sm', 'md'].indexOf(mq) > -1 ? 'sm' : 'lg'"
43
- :label="cta.label"
44
- :icon="cta.icon"
45
- :link="cta.url"
46
- bordered
47
- reversed
48
- horizontal
49
- centered
50
- />
51
- </div>
52
-
53
- <slot />
54
- </header>
55
- </template>
56
-
57
- <script>
58
- import scrollTrack from '../../../directives/scroll-track'
59
- import Asd20Button from '../../atoms/Asd20Button'
60
-
61
- export default {
62
- name: 'Asd20ChoiceHeader',
63
- components: { Asd20Button },
64
- directives: { scrollTrack },
65
- props: {
66
- heading: { type: String, default: '' },
67
- lead: { type: String, default: '' },
68
- callsToAction: { type: Array, default: () => [] },
69
- imageUrl: { type: String, default: '' },
70
- imageCaption: { type: String, default: '' },
71
- fullscreen: { type: Boolean, default: false },
72
- detailLink: { type: String, default: '' },
73
- detailLinkLabel: { type: String, default: '' },
74
- },
75
- computed: {
76
- mq() {
77
- return this.$mq || 'sm'
78
- },
79
- classes() {
80
- return {
81
- 'asd20-choice-header--fullscreen': this.fullscreen,
82
- 'asd20-choice-header--has-cta': this.callsToAction.length > 0,
83
- }
84
- },
85
- isDetailPage() {
86
- if (typeof window === 'undefined') return false
87
- return (
88
- window.location.pathname.split('/').pop() ===
89
- this.detailLink.split('/').pop()
90
- )
91
- },
92
- },
93
- }
94
- </script>
95
-
96
- <style lang="scss" scoped>
97
- @import '../../../design/_variables.scss';
98
- @import '../../../design/_mixins.scss';
99
-
100
- .asd20-choice-header {
101
- position: relative;
102
- display: flex;
103
- flex-shrink: 0;
104
- flex-direction: column;
105
- color: asd20-swatch('primary');
106
- box-sizing: border-box;
107
- margin-bottom: space(1);
108
-
109
- .background-video {
110
- display: none;
111
- }
112
-
113
- .background-image {
114
- display: block;
115
- position: absolute;
116
- height: calc(100% - #{space(1)});
117
- width: 100%;
118
- z-index: 1;
119
- object-fit: cover;
120
- }
121
-
122
- & ::v-deep .notification-group--status .notifications {
123
- padding: 0.37rem;
124
- border-radius: 3rem;
125
- background: rgba(255,255,255,0.95);
126
- }
127
-
128
- &::before {
129
- content: '';
130
- display: block;
131
- position: absolute;
132
- top: 0;
133
- bottom: space(1);
134
- left: 0;
135
- right: 0;
136
- background-color: asd20-swatch('background-alt');
137
- background-image: url('/statics/images/home-images/choice-texture.png');
138
- background-position-y: top;
139
- background-size: 640px auto;
140
- }
141
- &::after {
142
- content: '';
143
- display: block;
144
- position: absolute;
145
- height: space(1);
146
- bottom: space(0);
147
- left: space(2);
148
- right: 0;
149
- background-color: asd20-swatch('background-alt');
150
- }
151
-
152
- &__top {
153
- --fill-one: rgba(255, 255, 255, 1);
154
- --fill-two: rgba(255, 255, 255, 0.625);
155
-
156
- position: relative;
157
- z-index: 100;
158
- padding: space(0.5) space(1);
159
-
160
- display: flex;
161
- justify-content: space-between;
162
- align-items: center;
163
- // flex-direction: column;
164
-
165
- & ::v-deep .asd20-district-logo {
166
- height: space(2);
167
- }
168
-
169
- & ::v-deep .notification-group--status {
170
- margin-left: -0.5rem;
171
- .asd20-notification {
172
- margin: 0;
173
- padding: 0 !important;
174
- }
175
- }
176
-
177
- & ::v-deep .notification-group--floating {
178
- margin-right: 0;
179
- }
180
- }
181
-
182
- &__text {
183
- box-sizing: border-box;
184
- margin-top: space(8);
185
- z-index: 2;
186
- padding: space(1) space(1) space(0) space(1);
187
- background: #193074ee;
188
-
189
- h1 {
190
- margin-top: space(0);
191
- padding-top: space(0);
192
- @include fluid-type($base-font-size * 1.5, $base-font-size * 4);
193
- line-height: 1.2;
194
- font-weight: bold;
195
- color: white;
196
- em {
197
- font-size: 0.75em;
198
- font-style: normal;
199
- font-weight: normal;
200
- color: #bbdce4;
201
-
202
- }
203
-
204
- }
205
-
206
-
207
- p {
208
- margin-top: space(0.5);
209
- @include fluid-type($base-font-size * 1, $base-font-size * 2);
210
- color: asd20-swatch('background-alt');
211
- }
212
- }
213
-
214
- &__lead {
215
- position: relative;
216
- z-index: 1;
217
- color: asd20-swatch('background-dark');
218
- padding: 0 space(1) space(1) space(1);
219
- margin-bottom: 0;
220
- @include asd20-font(1, $font-family-headlines);
221
- // &:last-child {
222
- // margin-bottom: space(2);
223
- // }
224
- }
225
-
226
- h1 + &__lead {
227
- margin-top: space(-0.5);
228
- }
229
-
230
- &__call-to-action {
231
- background: #193074ee;
232
- padding: 0 space(1) space(1) space(1);
233
- // margin-left: space(1);
234
- // margin-right: space(1);
235
- z-index: 1;
236
- // &:nth-child(2) {
237
- // background: asd20-swatch('primary');
238
- // }
239
- }
240
-
241
- &__call-to-action ::v-deep .asd20-button {
242
- text-align: center;
243
-
244
- box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
245
- border: none;
246
- font-size: 1rem !important;
247
- background: #b99442;
248
- &:focus {
249
- @include asd20-focus;
250
- }
251
- & + .asd20-button {
252
- margin: space(0.5) 0 0 0;
253
- }
254
- }
255
-
256
- &__image {
257
- display: none;
258
- }
259
-
260
- &--has-cta {
261
- h1 {
262
- margin-bottom: 0;
263
- }
264
- &::after {
265
- height: space(1.5);
266
- bottom: space(-0.5);
267
- }
268
- }
269
- }
270
-
271
- $min: 3rem;
272
- $max: 4rem;
273
-
274
- @media (min-width: 1024px) {
275
- .asd20-choice-header {
276
- display: grid;
277
- grid-template-columns: space(3) repeat(5, 1fr space(3)) 1fr space(3);
278
- grid-template-rows:
279
- space(3) min-content 1fr min-content
280
- repeat(3, space(1));
281
-
282
- margin-bottom: space(0);
283
-
284
- &::before {
285
- content: '';
286
- display: block;
287
- position: relative;
288
- top: auto;
289
- bottom: auto;
290
- left: auto;
291
- right: auto;
292
- // background: rgba;
293
- background: #091a4c;
294
- opacity: 0.8;
295
- background-image: url('/statics/images/home-images/graduation-header-ribbons.png');
296
- background-position-y: top;
297
- background-size: 1024px auto;
298
- grid-column: 1 / 6;
299
- grid-row: 4 / 5;
300
- min-width: 850px;
301
- }
302
-
303
- &::after {
304
- content: '';
305
- height: auto;
306
- display: block;
307
- position: absolute;
308
- z-index: 0;
309
- top: 0;
310
- bottom: auto;
311
- left: 0;
312
- width: 100%;
313
- height: 40%;
314
- background: asd20-swatch('background-alt');
315
- background: linear-gradient(170deg, rgba(6, 11, 31, 0.7) 10%, transparent 40%);
316
- }
317
-
318
- .background-video {
319
- display: block;
320
- }
321
- .background-image {
322
- display: none;
323
- }
324
-
325
- video {
326
- width: 100%;
327
- height: 80vh;
328
- object-fit: cover;
329
- grid-column: 1 / -1;
330
- grid-row: 1 / -1;
331
- }
332
-
333
- & ::v-deep .asd20-district-logo {
334
- margin-top: space(-0.75);
335
- margin-right: auto;
336
- --fill-one: white;
337
- --fill-two: #ccc;
338
- & + .asd20-breadcrumb {
339
- margin-top: space(2);
340
- }
341
- }
342
-
343
- &__top {
344
- margin: 0;
345
- padding: 0;
346
-
347
- z-index: 3;
348
- grid-column: 2/-2;
349
- grid-row: 2/3;
350
- }
351
-
352
- &__text {
353
- position: relative;
354
- grid-column: 2 / 8;
355
- grid-row: 4 / 5;
356
- box-sizing: border-box;
357
- justify-content: flex-start;
358
- padding: 0 space(2) 0 0;
359
- background: none;
360
- z-index: 1;
361
- margin: 0;
362
- @include asd20-font(1, $font-family-headlines, 1.1, 400);
363
-
364
- h1 {
365
- // margin-top: space(3);
366
- // font-size: 5rem;
367
- // color: white;
368
- padding: space(3) space(0) space(2) space(0);
369
- @include asd20-font(2.5, $font-family-headlines, 1.1, 700);
370
-
371
-
372
- em {
373
- // font-size: 0.75em;
374
- // font-style: normal;
375
- // font-weight: normal;
376
- color: #bbdce4;
377
- }
378
-
379
- img {
380
- height: 20rem;
381
- width: auto;
382
- }
383
- }
384
-
385
- p {
386
- margin-top: space(1);
387
- font-size: 2rem !important;
388
- margin-bottom: space(3) !important;
389
- // color: #80b3c0;
390
- }
391
- }
392
-
393
- &__call-to-action {
394
- // Reset mobile styles
395
- position: relative;
396
- bottom: auto;
397
- left: auto;
398
- right: auto;
399
- margin-right: space(-2);
400
- box-sizing: border-box;
401
- background: transparent;
402
- // padding: space(1) space(1);
403
- padding: 0;
404
- margin: space(-1.5) 0 0 0;
405
- grid-column: 2 / auto;
406
- grid-row: 5 / -2;
407
- // align-self: end;
408
- min-width: max-content;
409
- display: flex;
410
- // transform: translate3d(0, calc(-50% * var(--scroll-progress)), 0);
411
- z-index: 2;
412
- .asd20-button {
413
- padding: space(1);
414
- // box-shadow: 1px 1px 5px black;
415
- & + .asd20-button {
416
- margin: 0 0 0 space(1);
417
- }
418
-
419
- font-size: 1.25rem !important;
420
- }
421
- }
422
-
423
- // &__lead + &__call-to-action {
424
- // margin-top: 0;
425
- // }
426
-
427
- &__image {
428
- display: flex;
429
- flex-direction: column;
430
- position: relative;
431
- bottom: auto;
432
- left: auto;
433
- right: auto;
434
- top: auto;
435
- grid-column: 8 / -1;
436
- grid-row: 7 / 8;
437
- z-index: 0;
438
- height: auto;
439
- margin: 0;
440
- padding: 0;
441
- overflow: hidden;
442
- opacity: 0.5;
443
-
444
- img {
445
- display: block;
446
- width: auto;
447
- height: 100%;
448
- align-self: flex-start;
449
- // height: 100%;
450
- // object-fit: cover;
451
- // object-position: 100% 0;
452
- }
453
- }
454
- }
455
- }
456
- </style>
@@ -1,20 +0,0 @@
1
- import { storiesOf } from '@storybook/vue'
2
- import Asd20KindergartenHeader from '.'
3
-
4
- const info = {
5
- summary: 'Asd20KindergartenHeader',
6
- }
7
-
8
- const wrapper = {
9
- components: { Asd20KindergartenHeader },
10
- data: () => ({}),
11
- }
12
-
13
- storiesOf('Organisms - Asd20KindergartenHeader', module).add(
14
- 'Default',
15
- () => ({
16
- ...wrapper,
17
- template: `<Asd20KindergartenHeader></Asd20KindergartenHeader>`,
18
- }),
19
- { info }
20
- )
@@ -1,124 +0,0 @@
1
- <template>
2
- <section class="asd20-kindergarten-header" role="banner">
3
- <h2 v-html="heading"></h2>
4
- <h3 v-html="lead"></h3>
5
-
6
- <asd20-button
7
- v-if="callToAction"
8
- size="md"
9
- :label="callToAction.label"
10
- :icon="callToAction.icon"
11
- :link="callToAction.url"
12
- bordered
13
- reversed
14
- horizontal
15
- centered
16
- />
17
- </section>
18
- </template>
19
-
20
- <script>
21
- import Asd20Button from '../../atoms/Asd20Button'
22
-
23
- export default {
24
- name: 'Asd20KindergartenHeader',
25
- components: { Asd20Button },
26
- props: {
27
- heading: { type: String, default: '' },
28
- lead: { type: String, default: '' },
29
- callToAction: { type: Object, default: () => null },
30
- },
31
- }
32
- </script>
33
-
34
- <style lang="scss" scoped>
35
- @import '../../../design/_variables.scss';
36
- @import '../../../design/_mixins.scss';
37
-
38
- .asd20-kindergarten-header {
39
- --k-bg: #232957;
40
- position: relative;
41
- display: flex;
42
- flex-shrink: 0;
43
- flex-direction: column;
44
- margin-top: space(-2);
45
-
46
- background: var(--k-bg);
47
- color: asd20-swatch('background-alt');
48
-
49
- padding: space(3) space(1) space(1) space(1);
50
-
51
- h2 {
52
- @include fluid-type($base-font-size * 1.5, $base-font-size * 2.0);
53
- font-weight: 900;
54
- line-height: 1.1;
55
- color: #fff;
56
- // text-transform: uppercase;
57
- -webkit-background-clip: text;
58
- -webkit-text-fill-color: transparent;
59
- background-image: url('/statics/images/home-images/kindergarten-text-background.png');
60
- background-size: 100% auto;
61
- }
62
-
63
- p,
64
- h3 {
65
- @include fluid-type($base-font-size * 1, $base-font-size * 1.5);
66
- color: white;
67
- }
68
-
69
- &::before {
70
- content: '';
71
- display: block;
72
- position: absolute;
73
- top: 0;
74
- left: 0;
75
- right: space(1);
76
- height: space(2);
77
- background-color: black;
78
- opacity: 0.25;
79
- }
80
- }
81
- @media (min-width: 1024px) {
82
- .asd20-kindergarten-header {
83
- background: var(--k-bg)
84
- url('/statics/images/home-images/kindergarten-background.png') no-repeat
85
- top right;
86
- background-size: auto 100%;
87
- padding: space(3) 30vw space(3) space(3);
88
- margin-top: space(0);
89
- margin: space(1) space(1) space(2) space(2);
90
-
91
- &::before {
92
- top: space(1);
93
- right: space(1);
94
- left: space(-1);
95
- bottom: space(-1);
96
- height: auto;
97
- opacity: 1;
98
- background-image: url('/statics/images/home-images/kindergarten-text-background.png');
99
- background-size: 50% auto;
100
- z-index: -1;
101
- }
102
-
103
- // &::after {
104
- // content: '';
105
- // display: block;
106
- // position: absolute;
107
- // top: space(1);
108
- // right: space(-1);
109
- // left: space(1);
110
- // bottom: space(-1);
111
- // height: auto;
112
- // opacity: 1;
113
- // background-image: url('/statics/images/home-images/kindergarten-text-background.png');
114
- // background-size: 50% auto;
115
- // z-index: -1;
116
- // }
117
-
118
- h2 {
119
- @include fluid-type($base-font-size * 2.8, $base-font-size * 3.5);
120
- background-size: 40% auto;
121
- }
122
- }
123
- }
124
- </style>
@@ -1,32 +0,0 @@
1
- import { storiesOf } from '@storybook/vue'
2
- import Asd20ReturnToSchoolHeader from '.'
3
-
4
- const info = {
5
- summary: 'Asd20ReturnToSchoolHeader',
6
- }
7
-
8
- const wrapper = {
9
- components: { Asd20ReturnToSchoolHeader },
10
- data: () => ({
11
- pageHeaderContent: {
12
- heading: '',
13
- lead: '',
14
- imageUrl: '',
15
- imageCaption: '',
16
- callsToAction: [
17
- { label: 'Graduation Information', url: '/graduation-ceremony' },
18
- ],
19
- detailLink: '',
20
- detailLinkLabel: '',
21
- },
22
- }),
23
- }
24
-
25
- storiesOf('Organisms - Asd20ReturnToSchoolHeader', module).add(
26
- 'Default',
27
- () => ({
28
- ...wrapper,
29
- template: `<Asd20ReturnToSchoolHeader v-bind="pageHeaderContent"></Asd20ReturnToSchoolHeader>`,
30
- }),
31
- { info }
32
- )