@explorer-1/vue 0.2.26 → 0.2.27

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 (28) hide show
  1. package/components.d.ts +2 -0
  2. package/dist/explorer-1-vue.js +1159 -1109
  3. package/dist/explorer-1-vue.umd.cjs +13 -13
  4. package/dist/src/components/BasePill/BasePill.vue.d.ts +4 -0
  5. package/dist/src/components/HeroLarge/HeroLarge.vue.d.ts +45 -3
  6. package/dist/src/components/HeroMedium/HeroMedium.vue.d.ts +1 -1
  7. package/dist/src/interfaces.d.ts +2 -0
  8. package/dist/src/templates/edu/PageEduCollectionsDetail/PageEduCollectionsDetail.stories.d.ts +123 -0
  9. package/dist/src/templates/edu/PageEduLesson/PageEduLesson.stories.d.ts +1 -0
  10. package/dist/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.stories.d.ts +1 -0
  11. package/dist/style.css +1 -1
  12. package/package.json +1 -1
  13. package/src/components/BasePill/BasePill.vue +4 -1
  14. package/src/components/BlockLinkCard/BlockLinkCard.vue +2 -2
  15. package/src/components/HeroInlineMedia/HeroInlineMedia.vue +77 -0
  16. package/src/components/HeroLarge/HeroLarge.vue +49 -10
  17. package/src/components/HeroMedium/HeroMedium.vue +1 -1
  18. package/src/components/MetaPanel/MetaPanel.vue +1 -1
  19. package/src/components/MetaPanelItems/MetaPanelItems.vue +11 -8
  20. package/src/constants.ts +11 -0
  21. package/src/interfaces.ts +1 -0
  22. package/src/templates/edu/PageEduCollectionsDetail/PageEduCollectionsDetail.stories.js +103 -0
  23. package/src/templates/edu/PageEduCollectionsDetail/PageEduCollectionsDetail.vue +146 -0
  24. package/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.vue +5 -42
  25. package/src/templates/edu/PageEduLesson/PageEduLesson.vue +4 -36
  26. package/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.vue +4 -42
  27. package/src/templates/www/PageRoboticsDetail/PageRoboticsDetail.vue +1 -1
  28. package/src/templates/www/PageTopicDetail/PageTopicDetail.vue +1 -1
@@ -8,22 +8,18 @@ import type {
8
8
  } from './../../../interfaces'
9
9
  import HeroMedia from './../../../components/HeroMedia/HeroMedia.vue'
10
10
  import BaseLink from './../../../components/BaseLink/BaseLink.vue'
11
- import BaseImagePlaceholder from './../../../components/BaseImagePlaceholder/BaseImagePlaceholder.vue'
12
11
  import type { BlockHeadingObject } from '../../../components/BlockHeading/BlockHeading.vue'
13
- import BlockImageCarousel from './../../../components/BlockImageCarousel/BlockImageCarousel.vue'
14
- import BlockImageComparison from './../../../components/BlockImageComparison/BlockImageComparison.vue'
15
12
  import BlockLinkCarousel from './../../../components/BlockLinkCarousel/BlockLinkCarousel.vue'
16
- import BlockVideo from './../../../components/BlockVideo/BlockVideo.vue'
17
13
  import LayoutHelper from './../../../components/LayoutHelper/LayoutHelper.vue'
18
14
  import DetailHeadline from './../../../components/DetailHeadline/DetailHeadline.vue'
19
- import BlockImageStandard from './../../../components/BlockImage/BlockImageStandard.vue'
20
15
  import ShareButtonsEdu from './../../../components/ShareButtonsEdu/ShareButtonsEdu.vue'
21
16
  import BlockStreamfield from './../../../components/BlockStreamfield/BlockStreamfield.vue'
22
- import BlockIframeEmbed from '../../../components/BlockIframeEmbed/BlockIframeEmbed.vue'
23
17
  import BlockRelatedLinks from '../../../components/BlockRelatedLinks/BlockRelatedLinks.vue'
24
18
  import MetaPanel from '../../../components/MetaPanel/MetaPanel.vue'
25
19
  import PageEduLessonSection, { type PageEduLessonSectionProps } from './PageEduLessonSection.vue'
26
20
  import NavJumpMenu from './../../../components/NavJumpMenu/NavJumpMenu.vue'
21
+ import HeroInlineMedia from './../../../components/HeroInlineMedia/HeroInlineMedia.vue'
22
+
27
23
  import { HeadingLevel } from '../../../components/BaseHeading/BaseHeading.vue'
28
24
 
