@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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { defineComponent } from 'vue'
|
|
3
3
|
import HeroMedia from './../../../components/HeroMedia/HeroMedia.vue'
|
|
4
|
+
import HeroLarge from './../../../components/HeroLarge/HeroLarge.vue'
|
|
4
5
|
import BlockLinkCarousel from './../../../components/BlockLinkCarousel/BlockLinkCarousel.vue'
|
|
5
6
|
import BlockText from './../../../components/BlockText/BlockText.vue'
|
|
6
7
|
import LayoutHelper from './../../../components/LayoutHelper/LayoutHelper.vue'
|
|
@@ -25,7 +26,8 @@ export default defineComponent({
|
|
|
25
26
|
BlockLinkCarousel,
|
|
26
27
|
BlockRelatedLinks,
|
|
27
28
|
BlockText,
|
|
28
|
-
NavJumpMenu
|
|
29
|
+
NavJumpMenu,
|
|
30
|
+
HeroLarge
|
|
29
31
|
},
|
|
30
32
|
props: {
|
|
31
33
|
data: {
|
|
@@ -36,16 +38,35 @@ export default defineComponent({
|
|
|
36
38
|
},
|
|
37
39
|
computed: {
|
|
38
40
|
heroEmpty(): boolean {
|
|
39
|
-
return
|
|
41
|
+
return this.data?.hero?.length === 0
|
|
42
|
+
},
|
|
43
|
+
theHero() {
|
|
44
|
+
if (this.data?.hero?.length) {
|
|
45
|
+
return this.data.hero[0]
|
|
46
|
+
}
|
|
47
|
+
return undefined
|
|
48
|
+
},
|
|
49
|
+
heroTitle(): boolean {
|
|
50
|
+
if (this.theHero) {
|
|
51
|
+
// excludes VideoBlock as this will autoplay
|
|
52
|
+
if (this.theHero.blockType === 'HeroTitleBlock') {
|
|
53
|
+
return true
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return false
|
|
40
57
|
},
|
|
41
58
|
heroInline(): boolean {
|
|
42
|
-
|
|
43
|
-
|
|
59
|
+
// heroes with interactive elements have special handling
|
|
60
|
+
if (this.theHero && !this.heroTitle) {
|
|
61
|
+
// excludes VideoBlock as this will autoplay
|
|
62
|
+
if (this.theHero.blockType === 'VideoBlock') {
|
|
44
63
|
return false
|
|
45
64
|
} else if (
|
|
46
65
|
this.data?.heroPosition === 'inline' ||
|
|
47
|
-
this.
|
|
48
|
-
this.
|
|
66
|
+
this.theHero.blockType === 'CarouselBlock' ||
|
|
67
|
+
this.theHero.blockType === 'IframeEmbedBlock' ||
|
|
68
|
+
this.theHero.blockType === 'VideoEmbedBlock' ||
|
|
69
|
+
this.theHero.blockType === 'ImageComparisonBlock'
|
|
49
70
|
) {
|
|
50
71
|
return true
|
|
51
72
|
}
|
|
@@ -77,20 +98,29 @@ export default defineComponent({
|
|
|
77
98
|
itemprop="image"
|
|
78
99
|
:content="data.thumbnailImage.original"
|
|
79
100
|
/>
|
|
80
|
-
|
|
101
|
+
<!-- hero title -->
|
|
102
|
+
<HeroLarge
|
|
103
|
+
v-if="heroTitle && theHero"
|
|
104
|
+
:title="data.title"
|
|
105
|
+
:image="theHero.image"
|
|
106
|
+
:summary="theHero.heroSummary"
|
|
107
|
+
:custom-pill-type="data.__typename"
|
|
108
|
+
/>
|
|
81
109
|
<!-- hero image -->
|
|
82
110
|
<HeroMedia
|
|
83
111
|
v-if="
|
|
84
112
|
!heroEmpty &&
|
|
113
|
+
!heroTitle &&
|
|
85
114
|
!heroInline &&
|
|
86
|
-
|
|
115
|
+
theHero &&
|
|
116
|
+
(theHero.blockType === 'HeroImageBlock' || theHero.blockType === 'VideoBlock')
|
|
87
117
|
"
|
|
88
118
|
class="md:mb-12 lg:mb-18 mb-10"
|
|
89
|
-
:image="
|
|
90
|
-
:video="
|
|
91
|
-
:display-caption="
|
|
92
|
-
:caption="
|
|
93
|
-
:credit="
|
|
119
|
+
:image="theHero.image"
|
|
120
|
+
:video="theHero.video"
|
|
121
|
+
:display-caption="theHero.displayCaption"
|
|
122
|
+
:caption="theHero.caption"
|
|
123
|
+
:credit="theHero.credit"
|
|
94
124
|
:constrain="data.heroConstrain"
|
|
95
125
|
/>
|
|
96
126
|
|
|
@@ -100,6 +130,7 @@ export default defineComponent({
|
|
|
100
130
|
class="mb-10"
|
|
101
131
|
>
|
|
102
132
|
<DetailHeadline
|
|
133
|
+
v-if="!heroTitle"
|
|
103
134
|
:title="data.title"
|
|
104
135
|
:read-time="data.readTime"
|
|
105
136
|
:publication-date="data.publicationDate"
|
|
@@ -112,7 +143,7 @@ export default defineComponent({
|
|
|
112
143
|
/>
|
|
113
144
|
<ShareButtonsEdu
|
|
114
145
|
v-if="data?.url"
|
|
115
|
-
class="mt-4"
|
|
146
|
+
:class="heroTitle ? 'mt-10' : 'mt-4'"
|
|
116
147
|
:url="data.url"
|
|
117
148
|
:title="data.title"
|
|
118
149
|
:image="data.thumbnailImage?.original"
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { BlockLinkCardCarouselData } from './../../../components/BlockLinkCarousel/BlockLinkCarousel.stories.js'
|
|
2
|
+
import { EventsBlockLinkCarouselData } from './../../../components/BlockLinkCarousel/BlockLinkCarousel.stories'
|
|
3
|
+
import { AboutTheAuthorData } from './../../../components/AboutTheAuthor/AboutTheAuthor.stories'
|
|
4
|
+
import { BlockImageData } from './../../../components/BlockImage/BlockImage.stories'
|
|
5
|
+
import { BlockVideoData } from './../../../components/BlockVideo/BlockVideo.stories'
|
|
6
|
+
import { BlockVideoEmbedData } from './../../../components/BlockVideoEmbed/BlockVideoEmbed.stories'
|
|
7
|
+
import { BlockImageComparisonData } from './../../../components/BlockImageComparison/BlockImageComparison.stories'
|
|
8
|
+
import PageEduHome from './PageEduHome.vue'
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
title: 'Templates/EDU/PageEduHome',
|
|
12
|
+
component: PageEduHome,
|
|
13
|
+
tags: ['!autodocs'],
|
|
14
|
+
parameters: {
|
|
15
|
+
html: {
|
|
16
|
+
root: '#storyDecorator'
|
|
17
|
+
},
|
|
18
|
+
layout: 'fullscreen'
|
|
19
|
+
},
|
|
20
|
+
excludeStories: /.*Data$/
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// stories
|
|
24
|
+
export const BaseStory = {
|
|
25
|
+
name: 'PageEduHome',
|
|
26
|
+
args: {
|
|
27
|
+
data: {
|
|
28
|
+
__typename: 'EDUHomePage',
|
|
29
|
+
title: 'EDU Homepage',
|
|
30
|
+
slug: 'edu-home',
|
|
31
|
+
url: '/',
|
|
32
|
+
lastPublishedAt: '2024-08-22T02:33:13.507206+00:00',
|
|
33
|
+
thumbnailImage: {
|
|
34
|
+
alt: '',
|
|
35
|
+
original: 'https://picsum.photos/512/288'
|
|
36
|
+
},
|
|
37
|
+
heroImage: {
|
|
38
|
+
// beach
|
|
39
|
+
src: {
|
|
40
|
+
url: 'https://picsum.photos/id/973/1800/1200',
|
|
41
|
+
width: 1800,
|
|
42
|
+
height: 1200
|
|
43
|
+
},
|
|
44
|
+
// lake
|
|
45
|
+
srcSet:
|
|
46
|
+
'https://picsum.photos/id/865/768/548 768w, https://picsum.photos/id/865/1024/684 1024w, https://picsum.photos/id/865/1440/770 1440w, https://picsum.photos/id/865/1800/963 1800w',
|
|
47
|
+
// jungle
|
|
48
|
+
screenMd: {
|
|
49
|
+
url: 'https://picsum.photos/id/921/800/640'
|
|
50
|
+
},
|
|
51
|
+
// desert
|
|
52
|
+
screenSm: {
|
|
53
|
+
url: 'https://picsum.photos/id/247/640/900'
|
|
54
|
+
},
|
|
55
|
+
alt: 'Robotics detail page hero image'
|
|
56
|
+
},
|
|
57
|
+
heroText: 'Discover a universe of activities & resources',
|
|
58
|
+
hotTopics: [
|
|
59
|
+
{
|
|
60
|
+
page: {
|
|
61
|
+
title: 'Psyche Asteroid',
|
|
62
|
+
url: '/topic/'
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
page: {
|
|
67
|
+
title: 'Mars Rovers',
|
|
68
|
+
url: '/topic/'
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
page: {
|
|
73
|
+
title: 'Webb Space Telescope',
|
|
74
|
+
url: '/topic/'
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
page: {
|
|
79
|
+
title: 'NASA Pi Day',
|
|
80
|
+
url: '/topic/'
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
body: [
|
|
85
|
+
{
|
|
86
|
+
blockType: 'HeadingBlock',
|
|
87
|
+
heading: 'EDU Home',
|
|
88
|
+
level: 'h2',
|
|
89
|
+
size: 'h2'
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
blockType: 'RichTextBlock',
|
|
93
|
+
value:
|
|
94
|
+
'<p>Lorem ipsum <a href="/missions/test-mission/">dolor</a> sit amet, consectetur adipiscing elit. Quisque vitae justo quis justo malesuada molestie. Cras sed tincidunt dui.</p><p>Integer imperdiet blandit neque vitae euismod. Nulla aliquet lacus nibh, vel tincidunt urna efficitur non. In et eros vitae ex posuere maximus quis eget urna. Suspendisse fringilla posuere velit sit amet posuere. Morbi malesuada bibendum vehicula. Donec faucibus ut erat ut mattis. Suspendisse ornare, quam at placerat cursus, dolor mi lacinia nunc, eget maximus augue nulla in dolor.</p>\n'
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, reactive, ref } from 'vue'
|
|
3
|
+
import { useRouter } from 'vue-router'
|
|
4
|
+
import type { ImageObject, PageObject } from '../../../interfaces'
|
|
5
|
+
import SearchInput from './../../../components/SearchInput/SearchInput.vue'
|
|
6
|
+
import BlockStreamfield from './../../../components/BlockStreamfield/BlockStreamfield.vue'
|
|
7
|
+
import BaseLink from './../../../components/BaseLink/BaseLink.vue'
|
|
8
|
+
|
|
9
|
+
const router = useRouter()
|
|
10
|
+
|
|
11
|
+
interface PageEduHomeObject extends PageObject {
|
|
12
|
+
heroImage: ImageObject
|
|
13
|
+
heroText: string
|
|
14
|
+
hotTopics: {
|
|
15
|
+
page: PageObject
|
|
16
|
+
}[]
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface PageEduHomeProps {
|
|
20
|
+
data: PageEduHomeObject
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// define props
|
|
24
|
+
const props = withDefaults(defineProps<PageEduHomeProps>(), {
|
|
25
|
+
data: undefined
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
const { data } = reactive(props)
|
|
29
|
+
|
|
30
|
+
const searchQuery = ref(undefined)
|
|
31
|
+
const image = computed(() => {
|
|
32
|
+
return data?.heroImage
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
const submitSearch = () => {
|
|
36
|
+
router.push({ path: '/edu/resources/', query: { query: searchQuery.value } })
|
|
37
|
+
}
|
|
38
|
+
</script>
|
|
39
|
+
<template>
|
|
40
|
+
<div
|
|
41
|
+
v-if="data"
|
|
42
|
+
class="PageEduHome ThemeVariantLight -nav-offset"
|
|
43
|
+
>
|
|
44
|
+
<div class="EduHero max-w-screen-3xl relative mx-auto">
|
|
45
|
+
<div class="absolute inset-0 z-10 bg-black">
|
|
46
|
+
<picture v-if="image?.src">
|
|
47
|
+
<source
|
|
48
|
+
media="(min-width: 768px)"
|
|
49
|
+
:srcset="image.srcSet"
|
|
50
|
+
/>
|
|
51
|
+
<source
|
|
52
|
+
media="(min-width: 420px)"
|
|
53
|
+
:srcset="image.screenMd?.url"
|
|
54
|
+
/>
|
|
55
|
+
<source :srcset="image.screenSm?.url" />
|
|
56
|
+
<img
|
|
57
|
+
class="md:object-right object-cover object-bottom w-full h-full"
|
|
58
|
+
:src="image.src.url"
|
|
59
|
+
:width="image.src.width"
|
|
60
|
+
:height="image.src.height"
|
|
61
|
+
:alt="image.alt"
|
|
62
|
+
/>
|
|
63
|
+
</picture>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="content-wrapper lg:flex lg:items-center relative z-20 w-full h-full">
|
|
66
|
+
<div
|
|
67
|
+
class="bg-gradient-to-b lg:bg-gradient-to-l from-transparent-w25 lg:from-transparent-w50 to-transparent-black-50 lg:to-transparent-black-50 absolute inset-0"
|
|
68
|
+
></div>
|
|
69
|
+
<div class="text-contrast relative w-full text-white">
|
|
70
|
+
<div class="lg:py-0 pb-10 container pt-8 mx-auto">
|
|
71
|
+
<div class="lg:px-10 2xl:px-0 pt-30 lg:pt-16 lg:pb-18 px-4">
|
|
72
|
+
<h1
|
|
73
|
+
v-if="data.heroText"
|
|
74
|
+
class="lg:w-3/4 xl:w-3/4 xl:text-10xl lg:text-9xl text-7xl lg:tracking-tightest lg:leading-tighter mb-5 font-bold leading-tight"
|
|
75
|
+
>
|
|
76
|
+
{{ data.heroText }}
|
|
77
|
+
</h1>
|
|
78
|
+
<div class="md:w-4/5 lg:w-2/3 xl:w-1/2 w-full">
|
|
79
|
+
<SearchInput
|
|
80
|
+
v-model="searchQuery"
|
|
81
|
+
class="bg-white border-none"
|
|
82
|
+
placeholder="Search the K-12 resource library"
|
|
83
|
+
with-button
|
|
84
|
+
@submit="submitSearch()"
|
|
85
|
+
/>
|
|
86
|
+
</div>
|
|
87
|
+
<div
|
|
88
|
+
v-if="data.hotTopics?.length"
|
|
89
|
+
class="md:flex flex-row mt-10"
|
|
90
|
+
>
|
|
91
|
+
<h2
|
|
92
|
+
class="text-subtitle mt-1 text-white font-semibold whitespace-nowrap mr-5 mb-3 md:mb-0 lg:mr-8"
|
|
93
|
+
>
|
|
94
|
+
Hot Topics
|
|
95
|
+
</h2>
|
|
96
|
+
<ul class="flex flex-row flex-wrap">
|
|
97
|
+
<li
|
|
98
|
+
v-for="(topic, index) in data.hotTopics"
|
|
99
|
+
:key="index"
|
|
100
|
+
class="mr-2 mb-2"
|
|
101
|
+
>
|
|
102
|
+
<BaseLink
|
|
103
|
+
variant="none"
|
|
104
|
+
:to="`/edu/resources?query=${topic.page?.title}`"
|
|
105
|
+
link-class="text-gray-dark whitespace-nowrap text-sm bg-[#99D1DF] font-extrabold rounded-full inline-block px-3 py-1 text-contrast-none hover:bg-action hover:text-white"
|
|
106
|
+
>
|
|
107
|
+
{{ topic.page?.title }}
|
|
108
|
+
</BaseLink>
|
|
109
|
+
</li>
|
|
110
|
+
</ul>
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
|
|
118
|
+
<div
|
|
119
|
+
v-if="data.body?.length"
|
|
120
|
+
class="my-10 lg:my-18"
|
|
121
|
+
>
|
|
122
|
+
<BlockStreamfield
|
|
123
|
+
v-if="data.body?.length"
|
|
124
|
+
:data="data.body"
|
|
125
|
+
/>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</template>
|
|
129
|
+
<style lang="scss">
|
|
130
|
+
.PageEduHome {
|
|
131
|
+
.EduHero {
|
|
132
|
+
.content-wrapper {
|
|
133
|
+
@screen lg {
|
|
134
|
+
min-height: 548px; // maintains 1440x770 aspect ratio
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
@screen xl {
|
|
138
|
+
min-height: 684px; // maintains 1440x770 aspect ratio
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
@screen 2xl {
|
|
142
|
+
min-height: 770px; // 1440x770
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
@screen 3xl {
|
|
146
|
+
min-height: 963px; // maintains 1440x770 aspect ratio
|
|
147
|
+
}
|
|
148
|
+
input::placeholder {
|
|
149
|
+
@apply font-medium text-gray-dark opacity-80;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
</style>
|
|
@@ -58,7 +58,8 @@ export const BaseStory = {
|
|
|
58
58
|
blockType: 'HeroImageBlock'
|
|
59
59
|
}
|
|
60
60
|
],
|
|
61
|
-
heroConstrain:
|
|
61
|
+
heroConstrain: false,
|
|
62
|
+
heroPosition: 'full_bleed',
|
|
62
63
|
|
|
63
64
|
studentProject: {
|
|
64
65
|
title: 'Student Project',
|
|
@@ -275,6 +276,30 @@ export const BaseStory = {
|
|
|
275
276
|
}
|
|
276
277
|
}
|
|
277
278
|
|
|
279
|
+
export const HeroTitle = {
|
|
280
|
+
args: {
|
|
281
|
+
data: {
|
|
282
|
+
...BaseStory.args.data,
|
|
283
|
+
hero: [
|
|
284
|
+
{
|
|
285
|
+
...HeroMediaData,
|
|
286
|
+
heroSummary: 'Text appears below the title',
|
|
287
|
+
blockType: 'HeroTitleBlock'
|
|
288
|
+
}
|
|
289
|
+
]
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
export const InlineHero = {
|
|
295
|
+
args: {
|
|
296
|
+
data: {
|
|
297
|
+
...BaseStory.args.data,
|
|
298
|
+
heroPosition: 'inline'
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
278
303
|
export const HeroCarousel = {
|
|
279
304
|
args: {
|
|
280
305
|
data: {
|
|
@@ -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'
|
|
@@ -94,17 +95,35 @@ const heroEmpty = computed((): boolean => {
|
|
|
94
95
|
return data?.hero?.length === 0
|
|
95
96
|
})
|
|
96
97
|
|
|
98
|
+
const theHero = computed(() => {
|
|
99
|
+
if (data?.hero?.length) {
|
|
100
|
+
return data.hero[0]
|
|
101
|
+
}
|
|
102
|
+
return undefined
|
|
103
|
+
})
|
|
104
|
+
|
|
105
|
+
const heroTitle = computed((): boolean => {
|
|
106
|
+
if (theHero.value) {
|
|
107
|
+
// excludes VideoBlock as this will autoplay
|
|
108
|
+
if (theHero.value.blockType === 'HeroTitleBlock') {
|
|
109
|
+
return true
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return false
|
|
113
|
+
})
|
|
114
|
+
|
|
97
115
|
const heroInline = computed((): boolean => {
|
|
98
116
|
// heroes with interactive elements have special handling
|
|
99
|
-
if (
|
|
117
|
+
if (theHero.value && !heroTitle.value) {
|
|
100
118
|
// excludes VideoBlock as this will autoplay
|
|
101
|
-
if (
|
|
119
|
+
if (theHero.value.blockType === 'VideoBlock') {
|
|
102
120
|
return false
|
|
103
121
|
} else if (
|
|
104
|
-
data?.
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
122
|
+
data?.heroPosition === 'inline' ||
|
|
123
|
+
theHero.value.blockType === 'CarouselBlock' ||
|
|
124
|
+
theHero.value.blockType === 'IframeEmbedBlock' ||
|
|
125
|
+
theHero.value.blockType === 'VideoEmbedBlock' ||
|
|
126
|
+
theHero.value.blockType === 'ImageComparisonBlock'
|
|
108
127
|
) {
|
|
109
128
|
return true
|
|
110
129
|
}
|
|
@@ -233,7 +252,8 @@ const consolidatedSections = computed((): EduLessonSectionObject[] => {
|
|
|
233
252
|
heading: staticSectionHeadings.value ? staticSectionHeadings.value[section] : undefined,
|
|
234
253
|
blocks: section !== 'materials' && section !== 'procedures' ? data[section] : undefined,
|
|
235
254
|
text: section === 'materials' ? data[section] : undefined,
|
|
236
|
-
procedures: section === 'procedures' ? data[section] : undefined
|
|
255
|
+
procedures: section === 'procedures' ? data[section] : undefined,
|
|
256
|
+
image: data[`${section}Image`]
|
|
237
257
|
})
|
|
238
258
|
}
|
|
239
259
|
// include custom "after_" sections
|
|
@@ -251,24 +271,42 @@ const consolidatedSections = computed((): EduLessonSectionObject[] => {
|
|
|
251
271
|
|
|
252
272
|
return filteredSections
|
|
253
273
|
})
|
|
274
|
+
const computedClass = computed((): string => {
|
|
275
|
+
if (heroTitle.value) {
|
|
276
|
+
return '-nav-offset'
|
|
277
|
+
} else {
|
|
278
|
+
return 'pt-5 lg:pt-12'
|
|
279
|
+
}
|
|
280
|
+
})
|
|
254
281
|
</script>
|
|
255
282
|
<template>
|
|
256
283
|
<div
|
|
257
284
|
v-if="data"
|
|
258
|
-
class="ThemeVariantLight
|
|
285
|
+
class="ThemeVariantLight"
|
|
286
|
+
:class="computedClass"
|
|
259
287
|
>
|
|
288
|
+
<!-- hero title -->
|
|
289
|
+
<HeroLarge
|
|
290
|
+
v-if="heroTitle && theHero"
|
|
291
|
+
:title="data.title"
|
|
292
|
+
:image="theHero.image"
|
|
293
|
+
:summary="theHero.heroSummary"
|
|
294
|
+
:custom-pill-type="data.__typename"
|
|
295
|
+
/>
|
|
296
|
+
|
|
260
297
|
<LayoutHelper
|
|
261
298
|
indent="col-2"
|
|
262
299
|
class="mb-10"
|
|
263
300
|
>
|
|
264
301
|
<DetailHeadline
|
|
302
|
+
v-if="data.title && !heroTitle"
|
|
265
303
|
:title="data.title"
|
|
266
304
|
label="Lesson"
|
|
267
305
|
pill
|
|
268
306
|
/>
|
|
269
307
|
<ShareButtonsEdu
|
|
270
308
|
v-if="data?.url"
|
|
271
|
-
class="mt-4"
|
|
309
|
+
:class="heroTitle ? 'mt-10' : 'mt-4'"
|
|
272
310
|
:url="data.url"
|
|
273
311
|
:title="data.title"
|
|
274
312
|
:image="data.thumbnailImage?.original"
|
|
@@ -290,33 +328,33 @@ const consolidatedSections = computed((): EduLessonSectionObject[] => {
|
|
|
290
328
|
<MetaPanel
|
|
291
329
|
button="View Standards"
|
|
292
330
|
theme="primary"
|
|
293
|
-
:class="{ 'mb-10 lg:mb-14': heroInline || data?.hero?.length === 0 }"
|
|
331
|
+
:class="{ 'mb-10 lg:mb-14': heroTitle || heroInline || data?.hero?.length === 0 }"
|
|
294
332
|
:primary-subject="data.primarySubject"
|
|
295
333
|
:additional-subjects="data.additionalSubjects"
|
|
296
334
|
:time="data.customTime ? { time: data.customTime } : data.time"
|
|
297
335
|
:grade-levels="data.gradeLevels"
|
|
298
336
|
:standards="data.standards"
|
|
299
|
-
:negative-bottom="heroInline || data?.hero?.length !== 0"
|
|
337
|
+
:negative-bottom="(heroInline || data?.hero?.length !== 0) && !heroTitle"
|
|
300
338
|
/>
|
|
301
339
|
|
|
302
340
|
<!-- hero media -->
|
|
303
341
|
<HeroMedia
|
|
304
342
|
v-if="
|
|
305
343
|
!heroEmpty &&
|
|
344
|
+
!heroTitle &&
|
|
306
345
|
!heroInline &&
|
|
307
|
-
|
|
308
|
-
(
|
|
346
|
+
theHero &&
|
|
347
|
+
(theHero.blockType === 'HeroImageBlock' || theHero.blockType === 'VideoBlock')
|
|
309
348
|
"
|
|
310
349
|
class="md:mb-12 lg:mb-18 mb-10"
|
|
311
|
-
:image="
|
|
312
|
-
:video="
|
|
313
|
-
:display-caption="
|
|
314
|
-
:caption="
|
|
315
|
-
:credit="
|
|
350
|
+
:image="theHero.image"
|
|
351
|
+
:video="theHero.video"
|
|
352
|
+
:display-caption="theHero.displayCaption"
|
|
353
|
+
:caption="theHero.caption"
|
|
354
|
+
:credit="theHero.credit"
|
|
316
355
|
:constrain="data.heroConstrain"
|
|
317
356
|
/>
|
|
318
357
|
|
|
319
|
-
<!-- TODO: put this in a component (exclude layout though) -->
|
|
320
358
|
<LayoutHelper
|
|
321
359
|
v-if="!heroEmpty && heroInline && data.hero?.length"
|
|
322
360
|
class="lg:mb-22 mb-10"
|
|
@@ -56,9 +56,12 @@ export const BaseStory = {
|
|
|
56
56
|
hero: [
|
|
57
57
|
{
|
|
58
58
|
...HeroMediaData,
|
|
59
|
-
blockType: 'HeroImageBlock'
|
|
59
|
+
blockType: 'HeroImageBlock',
|
|
60
|
+
displayCaption: false
|
|
60
61
|
}
|
|
61
62
|
],
|
|
63
|
+
heroConstrain: false,
|
|
64
|
+
heroPosition: 'full_bleed',
|
|
62
65
|
|
|
63
66
|
lesson: {
|
|
64
67
|
title: 'Lesson',
|
|
@@ -130,7 +133,7 @@ export const BaseStory = {
|
|
|
130
133
|
materialsHeading: 'Custom Materials Heading',
|
|
131
134
|
materialsImage: BlockImageData.image,
|
|
132
135
|
|
|
133
|
-
stepsNumbering:
|
|
136
|
+
stepsNumbering: true,
|
|
134
137
|
|
|
135
138
|
steps: [
|
|
136
139
|
{
|
|
@@ -175,6 +178,29 @@ export const BaseStory = {
|
|
|
175
178
|
}
|
|
176
179
|
}
|
|
177
180
|
|
|
181
|
+
export const HeroTitle = {
|
|
182
|
+
args: {
|
|
183
|
+
data: {
|
|
184
|
+
...BaseStory.args.data,
|
|
185
|
+
hero: [
|
|
186
|
+
{
|
|
187
|
+
...HeroMediaData,
|
|
188
|
+
heroSummary: 'Text appears below the title',
|
|
189
|
+
blockType: 'HeroTitleBlock'
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export const InlineHero = {
|
|
197
|
+
args: {
|
|
198
|
+
data: {
|
|
199
|
+
...BaseStory.args.data,
|
|
200
|
+
heroPosition: 'inline'
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
178
204
|
export const HeroCarousel = {
|
|
179
205
|
args: {
|
|
180
206
|
data: {
|
|
@@ -223,7 +249,8 @@ export const HeroVideoEmbed = {
|
|
|
223
249
|
embed: {
|
|
224
250
|
embed: `<iframe title="Meet NASA's Diana Trujillo - Embedded Hero" width="480" height="270" src="https://www.youtube.com/embed/vUuUyYqI83Q?feature=oembed" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`
|
|
225
251
|
},
|
|
226
|
-
blockType: 'VideoEmbedBlock'
|
|
252
|
+
blockType: 'VideoEmbedBlock',
|
|
253
|
+
displayCaption: false
|
|
227
254
|
}
|
|
228
255
|
]
|
|
229
256
|
}
|