@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.
- package/dist/explorer-1-vue.js +6113 -6105
- package/dist/explorer-1-vue.umd.cjs +16 -16
- package/dist/src/components/BackToTop/BackToTop.stories.d.ts +96 -4
- package/dist/src/components/BackToTop/BackToTop.vue.d.ts +96 -4
- package/dist/src/components/BaseAccordionItem/BaseAccordionItem.vue.d.ts +12 -10
- package/dist/src/components/BaseAudio/BaseAudio.vue.d.ts +12 -5
- package/dist/src/components/BaseButton/BaseButton.stories.d.ts +7 -7
- package/dist/src/components/BaseButton/BaseButton.vue.d.ts +7 -7
- package/dist/src/components/BaseCheckboxGroup/BaseCheckboxGroup.vue.d.ts +4 -4
- package/dist/src/components/BaseHeading/BaseHeading.stories.d.ts +9 -9
- package/dist/src/components/BaseHeading/BaseHeading.vue.d.ts +6 -6
- package/dist/src/components/BaseImage/BaseImage.stories.d.ts +4 -4
- package/dist/src/components/BaseImage/BaseImage.vue.d.ts +4 -4
- package/dist/src/components/BaseImagePlaceholder/BaseImagePlaceholder.vue.d.ts +4 -4
- package/dist/src/components/BaseLightboxCloseButton/BaseLightboxCloseButton.vue.d.ts +3 -1
- package/dist/src/components/BaseLightboxOpenButton/BaseLightboxOpenButton.vue.d.ts +3 -1
- package/dist/src/components/BaseLink/BaseLink.vue.d.ts +70 -6
- package/dist/src/components/BaseModal/BaseModal.stories.d.ts +685 -34
- package/dist/src/components/BaseModal/BaseModal.vue.d.ts +141 -4
- package/dist/src/components/BaseModal/BaseModalDialog.vue.d.ts +124 -4
- package/dist/src/components/BasePill/BasePill.vue.d.ts +4 -4
- package/dist/src/components/BasePlaceholder/BasePlaceholder.stories.d.ts +1 -1
- package/dist/src/components/BasePlaceholder/BasePlaceholder.vue.d.ts +1 -1
- package/dist/src/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +4 -4
- package/dist/src/components/BaseSwimlane/BaseSwimlane.vue.d.ts +4 -4
- package/dist/src/components/BaseTimer/BaseTimer.vue.d.ts +6 -6
- package/dist/src/components/BaseUnitToggle/BaseUnitToggle.stories.d.ts +33 -33
- package/dist/src/components/BaseUnitToggle/BaseUnitToggle.vue.d.ts +8 -8
- package/dist/src/components/BaseVideo/BaseVideo.vue.d.ts +61 -4
- package/dist/src/components/BlockAccordion/BlockAccordion.vue.d.ts +4 -4
- package/dist/src/components/BlockAnchor/BlockAnchor.vue.d.ts +3 -3
- package/dist/src/components/BlockAudio/BlockAudio.vue.d.ts +230 -3
- package/dist/src/components/BlockCardGridItem/BlockCardGridItemElement.vue.d.ts +172 -5
- package/dist/src/components/BlockCircleImageCard/BlockCircleImageCard.vue.d.ts +170 -4
- package/dist/src/components/BlockCta/BlockCta.vue.d.ts +96 -4
- package/dist/src/components/BlockDialog/BlockDialog.stories.d.ts +7 -5
- package/dist/src/components/BlockGist/BlockGist.vue.d.ts +1 -1
- package/dist/src/components/BlockGist/GitHub404.vue.d.ts +1 -1
- package/dist/src/components/BlockHeading/BlockHeading.vue.d.ts +35 -5
- package/dist/src/components/BlockKeyPoints/BlockKeyPoints.vue.d.ts +87 -3
- package/dist/src/components/BlockLinkCard/BlockLinkCard.stories.d.ts +60 -23
- package/dist/src/components/BlockLinkCardList/BlockLinkCardList.vue.d.ts +4 -4
- package/dist/src/components/BlockTable/BlockTable.vue.d.ts +3 -3
- package/dist/src/components/BlockTeaser/BlockTeaser.vue.d.ts +175 -4
- package/dist/src/components/BlockText/BlockText.vue.d.ts +4 -4
- package/dist/src/components/CalendarButton/CalendarButton.vue.d.ts +95 -4
- package/dist/src/components/CalendarChip/CalendarChip.vue.d.ts +4 -4
- package/dist/src/components/EventDetailHero/EventDetailHero.vue.d.ts +172 -4
- package/dist/src/components/FormContact/FormContact.stories.d.ts +361 -1
- package/dist/src/components/FormContact/FormContact.vue.d.ts +361 -1
- package/dist/src/components/FormNewsletterSignup/FormNewsletterSignup.stories.d.ts +396 -1
- package/dist/src/components/FormNewsletterSignup/FormNewsletterSignup.vue.d.ts +396 -1
- package/dist/src/components/HeroLarge/HeroLarge.vue.d.ts +51 -4
- package/dist/src/components/HomepageFeaturedRobot/HomepageFeaturedRobot.vue.d.ts +281 -3
- package/dist/src/components/HomepageTeaserBlock/HomepageTeaserBlockCardImage.vue.d.ts +141 -3
- package/dist/src/components/Icons/Icon360.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconArrow.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconArrows.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconAudio.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconBook.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconBookUser.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconBriefcase.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconCalendar.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconCaret.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconCheckbox.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconCheckboxSelected.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconClose.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconCloseLightbox.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconDownload.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconDropdown.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconEnvelope.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconExpand.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconExternal.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconFilter.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconForwardTen.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconGrid.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconHand.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconInfo.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconLink.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconList.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconLocation.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconMagnifyingGlass.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconMedal.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconMenu.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconMinus.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconMute.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconNext.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconPause.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconPlay.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconPlus.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconPrev.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconProfile.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconRewindTen.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSearch.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconShare.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSlideshow.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSocialEmail.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSocialFacebook.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSocialGoogleClassroom.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSocialInstagram.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSocialPinterest.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSocialReddit.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSocialTwitter.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSocialYoutube.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconStop.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconSubject.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconTime.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconUniversity.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconUser.vue.d.ts +1 -1
- package/dist/src/components/Icons/IconVolume.vue.d.ts +1 -1
- package/dist/src/components/Icons/Icons.stories.d.ts +110 -110
- package/dist/src/components/ImageDetailContextImage/ImageDetailContextImage.vue.d.ts +142 -3
- package/dist/src/components/LayoutHelper/LayoutHelper.vue.d.ts +4 -4
- package/dist/src/components/LoadingTransition/LoadingTransition.vue.d.ts +1 -1
- package/dist/src/components/LogoCaltech/LogoCaltech.stories.d.ts +1 -1
- package/dist/src/components/LogoCaltech/LogoCaltech.vue.d.ts +1 -1
- package/dist/src/components/LogoTribrand/LogoTribrand.stories.d.ts +4 -5
- package/dist/src/components/LogoTribrand/LogoTribrand.vue.d.ts +4 -4
- package/dist/src/components/MetadataEduResource/MetadataEduResource.vue.d.ts +4 -4
- package/dist/src/components/MetadataEvent/MetadataEvent.vue.d.ts +4 -4
- package/dist/src/components/MissionDetailAbout/MissionDetailAbout.vue.d.ts +61 -4
- package/dist/src/components/MissionDetailHero/MissionDetailHero.stories.d.ts +0 -1
- package/dist/src/components/MissionDetailHero/MissionDetailHero.vue.d.ts +154 -4
- package/dist/src/components/MissionDetailHighlights/MissionDetailHighlights.stories.d.ts +0 -1
- package/dist/src/components/MissionDetailStats/DistanceStats.vue.d.ts +63 -8
- package/dist/src/components/MissionDetailStats/MissionDetailStats.stories.d.ts +460 -31
- package/dist/src/components/MissionDetailStats/MissionDetailStats.vue.d.ts +199 -12
- package/dist/src/components/MissionDetailStats/MissionDetailStatsMicro.vue.d.ts +63 -6
- package/dist/src/components/MissionDetailStats/MissionDetailStatsMini.vue.d.ts +195 -8
- package/dist/src/components/MixinAnimationCaret/MixinAnimationCaret.stories.d.ts +6 -4
- package/dist/src/components/MixinAnimationCaret/MixinAnimationCaret.vue.d.ts +6 -4
- package/dist/src/components/MixinFancybox/MixinFancybox.vue.d.ts +8 -4
- package/dist/src/components/MixinFancybox/MixinFancyboxOpenButton.vue.d.ts +3 -1
- package/dist/src/components/MixinVideoBg/MixinVideoBg.vue.d.ts +3 -3
- package/dist/src/components/NavDesktop/NavDesktopDropdown.vue.d.ts +44 -4
- package/dist/src/components/NavDropdownToggle/NavDropdownToggle.vue.d.ts +5 -5
- package/dist/src/components/NavSearchForm/NavSearchForm.vue.d.ts +5 -5
- package/dist/src/components/NavSocial/NavSocial.stories.d.ts +99 -4
- package/dist/src/components/NavSocial/NavSocial.vue.d.ts +99 -4
- package/dist/src/components/NewsDetailMediaContact/NewsDetailMediaContact.vue.d.ts +4 -4
- package/dist/src/components/ParallaxContainer/ParallaxContainer.stories.d.ts +8 -8
- package/dist/src/components/ParallaxContainer/ParallaxContainer.vue.d.ts +4 -4
- package/dist/src/components/ParallaxElement/ParallaxElement.vue.d.ts +4 -4
- package/dist/src/components/ProfileDetailSectionGroup/ProfileDetailSectionGroup.vue.d.ts +67 -3
- package/dist/src/components/RoboticsDetailStats/RoboticsDetailStats.stories.d.ts +59 -4
- package/dist/src/components/RoboticsDetailStats/RoboticsDetailStats.vue.d.ts +3 -3
- package/dist/src/components/RoboticsDetailStats/RoboticsDetailStatsMini.vue.d.ts +58 -3
- package/dist/src/components/SearchFilterGroup/SearchFilterGroup.vue.d.ts +5 -5
- package/dist/src/components/SearchInput/SearchInput.vue.d.ts +5 -5
- package/dist/src/components/SearchPagination/SearchPagination.vue.d.ts +96 -3
- package/dist/src/components/SearchResultCard/SearchResultCard.stories.d.ts +19 -1
- package/dist/src/components/SearchSelectMenu/SearchSelectMenu.vue.d.ts +4 -4
- package/dist/src/components/ShareButtons/ShareButtons.vue.d.ts +99 -4
- package/dist/src/components/ShareButtonsEdu/ShareButtonsEdu.vue.d.ts +1 -1
- package/dist/src/components/SkipLink/SkipLink.vue.d.ts +92 -1
- package/dist/src/components/TextArea/TextArea.vue.d.ts +14 -14
- package/dist/src/components/TextInput/TextInput.vue.d.ts +14 -14
- package/dist/src/components/TheFooter/TheFooterSignUp.vue.d.ts +3 -1
- package/dist/src/components/TopicDetailMissionSpotlight/TopicDetailMissionSpotlight.vue.d.ts +314 -3
- package/dist/src/components/TopicDetailMore/TopicDetailMoreVisibility.vue.d.ts +1 -1
- package/dist/src/components/YearTicker/YearTicker.stories.d.ts +3 -3
- package/dist/src/components/YearTicker/YearTicker.vue.d.ts +3 -3
- package/dist/src/docs/foundation/grid_layouthelpers.stories.d.ts +16 -16
- package/dist/src/docs/foundation/typography.stories.d.ts +7 -7
- package/dist/src/interfaces.d.ts +1 -0
- package/dist/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.stories.d.ts +105 -38
- package/dist/src/templates/edu/PageEduLesson/PageEduLesson.stories.d.ts +112 -34
- package/dist/src/templates/edu/PageEduStudentProject/PageEduStudentProject.stories.d.ts +131 -35
- package/dist/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.stories.d.ts +112 -34
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/BaseImage/BaseImage.vue +2 -28
- package/src/components/BlockHeading/BlockHeading.vue +1 -1
- package/src/components/BlockIframeEmbed/BlockIframeEmbed.vue +4 -28
- package/src/components/BlockLinkCard/BlockLinkCard.stories.js +31 -4
- package/src/components/BlockLinkCard/BlockLinkCard.vue +1 -1
- package/src/components/BlockVideoEmbed/BlockVideoEmbed.vue +0 -2
- package/src/components/HeroMedia/HeroMedia.vue +7 -5
- package/src/components/HeroMedium/HeroMedium.vue +1 -1
- package/src/components/MetaPanel/MetaPanel.vue +6 -6
- package/src/components/MetadataEduResource/MetadataEduResource.vue +7 -2
- package/src/components/MetadataEvent/MetadataEvent.vue +3 -2
- package/src/components/NavJumpMenu/NavJumpMenu.vue +7 -1
- package/src/components/NavJumpMenu/NavJumpMenuContent.vue +6 -1
- package/src/components/SearchFilterGroup/SearchFilterGroup.vue +1 -0
- package/src/components/SearchInput/SearchInput.vue +15 -4
- package/src/components/SearchResultCard/SearchResultCard.stories.js +13 -2
- package/src/components/SearchResultsList/SearchResultsList.vue +8 -2
- package/src/interfaces.ts +1 -0
- package/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.stories.js +16 -0
- package/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.vue +45 -14
- package/src/templates/edu/PageEduHome/PageEduHome.stories.js +99 -0
- package/src/templates/edu/PageEduHome/PageEduHome.vue +154 -0
- package/src/templates/edu/PageEduLesson/PageEduLesson.stories.js +26 -1
- package/src/templates/edu/PageEduLesson/PageEduLesson.vue +57 -19
- package/src/templates/edu/PageEduStudentProject/PageEduStudentProject.stories.js +30 -3
- package/src/templates/edu/PageEduStudentProject/PageEduStudentProject.vue +126 -97
- package/src/templates/edu/PageEduStudentProject/PageEduStudentProjectSection.vue +59 -44
- package/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.stories.js +26 -1
- package/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.vue +44 -16
- package/dist/src/components/AsteroidWatchWidget/AsteroidWatchWidget.vue.d.ts +0 -36
- package/dist/src/components/BaseImageCaption/BaseImageCaption.vue.d.ts +0 -37
- package/dist/src/components/BlockCardGrid/BlockCardGrid.vue.d.ts +0 -33
- package/dist/src/components/BlockCardGridItem/BlockCardGridItem.vue.d.ts +0 -19
- package/dist/src/components/BlockIframeEmbed/BlockIframeEmbed.vue.d.ts +0 -24
- package/dist/src/components/BlockImage/BlockImage.stories.d.ts +0 -345
- package/dist/src/components/BlockImage/BlockImage.vue.d.ts +0 -24
- package/dist/src/components/BlockImage/BlockImageFullBleed.vue.d.ts +0 -68
- package/dist/src/components/BlockImage/BlockImageStandard.vue.d.ts +0 -65
- package/dist/src/components/BlockImageCarousel/BlockImageCarousel.vue.d.ts +0 -74
- package/dist/src/components/BlockImageCarouselItem/BlockImageCarouselItem.vue.d.ts +0 -58
- package/dist/src/components/BlockImageComparison/BlockImageComparison.vue.d.ts +0 -25
- package/dist/src/components/BlockImageGallery/BlockImageGallery.vue.d.ts +0 -57
- package/dist/src/components/BlockInlineImage/BlockInlineImage.vue.d.ts +0 -19
- package/dist/src/components/BlockLinkCard/BlockLinkCard.vue.d.ts +0 -198
- package/dist/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.d.ts +0 -306
- package/dist/src/components/BlockLinkCarousel/BlockLinkCarousel.vue.d.ts +0 -47
- package/dist/src/components/BlockLinkTile/BlockLinkTile.vue.d.ts +0 -93
- package/dist/src/components/BlockListCards/BlockListCards.vue.d.ts +0 -16
- package/dist/src/components/BlockQuote/BlockQuote.stories.d.ts +0 -202
- package/dist/src/components/BlockQuote/BlockQuote.vue.d.ts +0 -32
- package/dist/src/components/BlockRelatedLinks/BlockRelatedLinks.vue.d.ts +0 -36
- package/dist/src/components/BlockRelatedLinks/RelatedLink.vue.d.ts +0 -42
- package/dist/src/components/BlockStreamfield/BlockStreamfield.vue.d.ts +0 -49
- package/dist/src/components/BlockVideo/BlockVideo.vue.d.ts +0 -40
- package/dist/src/components/BlockVideoEmbed/BlockVideoEmbed.vue.d.ts +0 -38
- package/dist/src/components/DetailHeadline/DetailHeadline.vue.d.ts +0 -156
- package/dist/src/components/DsnWidget/DsnWidget.vue.d.ts +0 -15
- package/dist/src/components/EventCard/EventCard.vue.d.ts +0 -111
- package/dist/src/components/HeroListingIndex/HeroListingIndex.vue.d.ts +0 -42
- package/dist/src/components/HeroMedia/HeroMedia.vue.d.ts +0 -66
- package/dist/src/components/HeroMedium/HeroMedium.vue.d.ts +0 -96
- package/dist/src/components/HomepageCarousel/HomepageCarousel.vue.d.ts +0 -45
- package/dist/src/components/HomepageCarouselItem/HomepageCarouselItem.vue.d.ts +0 -33
- package/dist/src/components/HomepageEmbedBlock/HomepageEmbedBlock.vue.d.ts +0 -15
- package/dist/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.stories.d.ts +0 -106
- package/dist/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.vue.d.ts +0 -24
- package/dist/src/components/HomepageMissionsCarousel/HomepageMissionsCarouselItem.vue.d.ts +0 -18
- package/dist/src/components/HomepageStats/HomepageStats.stories.d.ts +0 -565
- package/dist/src/components/HomepageStats/HomepageStats.vue.d.ts +0 -65
- package/dist/src/components/HomepageTeaserBlock/HomepageTeaserBlock.vue.d.ts +0 -21
- package/dist/src/components/MissionDetailHighlights/MissionDetailHighlights.vue.d.ts +0 -65
- package/dist/src/components/MissionDetailHighlights/MissionDetailHighlightsCarousel.vue.d.ts +0 -30
- package/dist/src/components/MissionDetailHighlights/MissionDetailHighlightsCarouselItem.vue.d.ts +0 -36
- package/dist/src/components/MissionDetailInlineImage/MissionDetailInlineImage.vue.d.ts +0 -34
- package/dist/src/components/MissionDetailStreamfield/MissionDetailStreamfield.vue.d.ts +0 -12
- package/dist/src/components/MixinCarousel/MixinCarousel.stories.d.ts +0 -265
- package/dist/src/components/MixinCarousel/MixinCarousel.vue.d.ts +0 -118
- package/dist/src/components/NavDesktop/NavDesktop.stories.d.ts +0 -648
- package/dist/src/components/NavDesktop/NavDesktop.vue.d.ts +0 -94
- package/dist/src/components/NavDesktop/NavDesktopDropdownContent.vue.d.ts +0 -14
- package/dist/src/components/NavDesktop/NavDesktopDropdownMore.vue.d.ts +0 -15
- package/dist/src/components/NavDesktopEdu/NavDesktopEdu.stories.d.ts +0 -338
- package/dist/src/components/NavHeading/NavHeading.vue.d.ts +0 -12
- package/dist/src/components/NavHighlight/NavHighlight.vue.d.ts +0 -20
- package/dist/src/components/NavLinkList/NavLinkList.vue.d.ts +0 -29
- package/dist/src/components/NavLogoLinks/NavLogoLinks.stories.d.ts +0 -18
- package/dist/src/components/NavLogoLinks/NavLogoLinks.vue.d.ts +0 -2
- package/dist/src/components/NavMobile/NavMobile.stories.d.ts +0 -656
- package/dist/src/components/NavMobile/NavMobile.vue.d.ts +0 -94
- package/dist/src/components/NavMobile/NavMobileDropdown.vue.d.ts +0 -54
- package/dist/src/components/NavMobile/NavMobileEdu.stories.d.ts +0 -395
- package/dist/src/components/NavMobile/NavMobileLink.vue.d.ts +0 -46
- package/dist/src/components/NavMobile/NavMobileSecondaryDropdown.vue.d.ts +0 -35
- package/dist/src/components/NavSecondary/NavSecondary.vue.d.ts +0 -75
- package/dist/src/components/NavSecondary/NavSecondaryDropdown.vue.d.ts +0 -70
- package/dist/src/components/NavSecondary/NavSecondaryDropdownContent.vue.d.ts +0 -30
- package/dist/src/components/NavSecondary/NavSecondaryLink.vue.d.ts +0 -40
- package/dist/src/components/PastEventsCarousel/PastEventsCarousel.vue.d.ts +0 -19
- package/dist/src/components/PodcastEpisodeCard/PodcastEpisodeCard.vue.d.ts +0 -82
- package/dist/src/components/PodcastSeriesCarousel/PodcastSeriesCarousel.vue.d.ts +0 -55
- package/dist/src/components/SearchResultCard/SearchResultCard.vue.d.ts +0 -287
- package/dist/src/components/SearchResultGridItem/SearchResultGridItem.vue.d.ts +0 -193
- package/dist/src/components/SearchResultsList/SearchResultsList.vue.d.ts +0 -62
- package/dist/src/components/TheFooter/TheFooter.vue.d.ts +0 -35
- package/dist/src/components/ThumbnailCarousel/ThumbnailCarousel.vue.d.ts +0 -32
- package/dist/src/components/TimelineDialog/TimelineDialog.stories.d.ts +0 -75
- package/dist/src/components/TopicDetailMissionCarousel/TopicDetailMissionCarousel.vue.d.ts +0 -33
- package/dist/src/components/TopicDetailMissionCarouselItem/TopicDetailMissionCarouselItem.vue.d.ts +0 -27
- package/dist/src/components/TopicDetailMore/TopicDetailMore.stories.d.ts +0 -167
- package/dist/src/components/TopicDetailMore/TopicDetailMore.vue.d.ts +0 -39
- package/dist/src/components/TopicDetailMoreItem/TopicDetailMoreItem.vue.d.ts +0 -22
- package/dist/src/components/TopicDetailStreamfield/TopicDetailStreamfield.vue.d.ts +0 -31
- package/dist/src/templates/PageContent/PageContent.vue.d.ts +0 -28
- package/dist/src/templates/PageEventDetail/PageEventDetail.vue.d.ts +0 -22
- 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 (
|
|
95
|
+
if (theHero.value && !heroTitle.value) {
|
|
89
96
|
// excludes VideoBlock as this will autoplay
|
|
90
|
-
if (
|
|
97
|
+
if (theHero.value.blockType === 'VideoBlock') {
|
|
91
98
|
return false
|
|
92
99
|
} else if (
|
|
93
|
-
data?.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
|
|
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'
|
|
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
|
-
|
|
158
|
-
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
if (
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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
|
|
243
|
+
class="ThemeVariantLight"
|
|
244
|
+
:class="computedClass"
|
|
238
245
|
>
|
|
239
|
-
|
|
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
|
-
|
|
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-
|
|
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="
|
|
320
|
-
:class="{ 'mb-10 lg:mb-14':
|
|
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-
|
|
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
|
|
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="
|
|
353
|
-
dropdown-text="
|
|
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-
|
|
74
|
+
class="PageEduStudentProjectStep lg:mb-12 mb-10 px-4 lg:px-0"
|
|
75
75
|
>
|
|
76
76
|
<LayoutHelper
|
|
77
|
-
class="
|
|
78
|
-
indent="col-
|
|
77
|
+
class="px-0 lg:px-4"
|
|
78
|
+
indent="col-1"
|
|
79
79
|
>
|
|
80
|
-
<
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
<
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
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
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
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:
|
|
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 (
|
|
56
|
+
if (theHero.value && !heroTitle.value) {
|
|
39
57
|
// excludes VideoBlock as this will autoplay
|
|
40
|
-
if (
|
|
58
|
+
if (theHero.value.blockType === 'VideoBlock') {
|
|
41
59
|
return false
|
|
42
60
|
} else if (
|
|
43
|
-
data?.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
-
|
|
83
|
-
(
|
|
109
|
+
theHero &&
|
|
110
|
+
(theHero.blockType === 'HeroImageBlock' || theHero.blockType === 'VideoBlock')
|
|
84
111
|
"
|
|
85
112
|
class="md:mb-12 lg:mb-18 mb-10"
|
|
86
|
-
:image="
|
|
87
|
-
:video="
|
|
88
|
-
:display-caption="
|
|
89
|
-
:caption="
|
|
90
|
-
: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;
|