29
25
  interface EduLessonSectionObject extends PageEduLessonSectionProps {
@@ -319,38 +315,10 @@ const consolidatedSections = computed((): EduLessonSectionObject[] => {
319
315
  v-if="!heroEmpty && heroInline && data.hero?.length"
320
316
  class="lg:mb-22 mb-10"
321
317
  >
322
- <BlockImageStandard
323
- v-if="data.hero[0].blockType === 'HeroImageBlock'"
324
- :data="data.hero[0].imageInline"
325
- :display-caption="data.hero[0].displayCaption"
326
- :caption="data.hero[0].caption"
318
+ <HeroInlineMedia
319
+ :hero-blocks="data.hero"
327
320
  :constrain="data.heroConstrain"
328
321
  />
329
- <BlockImageCarousel
330
- v-else-if="data.hero[0].blockType === 'CarouselBlock'"
331
- :items="data.hero[0].blocks"
332
- :block-id="data.hero[0].id"
333
- />
334
- <BlockIframeEmbed
335
- v-else-if="data.hero[0].blockType === 'IframeEmbedBlock'"
336
- :data="data.hero[0]"
337
- />
338
- <BlockVideo
339
- v-else-if="data.hero[0].blockType === 'VideoBlock'"
340
- :data="data.hero[0]"
341
- autoplay
342
- />
343
- <BaseImagePlaceholder
344
- v-else-if="data.hero[0].blockType === 'VideoEmbedBlock'"
345
- aspect-ratio="16:9"
346
- dark-mode
347
- >
348
- <div v-html="data.hero[0].embed?.embed"></div>
349
- </BaseImagePlaceholder>
350
- <BlockImageComparison
351
- v-else-if="data.hero[0].blockType === 'ImageComparisonBlock'"
352
- :data="data.hero[0]"
353
- />
354
322
  </LayoutHelper>
355
323
 
356
324
  <NavJumpMenu
@@ -2,19 +2,15 @@
2
2
  import { computed, reactive, ref } from 'vue'
3
3
  import type { PageEduResourcesObject } from './../../../interfaces'
4
4
  import HeroMedia from './../../../components/HeroMedia/HeroMedia.vue'
5
- import BaseImagePlaceholder from './../../../components/BaseImagePlaceholder/BaseImagePlaceholder.vue'
6
- import BlockImageCarousel from './../../../components/BlockImageCarousel/BlockImageCarousel.vue'
7
- import BlockImageComparison from './../../../components/BlockImageComparison/BlockImageComparison.vue'
8
5
  import BlockLinkCarousel from './../../../components/BlockLinkCarousel/BlockLinkCarousel.vue'
9
- import BlockVideo from './../../../components/BlockVideo/BlockVideo.vue'
6
+ import BlockText from './../../../components/BlockText/BlockText.vue'
10
7
  import LayoutHelper from './../../../components/LayoutHelper/LayoutHelper.vue'
11
8
  import DetailHeadline from './../../../components/DetailHeadline/DetailHeadline.vue'
12
- import BlockImageStandard from './../../../components/BlockImage/BlockImageStandard.vue'
13
9
  import ShareButtonsEdu from './../../../components/ShareButtonsEdu/ShareButtonsEdu.vue'
14
10
  import BlockStreamfield from './../../../components/BlockStreamfield/BlockStreamfield.vue'
15
- import BlockIframeEmbed from '../../../components/BlockIframeEmbed/BlockIframeEmbed.vue'
16
11
  import BlockRelatedLinks from '../../../components/BlockRelatedLinks/BlockRelatedLinks.vue'
17
12
  import NavJumpMenu from './../../../components/NavJumpMenu/NavJumpMenu.vue'
13
+ import HeroInlineMedia from './../../../components/HeroInlineMedia/HeroInlineMedia.vue'
18
14
 
19
15
  interface PageEduTeachableMomentProps {
20
16
  data?: PageEduResourcesObject
@@ -112,43 +108,14 @@ const computedClass = computed((): string => {
112
108
  />
113
109
  </LayoutHelper>
114
110
 
115
- <!-- TODO: put this in a component (exclude layout though) -->
116
111
  <LayoutHelper
117
112
  v-if="!heroEmpty && heroInline && data.hero?.length"
118
113
  class="lg:mb-22 mb-10"
119
114
  >
120
- <BlockImageStandard
121
- v-if="data.hero[0].blockType === 'HeroImageBlock'"
122
- :data="data.hero[0].imageInline"
123
- :display-caption="data.hero[0].displayCaption"
124
- :caption="data.hero[0].caption"
115
+ <HeroInlineMedia
116
+ :hero-blocks="data.hero"
125
117
  :constrain="data.heroConstrain"
126
118
  />
127
- <BlockImageCarousel
128
- v-else-if="data.hero[0].blockType === 'CarouselBlock'"
129
- :items="data.hero[0].blocks"
130
- :block-id="data.hero[0].id"
131
- />
132
- <BlockIframeEmbed
133
- v-else-if="data.hero[0].blockType === 'IframeEmbedBlock'"
134
- :data="data.hero[0]"
135
- />
136
- <BlockVideo
137
- v-else-if="data.hero[0].blockType === 'VideoBlock'"
138
- :data="data.hero[0]"
139
- autoplay
140
- />
141
- <BaseImagePlaceholder
142
- v-else-if="data.hero[0].blockType === 'VideoEmbedBlock'"
143
- aspect-ratio="16:9"
144
- dark-mode
145
- >
146
- <div v-html="data.hero[0].embed?.embed"></div>
147
- </BaseImagePlaceholder>
148
- <BlockImageComparison
149
- v-else-if="data.hero[0].blockType === 'ImageComparisonBlock'"
150
- :data="data.hero[0]"
151
- />
152
119
  </LayoutHelper>
153
120
 
154
121
  <!-- summary and topper -->
@@ -162,11 +129,6 @@ const computedClass = computed((): string => {
162
129
  :text="data.topper"
163
130
  />
164
131
  </LayoutHelper>
165
- <!-- streamfield blocks -->
166
- <BlockStreamfield
167
- itemprop="articleBody"
168
- :data="data.body"
169
- />
170
132
 
171
133
  <!-- streamfield blocks -->
172
134
  <BlockStreamfield :data="data.body" />
@@ -4,7 +4,7 @@
4
4
  class="-nav-offset"
5
5
  >
6
6
  <HeroLarge
7
- eyebrow="Robotics at JPL"
7
+ label="Robotics at JPL"
8
8
  :title="data.title"
9
9
  :summary="data.description"
10
10
  :image="data.listingPageHeroImage"
@@ -6,7 +6,7 @@
6
6
  <div class="lg:mb-24 mb-12">
7
7
  <HeroLarge
8
8
  class="relative z-10"
9
- :eyebrow="data.parentDisplayTitle"
9
+ :label="data.parentDisplayTitle"
10
10
  :title="data.displayTitle"
11
11
  :summary="data.strapline"
12
12
  :image="data.listingPageHeroImage"