@explorer-1/vue 0.2.53 → 0.2.55

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 (286) hide show
  1. package/dist/explorer-1-vue.js +6113 -6105
  2. package/dist/explorer-1-vue.umd.cjs +16 -16
  3. package/dist/src/components/BackToTop/BackToTop.stories.d.ts +96 -4
  4. package/dist/src/components/BackToTop/BackToTop.vue.d.ts +96 -4
  5. package/dist/src/components/BaseAccordionItem/BaseAccordionItem.vue.d.ts +12 -10
  6. package/dist/src/components/BaseAudio/BaseAudio.vue.d.ts +12 -5
  7. package/dist/src/components/BaseButton/BaseButton.stories.d.ts +7 -7
  8. package/dist/src/components/BaseButton/BaseButton.vue.d.ts +7 -7
  9. package/dist/src/components/BaseCheckboxGroup/BaseCheckboxGroup.vue.d.ts +4 -4
  10. package/dist/src/components/BaseHeading/BaseHeading.stories.d.ts +9 -9
  11. package/dist/src/components/BaseHeading/BaseHeading.vue.d.ts +6 -6
  12. package/dist/src/components/BaseImage/BaseImage.stories.d.ts +4 -4
  13. package/dist/src/components/BaseImage/BaseImage.vue.d.ts +4 -4
  14. package/dist/src/components/BaseImagePlaceholder/BaseImagePlaceholder.vue.d.ts +4 -4
  15. package/dist/src/components/BaseLightboxCloseButton/BaseLightboxCloseButton.vue.d.ts +3 -1
  16. package/dist/src/components/BaseLightboxOpenButton/BaseLightboxOpenButton.vue.d.ts +3 -1
  17. package/dist/src/components/BaseLink/BaseLink.vue.d.ts +70 -6
  18. package/dist/src/components/BaseModal/BaseModal.stories.d.ts +685 -34
  19. package/dist/src/components/BaseModal/BaseModal.vue.d.ts +141 -4
  20. package/dist/src/components/BaseModal/BaseModalDialog.vue.d.ts +124 -4
  21. package/dist/src/components/BasePill/BasePill.vue.d.ts +4 -4
  22. package/dist/src/components/BasePlaceholder/BasePlaceholder.stories.d.ts +1 -1
  23. package/dist/src/components/BasePlaceholder/BasePlaceholder.vue.d.ts +1 -1
  24. package/dist/src/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +4 -4
  25. package/dist/src/components/BaseSwimlane/BaseSwimlane.vue.d.ts +4 -4
  26. package/dist/src/components/BaseTimer/BaseTimer.vue.d.ts +6 -6
  27. package/dist/src/components/BaseUnitToggle/BaseUnitToggle.stories.d.ts +33 -33
  28. package/dist/src/components/BaseUnitToggle/BaseUnitToggle.vue.d.ts +8 -8
  29. package/dist/src/components/BaseVideo/BaseVideo.vue.d.ts +61 -4
  30. package/dist/src/components/BlockAccordion/BlockAccordion.vue.d.ts +4 -4
  31. package/dist/src/components/BlockAnchor/BlockAnchor.vue.d.ts +3 -3
  32. package/dist/src/components/BlockAudio/BlockAudio.vue.d.ts +230 -3
  33. package/dist/src/components/BlockCardGridItem/BlockCardGridItemElement.vue.d.ts +172 -5
  34. package/dist/src/components/BlockCircleImageCard/BlockCircleImageCard.vue.d.ts +170 -4
  35. package/dist/src/components/BlockCta/BlockCta.vue.d.ts +96 -4
  36. package/dist/src/components/BlockDialog/BlockDialog.stories.d.ts +7 -5
  37. package/dist/src/components/BlockGist/BlockGist.vue.d.ts +1 -1
  38. package/dist/src/components/BlockGist/GitHub404.vue.d.ts +1 -1
  39. package/dist/src/components/BlockHeading/BlockHeading.vue.d.ts +35 -5
  40. package/dist/src/components/BlockKeyPoints/BlockKeyPoints.vue.d.ts +87 -3
  41. package/dist/src/components/BlockLinkCard/BlockLinkCard.stories.d.ts +60 -23
  42. package/dist/src/components/BlockLinkCardList/BlockLinkCardList.vue.d.ts +4 -4
  43. package/dist/src/components/BlockTable/BlockTable.vue.d.ts +3 -3
  44. package/dist/src/components/BlockTeaser/BlockTeaser.vue.d.ts +175 -4
  45. package/dist/src/components/BlockText/BlockText.vue.d.ts +4 -4
  46. package/dist/src/components/CalendarButton/CalendarButton.vue.d.ts +95 -4
  47. package/dist/src/components/CalendarChip/CalendarChip.vue.d.ts +4 -4
  48. package/dist/src/components/EventDetailHero/EventDetailHero.vue.d.ts +172 -4
  49. package/dist/src/components/FormContact/FormContact.stories.d.ts +361 -1
  50. package/dist/src/components/FormContact/FormContact.vue.d.ts +361 -1
  51. package/dist/src/components/FormNewsletterSignup/FormNewsletterSignup.stories.d.ts +396 -1
  52. package/dist/src/components/FormNewsletterSignup/FormNewsletterSignup.vue.d.ts +396 -1
  53. package/dist/src/components/HeroLarge/HeroLarge.vue.d.ts +51 -4
  54. package/dist/src/components/HomepageFeaturedRobot/HomepageFeaturedRobot.vue.d.ts +281 -3
  55. package/dist/src/components/HomepageTeaserBlock/HomepageTeaserBlockCardImage.vue.d.ts +141 -3
  56. package/dist/src/components/Icons/Icon360.vue.d.ts +1 -1
  57. package/dist/src/components/Icons/IconArrow.vue.d.ts +1 -1
  58. package/dist/src/components/Icons/IconArrows.vue.d.ts +1 -1
  59. package/dist/src/components/Icons/IconAudio.vue.d.ts +1 -1
  60. package/dist/src/components/Icons/IconBook.vue.d.ts +1 -1
  61. package/dist/src/components/Icons/IconBookUser.vue.d.ts +1 -1
  62. package/dist/src/components/Icons/IconBriefcase.vue.d.ts +1 -1
  63. package/dist/src/components/Icons/IconCalendar.vue.d.ts +1 -1
  64. package/dist/src/components/Icons/IconCaret.vue.d.ts +1 -1
  65. package/dist/src/components/Icons/IconCheckbox.vue.d.ts +1 -1
  66. package/dist/src/components/Icons/IconCheckboxSelected.vue.d.ts +1 -1
  67. package/dist/src/components/Icons/IconClose.vue.d.ts +1 -1
  68. package/dist/src/components/Icons/IconCloseLightbox.vue.d.ts +1 -1
  69. package/dist/src/components/Icons/IconDownload.vue.d.ts +1 -1
  70. package/dist/src/components/Icons/IconDropdown.vue.d.ts +1 -1
  71. package/dist/src/components/Icons/IconEnvelope.vue.d.ts +1 -1
  72. package/dist/src/components/Icons/IconExpand.vue.d.ts +1 -1
  73. package/dist/src/components/Icons/IconExternal.vue.d.ts +1 -1
  74. package/dist/src/components/Icons/IconFilter.vue.d.ts +1 -1
  75. package/dist/src/components/Icons/IconForwardTen.vue.d.ts +1 -1
  76. package/dist/src/components/Icons/IconGrid.vue.d.ts +1 -1
  77. package/dist/src/components/Icons/IconHand.vue.d.ts +1 -1
  78. package/dist/src/components/Icons/IconInfo.vue.d.ts +1 -1
  79. package/dist/src/components/Icons/IconLink.vue.d.ts +1 -1
  80. package/dist/src/components/Icons/IconList.vue.d.ts +1 -1
  81. package/dist/src/components/Icons/IconLocation.vue.d.ts +1 -1
  82. package/dist/src/components/Icons/IconMagnifyingGlass.vue.d.ts +1 -1
  83. package/dist/src/components/Icons/IconMedal.vue.d.ts +1 -1
  84. package/dist/src/components/Icons/IconMenu.vue.d.ts +1 -1
  85. package/dist/src/components/Icons/IconMinus.vue.d.ts +1 -1
  86. package/dist/src/components/Icons/IconMute.vue.d.ts +1 -1
  87. package/dist/src/components/Icons/IconNext.vue.d.ts +1 -1
  88. package/dist/src/components/Icons/IconPause.vue.d.ts +1 -1
  89. package/dist/src/components/Icons/IconPlay.vue.d.ts +1 -1
  90. package/dist/src/components/Icons/IconPlus.vue.d.ts +1 -1
  91. package/dist/src/components/Icons/IconPrev.vue.d.ts +1 -1
  92. package/dist/src/components/Icons/IconProfile.vue.d.ts +1 -1
  93. package/dist/src/components/Icons/IconRewindTen.vue.d.ts +1 -1
  94. package/dist/src/components/Icons/IconSearch.vue.d.ts +1 -1
  95. package/dist/src/components/Icons/IconShare.vue.d.ts +1 -1
  96. package/dist/src/components/Icons/IconSlideshow.vue.d.ts +1 -1
  97. package/dist/src/components/Icons/IconSocialEmail.vue.d.ts +1 -1
  98. package/dist/src/components/Icons/IconSocialFacebook.vue.d.ts +1 -1
  99. package/dist/src/components/Icons/IconSocialGoogleClassroom.vue.d.ts +1 -1
  100. package/dist/src/components/Icons/IconSocialInstagram.vue.d.ts +1 -1
  101. package/dist/src/components/Icons/IconSocialPinterest.vue.d.ts +1 -1
  102. package/dist/src/components/Icons/IconSocialReddit.vue.d.ts +1 -1
  103. package/dist/src/components/Icons/IconSocialTwitter.vue.d.ts +1 -1
  104. package/dist/src/components/Icons/IconSocialYoutube.vue.d.ts +1 -1
  105. package/dist/src/components/Icons/IconStop.vue.d.ts +1 -1
  106. package/dist/src/components/Icons/IconSubject.vue.d.ts +1 -1
  107. package/dist/src/components/Icons/IconTime.vue.d.ts +1 -1
  108. package/dist/src/components/Icons/IconUniversity.vue.d.ts +1 -1
  109. package/dist/src/components/Icons/IconUser.vue.d.ts +1 -1
  110. package/dist/src/components/Icons/IconVolume.vue.d.ts +1 -1
  111. package/dist/src/components/Icons/Icons.stories.d.ts +110 -110
  112. package/dist/src/components/ImageDetailContextImage/ImageDetailContextImage.vue.d.ts +142 -3
  113. package/dist/src/components/LayoutHelper/LayoutHelper.vue.d.ts +4 -4
  114. package/dist/src/components/LoadingTransition/LoadingTransition.vue.d.ts +1 -1
  115. package/dist/src/components/LogoCaltech/LogoCaltech.stories.d.ts +1 -1
  116. package/dist/src/components/LogoCaltech/LogoCaltech.vue.d.ts +1 -1
  117. package/dist/src/components/LogoTribrand/LogoTribrand.stories.d.ts +4 -5
  118. package/dist/src/components/LogoTribrand/LogoTribrand.vue.d.ts +4 -4
  119. package/dist/src/components/MetadataEduResource/MetadataEduResource.vue.d.ts +4 -4
  120. package/dist/src/components/MetadataEvent/MetadataEvent.vue.d.ts +4 -4
  121. package/dist/src/components/MissionDetailAbout/MissionDetailAbout.vue.d.ts +61 -4
  122. package/dist/src/components/MissionDetailHero/MissionDetailHero.stories.d.ts +0 -1
  123. package/dist/src/components/MissionDetailHero/MissionDetailHero.vue.d.ts +154 -4
  124. package/dist/src/components/MissionDetailHighlights/MissionDetailHighlights.stories.d.ts +0 -1
  125. package/dist/src/components/MissionDetailStats/DistanceStats.vue.d.ts +63 -8
  126. package/dist/src/components/MissionDetailStats/MissionDetailStats.stories.d.ts +460 -31
  127. package/dist/src/components/MissionDetailStats/MissionDetailStats.vue.d.ts +199 -12
  128. package/dist/src/components/MissionDetailStats/MissionDetailStatsMicro.vue.d.ts +63 -6
  129. package/dist/src/components/MissionDetailStats/MissionDetailStatsMini.vue.d.ts +195 -8
  130. package/dist/src/components/MixinAnimationCaret/MixinAnimationCaret.stories.d.ts +6 -4
  131. package/dist/src/components/MixinAnimationCaret/MixinAnimationCaret.vue.d.ts +6 -4
  132. package/dist/src/components/MixinFancybox/MixinFancybox.vue.d.ts +8 -4
  133. package/dist/src/components/MixinFancybox/MixinFancyboxOpenButton.vue.d.ts +3 -1
  134. package/dist/src/components/MixinVideoBg/MixinVideoBg.vue.d.ts +3 -3
  135. package/dist/src/components/NavDesktop/NavDesktopDropdown.vue.d.ts +44 -4
  136. package/dist/src/components/NavDropdownToggle/NavDropdownToggle.vue.d.ts +5 -5
  137. package/dist/src/components/NavSearchForm/NavSearchForm.vue.d.ts +5 -5
  138. package/dist/src/components/NavSocial/NavSocial.stories.d.ts +99 -4
  139. package/dist/src/components/NavSocial/NavSocial.vue.d.ts +99 -4
  140. package/dist/src/components/NewsDetailMediaContact/NewsDetailMediaContact.vue.d.ts +4 -4
  141. package/dist/src/components/ParallaxContainer/ParallaxContainer.stories.d.ts +8 -8
  142. package/dist/src/components/ParallaxContainer/ParallaxContainer.vue.d.ts +4 -4
  143. package/dist/src/components/ParallaxElement/ParallaxElement.vue.d.ts +4 -4
  144. package/dist/src/components/ProfileDetailSectionGroup/ProfileDetailSectionGroup.vue.d.ts +67 -3
  145. package/dist/src/components/RoboticsDetailStats/RoboticsDetailStats.stories.d.ts +59 -4
  146. package/dist/src/components/RoboticsDetailStats/RoboticsDetailStats.vue.d.ts +3 -3
  147. package/dist/src/components/RoboticsDetailStats/RoboticsDetailStatsMini.vue.d.ts +58 -3
  148. package/dist/src/components/SearchFilterGroup/SearchFilterGroup.vue.d.ts +5 -5
  149. package/dist/src/components/SearchInput/SearchInput.vue.d.ts +5 -5
  150. package/dist/src/components/SearchPagination/SearchPagination.vue.d.ts +96 -3
  151. package/dist/src/components/SearchResultCard/SearchResultCard.stories.d.ts +19 -1
  152. package/dist/src/components/SearchSelectMenu/SearchSelectMenu.vue.d.ts +4 -4
  153. package/dist/src/components/ShareButtons/ShareButtons.vue.d.ts +99 -4
  154. package/dist/src/components/ShareButtonsEdu/ShareButtonsEdu.vue.d.ts +1 -1
  155. package/dist/src/components/SkipLink/SkipLink.vue.d.ts +92 -1
  156. package/dist/src/components/TextArea/TextArea.vue.d.ts +14 -14
  157. package/dist/src/components/TextInput/TextInput.vue.d.ts +14 -14
  158. package/dist/src/components/TheFooter/TheFooterSignUp.vue.d.ts +3 -1
  159. package/dist/src/components/TopicDetailMissionSpotlight/TopicDetailMissionSpotlight.vue.d.ts +314 -3
  160. package/dist/src/components/TopicDetailMore/TopicDetailMoreVisibility.vue.d.ts +1 -1
  161. package/dist/src/components/YearTicker/YearTicker.stories.d.ts +3 -3
  162. package/dist/src/components/YearTicker/YearTicker.vue.d.ts +3 -3
  163. package/dist/src/docs/foundation/grid_layouthelpers.stories.d.ts +16 -16
  164. package/dist/src/docs/foundation/typography.stories.d.ts +7 -7
  165. package/dist/src/interfaces.d.ts +1 -0
  166. package/dist/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.stories.d.ts +105 -38
  167. package/dist/src/templates/edu/PageEduLesson/PageEduLesson.stories.d.ts +112 -34
  168. package/dist/src/templates/edu/PageEduStudentProject/PageEduStudentProject.stories.d.ts +131 -35
  169. package/dist/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.stories.d.ts +112 -34
  170. package/dist/style.css +1 -1
  171. package/package.json +1 -1
  172. package/src/components/BaseImage/BaseImage.vue +2 -28
  173. package/src/components/BlockHeading/BlockHeading.vue +1 -1
  174. package/src/components/BlockIframeEmbed/BlockIframeEmbed.vue +4 -28
  175. package/src/components/BlockLinkCard/BlockLinkCard.stories.js +31 -4
  176. package/src/components/BlockLinkCard/BlockLinkCard.vue +1 -1
  177. package/src/components/BlockVideoEmbed/BlockVideoEmbed.vue +0 -2
  178. package/src/components/HeroMedia/HeroMedia.vue +7 -5
  179. package/src/components/HeroMedium/HeroMedium.vue +1 -1
  180. package/src/components/MetaPanel/MetaPanel.vue +6 -6
  181. package/src/components/MetadataEduResource/MetadataEduResource.vue +7 -2
  182. package/src/components/MetadataEvent/MetadataEvent.vue +3 -2
  183. package/src/components/NavJumpMenu/NavJumpMenu.vue +7 -1
  184. package/src/components/NavJumpMenu/NavJumpMenuContent.vue +6 -1
  185. package/src/components/SearchFilterGroup/SearchFilterGroup.vue +1 -0
  186. package/src/components/SearchInput/SearchInput.vue +15 -4
  187. package/src/components/SearchResultCard/SearchResultCard.stories.js +13 -2
  188. package/src/components/SearchResultsList/SearchResultsList.vue +8 -2
  189. package/src/interfaces.ts +1 -0
  190. package/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.stories.js +16 -0
  191. package/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.vue +45 -14
  192. package/src/templates/edu/PageEduHome/PageEduHome.stories.js +99 -0
  193. package/src/templates/edu/PageEduHome/PageEduHome.vue +154 -0
  194. package/src/templates/edu/PageEduLesson/PageEduLesson.stories.js +26 -1
  195. package/src/templates/edu/PageEduLesson/PageEduLesson.vue +57 -19
  196. package/src/templates/edu/PageEduStudentProject/PageEduStudentProject.stories.js +30 -3
  197. package/src/templates/edu/PageEduStudentProject/PageEduStudentProject.vue +126 -97
  198. package/src/templates/edu/PageEduStudentProject/PageEduStudentProjectSection.vue +59 -44
  199. package/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.stories.js +26 -1
  200. package/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.vue +44 -16
  201. package/dist/src/components/AsteroidWatchWidget/AsteroidWatchWidget.vue.d.ts +0 -36
  202. package/dist/src/components/BaseImageCaption/BaseImageCaption.vue.d.ts +0 -37
  203. package/dist/src/components/BlockCardGrid/BlockCardGrid.vue.d.ts +0 -33
  204. package/dist/src/components/BlockCardGridItem/BlockCardGridItem.vue.d.ts +0 -19
  205. package/dist/src/components/BlockIframeEmbed/BlockIframeEmbed.vue.d.ts +0 -24
  206. package/dist/src/components/BlockImage/BlockImage.stories.d.ts +0 -345
  207. package/dist/src/components/BlockImage/BlockImage.vue.d.ts +0 -24
  208. package/dist/src/components/BlockImage/BlockImageFullBleed.vue.d.ts +0 -68
  209. package/dist/src/components/BlockImage/BlockImageStandard.vue.d.ts +0 -65
  210. package/dist/src/components/BlockImageCarousel/BlockImageCarousel.vue.d.ts +0 -74
  211. package/dist/src/components/BlockImageCarouselItem/BlockImageCarouselItem.vue.d.ts +0 -58
  212. package/dist/src/components/BlockImageComparison/BlockImageComparison.vue.d.ts +0 -25
  213. package/dist/src/components/BlockImageGallery/BlockImageGallery.vue.d.ts +0 -57
  214. package/dist/src/components/BlockInlineImage/BlockInlineImage.vue.d.ts +0 -19
  215. package/dist/src/components/BlockLinkCard/BlockLinkCard.vue.d.ts +0 -198
  216. package/dist/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.d.ts +0 -306
  217. package/dist/src/components/BlockLinkCarousel/BlockLinkCarousel.vue.d.ts +0 -47
  218. package/dist/src/components/BlockLinkTile/BlockLinkTile.vue.d.ts +0 -93
  219. package/dist/src/components/BlockListCards/BlockListCards.vue.d.ts +0 -16
  220. package/dist/src/components/BlockQuote/BlockQuote.stories.d.ts +0 -202
  221. package/dist/src/components/BlockQuote/BlockQuote.vue.d.ts +0 -32
  222. package/dist/src/components/BlockRelatedLinks/BlockRelatedLinks.vue.d.ts +0 -36
  223. package/dist/src/components/BlockRelatedLinks/RelatedLink.vue.d.ts +0 -42
  224. package/dist/src/components/BlockStreamfield/BlockStreamfield.vue.d.ts +0 -49
  225. package/dist/src/components/BlockVideo/BlockVideo.vue.d.ts +0 -40
  226. package/dist/src/components/BlockVideoEmbed/BlockVideoEmbed.vue.d.ts +0 -38
  227. package/dist/src/components/DetailHeadline/DetailHeadline.vue.d.ts +0 -156
  228. package/dist/src/components/DsnWidget/DsnWidget.vue.d.ts +0 -15
  229. package/dist/src/components/EventCard/EventCard.vue.d.ts +0 -111
  230. package/dist/src/components/HeroListingIndex/HeroListingIndex.vue.d.ts +0 -42
  231. package/dist/src/components/HeroMedia/HeroMedia.vue.d.ts +0 -66
  232. package/dist/src/components/HeroMedium/HeroMedium.vue.d.ts +0 -96
  233. package/dist/src/components/HomepageCarousel/HomepageCarousel.vue.d.ts +0 -45
  234. package/dist/src/components/HomepageCarouselItem/HomepageCarouselItem.vue.d.ts +0 -33
  235. package/dist/src/components/HomepageEmbedBlock/HomepageEmbedBlock.vue.d.ts +0 -15
  236. package/dist/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.stories.d.ts +0 -106
  237. package/dist/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.vue.d.ts +0 -24
  238. package/dist/src/components/HomepageMissionsCarousel/HomepageMissionsCarouselItem.vue.d.ts +0 -18
  239. package/dist/src/components/HomepageStats/HomepageStats.stories.d.ts +0 -565
  240. package/dist/src/components/HomepageStats/HomepageStats.vue.d.ts +0 -65
  241. package/dist/src/components/HomepageTeaserBlock/HomepageTeaserBlock.vue.d.ts +0 -21
  242. package/dist/src/components/MissionDetailHighlights/MissionDetailHighlights.vue.d.ts +0 -65
  243. package/dist/src/components/MissionDetailHighlights/MissionDetailHighlightsCarousel.vue.d.ts +0 -30
  244. package/dist/src/components/MissionDetailHighlights/MissionDetailHighlightsCarouselItem.vue.d.ts +0 -36
  245. package/dist/src/components/MissionDetailInlineImage/MissionDetailInlineImage.vue.d.ts +0 -34
  246. package/dist/src/components/MissionDetailStreamfield/MissionDetailStreamfield.vue.d.ts +0 -12
  247. package/dist/src/components/MixinCarousel/MixinCarousel.stories.d.ts +0 -265
  248. package/dist/src/components/MixinCarousel/MixinCarousel.vue.d.ts +0 -118
  249. package/dist/src/components/NavDesktop/NavDesktop.stories.d.ts +0 -648
  250. package/dist/src/components/NavDesktop/NavDesktop.vue.d.ts +0 -94
  251. package/dist/src/components/NavDesktop/NavDesktopDropdownContent.vue.d.ts +0 -14
  252. package/dist/src/components/NavDesktop/NavDesktopDropdownMore.vue.d.ts +0 -15
  253. package/dist/src/components/NavDesktopEdu/NavDesktopEdu.stories.d.ts +0 -338
  254. package/dist/src/components/NavHeading/NavHeading.vue.d.ts +0 -12
  255. package/dist/src/components/NavHighlight/NavHighlight.vue.d.ts +0 -20
  256. package/dist/src/components/NavLinkList/NavLinkList.vue.d.ts +0 -29
  257. package/dist/src/components/NavLogoLinks/NavLogoLinks.stories.d.ts +0 -18
  258. package/dist/src/components/NavLogoLinks/NavLogoLinks.vue.d.ts +0 -2
  259. package/dist/src/components/NavMobile/NavMobile.stories.d.ts +0 -656
  260. package/dist/src/components/NavMobile/NavMobile.vue.d.ts +0 -94
  261. package/dist/src/components/NavMobile/NavMobileDropdown.vue.d.ts +0 -54
  262. package/dist/src/components/NavMobile/NavMobileEdu.stories.d.ts +0 -395
  263. package/dist/src/components/NavMobile/NavMobileLink.vue.d.ts +0 -46
  264. package/dist/src/components/NavMobile/NavMobileSecondaryDropdown.vue.d.ts +0 -35
  265. package/dist/src/components/NavSecondary/NavSecondary.vue.d.ts +0 -75
  266. package/dist/src/components/NavSecondary/NavSecondaryDropdown.vue.d.ts +0 -70
  267. package/dist/src/components/NavSecondary/NavSecondaryDropdownContent.vue.d.ts +0 -30
  268. package/dist/src/components/NavSecondary/NavSecondaryLink.vue.d.ts +0 -40
  269. package/dist/src/components/PastEventsCarousel/PastEventsCarousel.vue.d.ts +0 -19
  270. package/dist/src/components/PodcastEpisodeCard/PodcastEpisodeCard.vue.d.ts +0 -82
  271. package/dist/src/components/PodcastSeriesCarousel/PodcastSeriesCarousel.vue.d.ts +0 -55
  272. package/dist/src/components/SearchResultCard/SearchResultCard.vue.d.ts +0 -287
  273. package/dist/src/components/SearchResultGridItem/SearchResultGridItem.vue.d.ts +0 -193
  274. package/dist/src/components/SearchResultsList/SearchResultsList.vue.d.ts +0 -62
  275. package/dist/src/components/TheFooter/TheFooter.vue.d.ts +0 -35
  276. package/dist/src/components/ThumbnailCarousel/ThumbnailCarousel.vue.d.ts +0 -32
  277. package/dist/src/components/TimelineDialog/TimelineDialog.stories.d.ts +0 -75
  278. package/dist/src/components/TopicDetailMissionCarousel/TopicDetailMissionCarousel.vue.d.ts +0 -33
  279. package/dist/src/components/TopicDetailMissionCarouselItem/TopicDetailMissionCarouselItem.vue.d.ts +0 -27
  280. package/dist/src/components/TopicDetailMore/TopicDetailMore.stories.d.ts +0 -167
  281. package/dist/src/components/TopicDetailMore/TopicDetailMore.vue.d.ts +0 -39
  282. package/dist/src/components/TopicDetailMoreItem/TopicDetailMoreItem.vue.d.ts +0 -22
  283. package/dist/src/components/TopicDetailStreamfield/TopicDetailStreamfield.vue.d.ts +0 -31
  284. package/dist/src/templates/PageContent/PageContent.vue.d.ts +0 -28
  285. package/dist/src/templates/PageEventDetail/PageEventDetail.vue.d.ts +0 -22
  286. package/dist/src/templates/PageNewsDetail/PageNewsDetail.vue.d.ts +0 -17
