@explorer-1/vue 0.1.4 → 0.1.5
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 +8960 -10011
- package/dist/explorer-1-vue.umd.cjs +13 -16
- package/dist/src/components/BaseHeading/BaseHeading.stories.d.ts +6 -11
- package/dist/src/components/BaseHeading/BaseHeading.vue.d.ts +6 -10
- package/dist/src/components/BasePlaceholder/BasePlaceholder.stories.d.ts +0 -1
- package/dist/src/components/BlockDialog/BlockDialog.stories.d.ts +81 -0
- package/dist/src/components/BlockImage/BlockImage.stories.d.ts +0 -1
- package/dist/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.d.ts +6 -0
- package/dist/src/components/BlockLinkCarousel/BlockLinkCarousel.vue.d.ts +6 -0
- package/dist/src/components/BlockQuote/BlockQuote.stories.d.ts +0 -1
- package/dist/src/components/BlockStreamfield/BlockStreamfield.stories.d.ts +58 -8
- package/dist/src/components/BlockVideoEmbed/BlockVideoEmbed.vue.d.ts +7 -3
- package/dist/src/components/HeroListingIndex/HeroListingIndex.stories.d.ts +1 -0
- package/dist/src/components/HeroMedium/HeroMedium.stories.d.ts +1 -0
- package/dist/src/components/HeroMedium/HeroSmall.stories.d.ts +1 -0
- package/dist/src/components/HomepageEmbedBlock/HomepageEmbedBlock.stories.d.ts +1 -6
- package/dist/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.stories.d.ts +31 -47
- package/dist/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.vue.d.ts +5 -1
- package/dist/src/components/HomepageStats/HomepageStats.stories.d.ts +19 -9
- package/dist/src/components/HomepageTeaserBlock/HomepageTeaserBlock.stories.d.ts +6 -50
- package/dist/src/components/HomepageTeaserBlock/HomepageTeaserBlock.vue.d.ts +7 -1
- package/dist/src/components/MissionDetailAbout/MissionDetailAbout.stories.d.ts +1 -6
- package/dist/src/components/MissionDetailHero/MissionDetailHero.stories.d.ts +11 -11
- package/dist/src/components/MissionDetailHighlights/MissionDetailHighlights.stories.d.ts +6 -6
- package/dist/src/components/NavDesktop/NavDesktop.stories.d.ts +3 -6
- package/dist/src/components/NavDesktopEdu/NavDesktopEdu.stories.d.ts +289 -0
- package/dist/src/components/NavLogoLinks/NavLogoLinks.stories.d.ts +0 -5
- package/dist/src/components/NavMobile/NavMobile.stories.d.ts +42 -9
- package/dist/src/components/NavMobile/NavMobile.vue.d.ts +13 -2
- package/dist/src/components/NavMobile/NavMobileEdu.stories.d.ts +392 -0
- package/dist/src/components/NavSocial/NavSocial.stories.d.ts +42 -1
- package/dist/src/components/NavSocial/NavSocial.vue.d.ts +42 -1
- package/dist/src/components/TheFooter/TheFooter.vue.d.ts +9 -1
- package/dist/src/components/TimelineDialog/TimelineDialog.stories.d.ts +75 -0
- package/dist/src/components/TopicDetailMissionSpotlight/TopicDetailMissionSpotlight.stories.d.ts +1 -7
- package/dist/src/components/TopicDetailStreamfield/TopicDetailStreamfield.stories.d.ts +1 -6
- package/dist/src/docs/foundation/typography.stories.d.ts +6 -10
- package/dist/src/store/curatedGallery.d.ts +6 -0
- package/dist/src/store/search.d.ts +10 -0
- package/dist/src/templates/PageAudioDetail/PageAudioDetail.stories.d.ts +102 -0
- package/dist/src/templates/PageContent/PageContent.stories.d.ts +2 -1
- package/dist/src/templates/PageContent/PageContent.vue.d.ts +8 -0
- package/dist/src/templates/PageEventDetail/PageEventDetail.stories.d.ts +1 -1
- package/dist/src/templates/PageImageDetail/PageImageDetail.stories.d.ts +141 -0
- package/dist/src/templates/PageNewsDetail/PageNewsDetail.stories.d.ts +1163 -228
- package/dist/src/templates/PageVideoDetail/PageVideoDetail.stories.d.ts +56 -0
- package/dist/src/templates/edu/PageContentEdu.stories.d.ts +27 -0
- package/dist/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.stories.d.ts +360 -0
- package/dist/src/templates/www/PageAsteroidWatchContent/PageAsteroidWatchContent.stories.d.ts +99 -0
- package/dist/src/templates/{edu/PageEduNewsDetail.stories.d.ts → www/PageAsteroidWatchIndex/PageAsteroidWatchIndex.stories.d.ts} +48 -67
- package/dist/src/templates/www/PageCuratedGallery/PageCuratedGallery.stories.d.ts +98 -0
- package/dist/src/templates/www/PageGoDirectory/PageGoDirectory.stories.d.ts +56 -0
- package/dist/src/templates/www/PageHomepage/PageHomepage.stories.d.ts +704 -0
- package/dist/src/templates/www/PageInfographicDetail/PageInfographicDetail.stories.d.ts +41 -0
- package/dist/src/templates/www/PageMaintenanceMode/PageMaintenanceMode.stories.d.ts +14 -0
- package/dist/src/templates/www/PageMissionDetail/PageMissionDetail.stories.d.ts +875 -0
- package/dist/src/templates/www/PagePodcast/PagePodcast.stories.d.ts +115 -0
- package/dist/src/templates/www/PagePodcastSeason/PagePodcastSeason.stories.d.ts +84 -0
- package/dist/src/templates/www/PagePressKitIndex/PagePressKitIndex.stories.d.ts +64 -0
- package/dist/src/templates/www/PageProfileDetail/PageProfileDetail.stories.d.ts +60 -0
- package/dist/src/templates/www/PageRoboticsDetail/PageRoboticsDetail.stories.d.ts +170 -0
- package/dist/src/templates/www/PageTimeline/PageTimeline.stories.d.ts +338 -0
- package/dist/src/templates/www/PageTopicDetail/PageTopicDetail.stories.d.ts +297 -0
- package/dist/style.css +1 -1
- package/lib/main.ts +4 -0
- package/package.json +2 -1
- package/src/components/BaseAudio/BaseAudio.vue +0 -1
- package/src/components/BaseHeading/BaseHeading.stories.js +0 -1
- package/src/components/BaseHeading/BaseHeading.vue +5 -7
- package/src/components/BasePlaceholder/BasePlaceholder.stories.js +0 -1
- package/src/components/BlockAudio/BlockAudio.stories.js +2 -3
- package/src/components/BlockDialog/BlockDialog.stories.js +56 -0
- package/src/components/BlockDialog/BlockDialog.stories.mdx +28 -0
- package/src/components/BlockDialog/BlockDialog.vue +132 -0
- package/src/components/BlockHeading/BlockHeading.stories.js +2 -2
- package/src/components/BlockImage/BlockImage.stories.js +0 -1
- package/src/components/BlockImageCarouselItem/BlockImageCarouselItem.vue +0 -1
- package/src/components/BlockImageGallery/BlockImageGallery.vue +0 -1
- package/src/components/BlockLinkCarousel/BlockLinkCarousel.vue +4 -2
- package/src/components/BlockQuote/BlockQuote.stories.js +0 -1
- package/src/components/BlockStreamfield/BlockStreamfield.stories.js +20 -9
- package/src/components/BlockVideoEmbed/BlockVideoEmbed.vue +3 -2
- package/src/components/DsnWidget/DsnWidget.vue +2 -2
- package/src/components/HomepageEmbedBlock/HomepageEmbedBlock.stories.js +1 -8
- package/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.stories.js +115 -118
- package/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.vue +3 -23
- package/src/components/HomepageMissionsCarousel/HomepageMissionsCarouselItem.vue +1 -2
- package/src/components/HomepageStats/HomepageStats.stories.js +10 -10
- package/src/components/HomepageStats/HomepageStats.vue +8 -8
- package/src/components/HomepageTeaserBlock/HomepageTeaserBlock.stories.js +11 -18
- package/src/components/HomepageTeaserBlock/HomepageTeaserBlock.vue +20 -14
- package/src/components/HomepageTeaserBlock/HomepageTeaserBlockCardImage.vue +1 -1
- package/src/components/MissionDetailAbout/MissionDetailAbout.stories.js +1 -8
- package/src/components/MissionDetailHero/MissionDetailHero.stories.js +11 -11
- package/src/components/MissionDetailHighlights/MissionDetailHighlights.stories.js +6 -6
- package/src/components/MixinCarousel/MixinCarousel.docs.mdx +1 -1
- package/src/components/NavDesktop/NavDesktop.stories.js +1 -4
- package/src/components/NavDesktopEdu/NavDesktopEdu.stories.js +2 -1
- package/src/components/NavMobile/NavMobileEdu.stories.js +2 -1
- package/src/components/RoboticsDetailStats/RoboticsDetailStats.stories.js +1 -1
- package/src/components/TimelineDialog/TimelineDialog.stories.js +47 -0
- package/src/components/TimelineDialog/TimelineDialog.stories.mdx +26 -0
- package/src/components/TimelineDialog/TimelineDialog.vue +145 -0
- package/src/components/TopicDetailMissionSpotlight/TopicDetailMissionSpotlight.stories.js +1 -9
- package/src/components/TopicDetailStreamfield/TopicDetailStreamfield.stories.js +1 -8
- package/src/docs/utils/ComponentItem.jsx +0 -1
- package/src/store/curatedGallery.ts +23 -0
- package/src/store/search.ts +43 -0
- package/src/templates/PageAudioDetail/PageAudioDetail.stories.js +106 -0
- package/src/templates/PageAudioDetail/PageAudioDetail.vue +375 -0
- package/src/templates/PageContent/PageContent.stories.js +2 -1
- package/src/templates/PageEventDetail/PageEventDetail.stories.js +1 -1
- package/src/templates/PageImageDetail/PageImageDetail.stories.js +116 -0
- package/src/templates/PageImageDetail/PageImageDetail.vue +444 -0
- package/src/templates/PageNewsDetail/PageNewsDetail.stories.js +3 -2
- package/src/templates/PageNewsDetail/PageNewsDetail.vue +1 -1
- package/src/templates/PageVideoDetail/PageVideoDetail.stories.js +84 -0
- package/src/templates/PageVideoDetail/PageVideoDetail.vue +173 -0
- package/src/templates/edu/PageContentEdu.stories.js +1 -0
- package/src/templates/edu/{PageEduNewsDetail.stories.js → PageEduNewsDetail/PageEduNewsDetail.stories.js} +5 -3
- package/src/templates/edu/{PageEduNewsDetail.vue → PageEduNewsDetail/PageEduNewsDetail.vue} +3 -2
- package/src/templates/www/PageAsteroidWatchContent/PageAsteroidWatchContent.stories.js +54 -0
- package/src/templates/www/PageAsteroidWatchContent/PageAsteroidWatchContent.vue +79 -0
- package/src/templates/www/PageAsteroidWatchIndex/PageAsteroidWatchIndex.stories.js +34 -0
- package/src/templates/www/PageAsteroidWatchIndex/PageAsteroidWatchIndex.vue +56 -0
- package/src/templates/www/PageCuratedGallery/PageCuratedGallery.stories.js +110 -0
- package/src/templates/www/PageCuratedGallery/PageCuratedGallery.vue +345 -0
- package/src/templates/www/PageGoDirectory/PageGoDirectory.stories.js +61 -0
- package/src/templates/www/PageGoDirectory/PageGoDirectory.vue +76 -0
- package/src/templates/www/PageHomepage/PageHomepage.stories.js +101 -0
- package/src/templates/www/PageHomepage/PageHomepage.vue +136 -0
- package/src/templates/www/PageInfographicDetail/PageInfographicDetail.stories.js +46 -0
- package/src/templates/www/PageInfographicDetail/PageInfographicDetail.vue +125 -0
- package/src/templates/www/PageMaintenanceMode/PageMaintenanceMode.stories.js +14 -0
- package/src/templates/www/PageMaintenanceMode/PageMaintenanceMode.vue +94 -0
- package/src/templates/www/PageMissionDetail/PageMissionDetail.stories.js +246 -0
- package/src/templates/www/PageMissionDetail/PageMissionDetail.vue +136 -0
- package/src/templates/www/PagePodcast/PagePodcast.stories.js +86 -0
- package/src/templates/www/PagePodcast/PagePodcast.vue +219 -0
- package/src/templates/www/PagePodcastSeason/PagePodcastSeason.stories.js +96 -0
- package/src/templates/www/PagePodcastSeason/PagePodcastSeason.vue +191 -0
- package/src/templates/www/PagePressKitIndex/PagePressKitIndex.stories.js +72 -0
- package/src/templates/www/PagePressKitIndex/PagePressKitIndex.vue +76 -0
- package/src/templates/www/PageProfileDetail/PageProfileDetail.stories.js +76 -0
- package/src/templates/www/PageProfileDetail/PageProfileDetail.vue +178 -0
- package/src/templates/www/PageRoboticsDetail/PageRoboticsDetail.stories.js +43 -0
- package/src/templates/www/PageRoboticsDetail/PageRoboticsDetail.vue +101 -0
- package/src/templates/www/PageTimeline/BlockMilestone.vue +99 -0
- package/src/templates/www/PageTimeline/PageTimeline.stories.js +357 -0
- package/src/templates/www/PageTimeline/PageTimeline.vue +384 -0
- package/src/templates/www/PageTopicDetail/PageTopicDetail.stories.js +87 -0
- package/src/templates/www/PageTopicDetail/PageTopicDetail.vue +121 -0
- package/src/utils/mixins.ts +1 -1
- package/components.d.ts +0 -217
- package/src/templates/www/HomePage/HomePage.vue +0 -30
- /package/dist/src/components/{MixinDropdownToggle/MixinDropdownToggle.vue.d.ts → NavDropdownToggle/NavDropdownToggle.vue.d.ts} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import imagePlanetJupiter from '@explorer-1/common-storybook/src/images/mission-highlights-800h-at-jupiter.png'
|
|
2
|
-
import imagePlanetEarth from '@explorer-1/common-storybook/src/images/mission-highlights-800h-earth-orbiting-on-earth.png'
|
|
3
|
-
import imageMoon from '@explorer-1/common-storybook/src/images/mission-highlights-800h-earths-moon.png'
|
|
4
|
-
import imageInterstellar from '@explorer-1/common-storybook/src/images/mission-highlights-800h-interstellar.jpg'
|
|
5
|
-
import imagePlanetMarsA from '@explorer-1/common-storybook/src/images/mission-highlights-800h-mars-orbiting.png'
|
|
6
|
-
import imagePlanetMarsB from '@explorer-1/common-storybook/src/images/mission-highlights-800h-on-mars.png'
|
|
1
|
+
import imagePlanetJupiter from '@explorer-1/common-storybook/src/public/images/mission-highlights-800h-at-jupiter.png'
|
|
2
|
+
import imagePlanetEarth from '@explorer-1/common-storybook/src/public/images/mission-highlights-800h-earth-orbiting-on-earth.png'
|
|
3
|
+
import imageMoon from '@explorer-1/common-storybook/src/public/images/mission-highlights-800h-earths-moon.png'
|
|
4
|
+
import imageInterstellar from '@explorer-1/common-storybook/src/public/images/mission-highlights-800h-interstellar.jpg'
|
|
5
|
+
import imagePlanetMarsA from '@explorer-1/common-storybook/src/public/images/mission-highlights-800h-mars-orbiting.png'
|
|
6
|
+
import imagePlanetMarsB from '@explorer-1/common-storybook/src/public/images/mission-highlights-800h-on-mars.png'
|
|
7
7
|
|
|
8
8
|
import MissionDetailHighlights from './MissionDetailHighlights.vue'
|
|
9
9
|
export default {
|
|
@@ -7,7 +7,7 @@ import * as Stories from './MixinCarousel.stories'
|
|
|
7
7
|
|
|
8
8
|
This is a `swiper.js` wrapper for the carousels that consist of multiple cards in view that also bleed to full width.
|
|
9
9
|
|
|
10
|
-
<Canvas of={Stories.
|
|
10
|
+
<Canvas of={Stories.BaseStory} />
|
|
11
11
|
|
|
12
12
|
### Variants
|
|
13
13
|
|
|
@@ -9,10 +9,7 @@ import NavDesktopDropdownMore from './NavDesktopDropdownMore.vue'
|
|
|
9
9
|
export default {
|
|
10
10
|
title: 'Navigation/Headers/WWW/NavDesktop',
|
|
11
11
|
component: NavDesktop,
|
|
12
|
-
excludeStories: /.*Data
|
|
13
|
-
parameters: {
|
|
14
|
-
viewMode: 'canvas'
|
|
15
|
-
}
|
|
12
|
+
excludeStories: /.*Data$/
|
|
16
13
|
}
|
|
17
14
|
|
|
18
15
|
export const NavDesktopTopHatData = {
|
|
@@ -9,9 +9,10 @@ import NavDesktopDropdownMore from './../NavDesktop/NavDesktopDropdownMore.vue'
|
|
|
9
9
|
export default {
|
|
10
10
|
title: 'Navigation/Headers/EDU/NavDesktopEdu',
|
|
11
11
|
component: NavDesktop,
|
|
12
|
+
tags: ['!autodocs'],
|
|
12
13
|
excludeStories: /.*Data$/,
|
|
13
14
|
parameters: {
|
|
14
|
-
|
|
15
|
+
layout: 'fullscreen'
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
|
|
@@ -4,9 +4,10 @@ import NavMobile from './NavMobile.vue'
|
|
|
4
4
|
export default {
|
|
5
5
|
title: 'Navigation/Headers/EDU/NavMobile',
|
|
6
6
|
component: NavMobile,
|
|
7
|
+
tags: ['!autodocs'],
|
|
7
8
|
excludeStories: /.*Data$/,
|
|
8
9
|
parameters: {
|
|
9
|
-
|
|
10
|
+
layout: 'fullscreen',
|
|
10
11
|
viewport: {
|
|
11
12
|
defaultViewport: 'mobile2'
|
|
12
13
|
},
|
|
@@ -31,7 +31,7 @@ export const RoboticsDetailStatsData = {
|
|
|
31
31
|
animalAnalogName: 'Lemur',
|
|
32
32
|
animalAnalogIcon: {
|
|
33
33
|
webp: {
|
|
34
|
-
url: 'https://
|
|
34
|
+
url: 'https://picsum.photos/320/320'
|
|
35
35
|
},
|
|
36
36
|
src: {
|
|
37
37
|
url: 'https://picsum.photos/320/320'
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import TimelineDialog from './TimelineDialog.vue'
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Components/WWW/TimelineDialog',
|
|
5
|
+
component: TimelineDialog
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const BaseStory = {
|
|
9
|
+
name: 'TimelineDialog',
|
|
10
|
+
args: {
|
|
11
|
+
data: {
|
|
12
|
+
id: '7535b4d1-e803-49dd-ad06-8925912464af',
|
|
13
|
+
heading: 'First Rocket Tests by Founders of What Would Become the Jet Propulsion Laboratory',
|
|
14
|
+
date: '1936-10-31',
|
|
15
|
+
displayDate: 'October 31, 1936',
|
|
16
|
+
milestoneLabel: 'CATEGORY LABEL',
|
|
17
|
+
description:
|
|
18
|
+
'Theodore von Kármán, the head of the Guggenheim Aeronautical Laboratory at Caltech, is overseeing pioneering work on rocket propulsion when a pair of young rocket enthusiasts, John W. Parsons and Edward S. Forman, come to him looking for help. Von Kármán connects them to some grad students, and on Halloween, a group goes out to the Arroyo Seco, a dry canyon wash at the foot of the San Gabriel Mountains on the northwest edge of Pasadena. The seven men -- Frank Malina, A.O. Smith, William Bollay, Carlos Wood, William Rockefeller, Parsons and Forman -- try four times to ignite a small rocket motor to gather thrust data, with only the last attempt succeeding (and setting fire to the outside of the motor, too). ',
|
|
19
|
+
milestoneLinkLabel: 'Optional CTA Link',
|
|
20
|
+
embed: null,
|
|
21
|
+
milestoneLink: {
|
|
22
|
+
externalLink: 'https://mars.nasa.gov/insight/',
|
|
23
|
+
page: null
|
|
24
|
+
},
|
|
25
|
+
image: {
|
|
26
|
+
alt: 'Fourth image',
|
|
27
|
+
src: {
|
|
28
|
+
height: 400,
|
|
29
|
+
url: 'https://picsum.photos/800/400',
|
|
30
|
+
width: 800
|
|
31
|
+
},
|
|
32
|
+
srcSet: 'https://picsum.photos/400/200 320w, https://picsum.photos/800/400 1024w'
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
dialogBoxClass: 'max-w-xl'
|
|
36
|
+
},
|
|
37
|
+
render: (args) => ({
|
|
38
|
+
components: { TimelineDialog },
|
|
39
|
+
setup() {
|
|
40
|
+
return { args }
|
|
41
|
+
},
|
|
42
|
+
template: `<div>
|
|
43
|
+
<button type="button" :data-a11y-dialog-show="args.data.id">Open the dialog</button>
|
|
44
|
+
<TimelineDialog :data="args.data" :dialog-box-class="args.dialogBoxClass"></TimelineDialog>
|
|
45
|
+
</div>`
|
|
46
|
+
})
|
|
47
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Meta, Story, Canvas } from '@storybook/addon-docs'
|
|
2
|
+
import * as Stories from './TimelineDialog.stories'
|
|
3
|
+
|
|
4
|
+
<Meta of={Stories} />
|
|
5
|
+
|
|
6
|
+
# TimelineDialog
|
|
7
|
+
|
|
8
|
+
This component is an accessible dialog window that utilizes the efficient and lightweight `a11y-dialog` package.
|
|
9
|
+
It adheres to the [Dialog (Modal) pattern](https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/) outlined in the Accessible Rich Internet Applications (ARIA) Authoring Practices Guide.
|
|
10
|
+
|
|
11
|
+
<Canvas
|
|
12
|
+
of={Stories.BaseStory}
|
|
13
|
+
className="sbdocs-preview-full-width"
|
|
14
|
+
/>
|
|
15
|
+
|
|
16
|
+
### Basic Usage
|
|
17
|
+
|
|
18
|
+
To trigger dialog opening, use the `data-a11y-dialog-show` attribute with the value set to the `id` of the dialog element you want to open.
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
<button type="button" data-a11y-dialog-show="your-dialog-id">
|
|
22
|
+
Open the dialog
|
|
23
|
+
</button>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
See [all documentation in the repository](https://github.com/KittyGiraudel/a11y-dialog).
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<BlockDialog
|
|
3
|
+
v-if="data"
|
|
4
|
+
:dialog-id="data.id"
|
|
5
|
+
:heading-id="`${data.id}-heading`"
|
|
6
|
+
:dialog-box-class="dialogBoxClass"
|
|
7
|
+
@hide="() => $emit('hide')"
|
|
8
|
+
>
|
|
9
|
+
<div class="p-3 sm:p-10">
|
|
10
|
+
<p class="font-primary text-xl sm:text-4xl font-bold leading-relaxed">
|
|
11
|
+
<template v-if="data.displayDate">
|
|
12
|
+
{{ data.displayDate }}
|
|
13
|
+
</template>
|
|
14
|
+
<template v-else>
|
|
15
|
+
{{ theDate }}
|
|
16
|
+
</template>
|
|
17
|
+
</p>
|
|
18
|
+
<hr
|
|
19
|
+
aria-hidden="true"
|
|
20
|
+
class="bg-gray-light-mid w-full h-2px border-0 my-3"
|
|
21
|
+
/>
|
|
22
|
+
<div
|
|
23
|
+
tabindex="0"
|
|
24
|
+
class="dialog-main py-3 overflow-auto relative"
|
|
25
|
+
>
|
|
26
|
+
<h2
|
|
27
|
+
:id="`${data.id}-heading`"
|
|
28
|
+
class="mt-4 mb-2 font-primary text-xl sm:text-2xl font-bold sm:leading-normal"
|
|
29
|
+
>
|
|
30
|
+
{{ data.heading }}
|
|
31
|
+
</h2>
|
|
32
|
+
<p
|
|
33
|
+
v-if="data.milestoneLabel"
|
|
34
|
+
class="font-primary text-gray-mid-dark text-lg sm:text-2xl font-normal leading-relaxed uppercase my-3"
|
|
35
|
+
>
|
|
36
|
+
{{ data.milestoneLabel }}
|
|
37
|
+
</p>
|
|
38
|
+
<BaseImagePlaceholder
|
|
39
|
+
v-if="data.image"
|
|
40
|
+
aspect-ratio="16:9"
|
|
41
|
+
transparent-mode
|
|
42
|
+
class="sm:mx-20 mb-5 sm:mb-8"
|
|
43
|
+
>
|
|
44
|
+
<BaseImage
|
|
45
|
+
:src="data.image.src.url"
|
|
46
|
+
:width="data.image.src.width"
|
|
47
|
+
:height="data.image.src.height"
|
|
48
|
+
:alt="data.image.alt"
|
|
49
|
+
object-fit-class="contain"
|
|
50
|
+
image-class="swiper-lazy"
|
|
51
|
+
loading="lazy"
|
|
52
|
+
/>
|
|
53
|
+
</BaseImagePlaceholder>
|
|
54
|
+
<!-- @ts-ignore -->
|
|
55
|
+
<BlockVideoEmbed :data="data" />
|
|
56
|
+
<BlockText
|
|
57
|
+
variant="medium"
|
|
58
|
+
:text="data.description"
|
|
59
|
+
/>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="my-3">
|
|
62
|
+
<BaseLink
|
|
63
|
+
v-if="data.milestoneLink"
|
|
64
|
+
variant="default"
|
|
65
|
+
:to="data.milestoneLink.page ? data.milestoneLink.page.url : undefined"
|
|
66
|
+
:href="data.milestoneLink.externalLink"
|
|
67
|
+
link-class="block mt-3 text-center sm:text-left text-2xl"
|
|
68
|
+
>
|
|
69
|
+
{{ getLinkLabel() }}
|
|
70
|
+
</BaseLink>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</BlockDialog>
|
|
74
|
+
</template>
|
|
75
|
+
<script lang="ts">
|
|
76
|
+
import { defineComponent, type PropType } from 'vue'
|
|
77
|
+
import BlockDialog from './../BlockDialog/BlockDialog.vue'
|
|
78
|
+
import { Milestone } from './../../templates/www/PageTimeline/BlockMilestone.vue'
|
|
79
|
+
import BaseImage from './../BaseImage/BaseImage.vue'
|
|
80
|
+
import BaseImagePlaceholder from './../BaseImagePlaceholder/BaseImagePlaceholder.vue'
|
|
81
|
+
import BaseLink from './../BaseLink/BaseLink.vue'
|
|
82
|
+
import BlockText from './../BlockText/BlockText.vue'
|
|
83
|
+
import BlockVideoEmbed from './../BlockVideoEmbed/BlockVideoEmbed.vue'
|
|
84
|
+
|
|
85
|
+
export default defineComponent({
|
|
86
|
+
name: 'TimelineDialog',
|
|
87
|
+
components: {
|
|
88
|
+
BlockDialog,
|
|
89
|
+
BaseImage,
|
|
90
|
+
BaseImagePlaceholder,
|
|
91
|
+
BaseLink,
|
|
92
|
+
BlockText,
|
|
93
|
+
BlockVideoEmbed
|
|
94
|
+
},
|
|
95
|
+
props: {
|
|
96
|
+
data: {
|
|
97
|
+
type: Object as PropType<Milestone>,
|
|
98
|
+
required: false,
|
|
99
|
+
default: undefined
|
|
100
|
+
},
|
|
101
|
+
dialogBoxClass: {
|
|
102
|
+
type: String,
|
|
103
|
+
required: false,
|
|
104
|
+
default: undefined
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
emits: ['hide'],
|
|
108
|
+
computed: {
|
|
109
|
+
theDate(): string {
|
|
110
|
+
// @ts-ignore
|
|
111
|
+
return this.$filters.displayDate(this.data.date)
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
methods: {
|
|
115
|
+
getLinkLabel() {
|
|
116
|
+
if (this.data?.milestoneLink?.page) {
|
|
117
|
+
return this.data.milestoneLinkLabel || 'Visit page'
|
|
118
|
+
}
|
|
119
|
+
return this.data?.milestoneLinkLabel || 'Visit website'
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
})
|
|
123
|
+
</script>
|
|
124
|
+
<style lang="scss">
|
|
125
|
+
.Dialog {
|
|
126
|
+
.dialog-main {
|
|
127
|
+
max-height: 55vh;
|
|
128
|
+
|
|
129
|
+
/* Fade effect */
|
|
130
|
+
mask-image: linear-gradient(
|
|
131
|
+
to bottom,
|
|
132
|
+
transparent 0%,
|
|
133
|
+
black 1rem,
|
|
134
|
+
black calc(100% - 1rem),
|
|
135
|
+
transparent 100%
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
@media (forced-colors: active) {
|
|
140
|
+
hr {
|
|
141
|
+
border: 1px solid;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
</style>
|
|
@@ -2,16 +2,8 @@ import TopicDetailMissionSpotlight from './TopicDetailMissionSpotlight.vue'
|
|
|
2
2
|
export default {
|
|
3
3
|
title: 'Components/WWW/TopicDetail/TopicDetailMissionSpotlight',
|
|
4
4
|
component: TopicDetailMissionSpotlight,
|
|
5
|
-
decorators: [
|
|
6
|
-
() => ({
|
|
7
|
-
template: `<div id="storyDecorator" class="absolute inset-0"><story/></div>`
|
|
8
|
-
})
|
|
9
|
-
],
|
|
10
5
|
parameters: {
|
|
11
|
-
|
|
12
|
-
root: '#storyDecorator'
|
|
13
|
-
},
|
|
14
|
-
viewMode: 'canvas'
|
|
6
|
+
layout: 'fullscreen'
|
|
15
7
|
},
|
|
16
8
|
excludeStories: /.*Data$/
|
|
17
9
|
}
|
|
@@ -6,15 +6,8 @@ import TopicDetailStreamfield from './TopicDetailStreamfield.vue'
|
|
|
6
6
|
export default {
|
|
7
7
|
title: 'Components/WWW/TopicDetail/TopicDetailStreamfield',
|
|
8
8
|
component: TopicDetailStreamfield,
|
|
9
|
-
decorators: [
|
|
10
|
-
() => ({
|
|
11
|
-
template: `<div id="storyDecorator" class="absolute inset-0"><story/></div>`
|
|
12
|
-
})
|
|
13
|
-
],
|
|
14
9
|
parameters: {
|
|
15
|
-
|
|
16
|
-
root: '#storyDecorator'
|
|
17
|
-
}
|
|
10
|
+
layout: 'fullscreen'
|
|
18
11
|
},
|
|
19
12
|
excludeStories: /.*(Data)$/
|
|
20
13
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { defineStore } from 'pinia'
|
|
2
|
+
/** Stores the state of user preferences on curated gallery detail pages
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface State {
|
|
6
|
+
showGridView?: boolean
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// @ts-expect-error
|
|
10
|
+
export const useCuratedGalleryStore = defineStore('curatedGallery', {
|
|
11
|
+
state: (): State => {
|
|
12
|
+
return {
|
|
13
|
+
showGridView: undefined
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
actions: {
|
|
17
|
+
updateView(value: boolean) {
|
|
18
|
+
this.showGridView = value
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
// @pinia-plugin-persistedstate/nuxt
|
|
22
|
+
persist: true
|
|
23
|
+
})
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { defineStore } from 'pinia'
|
|
2
|
+
/** Stores the state of various user preferences on listing and search pages
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface State {
|
|
6
|
+
showSidebar: boolean | undefined
|
|
7
|
+
showGridView: boolean | undefined
|
|
8
|
+
showSidebarForGalleries: boolean | undefined
|
|
9
|
+
showGridViewForGalleries: boolean | undefined
|
|
10
|
+
showGridViewForPodcasts: boolean | undefined
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// @ts-expect-error
|
|
14
|
+
export const useSearchStore = defineStore('search', {
|
|
15
|
+
state: (): State => {
|
|
16
|
+
return {
|
|
17
|
+
showSidebar: undefined,
|
|
18
|
+
showGridView: undefined,
|
|
19
|
+
showSidebarForGalleries: undefined,
|
|
20
|
+
showGridViewForGalleries: undefined,
|
|
21
|
+
showGridViewForPodcasts: undefined
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
actions: {
|
|
25
|
+
updateSidebar(value: boolean) {
|
|
26
|
+
this.showSidebar = value
|
|
27
|
+
},
|
|
28
|
+
updateGridView(value: boolean) {
|
|
29
|
+
this.showGridView = value
|
|
30
|
+
},
|
|
31
|
+
updateSidebarForGalleries(value: boolean) {
|
|
32
|
+
this.showSidebarForGalleries = value
|
|
33
|
+
},
|
|
34
|
+
updateGridViewForGalleries(value: boolean) {
|
|
35
|
+
this.showGridViewForGalleries = value
|
|
36
|
+
},
|
|
37
|
+
updateGridViewForPodcasts(value: boolean) {
|
|
38
|
+
this.showGridViewForPodcasts = value
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
// @pinia-plugin-persistedstate/nuxt
|
|
42
|
+
persist: true
|
|
43
|
+
})
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { BlockRelatedLinksData } from './../../components/BlockRelatedLinks/BlockRelatedLinks.stories'
|
|
2
|
+
import { BlockLinkTileCarouselData } from './../../components/BlockLinkCarousel/BlockLinkCarousel.stories'
|
|
3
|
+
import PageAudioDetail from './PageAudioDetail.vue'
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
title: 'Templates/PageAudioDetail',
|
|
7
|
+
component: PageAudioDetail,
|
|
8
|
+
tags: ['!autodocs'],
|
|
9
|
+
excludeStories: /.*Data$/
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const PageAudioDetailData = {
|
|
13
|
+
data: {
|
|
14
|
+
contentType: 'audio_detail.AudioDetailPage',
|
|
15
|
+
label: 'Audio',
|
|
16
|
+
publicationDate: '2020-12-09',
|
|
17
|
+
relatedPages: BlockLinkTileCarouselData,
|
|
18
|
+
seoTitle: 'Testing Audio',
|
|
19
|
+
series: null,
|
|
20
|
+
subscribeLinks: [],
|
|
21
|
+
slug: 'testing-audio',
|
|
22
|
+
summary: 'some summary of the audio file',
|
|
23
|
+
thumbnailImage: {
|
|
24
|
+
alt: '',
|
|
25
|
+
id: '341',
|
|
26
|
+
url: '/public/images/bg-earth-1440x810.jpg'
|
|
27
|
+
},
|
|
28
|
+
title: 'Testing Audio',
|
|
29
|
+
topicLabel: 'JPL Life',
|
|
30
|
+
transcript: `<p>Preparing to Land Perseverance</p>
|
|
31
|
+
<p>The following tests, conducted from 2017-2020, helped prepare NASA's Perseverance rover for its landing on Mars.</p>
|
|
32
|
+
<p>[music]</p>
|
|
33
|
+
<p>Centrifuge Spin Test</p>
|
|
34
|
+
<p>Santa Clarita, CA June 2019</p>
|
|
35
|
+
<p>[music]</p>
|
|
36
|
+
<p>Parachute Firing Test</p>
|
|
37
|
+
<p>Moses Lake, WA May 2019</p>
|
|
38
|
+
<p>[music]</p>
|
|
39
|
+
<p>[mortar firing]</p>
|
|
40
|
+
<p>[mortar firing]</p>
|
|
41
|
+
<p>[clapping]</p>
|
|
42
|
+
<p>Parachute Wind Tunnel Test</p>
|
|
43
|
+
<p>NASA's Ames Research Center </p>
|
|
44
|
+
<p>Moffett Field, CA June 2017</p>
|
|
45
|
+
<p>[music]</p>
|
|
46
|
+
<p>[mortar firing]</p>
|
|
47
|
+
<p>[wind]</p>
|
|
48
|
+
<p>[clapping]</p>
|
|
49
|
+
<p>Lander Vision System Test</p>
|
|
50
|
+
<p>For Avoiding Landing Hazards</p>
|
|
51
|
+
<p>Death Valley, CA May 2019</p>
|
|
52
|
+
<p>[helicopter taking off]</p>
|
|
53
|
+
<p>[music]</p>
|
|
54
|
+
<p>Rover Wheel Drop Test</p>
|
|
55
|
+
<p>NASA's Jet Propulsion Laboratory</p>
|
|
56
|
+
<p>Southern CA August 2019</p>
|
|
57
|
+
<p>[wheel dropping]</p>
|
|
58
|
+
<p>[hitting rock]</p>`,
|
|
59
|
+
uploadedMedia: {
|
|
60
|
+
collection: {
|
|
61
|
+
id: '1',
|
|
62
|
+
name: 'Root',
|
|
63
|
+
path: '0001'
|
|
64
|
+
},
|
|
65
|
+
createdAt: '2020-12-10T07:38:30.951546+00:00',
|
|
66
|
+
duration: '11',
|
|
67
|
+
file: '/audio/file_example_MP3_700KB.mp3',
|
|
68
|
+
fileExtension: 'mp3',
|
|
69
|
+
fileOgg: '',
|
|
70
|
+
id: '1',
|
|
71
|
+
sources: "[{'src': '/audio/file_example_MP3_700KB.mp3', 'type': 'audio/mpeg'}]",
|
|
72
|
+
thumbnail: '',
|
|
73
|
+
title: 'audio file',
|
|
74
|
+
type: 'audio'
|
|
75
|
+
},
|
|
76
|
+
relatedLinks: [BlockRelatedLinksData.data]
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// stories
|
|
81
|
+
export const AudioDetail = { args: { ...PageAudioDetailData } }
|
|
82
|
+
|
|
83
|
+
export const PodcastEpisode = {
|
|
84
|
+
args: {
|
|
85
|
+
data: {
|
|
86
|
+
...PageAudioDetailData.data,
|
|
87
|
+
series: {
|
|
88
|
+
title: 'On a mission',
|
|
89
|
+
url: '/podcasts/on-a-mission'
|
|
90
|
+
},
|
|
91
|
+
subscribeLinks: [
|
|
92
|
+
{
|
|
93
|
+
heading: 'Subscribe',
|
|
94
|
+
description:
|
|
95
|
+
'Lorem ipsum dolor sit amet consectatur adipscing. Vivamus vel rhoncus ipsum, at ultrices urna.',
|
|
96
|
+
links: [
|
|
97
|
+
{
|
|
98
|
+
externalLink: 'http://google.com',
|
|
99
|
+
text: 'Google'
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|