@explorer-1/vue 0.3.4 → 0.3.7

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 (236) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/package.json +2 -2
  3. package/src/components/AboutTheAuthor/AboutTheAuthor.stories.js +1 -1
  4. package/src/components/AboutTheAuthor/AboutTheAuthor.vue +9 -9
  5. package/src/components/AsteroidWatchWidget/AsteroidWatchWidget.stories.js +2 -7
  6. package/src/components/AsteroidWatchWidget/AsteroidWatchWidget.vue +5 -1
  7. package/src/components/BackToTop/BackToTop.stories.js +1 -1
  8. package/src/components/BackToTop/BackToTop.vue +10 -0
  9. package/src/components/BaseAccordionItem/BaseAccordionItem.stories.js +24 -4
  10. package/src/components/BaseAccordionItem/BaseAccordionItem.vue +56 -17
  11. package/src/components/BaseAudio/BaseAudio.stories.js +4 -6
  12. package/src/components/BaseAudio/BaseAudio.vue +6 -0
  13. package/src/components/BaseButton/BaseButton.stories.ts +12 -23
  14. package/src/components/BaseButton/BaseButton.vue +34 -10
  15. package/src/components/BaseCheckboxGroup/BaseCheckboxGroup.stories.js +2 -1
  16. package/src/components/BaseCheckboxGroup/BaseCheckboxGroup.vue +5 -0
  17. package/src/components/BaseHeading/BaseHeading.stories.js +9 -17
  18. package/src/components/BaseHeading/BaseHeading.vue +18 -8
  19. package/src/components/BaseImage/BaseImage.stories.ts +7 -17
  20. package/src/components/BaseImage/BaseImage.vue +26 -14
  21. package/src/components/BaseImageCaption/BaseImageCaption.stories.js +11 -0
  22. package/src/components/BaseImageCaption/BaseImageCaption.vue +10 -6
  23. package/src/components/BaseImagePlaceholder/BaseImagePlaceholder.stories.js +13 -15
  24. package/src/components/BaseImagePlaceholder/BaseImagePlaceholder.vue +13 -9
  25. package/src/components/BaseLink/BaseLink.stories.js +8 -7
  26. package/src/components/BaseLink/BaseLink.vue +32 -21
  27. package/src/components/BaseModal/BaseModal.stories.js +4 -7
  28. package/src/components/BaseModal/BaseModal.vue +1 -0
  29. package/src/components/BaseModal/BaseModalDialog.vue +1 -6
  30. package/src/components/BasePill/BasePill.stories.js +8 -22
  31. package/src/components/BasePill/BasePill.vue +36 -19
  32. package/src/components/BasePlaceholder/BasePlaceholder.stories.js +4 -7
  33. package/src/components/BasePlaceholder/BasePlaceholder.vue +1 -1
  34. package/src/components/BaseRadioGroup/BaseRadioGroup.stories.js +1 -0
  35. package/src/components/BaseRadioGroup/BaseRadioGroup.vue +9 -2
  36. package/src/components/BaseSwimlane/BaseSwimlane.stories.js +2 -1
  37. package/src/components/BaseSwimlane/BaseSwimlane.vue +2 -0
  38. package/src/components/BaseTimer/BaseTimer.stories.js +7 -2
  39. package/src/components/BaseTimer/BaseTimer.vue +4 -2
  40. package/src/components/BaseUnitToggle/BaseUnitToggle.stories.js +1 -16
  41. package/src/components/BaseUnitToggle/BaseUnitToggle.vue +4 -0
  42. package/src/components/BaseVideo/BaseVideo.vue +7 -3
  43. package/src/components/BlockAccordion/BlockAccordion.stories.js +4 -2
  44. package/src/components/BlockAccordion/BlockAccordion.vue +3 -3
  45. package/src/components/BlockAudio/BlockAudio.stories.js +1 -0
  46. package/src/components/BlockAudio/BlockAudio.vue +11 -3
  47. package/src/components/BlockCardGrid/BlockCardGrid.stories.js +1 -1
  48. package/src/components/BlockCardGrid/BlockCardGrid.vue +1 -1
  49. package/src/components/BlockCardGridItem/BlockCardGridItem.stories.js +3 -3
  50. package/src/components/BlockCardGridItem/BlockCardGridItemElement.vue +1 -1
  51. package/src/components/BlockCircleImageCard/BlockCircleImageCard.stories.js +3 -9
  52. package/src/components/BlockCsrTable/BlockCsrTable.stories.js +1 -0
  53. package/src/components/BlockCsrTable/BlockCsrTable.vue +1 -1
  54. package/src/components/BlockCta/BlockCta.stories.js +1 -0
  55. package/src/components/BlockCta/BlockCta.vue +9 -2
  56. package/src/components/BlockDialog/BlockDialog.stories.js +2 -1
  57. package/src/components/BlockGist/BlockGist.stories.js +3 -2
  58. package/src/components/BlockGist/BlockGist.vue +8 -6
  59. package/src/components/BlockHeading/BlockHeading.stories.js +1 -0
  60. package/src/components/BlockIframeEmbed/BlockIframeEmbed.stories.js +3 -2
  61. package/src/components/BlockIframeEmbed/BlockIframeEmbed.vue +9 -2
  62. package/src/components/BlockImage/BlockImage.stories.js +1 -5
  63. package/src/components/BlockImage/BlockImage.vue +5 -2
  64. package/src/components/BlockImageCarousel/BlockImageCarousel.stories.js +3 -15
  65. package/src/components/BlockImageCarousel/BlockImageCarousel.vue +2 -0
  66. package/src/components/BlockImageCarouselItem/BlockImageCarouselItem.stories.js +2 -16
  67. package/src/components/BlockImageCarouselItem/BlockImageCarouselItem.vue +7 -7
  68. package/src/components/BlockImageComparison/BlockImageComparison.stories.js +5 -3
  69. package/src/components/BlockImageComparison/BlockImageComparison.vue +11 -2
  70. package/src/components/BlockImageGallery/BlockImageGallery.stories.js +4 -11
  71. package/src/components/BlockImageGallery/BlockImageGallery.vue +5 -0
  72. package/src/components/BlockInlineImage/BlockInlineImage.stories.js +5 -2
  73. package/src/components/BlockInlineImage/BlockInlineImage.vue +20 -7
  74. package/src/components/BlockKeyPoints/BlockKeyPoints.stories.js +1 -0
  75. package/src/components/BlockKeyPoints/BlockKeyPoints.vue +12 -3
  76. package/src/components/BlockLinkCard/BlockLinkCard.stories.js +24 -34
  77. package/src/components/BlockLinkCard/BlockLinkCard.vue +28 -9
  78. package/src/components/BlockLinkCard/BlockLinkCardCollectionLg.vue +2 -2
  79. package/src/components/BlockLinkCardList/BlockLinkCardList.stories.js +1 -3
  80. package/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.js +2 -14
  81. package/src/components/BlockLinkCarousel/BlockLinkCarousel.vue +8 -8
  82. package/src/components/BlockLinkTile/BlockLinkTile.stories.js +3 -13
  83. package/src/components/BlockLinkTile/BlockLinkTile.vue +26 -13
  84. package/src/components/BlockListCards/BlockListCards.stories.js +1 -0
  85. package/src/components/BlockListCards/BlockListCards.vue +5 -4
  86. package/src/components/BlockNewsletterSignup/BlockNewsletterSignup.stories.js +1 -0
  87. package/src/components/BlockNewsletterSignup/BlockNewsletterSignup.vue +3 -2
  88. package/src/components/BlockQuote/BlockQuote.stories.js +1 -0
  89. package/src/components/BlockQuote/BlockQuote.vue +3 -2
  90. package/src/components/BlockRelatedLinks/BlockRelatedLinks.stories.js +1 -0
  91. package/src/components/BlockRelatedLinks/BlockRelatedLinks.vue +6 -4
  92. package/src/components/BlockRichTable/BlockRichTable.stories.js +1 -1
  93. package/src/components/BlockRichTable/BlockRichTable.vue +23 -9
  94. package/src/components/BlockStreamfield/BlockStreamfield.stories.js +1 -11
  95. package/src/components/BlockStreamfield/BlockStreamfield.vue +34 -31
  96. package/src/components/BlockTeaser/BlockTeaser.stories.js +1 -0
  97. package/src/components/BlockTeaser/BlockTeaser.vue +20 -12
  98. package/src/components/BlockText/BlockText.stories.js +2 -9
  99. package/src/components/BlockText/BlockText.vue +21 -9
  100. package/src/components/BlockVideo/BlockVideo.stories.js +1 -0
  101. package/src/components/BlockVideo/BlockVideo.vue +14 -3
  102. package/src/components/BlockVideoEmbed/BlockVideoEmbed.stories.js +1 -0
  103. package/src/components/BlockVideoEmbed/BlockVideoEmbed.vue +6 -3
  104. package/src/components/CalendarButton/CalendarButton.vue +7 -0
  105. package/src/components/DetailHeadline/DetailHeadline.stories.js +2 -20
  106. package/src/components/DetailHeadline/DetailHeadline.vue +16 -4
  107. package/src/components/DsnWidget/DsnWidget.stories.js +2 -6
  108. package/src/components/DsnWidget/DsnWidget.vue +18 -4
  109. package/src/components/EventDetailHero/EventDetailHero.stories.js +10 -7
  110. package/src/components/EventDetailHero/EventDetailHero.vue +4 -7
  111. package/src/components/FormContact/FormContact.stories.js +2 -1
  112. package/src/components/FormNewsletterSignup/FormNewsletterSignup.stories.js +2 -1
  113. package/src/components/HeroInlineMedia/HeroInlineMedia.vue +12 -8
  114. package/src/components/HeroLarge/HeroLarge.stories.js +27 -2
  115. package/src/components/HeroLarge/HeroLarge.vue +12 -5
  116. package/src/components/HeroListingIndex/HeroListingIndex.stories.js +1 -0
  117. package/src/components/HeroListingIndex/HeroListingIndex.vue +18 -13
  118. package/src/components/HeroMedia/HeroMedia.stories.js +14 -9
  119. package/src/components/HeroMedia/HeroMedia.vue +9 -8
  120. package/src/components/HeroMedium/HeroMedium.stories.js +19 -4
  121. package/src/components/HeroMedium/HeroMedium.vue +32 -14
  122. package/src/components/HeroMedium/HeroSmall.stories.js +20 -6
  123. package/src/components/HomepageCarousel/HomepageCarousel.stories.js +1 -1
  124. package/src/components/HomepageCarouselItem/HomepageCarouselItem.stories.js +2 -2
  125. package/src/components/HomepageCarouselItem/HomepageCarouselItem.vue +2 -6
  126. package/src/components/HomepageEmbedBlock/HomepageEmbedBlock.vue +2 -2
  127. package/src/components/LogoCaltech/LogoCaltech.stories.js +14 -18
  128. package/src/components/LogoCaltech/LogoCaltech.vue +1 -0
  129. package/src/components/LogoTribrand/LogoTribrand.stories.js +66 -51
  130. package/src/components/LogoTribrand/LogoTribrand.vue +4 -2
  131. package/src/components/MetaPanel/MetaPanel.stories.js +5 -9
  132. package/src/components/MetaPanel/MetaPanel.vue +3 -0
  133. package/src/components/MetaPanelItems/MetaPanelItems.stories.js +9 -2
  134. package/src/components/MetaPanelItems/MetaPanelItems.vue +2 -0
  135. package/src/components/MetadataEduResource/MetadataEduResource.stories.js +12 -10
  136. package/src/components/MetadataEduResource/MetadataEduResource.vue +7 -3
  137. package/src/components/MetadataEvent/MetadataEvent.stories.js +1 -1
  138. package/src/components/MissionDetailAbout/MissionDetailAbout.vue +1 -1
  139. package/src/components/MissionDetailHero/MissionDetailHero.stories.js +2 -2
  140. package/src/components/MissionDetailHighlights/MissionDetailHighlights.stories.js +1 -0
  141. package/src/components/MissionDetailInlineImage/MissionDetailInlineImage.stories.js +1 -6
  142. package/src/components/MissionDetailInlineImage/MissionDetailInlineImage.vue +10 -5
  143. package/src/components/MissionDetailStats/DistanceStats.vue +10 -5
  144. package/src/components/MissionDetailStats/MissionDetailStats.stories.js +4 -21
  145. package/src/components/MissionDetailStats/MissionDetailStats.vue +21 -5
  146. package/src/components/MissionDetailStreamfield/MissionDetailStreamfield.vue +4 -2
  147. package/src/components/MixinAnimationCaret/MixinAnimationCaret.stories.ts +7 -0
  148. package/src/components/MixinAnimationCaret/MixinAnimationCaret.vue +12 -6
  149. package/src/components/MixinCarousel/MixinCarousel.stories.js +2 -8
  150. package/src/components/MixinCarousel/MixinCarousel.vue +13 -16
  151. package/src/components/MixinVideoBg/MixinVideoBg.stories.js +1 -1
  152. package/src/components/MixinVideoBg/MixinVideoBg.vue +4 -7
  153. package/src/components/NavDesktop/NavDesktop.stories.js +1 -0
  154. package/src/components/NavDesktop/NavDesktop.vue +4 -4
  155. package/src/components/NavDesktop/NavDesktopTopHat.vue +4 -4
  156. package/src/components/NavDesktopEdu/NavDesktopEdu.stories.js +1 -5
  157. package/src/components/NavDesktopEdu/NavDesktopEdu.vue +4 -4
  158. package/src/components/NavHeading/NavHeading.stories.js +3 -2
  159. package/src/components/NavHighlight/NavHighlight.stories.js +3 -2
  160. package/src/components/NavJumpMenu/NavJumpMenu.stories.js +5 -2
  161. package/src/components/NavLinkList/NavLinkList.stories.js +3 -2
  162. package/src/components/NavLinkList/NavLinkList.vue +3 -3
  163. package/src/components/NavLogoLinks/NavLogoLinks.stories.js +1 -0
  164. package/src/components/NavMobile/NavMobile.stories.js +13 -2
  165. package/src/components/NavMobile/NavMobile.vue +18 -5
  166. package/src/components/NavMobile/NavMobileDropdown.vue +2 -2
  167. package/src/components/NavMobile/NavMobileEdu.stories.js +11 -4
  168. package/src/components/NavMobile/NavMobileLink.vue +4 -4
  169. package/src/components/NavSearchForm/NavSearchForm.stories.js +1 -0
  170. package/src/components/NavSecondary/NavSecondary.stories.js +1 -0
  171. package/src/components/NavSecondary/NavSecondary.vue +7 -4
  172. package/src/components/NavSecondary/NavSecondaryDropdownContent.vue +1 -1
  173. package/src/components/NavSocial/NavSocial.stories.js +1 -0
  174. package/src/components/NewsDetailMediaContact/NewsDetailMediaContact.stories.js +2 -1
  175. package/src/components/NewsDetailMediaContact/NewsDetailMediaContact.vue +1 -1
  176. package/src/components/ParallaxContainer/ParallaxContainer.stories.js +2 -2
  177. package/src/components/ParallaxContainer/ParallaxContainer.vue +1 -0
  178. package/src/components/PodcastSeriesCarousel/PodcastSeriesCarousel.vue +6 -5
  179. package/src/components/RoboticsDetailStats/RoboticsDetailStats.stories.js +3 -8
  180. package/src/components/SearchFilterGroup/SearchFilterGroup.stories.js +1 -0
  181. package/src/components/SearchInput/SearchInput.stories.js +1 -0
  182. package/src/components/SearchPagination/SearchPagination.stories.js +1 -0
  183. package/src/components/SearchResultCard/SearchResultCard.stories.js +1 -10
  184. package/src/components/SearchResultCard/SearchResultCard.vue +1 -0
  185. package/src/components/SearchResultGridItem/SearchResultGridItem.stories.js +3 -12
  186. package/src/components/SearchResultGridItem/SearchResultGridItem.vue +5 -2
  187. package/src/components/SearchResultsList/SearchResultsList.stories.js +3 -3
  188. package/src/components/SearchSelectMenu/SearchSelectMenu.stories.js +2 -1
  189. package/src/components/SwimlaneCTA/SwimlaneCTA.vue +1 -0
  190. package/src/components/TextArea/TextArea.stories.js +2 -1
  191. package/src/components/TextInput/TextInput.stories.js +2 -1
  192. package/src/components/TheFooter/TheFooter.stories.js +1 -0
  193. package/src/components/TheFooter/TheFooter.vue +30 -4
  194. package/src/components/ThumbnailCarousel/ThumbnailCarousel.stories.js +1 -1
  195. package/src/components/ThumbnailCarousel/ThumbnailCarousel.vue +2 -1
  196. package/src/components/TimelineDialog/TimelineDialog.vue +2 -2
  197. package/src/components/TopicDetailMissionCarousel/TopicDetailMissionCarousel.stories.js +1 -0
  198. package/src/components/TopicDetailMissionCarouselItem/TopicDetailMissionCarouselItem.stories.js +2 -2
  199. package/src/components/TopicDetailMore/TopicDetailMore.stories.js +1 -0
  200. package/src/components/TopicDetailMoreItem/TopicDetailMoreItem.stories.js +3 -2
  201. package/src/components/TopicDetailStreamfield/TopicDetailStreamfield.vue +2 -2
  202. package/src/constants.ts +3 -5
  203. package/src/docs/foundation/grid_layouthelpers.stories.js +2 -2
  204. package/src/docs/introduction.docs.mdx +14 -2
  205. package/src/interfaces.ts +31 -6
  206. package/src/templates/PageAudioDetail/PageAudioDetail.vue +2 -2
  207. package/src/templates/PageContent/PageContent.stories.js +1 -1
  208. package/src/templates/PageEventDetail/PageEventDetail.stories.js +1 -1
  209. package/src/templates/PageNewsDetail/PageNewsDetail.stories.js +2 -2
  210. package/src/templates/edu/PageContentEdu.stories.js +2 -2
  211. package/src/templates/edu/PageEduCollectionsDetail/PageEduCollectionsDetail.stories.js +2 -2
  212. package/src/templates/edu/PageEduEventDetail/PageEduEventDetail.stories.js +1 -1
  213. package/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.stories.js +2 -2
  214. package/src/templates/edu/PageEduGalleryDetail/PageEduGalleryDetail.stories.js +1 -1
  215. package/src/templates/edu/PageEduGalleryDetail/PageEduGalleryDetail.vue +10 -6
  216. package/src/templates/edu/PageEduHome/PageEduHome.stories.js +1 -1
  217. package/src/templates/edu/PageEduLesson/PageEduLesson.stories.js +2 -2
  218. package/src/templates/edu/PageEduMultimediaDetail/PageEduMultimediaDetail.stories.js +1 -1
  219. package/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.stories.js +2 -2
  220. package/src/templates/edu/PageEduStudentProject/PageEduStudentProject.stories.js +2 -2
  221. package/src/templates/edu/PageEduStudentProject/PageEduStudentProjectSection.vue +10 -6
  222. package/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.stories.js +2 -2
  223. package/src/templates/www/PageAsteroidWatchContent/PageAsteroidWatchContent.stories.js +2 -2
  224. package/src/templates/www/PageAsteroidWatchIndex/PageAsteroidWatchIndex.stories.js +2 -2
  225. package/src/templates/www/PageGoDirectory/PageGoDirectory.stories.js +2 -2
  226. package/src/templates/www/PageHomepage/PageHomepage.stories.js +2 -2
  227. package/src/templates/www/PageMissionDetail/PageMissionDetail.stories.js +2 -2
  228. package/src/templates/www/PagePodcast/PagePodcast.stories.js +2 -2
  229. package/src/templates/www/PagePodcastSeason/PagePodcastSeason.stories.js +2 -2
  230. package/src/templates/www/PagePressKitIndex/PagePressKitIndex.stories.js +2 -2
  231. package/src/templates/www/PageProfileDetail/PageProfileDetail.stories.js +2 -2
  232. package/src/templates/www/PageRoboticsDetail/PageRoboticsDetail.stories.js +2 -2
  233. package/src/templates/www/PageTimeline/PageTimeline.stories.js +2 -2
  234. package/src/templates/www/PageTopicDetail/PageTopicDetail.stories.js +2 -2
  235. package/src/templates/www/PageTopicDetail/PageTopicDetail.vue +2 -1
  236. package/src/utils/mixins.ts +7 -7
