@explorer-1/vue 0.2.0 → 0.2.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/components.d.ts +1 -0
- package/dist/explorer-1-vue.js +3759 -3729
- package/dist/explorer-1-vue.umd.cjs +12 -12
- package/dist/src/components/BlockCard/BlockCard.vue.d.ts +9 -0
- package/dist/src/components/BlockLinkCard/BlockLinkCard.vue.d.ts +30 -0
- package/dist/src/components/BlockRelatedLinks/BlockRelatedLinks.vue.d.ts +11 -0
- package/dist/src/components/BlockStreamfield/BlockStreamfield.stories.d.ts +17 -0
- package/dist/src/components/CalendarButton/CalendarButton.stories.d.ts +2 -62
- package/dist/src/components/CalendarButton/CalendarButton.vue.d.ts +26 -7
- package/dist/src/components/EventDetailHero/EventDetailHero.vue.d.ts +8 -1
- package/dist/src/templates/PageEventDetail/PageEventDetail.stories.d.ts +3 -1
- package/dist/src/templates/PageImageDetail/PageImageDetail.stories.d.ts +19 -27
- package/dist/src/templates/PageNewsDetail/PageNewsDetail.stories.d.ts +136 -0
- package/dist/src/templates/edu/PageContentEdu.stories.d.ts +1 -0
- package/dist/src/templates/edu/PageEduEventDetail/PageEduEventDetail.stories.d.ts +128 -0
- package/dist/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.stories.d.ts +51 -0
- package/dist/src/templates/edu/PageEduResourceArticle/PageEduResourceArticle.stories.d.ts +17 -0
- package/dist/src/templates/www/PageCuratedGallery/PageCuratedGallery.stories.d.ts +17 -0
- package/dist/src/templates/www/PageRoboticsDetail/PageRoboticsDetail.stories.d.ts +17 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/BaseTag/BaseTag.vue +2 -2
- package/src/components/BlockCard/BlockCard.vue +8 -5
- package/src/components/BlockInlineImage/BlockInlineImage.vue +1 -1
- package/src/components/BlockLinkCard/BlockLinkCard.vue +33 -13
- package/src/components/BlockLinkCarousel/BlockLinkCarousel.vue +0 -1
- package/src/components/BlockRelatedLinks/BlockRelatedLinks.vue +6 -1
- package/src/components/BlockStreamfield/BlockStreamfield.stories.js +1 -0
- package/src/components/BlockStreamfield/BlockStreamfield.vue +3 -0
- package/src/components/CalendarButton/CalendarButton.stories.js +1 -19
- package/src/components/CalendarButton/CalendarButton.vue +43 -17
- package/src/components/EventDetailHero/EventDetailHero.vue +26 -31
- package/src/components/MixinCarousel/MixinCarousel.vue +1 -1
- package/src/components/ThumbnailCarousel/ThumbnailCarousel.stories.js +1 -0
- package/src/templates/PageEventDetail/PageEventDetail.stories.js +3 -1
- package/src/templates/PageEventDetail/PageEventDetail.vue +3 -3
- package/src/templates/PageImageDetail/PageImageDetail.stories.js +1 -1
- package/src/templates/edu/PageContentEdu.stories.js +1 -0
- package/src/templates/edu/PageEduEventDetail/PageEduEventDetail.stories.js +130 -0
- package/src/templates/edu/PageEduEventDetail/PageEduEventDetail.vue +419 -0
package/package.json
CHANGED
|
@@ -10,8 +10,8 @@ const variantMap: Attributes = {
|
|
|
10
10
|
|
|
11
11
|
const sizeMap: Attributes = {
|
|
12
12
|
sm: 'text-xs uppercase border-t-2 py-1 px-2.5',
|
|
13
|
-
md: 'text-base capitalize border-t py-
|
|
14
|
-
lg: 'text-lg capitalize border-t py-
|
|
13
|
+
md: 'text-base capitalize border-t py-1 px-3',
|
|
14
|
+
lg: 'text-lg capitalize border-t py-1 px-3'
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
interface BaseTagProps {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="shadow-jpl relative h-full"
|
|
3
|
+
class="shadow-jpl relative h-full bg-white"
|
|
4
4
|
:class="{ 'flex items-center min-h-32': !image }"
|
|
5
5
|
>
|
|
6
6
|
<div
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
/>
|
|
24
24
|
</BaseImagePlaceholder>
|
|
25
25
|
</div>
|
|
26
|
-
<div class="px-6 py-6">
|
|
26
|
+
<div class="px-6 py-6 ThemeVariantLight">
|
|
27
27
|
<div class="text-primary text-subtitle">
|
|
28
28
|
{{ type }}
|
|
29
29
|
</div>
|
|
@@ -64,15 +64,18 @@ export default defineComponent({
|
|
|
64
64
|
},
|
|
65
65
|
title: {
|
|
66
66
|
type: String,
|
|
67
|
-
required: false
|
|
67
|
+
required: false,
|
|
68
|
+
default: undefined
|
|
68
69
|
},
|
|
69
70
|
text: {
|
|
70
71
|
type: String,
|
|
71
|
-
required: false
|
|
72
|
+
required: false,
|
|
73
|
+
default: undefined
|
|
72
74
|
},
|
|
73
75
|
image: {
|
|
74
76
|
type: Object,
|
|
75
|
-
required: false
|
|
77
|
+
required: false,
|
|
78
|
+
default: undefined
|
|
76
79
|
}
|
|
77
80
|
},
|
|
78
81
|
computed: {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
:to="theItem.url ? theItem.url : undefined"
|
|
6
6
|
:href="theItem.externalLink ? theItem.externalLink : undefined"
|
|
7
7
|
class="BlockLinkCard group"
|
|
8
|
-
link-class="block pb-5"
|
|
8
|
+
:link-class="`block ${compact ? 'pb-3' : 'pb-5'}`"
|
|
9
9
|
external-target-blank
|
|
10
10
|
>
|
|
11
11
|
<BaseImagePlaceholder
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
</BaseImagePlaceholder>
|
|
30
30
|
|
|
31
31
|
<div
|
|
32
|
-
class="transition-translate can-hover:group-hover:delay-200 duration-200 ease-in transform"
|
|
32
|
+
class="BlockLinkCard__CardContent transition-translate can-hover:group-hover:delay-200 duration-200 ease-in transform"
|
|
33
33
|
:class="
|
|
34
34
|
compact ? 'can-hover:group-hover:-translate-y-2' : 'can-hover:group-hover:-translate-y-3'
|
|
35
35
|
"
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
</p>
|
|
72
72
|
</div>
|
|
73
73
|
<div
|
|
74
|
-
class="can-hover:block text-action can-hover:-ml-3 can-hover:group-hover:delay-200 can-hover:opacity-0 can-hover:group-hover:ml-0 can-hover:group-hover:opacity-100 hidden -mt-1 text-2xl leading-normal transition-all duration-200 ease-in"
|
|
74
|
+
class="BlockLinkCard__CardArrow ThemeVariantLight can-hover:block text-action can-hover:-ml-3 can-hover:group-hover:delay-200 can-hover:opacity-0 can-hover:group-hover:ml-0 can-hover:group-hover:opacity-100 hidden -mt-1 text-2xl leading-normal transition-all duration-200 ease-in"
|
|
75
75
|
>
|
|
76
76
|
<IconArrow />
|
|
77
77
|
</div>
|
|
@@ -100,41 +100,50 @@ export default defineComponent({
|
|
|
100
100
|
props: {
|
|
101
101
|
data: {
|
|
102
102
|
type: Object as PropType<Card>,
|
|
103
|
-
required: false
|
|
103
|
+
required: false,
|
|
104
|
+
default: undefined
|
|
104
105
|
},
|
|
105
106
|
// override props as needed
|
|
106
107
|
// so we can use this component in search results
|
|
107
108
|
url: {
|
|
108
109
|
type: String,
|
|
109
|
-
required: false
|
|
110
|
+
required: false,
|
|
111
|
+
default: undefined
|
|
110
112
|
},
|
|
111
113
|
externalLink: {
|
|
112
114
|
type: String,
|
|
113
|
-
required: false
|
|
115
|
+
required: false,
|
|
116
|
+
default: undefined
|
|
114
117
|
},
|
|
115
118
|
thumbnailImage: {
|
|
116
119
|
type: Object,
|
|
117
|
-
required: false
|
|
120
|
+
required: false,
|
|
121
|
+
default: undefined
|
|
118
122
|
},
|
|
119
123
|
label: {
|
|
120
124
|
type: String,
|
|
121
|
-
required: false
|
|
125
|
+
required: false,
|
|
126
|
+
default: undefined
|
|
122
127
|
},
|
|
123
128
|
title: {
|
|
124
129
|
type: String,
|
|
125
|
-
required: false
|
|
130
|
+
required: false,
|
|
131
|
+
default: undefined
|
|
126
132
|
},
|
|
127
133
|
date: {
|
|
128
134
|
type: String,
|
|
129
|
-
required: false
|
|
135
|
+
required: false,
|
|
136
|
+
default: undefined
|
|
130
137
|
},
|
|
131
138
|
startDate: {
|
|
132
139
|
type: String,
|
|
133
|
-
required: false
|
|
140
|
+
required: false,
|
|
141
|
+
default: undefined
|
|
134
142
|
},
|
|
135
143
|
endDate: {
|
|
136
144
|
type: String,
|
|
137
|
-
required: false
|
|
145
|
+
required: false,
|
|
146
|
+
default: undefined
|
|
138
147
|
},
|
|
139
148
|
// if styling should be compact
|
|
140
149
|
compact: {
|
|
@@ -144,7 +153,8 @@ export default defineComponent({
|
|
|
144
153
|
// if a heading should be used and at what level
|
|
145
154
|
headingLevel: {
|
|
146
155
|
type: (String as PropType<HeadingLevel>) || null,
|
|
147
|
-
required: false
|
|
156
|
+
required: false,
|
|
157
|
+
default: undefined
|
|
148
158
|
}
|
|
149
159
|
},
|
|
150
160
|
computed: {
|
|
@@ -193,5 +203,15 @@ export default defineComponent({
|
|
|
193
203
|
.text-subtitle.divide-x {
|
|
194
204
|
@apply leading-none #{!important};
|
|
195
205
|
}
|
|
206
|
+
.ThemeVariantDark & {
|
|
207
|
+
@apply bg-white;
|
|
208
|
+
.BlockLinkCard__CardContent,
|
|
209
|
+
.BlockLinkCard__CardArrow {
|
|
210
|
+
@apply px-6;
|
|
211
|
+
}
|
|
212
|
+
.BaseImagePlaceholder {
|
|
213
|
+
@apply bg-gray-mid-dark;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
196
216
|
}
|
|
197
217
|
</style>
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<BaseHeading
|
|
4
4
|
v-if="data.heading"
|
|
5
5
|
level="h2"
|
|
6
|
+
v-bind="$attrs"
|
|
6
7
|
class="md:mb-8 mb-5"
|
|
7
8
|
>
|
|
8
9
|
{{ data.heading }}
|
|
@@ -43,7 +44,6 @@
|
|
|
43
44
|
import { defineComponent } from 'vue'
|
|
44
45
|
import type { PropType } from 'vue'
|
|
45
46
|
import type { BlockData, RelatedLinkObject } from './../../interfaces'
|
|
46
|
-
|
|
47
47
|
import RelatedLink from './../BlockRelatedLinks/RelatedLink.vue'
|
|
48
48
|
import BaseHeading from './../BaseHeading/BaseHeading.vue'
|
|
49
49
|
|
|
@@ -63,6 +63,11 @@ export default defineComponent({
|
|
|
63
63
|
type: Object as PropType<BlockRelatedLinksObject>,
|
|
64
64
|
required: true,
|
|
65
65
|
default: () => ({})
|
|
66
|
+
},
|
|
67
|
+
headingSize: {
|
|
68
|
+
type: String,
|
|
69
|
+
required: false,
|
|
70
|
+
default: undefined
|
|
66
71
|
}
|
|
67
72
|
},
|
|
68
73
|
computed: {
|
|
@@ -47,6 +47,7 @@ export const BlockStreamfieldTruncatedData = {
|
|
|
47
47
|
value:
|
|
48
48
|
'<p>Lorem ipsum <a href="/missions/test-mission/">dolor</a> sit amet, consectetur adipiscing elit. Quisque vitae justo quis justo malesuada molestie. Cras sed tincidunt dui.</p><p>Integer imperdiet blandit neque vitae euismod. Nulla aliquet lacus nibh, vel tincidunt urna efficitur non. In et eros vitae ex posuere maximus quis eget urna. Suspendisse fringilla posuere velit sit amet posuere. Morbi malesuada bibendum vehicula. Donec faucibus ut erat ut mattis. Suspendisse ornare, quam at placerat cursus, dolor mi lacinia nunc, eget maximus augue nulla in dolor.</p>\n'
|
|
49
49
|
},
|
|
50
|
+
BlockInlineImageData.block,
|
|
50
51
|
BlockIframeEmbedData
|
|
51
52
|
]
|
|
52
53
|
}
|
|
@@ -15,22 +15,4 @@ export const CalendarButtonData = {
|
|
|
15
15
|
endDatetime: '2021-11-11T23:59:59.999999-08:00'
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
const CalendarButtonTemplate = (args) => ({
|
|
20
|
-
props: Object.keys(args),
|
|
21
|
-
components: { CalendarButton },
|
|
22
|
-
template: `
|
|
23
|
-
<CalendarButton
|
|
24
|
-
:is-all-day="isAllDay"
|
|
25
|
-
:start-datetime="startDatetime"
|
|
26
|
-
:end-datetime="endDatetime"
|
|
27
|
-
:title="title"
|
|
28
|
-
:location="location"
|
|
29
|
-
/>
|
|
30
|
-
`
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
export const BaseStory = CalendarButtonTemplate.bind({})
|
|
34
|
-
BaseStory.args = {
|
|
35
|
-
...CalendarButtonData
|
|
36
|
-
}
|
|
18
|
+
export const BaseStory = { name: 'CalendarButton', args: CalendarButtonData }
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<BaseButton
|
|
3
|
+
ref="CalendarButton"
|
|
3
4
|
class="w-full"
|
|
4
5
|
variant="secondary"
|
|
5
6
|
compact
|
|
6
|
-
@click="
|
|
7
|
-
// @ts-ignore
|
|
8
|
-
icalendar.download()
|
|
9
|
-
"
|
|
7
|
+
@click="handleDownload"
|
|
10
8
|
>
|
|
11
9
|
Add to calendar
|
|
12
10
|
</BaseButton>
|
|
@@ -15,6 +13,7 @@
|
|
|
15
13
|
import { defineComponent } from 'vue'
|
|
16
14
|
import { ICalendar } from 'datebook'
|
|
17
15
|
import type { CalendarOptions } from 'datebook'
|
|
16
|
+
import { kebabCase } from 'lodash'
|
|
18
17
|
// @ts-ignore
|
|
19
18
|
import dayjs from 'dayjs'
|
|
20
19
|
import BaseButton from './../BaseButton/BaseButton.vue'
|
|
@@ -27,31 +26,50 @@ export default defineComponent({
|
|
|
27
26
|
props: {
|
|
28
27
|
isAllDay: {
|
|
29
28
|
type: Boolean,
|
|
30
|
-
required:
|
|
29
|
+
required: false,
|
|
30
|
+
default: false
|
|
31
31
|
},
|
|
32
|
+
|
|
32
33
|
startDatetime: {
|
|
33
34
|
type: String,
|
|
34
35
|
required: true
|
|
35
36
|
},
|
|
36
37
|
endDatetime: {
|
|
37
38
|
type: String,
|
|
38
|
-
required: false
|
|
39
|
+
required: false,
|
|
40
|
+
default: undefined
|
|
39
41
|
},
|
|
40
42
|
title: {
|
|
41
43
|
type: String,
|
|
42
|
-
required: false
|
|
44
|
+
required: false,
|
|
45
|
+
default: undefined
|
|
43
46
|
},
|
|
44
47
|
location: {
|
|
45
48
|
type: String,
|
|
46
|
-
required: false
|
|
49
|
+
required: false,
|
|
50
|
+
default: undefined
|
|
47
51
|
},
|
|
48
52
|
description: {
|
|
49
53
|
type: String,
|
|
50
|
-
required: false
|
|
54
|
+
required: false,
|
|
55
|
+
default: undefined
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
data(): {
|
|
59
|
+
icalendar: any
|
|
60
|
+
options: CalendarOptions | undefined
|
|
61
|
+
} {
|
|
62
|
+
return {
|
|
63
|
+
icalendar: undefined,
|
|
64
|
+
options: undefined
|
|
51
65
|
}
|
|
52
66
|
},
|
|
53
|
-
|
|
54
|
-
|
|
67
|
+
|
|
68
|
+
mounted() {
|
|
69
|
+
this.init()
|
|
70
|
+
},
|
|
71
|
+
methods: {
|
|
72
|
+
init() {
|
|
55
73
|
let recurrence = {}
|
|
56
74
|
if (this.endDatetime && this.isAllDay) {
|
|
57
75
|
// Calculate how many full days
|
|
@@ -61,7 +79,7 @@ export default defineComponent({
|
|
|
61
79
|
recurrence = { frequency: 'DAILY', interval: 1, count: difference }
|
|
62
80
|
}
|
|
63
81
|
|
|
64
|
-
|
|
82
|
+
this.options = {
|
|
65
83
|
title: this.title ? this.title : undefined,
|
|
66
84
|
location: this.location ? this.addSlashes(this.location) : undefined,
|
|
67
85
|
description: this.description ? this.description : undefined,
|
|
@@ -69,17 +87,25 @@ export default defineComponent({
|
|
|
69
87
|
end: !this.isAllDay && this.endDatetime ? new Date(this.endDatetime) : undefined,
|
|
70
88
|
recurrence
|
|
71
89
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
methods: {
|
|
90
|
+
this.icalendar = new ICalendar(this.options)
|
|
91
|
+
},
|
|
77
92
|
addSlashes(string: string): string {
|
|
78
93
|
// Escape special characters COMMA, SEMI-COLON and BACKSLASH
|
|
79
94
|
// as temporary fix for this issue https://github.com/jshor/datebook/issues/179
|
|
80
95
|
// regex based of https://stackoverflow.com/a/770533
|
|
81
96
|
// eslint-disable-next-line
|
|
82
97
|
return string.replace(/[,;\\]/g, '\\$&').replace(/\u0000/g, '\\0')
|
|
98
|
+
},
|
|
99
|
+
handleDownload() {
|
|
100
|
+
const ics = this.icalendar.render()
|
|
101
|
+
const blob = new Blob([ics], {
|
|
102
|
+
type: 'text/calendar'
|
|
103
|
+
})
|
|
104
|
+
const objectUrl = window.URL.createObjectURL(blob)
|
|
105
|
+
let fileLink = document.createElement('a')
|
|
106
|
+
fileLink.href = objectUrl
|
|
107
|
+
fileLink.download = kebabCase(this.title)
|
|
108
|
+
fileLink.click()
|
|
83
109
|
}
|
|
84
110
|
}
|
|
85
111
|
})
|
|
@@ -1,33 +1,29 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
v-if="image"
|
|
4
|
-
class="
|
|
4
|
+
class="EventDetailHero mb-10 md:mb-10 lg:mb-14 -mx-4 lg:mx-0"
|
|
5
5
|
>
|
|
6
|
-
<div class="
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
<div class="text-subtitle">
|
|
28
|
-
{{ startDateSplit.monthAndYear }}
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
6
|
+
<div class="hero">
|
|
7
|
+
<BaseImage
|
|
8
|
+
v-if="image.src"
|
|
9
|
+
:src="image.src.url"
|
|
10
|
+
:srcset="getSrcSet"
|
|
11
|
+
:width="image.src.width"
|
|
12
|
+
:height="image.src.height"
|
|
13
|
+
:alt="image.alt"
|
|
14
|
+
image-class="w-full h-auto"
|
|
15
|
+
object-fit-class="cover"
|
|
16
|
+
loading="lazy"
|
|
17
|
+
/>
|
|
18
|
+
<div
|
|
19
|
+
v-if="startDateSplit"
|
|
20
|
+
class="ThemeVariantLight absolute top-0 left-0 z-10 px-4 py-4 text-center text-white bg-primary"
|
|
21
|
+
>
|
|
22
|
+
<div class="font-extrabold text-6xl leading-tight tracking-wider">
|
|
23
|
+
{{ startDateSplit.day }}
|
|
24
|
+
</div>
|
|
25
|
+
<div class="text-subtitle">
|
|
26
|
+
{{ startDateSplit.monthAndYear }}
|
|
31
27
|
</div>
|
|
32
28
|
</div>
|
|
33
29
|
</div>
|
|
@@ -47,7 +43,8 @@ export default defineComponent({
|
|
|
47
43
|
props: {
|
|
48
44
|
data: {
|
|
49
45
|
type: Object,
|
|
50
|
-
required: false
|
|
46
|
+
required: false,
|
|
47
|
+
default: undefined
|
|
51
48
|
},
|
|
52
49
|
startDateSplit: {
|
|
53
50
|
type: Object as PropType<EventDateObject | undefined>,
|
|
@@ -55,7 +52,8 @@ export default defineComponent({
|
|
|
55
52
|
},
|
|
56
53
|
image: {
|
|
57
54
|
type: Object,
|
|
58
|
-
required: false
|
|
55
|
+
required: false,
|
|
56
|
+
default: undefined
|
|
59
57
|
}
|
|
60
58
|
},
|
|
61
59
|
computed: {
|
|
@@ -65,6 +63,3 @@ export default defineComponent({
|
|
|
65
63
|
}
|
|
66
64
|
})
|
|
67
65
|
</script>
|
|
68
|
-
<style lang="scss">
|
|
69
|
-
@import '@explorer-1/common/src/scss/components/HeroMedia';
|
|
70
|
-
</style>
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<div class="sm:flex flex-wrap items-center justify-between">
|
|
18
18
|
<h2
|
|
19
19
|
v-if="heading"
|
|
20
|
-
class="
|
|
20
|
+
class="MixinCarousel__Heading text-h3 defaultTheme:uppercase"
|
|
21
21
|
>
|
|
22
22
|
{{ heading }}
|
|
23
23
|
</h2>
|
|
@@ -6,6 +6,7 @@ import PageEventDetail from './PageEventDetail.vue'
|
|
|
6
6
|
export default {
|
|
7
7
|
title: 'Templates/PageEventDetail',
|
|
8
8
|
component: PageEventDetail,
|
|
9
|
+
tags: ['!autodocs'],
|
|
9
10
|
parameters: {
|
|
10
11
|
html: {
|
|
11
12
|
root: '#storyDecorator'
|
|
@@ -17,6 +18,7 @@ export default {
|
|
|
17
18
|
|
|
18
19
|
// stories
|
|
19
20
|
export const BaseStory = {
|
|
21
|
+
name: 'PageEventDetail',
|
|
20
22
|
args: {
|
|
21
23
|
data: {
|
|
22
24
|
id: '285',
|
|
@@ -34,7 +36,7 @@ export const BaseStory = {
|
|
|
34
36
|
label: 'Events',
|
|
35
37
|
location: 'Webcast',
|
|
36
38
|
registerLink: [],
|
|
37
|
-
|
|
39
|
+
eventImage: {
|
|
38
40
|
...EventDetailHeroData.heroImage
|
|
39
41
|
},
|
|
40
42
|
thumbnailImage: {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
>
|
|
33
33
|
<div
|
|
34
34
|
v-if="data.label"
|
|
35
|
-
class="flex flex-wrap items-start mb-
|
|
35
|
+
class="flex flex-wrap items-start mb-4"
|
|
36
36
|
>
|
|
37
37
|
<nuxt-link
|
|
38
38
|
class="py-3 cursor-pointer group nuxt-link-active text-subtitle text-primary can-hover:hover:text-primary-dark"
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
|
|
63
63
|
<LayoutHelper indent="col-2">
|
|
64
64
|
<EventDetailHero
|
|
65
|
-
:image="data.
|
|
65
|
+
:image="data.eventImage"
|
|
66
66
|
:start-date-split="formattedSplitEventDates"
|
|
67
67
|
/>
|
|
68
68
|
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
:class="data.registerLink && data.registerLink.length > 0 ? '' : 'lg:mb-10'"
|
|
74
74
|
>
|
|
75
75
|
<div class="PageEventDetail__Metadata text-primary">
|
|
76
|
-
<IconCalendar class="relative mr-3" />
|
|
76
|
+
<IconCalendar class="relative mr-3 text-[1.2rem]" />
|
|
77
77
|
<span>{{ formattedEventDates }}</span>
|
|
78
78
|
</div>
|
|
79
79
|
<div
|