@explorer-1/vue 0.0.4 → 0.1.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/dist/explorer-1-vue.js +4555 -4478
- package/dist/explorer-1-vue.umd.cjs +16 -16
- package/dist/src/components/BaseAudio/BaseAudio.vue.d.ts +4 -4
- package/dist/src/components/BaseVideo/BaseVideo.stories.d.ts +2 -5
- package/dist/src/components/BlockImageCarousel/BlockImageCarousel.vue.d.ts +8 -0
- package/dist/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.d.ts +32 -8
- package/dist/src/components/EventDetailHero/EventDetailHero.vue.d.ts +2 -2
- package/dist/src/components/HeroMedia/HeroMedia.stories.d.ts +0 -3
- package/dist/src/components/HomepageCarousel/HomepageCarousel.stories.d.ts +6 -0
- package/dist/src/components/NavDesktop/NavDesktop.stories.d.ts +3 -3
- package/dist/src/components/NavMobile/NavMobile.stories.d.ts +3 -3
- package/dist/src/docs/foundation/themes.stories.d.ts +1 -12
- package/dist/src/templates/PageContent/PageContent.stories.d.ts +0 -3
- package/dist/src/templates/PageEventDetail/PageEventDetail.stories.d.ts +0 -3
- package/dist/style.css +1 -1
- package/package.json +2 -2
- package/src/components/BackToTop/BackToTop.vue +1 -1
- package/src/components/BaseAudio/BaseAudio.stories.js +1 -1
- package/src/components/BaseAudio/BaseAudio.vue +89 -57
- package/src/components/BaseImage/BaseImage.vue +1 -0
- package/src/components/BaseTimer/BaseTimer.vue +1 -0
- package/src/components/BaseVideo/BaseVideo.stories.js +2 -4
- package/src/components/BlockIframeEmbed/BlockIframeEmbed.vue +1 -0
- package/src/components/BlockImageCarousel/BlockImageCarousel.vue +7 -0
- package/src/components/BlockImageGallery/BlockImageGallery.vue +1 -0
- package/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.js +15 -14
- package/src/components/BlockQuote/BlockQuote.vue +1 -0
- package/src/components/BlockTable/BlockTable.vue +1 -1
- package/src/components/EventDetailHero/EventDetailHero.vue +12 -6
- package/src/components/FormContact/FormContact.vue +1 -1
- package/src/components/FormNewsletterSignup/FormNewsletterSignup.vue +1 -1
- package/src/components/HeroListingIndex/HeroListingIndex.stories.js +2 -4
- package/src/components/HeroMedia/HeroMedia.stories.js +0 -5
- package/src/components/HeroMedia/HeroMedia.vue +2 -1
- package/src/components/HomepageCarousel/HomepageCarousel.stories.js +3 -0
- package/src/components/HomepageCarouselItem/HomepageCarouselItem.vue +1 -0
- package/src/components/MissionDetailHero/MissionDetailHero.vue +1 -0
- package/src/components/MissionDetailHighlights/MissionDetailHighlights.vue +1 -1
- package/src/components/MissionDetailStats/MissionDetailStats.vue +2 -2
- package/src/components/MissionDetailStats/MissionDetailStatsMicro.vue +1 -1
- package/src/components/MissionDetailStats/MissionDetailStatsMini.vue +3 -3
- package/src/components/MixinCarousel/MixinCarousel.stories.js +2 -2
- package/src/components/MixinCarousel/MixinCarousel.vue +5 -2
- package/src/components/MixinFancybox/MixinFancybox.vue +1 -0
- package/src/components/NavDesktop/NavDesktop.stories.js +1 -1
- package/src/components/NavDesktop/NavDesktopDropdownContent.vue +3 -3
- package/src/components/NavDesktop/NavDesktopDropdownMore.vue +3 -3
- package/src/components/NavHeading/NavHeading.stories.js +1 -1
- package/src/components/NavHeading/NavHeading.vue +2 -2
- package/src/components/NavLinkList/NavLinkList.stories.js +1 -1
- package/src/components/NavSocial/NavSocial.stories.js +1 -1
- package/src/components/SearchFilterGroup/SearchFilterGroup.vue +2 -2
- package/src/components/SearchResultCard/SearchResultCard.vue +2 -1
- package/src/components/TheFooter/TheFooter.vue +1 -1
- package/src/components/TopicDetailMissionCarousel/TopicDetailMissionCarousel.vue +1 -1
- package/src/components/TopicDetailMissionCarouselItem/TopicDetailMissionCarouselItem.vue +2 -2
- package/src/docs/foundation/DynamicTokens.vue +4 -4
- package/src/docs/foundation/color.docs.mdx +50 -45
- package/src/docs/foundation/themes.docs.mdx +8 -2
- package/src/docs/foundation/themes.stories.js +0 -35
- package/src/templates/PageContent/PageContent.stories.js +0 -5
- package/src/templates/PageContent/PageContent.vue +62 -37
- package/src/templates/PageEventDetail/PageEventDetail.stories.js +0 -5
- package/src/templates/PageEventDetail/PageEventDetail.vue +32 -0
- package/src/templates/edu/PageEduNewsDetail.vue +9 -1
|
@@ -199,7 +199,7 @@ export const NavInverted = {
|
|
|
199
199
|
return { args }
|
|
200
200
|
},
|
|
201
201
|
template: `<div class="absolute inset-0">
|
|
202
|
-
<div style="height:2500px" class="nav-offset bg-
|
|
202
|
+
<div style="height:2500px" class="nav-offset bg-jpl-blue-darker">
|
|
203
203
|
<NavDesktop v-bind="args" />
|
|
204
204
|
<div v-if="invertOverride" class="-nav-offset max-w-screen-3xl mx-auto">
|
|
205
205
|
<img class="w-full h-auto block" src="https://picsum.photos/1600/900" alt="Example Hero" />
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
v-if="data"
|
|
4
|
-
class="NavDesktopDropdownContent bg-
|
|
4
|
+
class="NavDesktopDropdownContent bg-jpl-blue-darker bg-opacity-98 3xl:px-0 px-4 py-10 text-white"
|
|
5
5
|
>
|
|
6
6
|
<div
|
|
7
7
|
v-if="data.menuColumns"
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
|
|
55
55
|
<script lang="ts">
|
|
56
56
|
import { defineComponent } from 'vue'
|
|
57
|
-
import _map from 'lodash/map'
|
|
58
|
-
import _without from 'lodash/without'
|
|
57
|
+
import _map from 'lodash/map.js'
|
|
58
|
+
import _without from 'lodash/without.js'
|
|
59
59
|
import NavLinkList from './../NavLinkList/NavLinkList.vue'
|
|
60
60
|
import NavHighlight from './../NavHighlight/NavHighlight.vue'
|
|
61
61
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
v-if="data"
|
|
4
|
-
class="NavDesktopDropdownMore bg-
|
|
4
|
+
class="NavDesktopDropdownMore bg-jpl-blue-darker bg-opacity-98 3xl:px-0 w-full px-4 py-10 text-white"
|
|
5
5
|
>
|
|
6
6
|
<div class="BaseGrid container mx-auto">
|
|
7
7
|
<div
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
|
|
65
65
|
<script lang="ts">
|
|
66
66
|
import { defineComponent } from 'vue'
|
|
67
|
-
import _map from 'lodash/map'
|
|
68
|
-
import _without from 'lodash/without'
|
|
67
|
+
import _map from 'lodash/map.js'
|
|
68
|
+
import _without from 'lodash/without.js'
|
|
69
69
|
|
|
70
70
|
import NavLinkList from './../NavLinkList/NavLinkList.vue'
|
|
71
71
|
import NavSocial from './../NavSocial/NavSocial.vue'
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<template v-if="data.headingPage && data.heading">
|
|
7
7
|
<BaseLink
|
|
8
8
|
variant="none"
|
|
9
|
-
class="text-subtitle text-blue inline-block mb-4"
|
|
9
|
+
class="text-subtitle text-jpl-blue-lighter inline-block mb-4"
|
|
10
10
|
link-class="p-2"
|
|
11
11
|
:to="data.headingPage.url"
|
|
12
12
|
>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
</BaseLink>
|
|
15
15
|
</template>
|
|
16
16
|
<template v-else-if="data.heading">
|
|
17
|
-
<div class="text-subtitle text-blue inline-block mb-4">
|
|
17
|
+
<div class="text-subtitle text-jpl-blue-lighter inline-block mb-4">
|
|
18
18
|
<span class="p-2">{{ data.heading }}</span>
|
|
19
19
|
</div>
|
|
20
20
|
</template>
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
class="form-check-label pl-2 tracking-normal align-middle"
|
|
38
38
|
>
|
|
39
39
|
{{ prettyFilterNames(bucket.key_as_string ? bucket.key_as_string : bucket.key) }}
|
|
40
|
-
<span class="text-gray-mid"> ({{ bucket.doc_count.toLocaleString() }}) </span>
|
|
40
|
+
<span class="text-gray-mid-dark"> ({{ bucket.doc_count.toLocaleString() }}) </span>
|
|
41
41
|
</label>
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
</template>
|
|
63
63
|
<script lang="ts">
|
|
64
64
|
// @ts-nocheck
|
|
65
|
-
import isEqual from 'lodash/isEqual'
|
|
65
|
+
import isEqual from 'lodash/isEqual.js'
|
|
66
66
|
export default {
|
|
67
67
|
name: 'SearchFilterGroup',
|
|
68
68
|
props: {
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
</div>
|
|
123
123
|
<div
|
|
124
124
|
v-else
|
|
125
|
-
class="bg-
|
|
125
|
+
class="bg-jpl-blue-darker edu:bg-stars edu:bg-primary xl:grid-cols-9 relative grid grid-cols-5 mb-10 text-white"
|
|
126
126
|
>
|
|
127
127
|
<div class="xl:col-span-7 flex items-center col-span-3 p-10">
|
|
128
128
|
<div class="">
|
|
@@ -173,6 +173,7 @@
|
|
|
173
173
|
:alt="image.alt"
|
|
174
174
|
class="object-cover w-full h-full"
|
|
175
175
|
loading="lazy"
|
|
176
|
+
data-chromatic="ignore"
|
|
176
177
|
/>
|
|
177
178
|
</div>
|
|
178
179
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<footer class="TheFooter bg-
|
|
2
|
+
<footer class="TheFooter bg-jpl-blue-darker edu:bg-stars edu:bg-primary text-white relative z-20">
|
|
3
3
|
<div class="footer-main lg:BaseGrid 3xl:px-0 lg:pt-20 container px-4 pt-10 mx-auto">
|
|
4
4
|
<div class="footer-navigation lg:block lg:col-span-9 hidden col-span-12">
|
|
5
5
|
<!-- footerNavigation -->
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<nuxt-link
|
|
3
3
|
v-if="data"
|
|
4
4
|
:to="data.url"
|
|
5
|
-
class="TopicDetailMissionCarouselItem group block cursor-pointer"
|
|
5
|
+
class="TopicDetailMissionCarouselItem ThemeVariantLight group block cursor-pointer"
|
|
6
6
|
>
|
|
7
7
|
<div
|
|
8
8
|
class="can-hover:group-hover:scale-105 relative transition-transform duration-200 ease-in transform scale-100"
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
</p>
|
|
39
39
|
<p
|
|
40
40
|
v-if="data.status || data.showClock"
|
|
41
|
-
class="text-subtitle text-jpl-
|
|
41
|
+
class="text-subtitle text-jpl-blue-light"
|
|
42
42
|
>
|
|
43
43
|
<span class="sr-only">.</span>
|
|
44
44
|
<template v-if="data.showClock">
|
|
@@ -41,28 +41,28 @@
|
|
|
41
41
|
<div class="bg-secondary-light p-4"></div>
|
|
42
42
|
</td>
|
|
43
43
|
<td>Secondary light</td>
|
|
44
|
-
<td><code class="text-sm">
|
|
44
|
+
<td><code class="text-sm">secondary-light</code></td>
|
|
45
45
|
</tr>
|
|
46
46
|
<tr>
|
|
47
47
|
<td>
|
|
48
48
|
<div class="bg-secondary p-4"></div>
|
|
49
49
|
</td>
|
|
50
50
|
<td>Secondary</td>
|
|
51
|
-
<td><code class="text-sm">
|
|
51
|
+
<td><code class="text-sm">secondary</code></td>
|
|
52
52
|
</tr>
|
|
53
53
|
<tr>
|
|
54
54
|
<td>
|
|
55
55
|
<div class="bg-secondary-dark p-4"></div>
|
|
56
56
|
</td>
|
|
57
57
|
<td>Secondary dark</td>
|
|
58
|
-
<td><code class="text-sm">
|
|
58
|
+
<td><code class="text-sm">secondary-dark</code></td>
|
|
59
59
|
</tr>
|
|
60
60
|
<tr>
|
|
61
61
|
<td>
|
|
62
62
|
<div class="bg-secondary-darker p-4"></div>
|
|
63
63
|
</td>
|
|
64
64
|
<td>Secondary darker</td>
|
|
65
|
-
<td><code class="text-sm">
|
|
65
|
+
<td><code class="text-sm">secondary-darker</code></td>
|
|
66
66
|
</tr>
|
|
67
67
|
<tr>
|
|
68
68
|
<td>
|
|
@@ -15,42 +15,43 @@ import { Meta, Story, Canvas } from '@storybook/blocks'
|
|
|
15
15
|
|
|
16
16
|
Each of these foundation colors has specific usage scenarios.
|
|
17
17
|
|
|
18
|
-
| Color | Name | Token |
|
|
19
|
-
| :-------------------------------------------- | :------------- | :--------------- |
|
|
20
|
-
| <div className="bg-jpl-red-light p-4"></div> | JPL Red Light | `jpl-red-light` |
|
|
21
|
-
| <div className="bg-jpl-red p-4"></div> | JPL Red | `jpl-red` |
|
|
22
|
-
| <div className="bg-jpl-red-dark p-4"></div> | JPL Red Dark | `jpl-red-dark` |
|
|
23
|
-
| <div className="bg-jpl-red-darker p-4"></div> | JPL Red Darker | `jpl-red-darker` |
|
|
24
|
-
| <div className="bg-jpl-aqua p-4"></div> | JPL Aqua | `aqua` |
|
|
25
|
-
| <div className="bg-blue p-4"></div> | Blue | `blue` |
|
|
26
|
-
| <div className="bg-dark-blue p-4"></div> | Dark Blue | `dark-blue` |
|
|
27
|
-
| <div className="bg-green p-4"></div> | Green | `green` |
|
|
28
|
-
|
|
29
|
-
### Reserved for Internal Use
|
|
30
|
-
|
|
31
|
-
These colors should not be used on public-facing JPL websites.
|
|
32
|
-
|
|
33
18
|
| Color | Name | Token |
|
|
34
19
|
| :------------------------------------------------- | :------------------ | :-------------------- |
|
|
35
|
-
| <div className="bg-jpl-
|
|
36
|
-
| <div className="bg-jpl-
|
|
37
|
-
| <div className="bg-jpl-
|
|
38
|
-
| <div className="bg-jpl-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
| <div className="bg-jpl-
|
|
47
|
-
| <div className="bg-jpl-
|
|
48
|
-
| <div className="bg-jpl-
|
|
49
|
-
| <div className="bg-jpl-
|
|
50
|
-
| <div className="bg-jpl-teal-
|
|
51
|
-
| <div className="bg-jpl-teal p-4"></div>
|
|
52
|
-
| <div className="bg-jpl-teal
|
|
53
|
-
| <div className="bg-jpl-teal-
|
|
20
|
+
| <div className="bg-jpl-red-lighter p-4"></div> | JPL Red Lighter | `jpl-red-lighter` |
|
|
21
|
+
| <div className="bg-jpl-red-light p-4"></div> | JPL Red Light | `jpl-red-light` |
|
|
22
|
+
| <div className="bg-jpl-red p-4"></div> | JPL Red | `jpl-red` |
|
|
23
|
+
| <div className="bg-jpl-red-dark p-4"></div> | JPL Red Dark | `jpl-red-dark` |
|
|
24
|
+
| <div className="bg-jpl-red-darker p-4"></div> | JPL Red Darker | `jpl-red-darker` |
|
|
25
|
+
| <div className="bg-jpl-orange-lighter p-4"></div> | JPL Orange Lighter | `jpl-orange-lighter` |
|
|
26
|
+
| <div className="bg-jpl-orange-light p-4"></div> | JPL Orange Light | `jpl-orange-light` |
|
|
27
|
+
| <div className="bg-jpl-orange p-4"></div> | JPL Orange | `jpl-orange` |
|
|
28
|
+
| <div className="bg-jpl-orange-dark p-4"></div> | JPL Orange Dark | `jpl-orange-dark` |
|
|
29
|
+
| <div className="bg-jpl-orange-darker p-4"></div> | JPL Orange Darker | `jpl-orange-darker` |
|
|
30
|
+
| <div className="bg-jpl-yellow-lighter p-4"></div> | JPL Yellow Lighter | `jpl-yellow-lighter` |
|
|
31
|
+
| <div className="bg-jpl-yellow-light p-4"></div> | JPL Yellow Light | `jpl-yellow-light` |
|
|
32
|
+
| <div className="bg-jpl-yellow p-4"></div> | JPL Yellow | `jpl-yellow` |
|
|
33
|
+
| <div className="bg-jpl-yellow-dark p-4"></div> | JPL Yellow Dark | `jpl-yellow-dark` |
|
|
34
|
+
| <div className="bg-jpl-yellow-darker p-4"></div> | JPL Yellow Darker | `jpl-yellow-darker` |
|
|
35
|
+
| <div className="bg-jpl-teal-lighter p-4"></div> | JPL Teal Lighter | `jpl-teal-lighter` |
|
|
36
|
+
| <div className="bg-jpl-teal-light p-4"></div> | JPL Teal Light | `jpl-teal-light` |
|
|
37
|
+
| <div className="bg-jpl-teal p-4"></div> | JPL Teal | `jpl-teal` |
|
|
38
|
+
| <div className="bg-jpl-teal-dark p-4"></div> | JPL Teal Dark | `jpl-teal-dark` |
|
|
39
|
+
| <div className="bg-jpl-teal-darker p-4"></div> | JPL Teal Darker | `jpl-teal-darker` |
|
|
40
|
+
| <div className="bg-jpl-blue-lighter p-4"></div> | JPL Blue Lighter | `jpl-blue-lighter` |
|
|
41
|
+
| <div className="bg-jpl-blue-light p-4"></div> | JPL Blue Light | `jpl-blue-light` |
|
|
42
|
+
| <div className="bg-jpl-blue p-4"></div> | JPL Blue | `jpl-blue` |
|
|
43
|
+
| <div className="bg-jpl-blue-dark p-4"></div> | JPL Blue Dark | `jpl-blue-dark` |
|
|
44
|
+
| <div className="bg-jpl-blue-darker p-4"></div> | JPL Blue Darker | `jpl-blue-darker` |
|
|
45
|
+
| <div className="bg-jpl-violet-lighter p-4"></div> | JPL Violet Lighter | `jpl-violet-lighter` |
|
|
46
|
+
| <div className="bg-jpl-violet-light p-4"></div> | JPL Violet Light | `jpl-violet-light` |
|
|
47
|
+
| <div className="bg-jpl-violet p-4"></div> | JPL Violet | `jpl-violet` |
|
|
48
|
+
| <div className="bg-jpl-violet-dark p-4"></div> | JPL Violet Dark | `jpl-violet-dark` |
|
|
49
|
+
| <div className="bg-jpl-violet-darker p-4"></div> | JPL Violet Darker | `jpl-violet-darker` |
|
|
50
|
+
| <div className="bg-jpl-magenta-lighter p-4"></div> | JPL Magenta Lighter | `jpl-magenta-lighter` |
|
|
51
|
+
| <div className="bg-jpl-magenta-light p-4"></div> | JPL Magenta Light | `jpl-magenta-light` |
|
|
52
|
+
| <div className="bg-jpl-magenta p-4"></div> | JPL Magenta | `jpl-magenta` |
|
|
53
|
+
| <div className="bg-jpl-magenta-dark p-4"></div> | JPL Magenta Dark | `jpl-magenta-dark` |
|
|
54
|
+
| <div className="bg-jpl-magenta-darker p-4"></div> | JPL Magenta Darker | `jpl-magenta-darker` |
|
|
54
55
|
|
|
55
56
|
<span id="functional-gray-tones"></span>
|
|
56
57
|
|
|
@@ -87,17 +88,21 @@ Recommended for use in forms, alerts, or any element meant to communicate a stat
|
|
|
87
88
|
**Note:** Color should never be the _only_ means used to convey state information;
|
|
88
89
|
it must always be accompanied by text or iconography that makes it clear for colorblind users.
|
|
89
90
|
|
|
90
|
-
| Color
|
|
91
|
-
|
|
|
92
|
-
| <div className="bg-
|
|
93
|
-
| <div className="bg-
|
|
94
|
-
| <div className="bg-
|
|
95
|
-
| <div className="bg-error-
|
|
96
|
-
| <div className="bg-error
|
|
97
|
-
| <div className="bg-
|
|
98
|
-
| <div className="bg-
|
|
99
|
-
| <div className="bg-success
|
|
100
|
-
| <div className="bg-success-
|
|
91
|
+
| Color | Name | Token |
|
|
92
|
+
| :------------------------------------------- | :------------ | :-------------- |
|
|
93
|
+
| <div className="bg-warning-light p-4"></div> | Alert Light | `alert-light` |
|
|
94
|
+
| <div className="bg-warning p-4"></div> | Alert | `alert` |
|
|
95
|
+
| <div className="bg-warning-dark p-4"></div> | Alert Dark | `alert-dark` |
|
|
96
|
+
| <div className="bg-error-light p-4"></div> | Error Light | `error-light` |
|
|
97
|
+
| <div className="bg-error p-4"></div> | Error | `error` |
|
|
98
|
+
| <div className="bg-error-dark p-4"></div> | Error Dark | `error-dark` |
|
|
99
|
+
| <div className="bg-success-light p-4"></div> | Success Light | `success-light` |
|
|
100
|
+
| <div className="bg-success p-4"></div> | Success | `success` |
|
|
101
|
+
| <div className="bg-success-dark p-4"></div> | Success Dark | `success-dark` |
|
|
102
|
+
| <div className="bg-focus-light p-4"></div> | Focus Light | `focus-light` |
|
|
103
|
+
| <div className="bg-focus p-4"></div> | Focus | `focus` |
|
|
104
|
+
| <div className="bg-focus-dark p-4"></div> | Focus Dark | `focus-dark` |
|
|
105
|
+
| <div className="bg-disabled p-4"></div> | Disabled | `disabled` |
|
|
101
106
|
|
|
102
107
|
<span id="tokens"></span>
|
|
103
108
|
|
|
@@ -17,9 +17,15 @@ Changing the Theme and Variant to see how the dynamic tokens change.
|
|
|
17
17
|
|
|
18
18
|
<Canvas of={Stories.DynamicTokenStory} />
|
|
19
19
|
|
|
20
|
-
## Light
|
|
20
|
+
## Light, Dark, and Gray Variants
|
|
21
21
|
|
|
22
|
-
`.ThemeVariantLight
|
|
22
|
+
`.ThemeVariantLight`, `.ThemeVariantDark`, and `.ThemeVariantGray` in Explorer 1 are theme variants. Note that not all components support these variants.
|
|
23
|
+
|
|
24
|
+
| Variant | Purpose |
|
|
25
|
+
| ------------------- | -------------------------------------------------------------------------------------------- |
|
|
26
|
+
| `ThemeVariantLight` | When the component or element is used over a light or white background. Usually the default. |
|
|
27
|
+
| `ThemeVariantDark` | When the component or element is used over a dark or black background |
|
|
28
|
+
| `ThemeVariantGray` | When the component or element is used over a gray background |
|
|
23
29
|
|
|
24
30
|
### Key Points
|
|
25
31
|
|
|
@@ -11,41 +11,6 @@ export const DynamicTokenStory = {
|
|
|
11
11
|
args: {}
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
const InternalTemplate = `<div>
|
|
15
|
-
<div class="ThemeInternal">
|
|
16
|
-
<!-- BaseLink -->
|
|
17
|
-
<div>
|
|
18
|
-
<a
|
|
19
|
-
class="group cursor-pointer -default underline text-action can-hover:hover:text-action-hover"
|
|
20
|
-
>
|
|
21
|
-
Internal Theme: BaseLink
|
|
22
|
-
</a>
|
|
23
|
-
</div>
|
|
24
|
-
<!-- /BaseLink -->
|
|
25
|
-
</div>
|
|
26
|
-
<div>
|
|
27
|
-
<!-- BaseLink -->
|
|
28
|
-
<div>
|
|
29
|
-
<a
|
|
30
|
-
class="group cursor-pointer -default underline text-action can-hover:hover:text-action-hover"
|
|
31
|
-
>
|
|
32
|
-
Default Theme: BaseLink
|
|
33
|
-
</a>
|
|
34
|
-
</div>
|
|
35
|
-
<!-- /BaseLink -->
|
|
36
|
-
</div>
|
|
37
|
-
</div>`
|
|
38
|
-
|
|
39
|
-
export const Internal = {
|
|
40
|
-
args: {},
|
|
41
|
-
render: (args) => ({
|
|
42
|
-
setup() {
|
|
43
|
-
return { args }
|
|
44
|
-
},
|
|
45
|
-
template: InternalTemplate
|
|
46
|
-
})
|
|
47
|
-
}
|
|
48
|
-
|
|
49
14
|
const AdaptiveTextTemplate = `<p class="p-4">
|
|
50
15
|
<a class="cursor-pointer font-bold text-action can-hover:hover:text-action-hover">
|
|
51
16
|
Lorem ipsum dolor sit amet
|
|
@@ -12,11 +12,6 @@ import PageContent from './PageContent.vue'
|
|
|
12
12
|
export default {
|
|
13
13
|
title: 'Templates/PageContent',
|
|
14
14
|
component: PageContent,
|
|
15
|
-
decorators: [
|
|
16
|
-
() => ({
|
|
17
|
-
template: `<div id="storyDecorator" class="absolute inset-0 disable-nav-offset"><story/></div>`
|
|
18
|
-
})
|
|
19
|
-
],
|
|
20
15
|
parameters: {
|
|
21
16
|
html: {
|
|
22
17
|
root: '#storyDecorator'
|
|
@@ -1,3 +1,65 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { defineComponent } from 'vue'
|
|
3
|
+
import { useRoute } from 'vue-router'
|
|
4
|
+
import HeroMedia from '@explorer-1/vue/src/components/HeroMedia/HeroMedia.vue'
|
|
5
|
+
import NavSecondary from '@explorer-1/vue/src/components/NavSecondary/NavSecondary.vue'
|
|
6
|
+
import LayoutHelper from '@explorer-1/vue/src/components/LayoutHelper/LayoutHelper.vue'
|
|
7
|
+
import DetailHeadline from '@explorer-1/vue/src/components/DetailHeadline/DetailHeadline.vue'
|
|
8
|
+
import BlockImageStandard from '@explorer-1/vue/src/components/BlockImage/BlockImageStandard.vue'
|
|
9
|
+
import ShareButtons from '@explorer-1/vue/src/components/ShareButtons/ShareButtons.vue'
|
|
10
|
+
import BlockStreamfield from '@explorer-1/vue/src/components/BlockStreamfield/BlockStreamfield.vue'
|
|
11
|
+
import BlockRelatedLinks from '@explorer-1/vue/src/components/BlockRelatedLinks/BlockRelatedLinks.vue'
|
|
12
|
+
import FormContact from '@explorer-1/vue/src/components/FormContact/FormContact.vue'
|
|
13
|
+
import FormNewsletterSignup from '@explorer-1/vue/src/components/FormNewsletterSignup/FormNewsletterSignup.vue'
|
|
14
|
+
import BlockLinkCarousel from '@explorer-1/vue/src/components/BlockLinkCarousel/BlockLinkCarousel.vue'
|
|
15
|
+
|
|
16
|
+
const route = useRoute()
|
|
17
|
+
|
|
18
|
+
export default defineComponent({
|
|
19
|
+
name: 'PageContent',
|
|
20
|
+
components: {
|
|
21
|
+
HeroMedia,
|
|
22
|
+
NavSecondary,
|
|
23
|
+
LayoutHelper,
|
|
24
|
+
DetailHeadline,
|
|
25
|
+
BlockImageStandard,
|
|
26
|
+
ShareButtons,
|
|
27
|
+
BlockStreamfield,
|
|
28
|
+
BlockRelatedLinks,
|
|
29
|
+
FormContact,
|
|
30
|
+
FormNewsletterSignup,
|
|
31
|
+
BlockLinkCarousel
|
|
32
|
+
},
|
|
33
|
+
props: {
|
|
34
|
+
data: {
|
|
35
|
+
type: Object,
|
|
36
|
+
required: false,
|
|
37
|
+
default: undefined
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
computed: {
|
|
41
|
+
heroInline() {
|
|
42
|
+
if (this.data?.heroPosition === 'inline') {
|
|
43
|
+
return true
|
|
44
|
+
}
|
|
45
|
+
return false
|
|
46
|
+
},
|
|
47
|
+
hideH1() {
|
|
48
|
+
if (route?.path === '/a-plan-for-jpl') {
|
|
49
|
+
return true
|
|
50
|
+
}
|
|
51
|
+
return false
|
|
52
|
+
},
|
|
53
|
+
h1LayoutHelperClasses() {
|
|
54
|
+
if (this.hideH1) {
|
|
55
|
+
// We're hiding the H1 from regular browsers, so reduce the standard margin.
|
|
56
|
+
return 'lg:mt-12 mt-5'
|
|
57
|
+
}
|
|
58
|
+
return 'lg:mt-12 lg:mb-18 mt-5 mb-10'
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
})
|
|
62
|
+
</script>
|
|
1
63
|
<template>
|
|
2
64
|
<div
|
|
3
65
|
v-if="data"
|
|
@@ -101,40 +163,3 @@
|
|
|
101
163
|
/>
|
|
102
164
|
</div>
|
|
103
165
|
</template>
|
|
104
|
-
<script lang="ts">
|
|
105
|
-
import { defineComponent } from 'vue'
|
|
106
|
-
import { useRoute } from 'vue-router'
|
|
107
|
-
const route = useRoute()
|
|
108
|
-
|
|
109
|
-
export default defineComponent({
|
|
110
|
-
name: 'PageContent',
|
|
111
|
-
props: {
|
|
112
|
-
data: {
|
|
113
|
-
type: Object,
|
|
114
|
-
required: false,
|
|
115
|
-
default: undefined
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
computed: {
|
|
119
|
-
heroInline() {
|
|
120
|
-
if (this.data?.heroPosition === 'inline') {
|
|
121
|
-
return true
|
|
122
|
-
}
|
|
123
|
-
return false
|
|
124
|
-
},
|
|
125
|
-
hideH1() {
|
|
126
|
-
if (route?.path === '/a-plan-for-jpl') {
|
|
127
|
-
return true
|
|
128
|
-
}
|
|
129
|
-
return false
|
|
130
|
-
},
|
|
131
|
-
h1LayoutHelperClasses() {
|
|
132
|
-
if (this.hideH1) {
|
|
133
|
-
// We're hiding the H1 from regular browsers, so reduce the standard margin.
|
|
134
|
-
return 'lg:mt-12 mt-5'
|
|
135
|
-
}
|
|
136
|
-
return 'lg:mt-12 lg:mb-18 mt-5 mb-10'
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
})
|
|
140
|
-
</script>
|
|
@@ -6,11 +6,6 @@ import PageEventDetail from './PageEventDetail.vue'
|
|
|
6
6
|
export default {
|
|
7
7
|
title: 'Templates/PageEventDetail',
|
|
8
8
|
component: PageEventDetail,
|
|
9
|
-
decorators: [
|
|
10
|
-
() => ({
|
|
11
|
-
template: `<div id="storyDecorator" class="absolute inset-0 disable-nav-offset"><story/></div>`
|
|
12
|
-
})
|
|
13
|
-
],
|
|
14
9
|
parameters: {
|
|
15
10
|
html: {
|
|
16
11
|
root: '#storyDecorator'
|
|
@@ -287,11 +287,43 @@ import {
|
|
|
287
287
|
mixinFormatEventTimeInHoursAndMinutes,
|
|
288
288
|
mixinFormatSplitEventDates
|
|
289
289
|
} from '../../utils/mixins'
|
|
290
|
+
import LayoutHelper from '@explorer-1/vue/src/components/LayoutHelper/LayoutHelper.vue'
|
|
291
|
+
import BaseHeading from '@explorer-1/vue/src/components/BaseHeading/BaseHeading.vue'
|
|
292
|
+
import ShareButtons from '@explorer-1/vue/src/components/ShareButtons/ShareButtons.vue'
|
|
293
|
+
import EventDetailHero from '@explorer-1/vue/src/components/EventDetailHero/EventDetailHero.vue'
|
|
294
|
+
import IconCalendar from '@explorer-1/vue/src/components/Icons/IconCalendar.vue'
|
|
295
|
+
import IconLocation from '@explorer-1/vue/src/components/Icons/IconLocation.vue'
|
|
296
|
+
import IconTime from '@explorer-1/vue/src/components/Icons/IconTime.vue'
|
|
297
|
+
import BaseLink from '@explorer-1/vue/src/components/BaseLink/BaseLink.vue'
|
|
298
|
+
import BaseButton from '@explorer-1/vue/src/components/BaseButton/BaseButton.vue'
|
|
299
|
+
import CalendarButton from '@explorer-1/vue/src/components/CalendarButton/CalendarButton.vue'
|
|
300
|
+
import BlockStreamfield from '@explorer-1/vue/src/components/BlockStreamfield/BlockStreamfield.vue'
|
|
301
|
+
import BaseImagePlaceholder from '@explorer-1/vue/src/components/BaseImagePlaceholder/BaseImagePlaceholder.vue'
|
|
302
|
+
import BaseImage from '@explorer-1/vue/src/components/BaseImage/BaseImage.vue'
|
|
303
|
+
import BlockRelatedLinks from '@explorer-1/vue/src/components/BlockRelatedLinks/BlockRelatedLinks.vue'
|
|
304
|
+
import BlockLinkCarousel from '@explorer-1/vue/src/components/BlockLinkCarousel/BlockLinkCarousel.vue'
|
|
290
305
|
// @ts-ignore
|
|
291
306
|
import PlaceholderPortrait from '@explorer-1/common/src/images/svg/placeholder-portrait.svg'
|
|
292
307
|
|
|
293
308
|
export default defineComponent({
|
|
294
309
|
name: 'PageEventDetail',
|
|
310
|
+
components: {
|
|
311
|
+
LayoutHelper,
|
|
312
|
+
BaseHeading,
|
|
313
|
+
ShareButtons,
|
|
314
|
+
EventDetailHero,
|
|
315
|
+
IconCalendar,
|
|
316
|
+
IconLocation,
|
|
317
|
+
IconTime,
|
|
318
|
+
BaseLink,
|
|
319
|
+
BaseButton,
|
|
320
|
+
CalendarButton,
|
|
321
|
+
BlockStreamfield,
|
|
322
|
+
BaseImagePlaceholder,
|
|
323
|
+
BaseImage,
|
|
324
|
+
BlockRelatedLinks,
|
|
325
|
+
BlockLinkCarousel
|
|
326
|
+
},
|
|
295
327
|
props: {
|
|
296
328
|
data: {
|
|
297
329
|
type: Object,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed } from 'vue'
|
|
3
|
+
import isEmpty from 'lodash/isEmpty.js'
|
|
3
4
|
import type { StreamfieldBlockData } from '../../components/BlockStreamfield/BlockStreamfield.vue'
|
|
4
5
|
import type {
|
|
5
6
|
ImageObject,
|
|
@@ -8,7 +9,13 @@ import type {
|
|
|
8
9
|
Topic,
|
|
9
10
|
ThumbnailObject
|
|
10
11
|
} from './../../interfaces'
|
|
11
|
-
import
|
|
12
|
+
import HeroMedia from '@explorer-1/vue/src/components/HeroMedia/HeroMedia.vue'
|
|
13
|
+
import LayoutHelper from '@explorer-1/vue/src/components/LayoutHelper/LayoutHelper.vue'
|
|
14
|
+
import DetailHeadline from '@explorer-1/vue/src/components/DetailHeadline/DetailHeadline.vue'
|
|
15
|
+
import ShareButtonsEdu from '@explorer-1/vue/src/components/ShareButtonsEdu/ShareButtonsEdu.vue'
|
|
16
|
+
import BlockImageStandard from '@explorer-1/vue/src/components/BlockImage/BlockImageStandard.vue'
|
|
17
|
+
import BlockText from '@explorer-1/vue/src/components/BlockText/BlockText.vue'
|
|
18
|
+
import BlockStreamfield from '@explorer-1/vue/src/components/BlockStreamfield/BlockStreamfield.vue'
|
|
12
19
|
|
|
13
20
|
interface PageEduNewsDetailObject extends PageResponseObject {
|
|
14
21
|
heroImage: ImageObject
|
|
@@ -95,6 +102,7 @@ const dateTimeArray = computed(() => {
|
|
|
95
102
|
schema
|
|
96
103
|
/>
|
|
97
104
|
<share-buttons-edu
|
|
105
|
+
v-if="data?.url"
|
|
98
106
|
class="mt-4"
|
|
99
107
|
:url="data.url"
|
|
100
108
|
:title="data.title"
|