package/src/interfaces.ts CHANGED
@@ -1,3 +1,7 @@
1
+ import { eduMetadataDictionary } from './constants'
2
+
3
+ export type ContentTypeKey = keyof typeof eduMetadataDictionary
4
+
1
5
  export interface BreadcrumbPathObject {
2
6
  path: string
3
7
  title: string
@@ -24,7 +28,7 @@ export interface StreamfieldBlockData extends BlockData {
24
28
  galleryDescription?: string
25
29
  coverImage?: ImageObject
26
30
  gallerySlides?: ImageObject[]
27
- blocks?: object[]
31
+ blocks?: StreamfieldBlockData[] | Card[] | ImageObject[] | VideoObject[]
28
32
  value?: string
29
33
  customLabel?: string
30
34
  introduction?: string
@@ -42,6 +46,7 @@ export interface StreamfieldBlockData extends BlockData {
42
46
  rowData?: any
43
47
  apiEndpoint?: string
44
48
  attachmentPrefix?: string
49
+ listingPageHeroImage?: ImageObject
45
50
  }
46
51
 
47
52
  export interface ImageSrcObject {
@@ -73,9 +78,29 @@ export interface ImageObject {
73
78
  cover?: string
74
79
  image?: ImageObject
75
80
  displayCaption?: boolean
81
+ listingPageHeroImage?: ImageObject
76
82
  }
77
83
 
78
- export interface ImageBlock extends BlockData, ImageObject {}
84
+ export interface VideoObject {
85
+ duration?: string
86
+ file: string
87
+ fileExtension?: string
88
+ fileOgg?: string // no webpack loader for ogg files
89
+ fileWebm?: string
90
+ height?: string | number
91
+ id: string
92
+ sources?: string
93
+ title: string
94
+ type?: string
95
+ width?: string | number
96
+ }
97
+
98
+ export interface ImageBlock extends BlockData, ImageObject {
99
+ fullBleed: boolean
100
+ imageFullBleed: ImageObject
101
+ displayCaption: boolean
102
+ constrain: boolean
103
+ }
79
104
 
80
105
  export interface ElasticSearchPage {
81
106
  _source: string
@@ -250,9 +275,7 @@ export interface LabelObject {
250
275
  icons?: string
251
276
  type?: MetadataType
252
277
  }
253
- export interface PillDictionaryInterface {
254
- [EDUExplainerArticlePage: string]: LabelObject
255
- }
278
+
256
279
  export interface DictionaryInterface {
257
280
  [key: string]: string
258
281
  }
@@ -263,8 +286,9 @@ export interface AccordionItemObject {
263
286
 
264
287
  export type MetaPanelTheme = 'primary' | 'secondary' | 'stars'
265
288
 
289
+ export type HeadingLevels = 'h2' | 'h3' | 'h4' | 'h5' | 'h6'
266
290
  export interface PageObject {
267
- __typename: string
291
+ __typename: ContentTypeKey
268
292
  contentType: string
269
293
  lastPublishedAt?: string
270
294
  breadcrumb?: string
@@ -275,6 +299,7 @@ export interface PageObject {
275
299
  getTopicsForDisplay?: Topic[]
276
300
  showJumpMenu?: boolean
277
301
  label?: string
302
+ topicLabel?: string
278
303
  summary?: string
279
304
  topper?: string
280
305
  seoTitle?: string
@@ -50,7 +50,7 @@
50
50
  />
51
51
  </template>
52
52
  </LayoutHelper>
53
- <BlockAudio :data="data" />
53
+ <BlockAudio :data="data as BlockAudioData" />
54
54
  <LayoutHelper
55
55
  indent="col-2"
56
56
  class="lg:pt-12 pt-4"
@@ -228,7 +228,7 @@ import DetailHeadline from './../../components/DetailHeadline/DetailHeadline.vue
228
228
  import BaseButton from './../../components/BaseButton/BaseButton.vue'
229
229
  import BlockRelatedLinks from './../../components/BlockRelatedLinks/BlockRelatedLinks.vue'
230
230
  import BlockText from './../../components/BlockText/BlockText.vue'
231
- import BlockAudio from './../../components/BlockAudio/BlockAudio.vue'
231
+ import BlockAudio, { type BlockAudioData } from './../../components/BlockAudio/BlockAudio.vue'
232
232
  import IconDownload from './../../components/Icons/IconDownload.vue'
233
233
  import IconDropdown from './../../components/Icons/IconDropdown.vue'
234
234
  import BlockLinkCarousel from './../../components/BlockLinkCarousel/BlockLinkCarousel.vue'
@@ -15,7 +15,7 @@ export default {
15
15
  tags: ['!autodocs'],
16
16
  parameters: {
17
17
  html: {
18
- root: '#storyDecorator'
18
+ root: '#storyRoot'
19
19
  },
20
20
  layout: 'fullscreen'
21
21
  },
@@ -9,7 +9,7 @@ export default {
9
9
  tags: ['!autodocs'],
10
10
  parameters: {
11
11
  html: {
12
- root: '#storyDecorator'
12
+ root: '#storyRoot'
13
13
  },
14
14
  layout: 'fullscreen'
15
15
  },
@@ -17,13 +17,13 @@ export default {
17
17
  component: PageNewsDetail,
18
18
  decorators: [
19
19
  () => ({
20
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
20
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
21
21
  })
22
22
  ],
23
23
  parameters: {
24
24
  layout: 'fullscreen',
25
25
  html: {
26
- root: '#storyDecorator'
26
+ root: '#storyRoot'
27
27
  }
28
28
  },
29
29
  excludeStories: /.*Data$/
@@ -7,13 +7,13 @@ export default {
7
7
  tags: ['!autodocs'],
8
8
  decorators: [
9
9
  () => ({
10
- template: `<div id="storyDecorator" class="ThemeEdu"><story/></div>`
10
+ template: `<div id="storyRoot" class="ThemeEdu"><story/></div>`
11
11
  })
12
12
  ],
13
13
  globals: { theme: 'ThemeEdu' },
14
14
  parameters: {
15
15
  html: {
16
- root: '#storyDecorator'
16
+ root: '#storyRoot'
17
17
  },
18
18
  docs: {
19
19
  description: {
@@ -10,14 +10,14 @@ export default {
10
10
  tags: ['!autodocs'],
11
11
  decorators: [
12
12
  () => ({
13
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
13
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
14
14
  })
15
15
  ],
16
16
  globals: { theme: 'ThemeEdu' },
17
17
  parameters: {
18
18
  layout: 'fullscreen',
19
19
  html: {
20
- root: '#storyDecorator'
20
+ root: '#storyRoot'
21
21
  }
22
22
  },
23
23
  excludeStories: /.*Data$/
@@ -10,7 +10,7 @@ export default {
10
10
  globals: { theme: 'ThemeEdu' },
11
11
  parameters: {
12
12
  html: {
13
- root: '#storyDecorator'
13
+ root: '#storyRoot'
14
14
  },
15
15
  layout: 'fullscreen'
16
16
  },
@@ -16,14 +16,14 @@ export default {
16
16
  tags: ['!autodocs'],
17
17
  decorators: [
18
18
  () => ({
19
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
19
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
20
20
  })
21
21
  ],
22
22
  globals: { theme: 'ThemeEdu' },
23
23
  parameters: {
24
24
  layout: 'fullscreen',
25
25
  html: {
26
- root: '#storyDecorator'
26
+ root: '#storyRoot'
27
27
  }
28
28
  },
29
29
  excludeStories: /.*Data$/
@@ -14,7 +14,7 @@ export default {
14
14
  globals: { theme: 'ThemeEdu' },
15
15
  parameters: {
16
16
  html: {
17
- root: '#storyDecorator'
17
+ root: '#storyRoot'
18
18
  },
19
19
  layout: 'fullscreen'
20
20
  },
@@ -9,10 +9,14 @@ import LayoutHelper from './../../../components/LayoutHelper/LayoutHelper.vue'
9
9
  import BaseHeading from './../../../components/BaseHeading/BaseHeading.vue'
10
10
  import DetailHeadline from './../../../components/DetailHeadline/DetailHeadline.vue'
11
11
  import ShareButtonsEdu from './../../../components/ShareButtonsEdu/ShareButtonsEdu.vue'
12
- import BlockVideo from './../../../components/BlockVideo/BlockVideo.vue'
12
+ import BlockVideo, { type BlockVideoData } from './../../../components/BlockVideo/BlockVideo.vue'
13
13
  import BlockImageStandard from './../../../components/BlockImage/BlockImageStandard.vue'
14
- import BlockImageComparison from './../../../components/BlockImageComparison/BlockImageComparison.vue'
15
- import BlockVideoEmbed from './../../../components/BlockVideoEmbed/BlockVideoEmbed.vue'
14
+ import BlockImageComparison, {
15
+ type BlockImageComparisonData
16
+ } from './../../../components/BlockImageComparison/BlockImageComparison.vue'
17
+ import BlockVideoEmbed, {
18
+ type BlockVideoEmbedData
19
+ } from './../../../components/BlockVideoEmbed/BlockVideoEmbed.vue'
16
20
  import BlockRelatedLinks from './../../../components/BlockRelatedLinks/BlockRelatedLinks.vue'
17
21
  import BlockLinkCarousel from './../../../components/BlockLinkCarousel/BlockLinkCarousel.vue'
18
22
  import BlockText from './../../../components/BlockText/BlockText.vue'
@@ -134,7 +138,7 @@ const { data } = reactive(props)
134
138
  <template v-else-if="block.blockType === 'ImageComparisonBlock'">
135
139
  <LayoutHelper indent="col-2">
136
140
  <BlockImageComparison
137
- :data="block"
141
+ :data="block as BlockImageComparisonData"
138
142
  :custom-detail-url="item.externalLink"
139
143
  />
140
144
  </LayoutHelper>
@@ -142,7 +146,7 @@ const { data } = reactive(props)
142
146
  <template v-else-if="block.blockType === 'VideoBlock'">
143
147
  <LayoutHelper indent="col-2">
144
148
  <BlockVideo
145
- :data="block"
149
+ :data="block as BlockVideoData"
146
150
  :custom-detail-url="item.externalLink"
147
151
  />
148
152
  </LayoutHelper>
@@ -150,7 +154,7 @@ const { data } = reactive(props)
150
154
  <template v-else-if="block.blockType === 'VideoEmbedBlock'">
151
155
  <LayoutHelper indent="col-2">
152
156
  <BlockVideoEmbed
153
- :data="block"
157
+ :data="block as BlockVideoEmbedData"
154
158
  :custom-detail-url="item.externalLink"
155
159
  />
156
160
  </LayoutHelper>
@@ -14,7 +14,7 @@ export default {
14
14
  globals: { theme: 'ThemeEdu' },
15
15
  parameters: {
16
16
  html: {
17
- root: '#storyDecorator'
17
+ root: '#storyRoot'
18
18
  },
19
19
  layout: 'fullscreen'
20
20
  },
@@ -21,14 +21,14 @@ export default {
21
21
  tags: ['!autodocs'],
22
22
  decorators: [
23
23
  () => ({
24
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
24
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
25
25
  })
26
26
  ],
27
27
  globals: { theme: 'ThemeEdu' },
28
28
  parameters: {
29
29
  layout: 'fullscreen',
30
30
  html: {
31
- root: '#storyDecorator'
31
+ root: '#storyRoot'
32
32
  }
33
33
  },
34
34
  excludeStories: /.*Data$/
@@ -15,7 +15,7 @@ export default {
15
15
  globals: { theme: 'ThemeEdu' },
16
16
  parameters: {
17
17
  html: {
18
- root: '#storyDecorator'
18
+ root: '#storyRoot'
19
19
  },
20
20
  layout: 'fullscreen'
21
21
  },
@@ -10,14 +10,14 @@ export default {
10
10
  tags: ['!autodocs'],
11
11
  decorators: [
12
12
  () => ({
13
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
13
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
14
14
  })
15
15
  ],
16
16
  globals: { theme: 'ThemeEdu' },
17
17
  parameters: {
18
18
  layout: 'fullscreen',
19
19
  html: {
20
- root: '#storyDecorator'
20
+ root: '#storyRoot'
21
21
  },
22
22
  docs: {
23
23
  description: {
@@ -24,14 +24,14 @@ export default {
24
24
  tags: ['!autodocs'],
25
25
  decorators: [
26
26
  () => ({
27
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
27
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
28
28
  })
29
29
  ],
30
30
  globals: { theme: 'ThemeEdu' },
31
31
  parameters: {
32
32
  layout: 'fullscreen',
33
33
  html: {
34
- root: '#storyDecorator'
34
+ root: '#storyRoot'
35
35
  }
36
36
  },
37
37
  excludeStories: /.*Data$/
@@ -8,7 +8,9 @@ import BlockHeading, {
8
8
  import type { EduStudentProjectStep } from './PageEduStudentProject.vue'
9
9
  import HeroInlineMedia from './../../../components/HeroInlineMedia/HeroInlineMedia.vue'
10
10
  import LayoutHelper from './../../../components/LayoutHelper/LayoutHelper.vue'
11
- import BlockInlineImage from './../../../components/BlockInlineImage/BlockInlineImage.vue'
11
+ import BlockInlineImage, {
12
+ type BlockInlineImageData
13
+ } from './../../../components/BlockInlineImage/BlockInlineImage.vue'
12
14
  import BlockImageStandard from './../../../components/BlockImage/BlockImageStandard.vue'
13
15
  import BlockStreamfield from './../../../components/BlockStreamfield/BlockStreamfield.vue'
14
16
  import { getHeadingId } from './../../../utils/getHeadingId'
@@ -52,11 +54,13 @@ const { heading, blocks, image, steps, stepsNumbering, text } = reactive(props)
52
54
  <!-- simple richtext -->
53
55
  <BlockInlineImage
54
56
  v-if="text"
55
- :data="{
56
- text: text,
57
- image: image,
58
- alignTo: 'right'
59
- }"
57
+ :data="
58
+ {
59
+ text: text,
60
+ image: image,
61
+ alignTo: 'right'
62
+ } as BlockInlineImageData
63
+ "
60
64
  class="lg:mb-18 mb-10"
61
65
  />
62
66
 
@@ -21,14 +21,14 @@ export default {
21
21
  tags: ['!autodocs'],
22
22
  decorators: [
23
23
  () => ({
24
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
24
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
25
25
  })
26
26
  ],
27
27
  globals: { theme: 'ThemeEdu' },
28
28
  parameters: {
29
29
  layout: 'fullscreen',
30
30
  html: {
31
- root: '#storyDecorator'
31
+ root: '#storyRoot'
32
32
  }
33
33
  },
34
34
  excludeStories: /.*Data$/
@@ -7,14 +7,14 @@ export default {
7
7
  component: PageAsteroidWatchContent,
8
8
  decorators: [
9
9
  () => ({
10
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
10
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
11
11
  })
12
12
  ],
13
13
  tags: ['!autodocs'],
14
14
  parameters: {
15
15
  layout: 'fullscreen',
16
16
  html: {
17
- root: '#storyDecorator'
17
+ root: '#storyRoot'
18
18
  }
19
19
  },
20
20
  excludeStories: /.*(Data)$/
@@ -9,13 +9,13 @@ export default {
9
9
  tags: ['!autodocs'],
10
10
  decorators: [
11
11
  () => ({
12
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
12
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
13
13
  })
14
14
  ],
15
15
  parameters: {
16
16
  layout: 'fullscreen',
17
17
  html: {
18
- root: '#storyDecorator'
18
+ root: '#storyRoot'
19
19
  }
20
20
  },
21
21
  excludeStories: /.*(Data)$/
@@ -6,13 +6,13 @@ export default {
6
6
  tags: ['!autodocs'],
7
7
  decorators: [
8
8
  () => ({
9
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
9
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
10
10
  })
11
11
  ],
12
12
  parameters: {
13
13
  layout: 'fullscreen',
14
14
  html: {
15
- root: '#storyDecorator'
15
+ root: '#storyRoot'
16
16
  }
17
17
  },
18
18
  excludeStories: /.*(Data)$/
@@ -18,13 +18,13 @@ export default {
18
18
  tags: ['!autodocs'],
19
19
  decorators: [
20
20
  () => ({
21
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
21
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
22
22
  })
23
23
  ],
24
24
  parameters: {
25
25
  layout: 'fullscreen',
26
26
  html: {
27
- root: '#storyDecorator'
27
+ root: '#storyRoot'
28
28
  }
29
29
  }
30
30
  }
@@ -15,13 +15,13 @@ export default {
15
15
  tags: ['!autodocs'],
16
16
  decorators: [
17
17
  () => ({
18
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
18
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
19
19
  })
20
20
  ],
21
21
  parameters: {
22
22
  layout: 'fullscreen',
23
23
  html: {
24
- root: '#storyDecorator'
24
+ root: '#storyRoot'
25
25
  }
26
26
  },
27
27
  excludeStories: /.*(Data)$/
@@ -9,13 +9,13 @@ export default {
9
9
  tags: ['!autodocs'],
10
10
  decorators: [
11
11
  () => ({
12
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
12
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
13
13
  })
14
14
  ],
15
15
  parameters: {
16
16
  layout: 'fullscreen',
17
17
  html: {
18
- root: '#storyDecorator'
18
+ root: '#storyRoot'
19
19
  }
20
20
  },
21
21
  excludeStories: /.*(Data)$/
@@ -8,13 +8,13 @@ export default {
8
8
  tags: ['!autodocs'],
9
9
  decorators: [
10
10
  () => ({
11
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
11
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
12
12
  })
13
13
  ],
14
14
  parameters: {
15
15
  layout: 'fullscreen',
16
16
  html: {
17
- root: '#storyDecorator'
17
+ root: '#storyRoot'
18
18
  }
19
19
  },
20
20
  excludeStories: /.*(Data)$/
@@ -5,14 +5,14 @@ export default {
5
5
  component: PagePressKitIndex,
6
6
  decorators: [
7
7
  () => ({
8
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
8
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
9
9
  })
10
10
  ],
11
11
  tags: ['!autodocs'],
12
12
  parameters: {
13
13
  layout: 'fullscreen',
14
14
  html: {
15
- root: '#storyDecorator'
15
+ root: '#storyRoot'
16
16
  }
17
17
  },
18
18
  excludeStories: /.*(Data)$/
@@ -7,13 +7,13 @@ export default {
7
7
  tags: ['!autodocs'],
8
8
  decorators: [
9
9
  () => ({
10
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
10
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
11
11
  })
12
12
  ],
13
13
  parameters: {
14
14
  layout: 'fullscreen',
15
15
  html: {
16
- root: '#storyDecorator'
16
+ root: '#storyRoot'
17
17
  }
18
18
  },
19
19
  excludeStories: /.*(Data)$/
@@ -13,13 +13,13 @@ export default {
13
13
  tags: ['!autodocs'],
14
14
  decorators: [
15
15
  () => ({
16
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
16
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
17
17
  })
18
18
  ],
19
19
  parameters: {
20
20
  layout: 'fullscreen',
21
21
  html: {
22
- root: '#storyDecorator'
22
+ root: '#storyRoot'
23
23
  }
24
24
  },
25
25
  excludeStories: /.*(Data)$/
@@ -8,13 +8,13 @@ export default {
8
8
  tags: ['!autodocs'],
9
9
  decorators: [
10
10
  () => ({
11
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
11
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
12
12
  })
13
13
  ],
14
14
  parameters: {
15
15
  layout: 'fullscreen',
16
16
  html: {
17
- root: '#storyDecorator'
17
+ root: '#storyRoot'
18
18
  }
19
19
  },
20
20
  excludeStories: /.*(Data)$/
@@ -12,13 +12,13 @@ export default {
12
12
  tags: ['!autodocs'],
13
13
  decorators: [
14
14
  () => ({
15
- template: `<div id="storyDecorator" class="disable-nav-offset"><story/></div>`
15
+ template: `<div id="storyRoot" class="disable-nav-offset"><story/></div>`
16
16
  })
17
17
  ],
18
18
  parameters: {
19
19
  layout: 'fullscreen',
20
20
  html: {
21
- root: '#storyDecorator'
21
+ root: '#storyRoot'
22
22
  }
23
23
  },
24
24
  excludeStories: /.*(Data)$/
@@ -114,7 +114,8 @@ export default defineComponent({
114
114
  props: {
115
115
  data: {
116
116
  type: Object,
117
- required: false
117
+ required: false,
118
+ default: undefined
118
119
  }
119
120
  }
120
121
  })
@@ -15,13 +15,13 @@ export interface SrcSetDataValue {
15
15
  width: number
16
16
  }
17
17
  // nav link object
18
- export type LinkObject = {
19
- linkPage: {
18
+ export type NavLinkObject = {
19
+ linkPage?: {
20
20
  title: string
21
21
  url: string
22
- } | null
23
- title: string | null
24
- path: string | null
22
+ }
23
+ title?: string
24
+ path?: string
25
25
  }
26
26
  // breadcrumbs used for nav and secondary nav
27
27
  export type BreadcrumbObject = {
@@ -78,7 +78,7 @@ export const mixinTransparentHeader = () => {
78
78
  and provides a graceful fallback to use the page title
79
79
  if one exists.
80
80
  */
81
- export const mixinGetLinkText = (item: LinkObject): string => {
81
+ export const mixinGetLinkText = (item: NavLinkObject): string => {
82
82
  if (item.title) {
83
83
  return item.title
84
84
  } else if (item.linkPage) {
@@ -96,7 +96,7 @@ export const mixinGetLinkText = (item: LinkObject): string => {
96
96
  TODO: need to modify this to work with breadcrumb-passed objects too
97
97
  strategy: check if path starts with a slash.
98
98
  */
99
- export const mixinGetRouterLink = (link: LinkObject): string | undefined => {
99
+ export const mixinGetRouterLink = (link: NavLinkObject): string | undefined => {
100
100
  if (link.linkPage && link.linkPage.url) {
101
101
  return link.linkPage.url
102
102
  } else if (link.path) {