@@ -6,6 +6,7 @@ import type {
6
6
  StreamfieldBlockData
7
7
  } from './../../../interfaces'
8
8
  import HeroMedia from './../../../components/HeroMedia/HeroMedia.vue'
9
+ import HeroLarge from './../../../components/HeroLarge/HeroLarge.vue'
9
10
  import BaseLink from './../../../components/BaseLink/BaseLink.vue'
10
11
  import type { BlockHeadingObject } from '../../../components/BlockHeading/BlockHeading.vue'
11
12
  import BlockLinkCarousel from './../../../components/BlockLinkCarousel/BlockLinkCarousel.vue'
@@ -68,32 +69,39 @@ defineExpose({
68
69
  PageEduStudentProjectJumpMenu
69
70
  })
70
71
 
71
- const stringAsHeadingBlockData = (
72
- heading: HeadingLevel,
73
- overrideText?: string
74
- ): BlockHeadingObject => {
75
- return {
76
- blockType: 'HeadingBlock',
77
- heading: (overrideText || heading) as HeadingLevel,
78
- level: 'h2'
79
- }
80
- }
81
-
82
72
  const heroEmpty = computed((): boolean => {
83
73
  return data?.hero?.length === 0
84
74
  })
85
75
 
76
+ const theHero = computed(() => {
77
+ if (data?.hero?.length) {
78
+ return data.hero[0]
79
+ }
80
+ return undefined
81
+ })
82
+
83
+ const heroTitle = computed((): boolean => {
84
+ if (theHero.value) {
85
+ // excludes VideoBlock as this will autoplay
86
+ if (theHero.value.blockType === 'HeroTitleBlock') {
87
+ return true
88
+ }
89
+ }
90
+ return false
91
+ })
92
+
86
93
  const heroInline = computed((): boolean => {
87
94
  // heroes with interactive elements have special handling
88
- if (!heroEmpty.value && data?.hero) {
95
+ if (theHero.value && !heroTitle.value) {
89
96
  // excludes VideoBlock as this will autoplay
90
- if (data?.hero[0].blockType === 'VideoBlock') {
97
+ if (theHero.value.blockType === 'VideoBlock') {
91
98
  return false
92
99
  } else if (
93
- data?.hero[0].blockType === 'CarouselBlock' ||
94
- data?.hero[0].blockType === 'IframeEmbedBlock' ||
95
- data?.hero[0].blockType === 'VideoEmbedBlock' ||
96
- data?.hero[0].blockType === 'ImageComparisonBlock'
100
+ data?.heroPosition === 'inline' ||
101
+ theHero.value.blockType === 'CarouselBlock' ||
102
+ theHero.value.blockType === 'IframeEmbedBlock' ||
103
+ theHero.value.blockType === 'VideoEmbedBlock' ||
104
+ theHero.value.blockType === 'ImageComparisonBlock'
97
105
  ) {
98
106
  return true
99
107
  }
@@ -103,14 +111,32 @@ const heroInline = computed((): boolean => {
103
111
 
104
112
  const sectionOrder = ['top', 'overview', 'materials', 'steps', 'bottom']
105
113
 
106
- // mimic HeadingBlock data shape for defined section headings
114
+ const stringAsHeadingBlockData = (
115
+ heading: string,
116
+ level: HeadingLevel = 'h2'
117
+ ): BlockHeadingObject => {
118
+ return {
119
+ blockType: 'HeadingBlock',
120
+ heading: heading,
121
+ level: level
122
+ }
123
+ }
124
+
125
+ // mimic HeadingBlock data shape for predefined section headings
107
126
  const staticSectionHeadings = computed((): { [key: string]: BlockHeadingObject } | undefined => {
108
127
  if (data) {
109
128
  const result = sectionOrder.reduce<Record<string, BlockHeadingObject>>((acc, section) => {
110
129
  // only include the heading if the section has content
111
130
  if (data[section]?.length) {
131
+ // generate heading text
112
132
  const headingText =
113
- section === 'steps' ? 'Project Steps' : section.charAt(0).toUpperCase() + section.slice(1)
133
+ section === 'steps'
134
+ ? 'Project Steps'
135
+ : section === 'overview'
136
+ ? // we don't want an overview heading unless it's custom
137
+ undefined
138
+ : section.charAt(0).toUpperCase() + section.slice(1)
139
+ // set the headings for each section
114
140
  acc[section] = stringAsHeadingBlockData(
115
141
  (data[`${section}Heading`] as HeadingLevel) || headingText
116
142
  )
@@ -154,45 +180,16 @@ const keyedCustomSections = computed(
154
180
  }
155
181
  )
156
182
 
157
- const consolidatedBlocks = computed(() => {
158
- // NavJumpMenu handles filtering for HeadingBlock, so we don't need to do that here
159
- const blocks = []
160
- // include custom top blocks
161
- if (keyedCustomSections.value && keyedCustomSections.value['top']) {
162
- blocks.push(...keyedCustomSections.value['top'])
163
- }
164
- // include predefined section blocks
165
- sectionOrder.forEach((section) => {
166
- if (data && data[section]) {
167
- if (staticSectionHeadings.value && staticSectionHeadings.value[section]) {
168
- blocks.push(staticSectionHeadings.value[section])
169
- }
170
- if (section !== 'materials' && section !== 'steps') {
171
- blocks.push(...data[section])
172
- } else if (section === 'steps' && data.steps?.length) {
173
- // get blocks in nested steps
174
- data.steps.forEach((item) => {
175
- if (item.content?.length) {
176
- blocks.push(...item.content)
177
- }
178
- })
179
- }
180
- }
181
- // include custom "after_" blocks
182
- if (keyedCustomSections.value && keyedCustomSections.value[`after_${section}`]) {
183
- blocks.push(...keyedCustomSections.value[`after_${section}`])
184
- }
185
- })
186
- // include custom bottom blocks
187
- if (keyedCustomSections.value && keyedCustomSections.value['bottom']) {
188
- blocks.push(...keyedCustomSections.value['bottom'])
189
- }
190
- // include body blocks
191
- if (data?.body?.length) {
192
- blocks.push(...data.body)
183
+ // used to get headings for the JumpMenu
184
+ const stepHeadings = computed(() => {
185
+ const steps = data?.steps
186
+ const headings: BlockHeadingObject[] = []
187
+ if (steps?.length) {
188
+ steps.forEach((step) => {
189
+ if (step.heading) headings.push(stringAsHeadingBlockData(step.heading, 'h3'))
190
+ })
193
191
  }
194
-
195
- return blocks
192
+ return headings
196
193
  })
197
194
 
198
195
  // organize data to render with PageEduStudentProjectSection component
@@ -208,7 +205,8 @@ const consolidatedSections = computed((): EduStudentProjectSectionObject[] => {
208
205
  heading: staticSectionHeadings.value ? staticSectionHeadings.value[section] : undefined,
209
206
  blocks: section !== 'materials' && section !== 'steps' ? data[section] : undefined,
210
207
  text: section === 'materials' ? data[section] : undefined,
211
- steps: section === 'steps' ? data[section] : undefined
208
+ steps: section === 'steps' ? data[section] : undefined,
209
+ image: data[`${section}Image`]
212
210
  })
213
211
  }
214
212
  // include custom "after_" sections
@@ -230,13 +228,33 @@ const consolidatedSections = computed((): EduStudentProjectSectionObject[] => {
230
228
  const studentBadge = computed(() => {
231
229
  return StudentProjectBadge
232
230
  })
231
+
232
+ const computedClass = computed((): string => {
233
+ if (heroTitle.value) {
234
+ return '-nav-offset'
235
+ } else {
236
+ return 'pt-5 lg:pt-12'
237
+ }
238
+ })
233
239
  </script>
234
240
  <template>
235
241
  <div
236
242
  v-if="data"
237
- class="ThemeVariantLight pt-5 lg:pt-12"
243
+ class="ThemeVariantLight"
244
+ :class="computedClass"
238
245
  >
239
- <div class="BaseGrid hidden lg:block container relative mx-auto z-20 pointer-events-none">
246
+ <!-- hero title -->
247
+ <HeroLarge
248
+ v-if="heroTitle && theHero"
249
+ :title="data.title"
250
+ :image="theHero.image"
251
+ :summary="theHero.heroSummary"
252
+ :custom-pill-type="data.__typename"
253
+ />
254
+ <div
255
+ v-if="!heroTitle"
256
+ class="BaseGrid hidden lg:block container relative mx-auto z-20 pointer-events-none"
257
+ >
240
258
  <div class="absolute top-0 left-0 col-start-1 col-end-3 text-right lg:-ml-2 xl:ml-4">
241
259
  <img
242
260
  :src="studentBadge"
@@ -252,7 +270,7 @@ const studentBadge = computed(() => {
252
270
  class="mb-10"
253
271
  >
254
272
  <DetailHeadline
255
- v-if="data.title"
273
+ v-if="data.title && !heroTitle"
256
274
  :title="data.title"
257
275
  label="Student Project"
258
276
  pill
@@ -260,7 +278,7 @@ const studentBadge = computed(() => {
260
278
  />
261
279
  <ShareButtonsEdu
262
280
  v-if="data?.url"
263
- class="mt-4"
281
+ :class="heroTitle ? 'mt-10' : 'mt-4'"
264
282
  :url="data.url"
265
283
  :title="data.title"
266
284
  :image="data.thumbnailImage?.original"
@@ -279,55 +297,35 @@ const studentBadge = computed(() => {
279
297
  </BaseLink>
280
298
  </div>
281
299
  </LayoutHelper>
282
-
283
- <div class="container relative mx-auto z-20 pointer-events-none">
300
+ <div
301
+ v-if="!heroTitle"
302
+ class="lg:hidden container relative mx-auto z-30 pointer-events-none"
303
+ >
284
304
  <img
285
305
  :src="studentBadge"
286
306
  alt=""
287
307
  width="150"
288
308
  height="150"
289
- class="absolute -mt-16 sm:-mt-24 right-0 lg:hidden md:w-[185px] md:h-[185px]"
309
+ class="absolute -mt-10 sm:-mt-24 right-0 lg:hidden md:w-[185px] md:h-[185px]"
290
310
  />
291
311
  </div>
292
- <!-- hero media -->
293
- <HeroMedia
294
- v-if="
295
- !heroEmpty &&
296
- !heroInline &&
297
- data?.hero?.length &&
298
- (data.hero[0].blockType === 'HeroImageBlock' || data.hero[0].blockType === 'VideoBlock')
299
- "
300
- :image="data.hero[0].image"
301
- :video="data.hero[0].video"
302
- :display-caption="false"
303
- :caption="data.hero[0].caption"
304
- :credit="data.hero[0].credit"
305
- :constrain="data.heroConstrain"
306
- />
307
- <LayoutHelper
308
- v-else-if="!heroEmpty && heroInline && data.hero?.length"
309
- class="lg:mb-14 mb-10"
310
- >
311
- <HeroInlineMedia
312
- :hero-blocks="data.hero"
313
- :constrain="data.heroConstrain"
314
- />
315
- </LayoutHelper>
316
-
317
312
  <MetaPanel
318
313
  button="Info for Teachers"
319
- theme="stars"
320
- :class="{ 'mb-10 lg:mb-14': true }"
314
+ theme="secondary"
315
+ :class="{ 'mb-10 lg:mb-14': heroTitle || heroInline || heroEmpty }"
321
316
  :primary-subject="data.primarySubject"
322
317
  :additional-subjects="data.additionalSubjects"
323
318
  :time="data.customTime ? { time: data.customTime } : data.time"
324
319
  :standards="data.standards"
325
- :negative-top="!heroInline && !heroEmpty"
320
+ :negative-bottom="!heroInline && !heroTitle && !heroEmpty"
326
321
  >
327
322
  <template #metaInfo>
328
- <div :class="data?.standards ? 'border-b border-gray-light-mid' : ''">
323
+ <div :class="data?.standards?.length ? 'border-b border-gray-light-mid' : ''">
329
324
  <div class="py-6 lg:py-8">
330
- <MetaPanelItems :grade-levels="data?.gradeLevels" />
325
+ <MetaPanelItems
326
+ theme="secondary"
327
+ :grade-levels="data?.gradeLevels"
328
+ />
331
329
  <div
332
330
  v-if="data.lesson"
333
331
  class="mt-8 font-bold text-body-s"
@@ -346,11 +344,42 @@ const studentBadge = computed(() => {
346
344
  </template>
347
345
  </MetaPanel>
348
346
 
347
+ <!-- hero media -->
348
+ <HeroMedia
349
+ v-if="
350
+ !heroEmpty &&
351
+ !heroTitle &&
352
+ !heroInline &&
353
+ theHero &&
354
+ (theHero.blockType === 'HeroImageBlock' || theHero.blockType === 'VideoBlock')
355
+ "
356
+ class="md:mb-12 lg:mb-18 mb-10"
357
+ :image="theHero.image"
358
+ :video="theHero.video"
359
+ :display-caption="theHero.displayCaption"
360
+ :caption="theHero.caption"
361
+ :credit="theHero.credit"
362
+ :constrain="data.heroConstrain"
363
+ />
364
+ <LayoutHelper
365
+ v-else-if="!heroEmpty && heroInline && data.hero?.length"
366
+ class="lg:mb-22 mb-10"
367
+ >
368
+ <HeroInlineMedia
369
+ :hero-blocks="data.hero"
370
+ :constrain="data.heroConstrain"
371
+ />
372
+ </LayoutHelper>
373
+
349
374
  <NavJumpMenu
375
+ v-if="stepHeadings?.length"
350
376
  ref="PageEduStudentProjectJumpMenu"
351
377
  :title="data.title"
352
- :blocks="consolidatedBlocks"
353
- dropdown-text="In this project"
378
+ :blocks="stepHeadings"
379
+ dropdown-text="Project Steps"
380
+ heading-level="h3"
381
+ :steps-numbering="true"
382
+ steps-classes="text-secondary"
354
383
  />
355
384
 
356
385
  <template
@@ -38,7 +38,7 @@ const { heading, blocks, image, steps, stepsNumbering, text } = reactive(props)
38
38
  :aria-label="heading?.heading"
39
39
  >
40
40
  <LayoutHelper
41
- v-if="heading"
41
+ v-if="heading?.heading"
42
42
  indent="col-3"
43
43
  class="lg:mb-8 mb-5"
44
44
  >
@@ -71,22 +71,19 @@ const { heading, blocks, image, steps, stepsNumbering, text } = reactive(props)
71
71
  <li
72
72
  v-for="(step, index) in steps"
73
73
  :key="index"
74
- class="PageEduStudentProjectStep lg:mb-10 mb-8 px-4 lg:px-0"
74
+ class="PageEduStudentProjectStep lg:mb-12 mb-10 px-4 lg:px-0"
75
75
  >
76
76
  <LayoutHelper
77
- class="ThemeVariantGray bg-gray-light py-6 lg:py-14 px-4 lg:px-0"
78
- indent="col-2"
77
+ class="px-0 lg:px-4"
78
+ indent="col-1"
79
79
  >
80
- <template v-if="step.media?.length">
81
- <!-- split 50/50 -->
82
- <div class="lg:grid grid-cols-2 gap-6 lg:gap-10">
83
- <div
84
- :class="index % 2 === 0 ? 'order-1' : 'order-2'"
85
- class="mb-6 lg:mb-0"
86
- >
80
+ <div class="ThemeVariantGray bg-gray-light px-8 py-6 md:px-10 md:py-8 lg:px-18 lg:py-16">
81
+ <template v-if="step.media?.length">
82
+ <!-- split 50/50 -->
83
+ <div class="lg:grid grid-cols-2 gap-6 lg:gap-10">
87
84
  <BaseHeading
88
85
  level="h3"
89
- class="mb-5"
86
+ class="lg:hidden mb-5"
90
87
  >
91
88
  <span
92
89
  v-if="stepsNumbering"
@@ -96,41 +93,59 @@ const { heading, blocks, image, steps, stepsNumbering, text } = reactive(props)
96
93
  >
97
94
  {{ step.heading }}
98
95
  </BaseHeading>
99
- <BlockStreamfield
100
- v-if="step.content"
101
- :data="step.content"
102
- size="medium"
103
- variant="fluid"
96
+ <HeroInlineMedia
97
+ :hero-blocks="step.media"
98
+ class="order-1 mb-6 lg:mb-0"
99
+ :class="index % 2 === 1 ? 'lg:order-1' : 'lg:order-2'"
100
+ constrain
104
101
  />
102
+ <div
103
+ :class="index % 2 === 0 ? 'lg:order-1' : 'lg:order-2'"
104
+ class="order-2"
105
+ >
106
+ <BaseHeading
107
+ level="h3"
108
+ class="hidden lg:block mb-5"
109
+ >
110
+ <span
111
+ v-if="stepsNumbering"
112
+ class="steps-numbering"
113
+ aria-hidden
114
+ >{{ `Step ${index + 1}:` }}</span
115
+ >
116
+ {{ step.heading }}
117
+ </BaseHeading>
118
+ <BlockStreamfield
119
+ v-if="step.content"
120
+ :data="step.content"
121
+ size="medium"
122
+ variant="fluid"
123
+ />
124
+ </div>
105
125
  </div>
106
- <HeroInlineMedia
107
- :hero-blocks="step.media"
108
- :class="index % 2 === 1 ? 'order-1' : 'order-2'"
109
- constrain
110
- />
111
- </div>
112
- </template>
113
- <template v-else>
114
- <BaseHeading
115
- level="h3"
116
- class="mb-5"
117
- >
118
- <span
119
- v-if="stepsNumbering"
120
- aria-hidden
121
- class="steps-numbering"
122
- >{{ `Step ${index + 1}:` }}</span
126
+ </template>
127
+ <template v-else>
128
+ <BaseHeading
129
+ level="h3"
130
+ class="mb-5"
123
131
  >
124
- {{ step.heading }}
125
- </BaseHeading>
126
- <BlockStreamfield
127
- v-if="step.content"
128
- class="PageEduStudentProjectStep__fullWidth"
129
- :data="step.content"
130
- size="medium"
131
- variant="fluid"
132
- />
133
- </template>
132
+ <span
133
+ v-if="stepsNumbering"
134
+ aria-hidden
135
+ class="steps-numbering"
136
+ >{{ `Step ${index + 1}:` }}</span
137
+ >
138
+ {{ step.heading }}
139
+ </BaseHeading>
140
+ <BlockStreamfield
141
+ v-if="step.content"
142
+ class="PageEduStudentProjectStep__fullWidth"
143
+ :data="step.content"
144
+ size="medium"
145
+ variant="fluid"
146
+ />
147
+ </template>
148
+ </div>
134
149
  </LayoutHelper>
135
150
  </li>
136
151
  </component>
@@ -56,7 +56,8 @@ export const BaseStory = {
56
56
  blockType: 'HeroImageBlock'
57
57
  }
58
58
  ],
59
- heroConstrain: true,
59
+ heroConstrain: false,
60
+ heroPosition: 'full_bleed',
60
61
 
61
62
  body: BlockStreamfieldTruncatedData.body,
62
63
 
@@ -67,6 +68,30 @@ export const BaseStory = {
67
68
  }
68
69
  }
69
70
 
71
+ export const HeroTitle = {
72
+ args: {
73
+ data: {
74
+ ...BaseStory.args.data,
75
+ hero: [
76
+ {
77
+ ...HeroMediaData,
78
+ heroSummary: 'Text appears below the title',
79
+ blockType: 'HeroTitleBlock'
80
+ }
81
+ ]
82
+ }
83
+ }
84
+ }
85
+
86
+ export const InlineHero = {
87
+ args: {
88
+ data: {
89
+ ...BaseStory.args.data,
90
+ heroPosition: 'inline'
91
+ }
92
+ }
93
+ }
94
+
70
95
  export const HeroCarousel = {
71
96
  args: {
72
97
  data: {
@@ -2,6 +2,7 @@
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 HeroLarge from './../../../components/HeroLarge/HeroLarge.vue'
5
6
  import BlockLinkCarousel from './../../../components/BlockLinkCarousel/BlockLinkCarousel.vue'
6
7
  import BlockText from './../../../components/BlockText/BlockText.vue'
7
8
  import LayoutHelper from './../../../components/LayoutHelper/LayoutHelper.vue'
@@ -33,17 +34,35 @@ const heroEmpty = computed((): boolean => {
33
34
  return data?.hero?.length === 0
34
35
  })
35
36
 
37
+ const theHero = computed(() => {
38
+ if (data?.hero?.length) {
39
+ return data.hero[0]
40
+ }
41
+ return undefined
42
+ })
43
+
44
+ const heroTitle = computed((): boolean => {
45
+ if (theHero.value) {
46
+ // excludes VideoBlock as this will autoplay
47
+ if (theHero.value.blockType === 'HeroTitleBlock') {
48
+ return true
49
+ }
50
+ }
51
+ return false
52
+ })
53
+
36
54
  const heroInline = computed((): boolean => {
37
55
  // heroes with interactive elements have special handling
38
- if (!heroEmpty.value && data?.hero) {
56
+ if (theHero.value && !heroTitle.value) {
39
57
  // excludes VideoBlock as this will autoplay
40
- if (data?.hero[0].blockType === 'VideoBlock') {
58
+ if (theHero.value.blockType === 'VideoBlock') {
41
59
  return false
42
60
  } else if (
43
- data?.hero[0].blockType === 'CarouselBlock' ||
44
- data?.hero[0].blockType === 'IframeEmbedBlock' ||
45
- data?.hero[0].blockType === 'VideoEmbedBlock' ||
46
- data?.hero[0].blockType === 'ImageComparisonBlock'
61
+ data?.heroPosition === 'inline' ||
62
+ theHero.value.blockType === 'CarouselBlock' ||
63
+ theHero.value.blockType === 'IframeEmbedBlock' ||
64
+ theHero.value.blockType === 'VideoEmbedBlock' ||
65
+ theHero.value.blockType === 'ImageComparisonBlock'
47
66
  ) {
48
67
  return true
49
68
  }
@@ -73,21 +92,29 @@ const computedClass = computed((): string => {
73
92
  :blocks="data.body"
74
93
  dropdown-text="In this Teachable Moment"
75
94
  />
76
-
95
+ <!-- hero title -->
96
+ <HeroLarge
97
+ v-if="heroTitle && theHero"
98
+ :title="data.title"
99
+ :image="theHero.image"
100
+ :summary="theHero.heroSummary"
101
+ :custom-pill-type="data.__typename"
102
+ />
77
103
  <!-- hero media -->
78
104
  <HeroMedia
79
105
  v-if="
80
106
  !heroEmpty &&
107
+ !heroTitle &&
81
108
  !heroInline &&
82
- data?.hero?.length &&
83
- (data.hero[0].blockType === 'HeroImageBlock' || data.hero[0].blockType === 'VideoBlock')
109
+ theHero &&
110
+ (theHero.blockType === 'HeroImageBlock' || theHero.blockType === 'VideoBlock')
84
111
  "
85
112
  class="md:mb-12 lg:mb-18 mb-10"
86
- :image="data.hero[0].image"
87
- :video="data.hero[0].video"
88
- :display-caption="data.hero[0].displayCaption"
89
- :caption="data.hero[0].caption"
90
- :credit="data.hero[0].credit"
113
+ :image="theHero.image"
114
+ :video="theHero.video"
115
+ :display-caption="theHero.displayCaption"
116
+ :caption="theHero.caption"
117
+ :credit="theHero.credit"
91
118
  :constrain="data.heroConstrain"
92
119
  />
93
120
 
@@ -96,6 +123,7 @@ const computedClass = computed((): string => {
96
123
  class="mb-10"
97
124
  >
98
125
  <DetailHeadline
126
+ v-if="!heroTitle"
99
127
  :title="data.title"
100
128
  :read-time="data.readTime"
101
129
  label="Teachable Moment"
@@ -103,7 +131,7 @@ const computedClass = computed((): string => {
103
131
  />
104
132
  <ShareButtonsEdu
105
133
  v-if="data?.url"
106
- class="mt-4"
134
+ :class="heroTitle ? 'mt-10' : 'mt-4'"
107
135
  :url="data.url"
108
136
  :title="data.title"
109
137
  :image="data.thumbnailImage?.original"
@@ -122,11 +150,11 @@ const computedClass = computed((): string => {
122
150
 
123
151
  <!-- summary and topper -->
124
152
  <LayoutHelper
153
+ v-if="data.topper && data.topper.length > 2"
125
154
  indent="col-3"
126
155
  class="lg:mb-8 mb-5"
127
156
  >
128
157
  <BlockText
129
- v-if="data.topper && data.topper.length > 2"
130
158
  class="lg:mb-8 mb-5"
131
159
  :text="data.topper"
132
160
  />
@@ -1,36 +0,0 @@
1
- import { PropType } from 'vue';
2
-
3
- interface NextCloseApproach {
4
- date: string;
5
- distanceMiles: string;
6
- distanceKilometers: string;
7
- comparisonImage: {
8
- image: {
9
- src: {
10
- url: string;
11
- };
12
- webp: {
13
- url: string;
14
- };
15
- };
16
- text: string;
17
- };
18
- sizeFeet: string;
19
- name: string;
20
- externalLink: string;
21
- }
22
- /**
23
- * Displays asteroid widget data. API is parsed by the backend. Frontend retrieves via a graphQL query.
24
- */
25
- declare const _default: import('vue').DefineComponent<{
26
- nextCloseApproaches: {
27
- type: PropType<NextCloseApproach[]>;
28
- required: false;
29
- };
30
- }, unknown, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
31
- nextCloseApproaches: {
32
- type: PropType<NextCloseApproach[]>;
33
- required: false;
34
- };
35
- }>>, {}, {}>;
36
- export default _default;