@explorer-1/vue 0.2.54 → 0.2.56
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 +2 -2
- 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/BlockText/BlockText.stories.js +30 -1
- package/src/components/BlockVideoEmbed/BlockVideoEmbed.vue +0 -2
- package/src/components/HeroMedium/HeroMedium.vue +1 -1
- package/src/components/MetaPanel/MetaPanel.vue +6 -6
- package/src/components/NavJumpMenu/NavJumpMenu.vue +7 -1
- package/src/components/NavJumpMenu/NavJumpMenuContent.vue +6 -1
- package/src/components/SearchInput/SearchInput.vue +15 -4
- 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.vue +5 -6
- package/src/templates/edu/PageEduStudentProject/PageEduStudentProject.vue +77 -92
- package/src/templates/edu/PageEduStudentProject/PageEduStudentProjectSection.vue +59 -44
- 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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@explorer-1/vue",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.56",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"vue-bind-once": "^0.2.1",
|
|
31
31
|
"vue3-compare-image": "^1.2.5",
|
|
32
32
|
"vue3-observe-visibility": "^1.0.1",
|
|
33
|
-
"@explorer-1/common": "1.1.
|
|
33
|
+
"@explorer-1/common": "1.1.14"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@vitejs/plugin-vue": "^5.0.4",
|
|
@@ -53,11 +53,6 @@ export default defineComponent({
|
|
|
53
53
|
default: 'lazy'
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
|
-
data() {
|
|
57
|
-
return {
|
|
58
|
-
lazyNative: true
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
56
|
computed: {
|
|
62
57
|
computedClass(): string {
|
|
63
58
|
let classes = ''
|
|
@@ -67,31 +62,10 @@ export default defineComponent({
|
|
|
67
62
|
if (this.objectFitClass) {
|
|
68
63
|
classes = classes + ' ' + objectFitClasses[this.objectFitClass]
|
|
69
64
|
}
|
|
70
|
-
if (!this.lazyNative) {
|
|
71
|
-
classes = classes + ' lazyload'
|
|
72
|
-
}
|
|
73
65
|
return classes
|
|
74
66
|
}
|
|
75
67
|
},
|
|
76
|
-
mounted() {
|
|
77
|
-
this.featureDetectImageLazyLoad()
|
|
78
|
-
},
|
|
79
68
|
methods: {
|
|
80
|
-
featureDetectImageLazyLoad() {
|
|
81
|
-
if ('loading' in HTMLImageElement.prototype) {
|
|
82
|
-
const image = this.$refs.BaseImage ? (this.$refs.BaseImage as HTMLImageElement) : null
|
|
83
|
-
this.lazyNative = true
|
|
84
|
-
// reassign dataset attributes
|
|
85
|
-
if (image && image.dataset.src) {
|
|
86
|
-
image.src = image.dataset.src
|
|
87
|
-
}
|
|
88
|
-
if (image && image.dataset.srcset) {
|
|
89
|
-
image.srcset = image.dataset.srcset
|
|
90
|
-
}
|
|
91
|
-
} else {
|
|
92
|
-
this.lazyNative = false
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
69
|
imageFailed() {
|
|
96
70
|
console.log('Image failed to load.')
|
|
97
71
|
}
|
|
@@ -105,8 +79,8 @@ export default defineComponent({
|
|
|
105
79
|
ref="BaseImage"
|
|
106
80
|
class="BaseImage print:border print:border-gray-mid"
|
|
107
81
|
:class="computedClass"
|
|
108
|
-
:
|
|
109
|
-
:
|
|
82
|
+
:src="src"
|
|
83
|
+
:srcset="srcset"
|
|
110
84
|
:alt="alt"
|
|
111
85
|
:width="width"
|
|
112
86
|
:height="height"
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div v-if="data">
|
|
2
|
+
<div v-if="data?.url">
|
|
3
3
|
<template v-if="data.height">
|
|
4
4
|
<iframe
|
|
5
5
|
v-if="data.url"
|
|
6
6
|
ref="BlockIframeEmbed"
|
|
7
7
|
loading="lazy"
|
|
8
8
|
class="w-full border-none print:!border print:border-gray-dark"
|
|
9
|
-
:class="{ lazyload: !lazyNative }"
|
|
10
9
|
:title="data.title"
|
|
11
|
-
:
|
|
10
|
+
:src="data.url"
|
|
12
11
|
width="90%"
|
|
13
12
|
:height="data.height"
|
|
14
13
|
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
|
|
@@ -28,9 +27,8 @@
|
|
|
28
27
|
ref="BlockIframeEmbed"
|
|
29
28
|
loading="lazy"
|
|
30
29
|
class="w-full border-none"
|
|
31
|
-
:class="{ lazyload: !lazyNative }"
|
|
32
30
|
:title="data.title"
|
|
33
|
-
:
|
|
31
|
+
:src="data.url"
|
|
34
32
|
data-chromatic="ignore"
|
|
35
33
|
width="90%"
|
|
36
34
|
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
|
|
@@ -60,29 +58,7 @@ export default defineComponent({
|
|
|
60
58
|
props: {
|
|
61
59
|
data: {
|
|
62
60
|
type: Object,
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
data() {
|
|
67
|
-
return {
|
|
68
|
-
lazyNative: true
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
mounted() {
|
|
72
|
-
this.featureDetectIframeLazyLoad()
|
|
73
|
-
},
|
|
74
|
-
methods: {
|
|
75
|
-
featureDetectIframeLazyLoad() {
|
|
76
|
-
if ('loading' in HTMLIFrameElement.prototype) {
|
|
77
|
-
const iframe = this.$refs.BlockIframeEmbed as HTMLIFrameElement
|
|
78
|
-
this.lazyNative = true
|
|
79
|
-
// move data-src attribute to src
|
|
80
|
-
if (iframe.dataset.src) {
|
|
81
|
-
iframe.src = iframe.dataset.src
|
|
82
|
-
}
|
|
83
|
-
} else {
|
|
84
|
-
this.lazyNative = false
|
|
85
|
-
}
|
|
61
|
+
default: undefined
|
|
86
62
|
}
|
|
87
63
|
},
|
|
88
64
|
computed: {
|
|
@@ -3,13 +3,19 @@ import BlockText, { variants } from './BlockText.vue'
|
|
|
3
3
|
export default {
|
|
4
4
|
title: 'Components/Blocks/BlockText',
|
|
5
5
|
component: BlockText,
|
|
6
|
+
tags: ['!autodocs'],
|
|
6
7
|
argTypes: {
|
|
7
8
|
variant: {
|
|
8
9
|
control: { type: 'select' },
|
|
9
10
|
options: Object.keys(variants)
|
|
10
11
|
},
|
|
11
12
|
text: { control: { type: 'text' } }
|
|
12
|
-
}
|
|
13
|
+
},
|
|
14
|
+
decorators: [
|
|
15
|
+
() => ({
|
|
16
|
+
template: '<div class="lg:w-2/3 mx-auto"><story /></div>'
|
|
17
|
+
})
|
|
18
|
+
]
|
|
13
19
|
}
|
|
14
20
|
|
|
15
21
|
export const BaseStory = {
|
|
@@ -19,3 +25,26 @@ export const BaseStory = {
|
|
|
19
25
|
text: `<p>AVIRIS is the first full spectral range imaging spectrometer and dedicated to <a href="https://en.wikipedia.org/wiki/Remote_sensing" target="_blank">Earth Remote Measurement</a>. Test <a href="#">preventlongurlsfrombreakingoutofcontainerpreventlongurlsfrombreakingoutofcontainerpreventlongurlsfrombreakingoutofcontainerpreventlongurlsfrombreakingoutofcontainer</a>. It is a unique optical sensor that continues to deliver calibrated images of the upwelling spectral radiance in 224 contiguous spectral channels (bands) with wavelengths from 380 to 2510 nanometers. AVIRIS has been flown on four aircraft platforms: NASA's high altitude ER-2 jet, Twin Otter International's turboprop, Scaled Composites' Proteus, and NASA's WB-57. The ER-2 flies at approximately 20 km above sea level, at about 730 km/hr. The Twin Otter aircraft flies at 4km above ground level at 130km/hr. AVIRIS has flown North America including Alaska, Hawaii, Europe, Brazil, and Argentina.</p><p>The objective of the AVIRIS project is to support advanced NASA science and applications research. AVIRIS uses imaging spectroscopy to detect, identify, measure, and monitor constituents and processes of the Earth's surface and atmosphere based on measured constituent absorption and scattering signatures. Science and applications research with AVIRIS data spans a wide range of discipline across the Earth system. </p><hr /><ul><li>Lorem ipsum dolor sit amet consectatur adipscing</li><li>Lorem ipsum dolor sit amet <strong>consectatur adipscing</strong></li><li>Lorem ipsum dolor sit amet consectatur adipscing</li></ul><p>Lorem ipsum dolor sit amet paragraph text</p><ol><li>Lorem ipsum dolor sit amet consectatur adipscing</li><li>Lorem ipsum dolor sit amet consectatur adipscing</li><li>Lorem ipsum dolor <strong>sit amet</strong> consectatur adipscing</li><li>Lorem <strong>ipsum dolor</strong> sit amet consectatur adipscing</li></ol><hr /><p>Lorem ipsum dolor sit amet consectatur adipscing</p>`
|
|
20
26
|
}
|
|
21
27
|
}
|
|
28
|
+
|
|
29
|
+
export const RichTextMedia = {
|
|
30
|
+
args: {
|
|
31
|
+
variant: 'large',
|
|
32
|
+
text: `<p data-block-key="5f55p">Description for it.</p><div class="richtext-image fullwidth"><img alt="Perseverance Looks Back at &#x27;Bright Angel&#x27;" height="480" loading="lazy" src="https://picsum.photos/640/480" width="640">
|
|
33
|
+
<div class="richtext-caption">
|
|
34
|
+
<div class="caption">One of the navigation cameras aboard NASAs Perseverance Mars rover captured this view looking back at the Bright Angel area on July 30, 2024.</div>
|
|
35
|
+
<span class="credit">Credit: NASA/JPL-Caltech</span>
|
|
36
|
+
<a class="caption-link" href="#">Full Image Details</a>
|
|
37
|
+
</div>
|
|
38
|
+
</div><p data-block-key="89jcq">More text and another image that's full width (above)</p><p data-block-key="6jsp"></p><div class="richtext-image right"><img alt="Carbon Mapper Coalition&#x27;s Tanager Satellite" height="336" loading="lazy" src="https://picsum.photos/640/336" width="640">
|
|
39
|
+
<div class="richtext-caption">
|
|
40
|
+
<div class="caption">This artists concept depicts one of the Carbon Mapper Coalitions Tanager satellites, the first of which launched on Aug. 16, 2024. Tanager-1 will use imaging spectrometer technology developed at JPL to measure greenhouse gas point-source emissions.</div>
|
|
41
|
+
<span class="credit">Credit: Planet Labs PBC</span>
|
|
42
|
+
<a class="caption-link" href="#">Full Image Details</a>
|
|
43
|
+
</div>
|
|
44
|
+
</div><p data-block-key="4409g">More text and something that's right-aligned.</p><p data-block-key="bid36"></p><div class="richtext-image left"><img alt="Lecture Brings Galileo&#x27;s Travels into Final Focus" height="350" loading="lazy" src="https://picsum.photos/640/350" width="640">
|
|
45
|
+
<div class="richtext-caption">
|
|
46
|
+
<div class="caption">Lecture Brings Galileo's Travels into Final Focus</div>
|
|
47
|
+
</div>
|
|
48
|
+
</div><p data-block-key="1f4rd">More text and something that's left-aligned</p>`
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -63,8 +63,6 @@ export default defineComponent({
|
|
|
63
63
|
if (!this.data?.embed) {
|
|
64
64
|
return
|
|
65
65
|
}
|
|
66
|
-
|
|
67
|
-
// TODO: not using feature detect as that would require rewriting the html output from wagtail to set data-src instead of src
|
|
68
66
|
// get the iframe in this component
|
|
69
67
|
const iframe = this.$el.querySelector('iframe')
|
|
70
68
|
if (iframe) {
|
|
@@ -128,7 +128,7 @@ const standardsIste = computed(() => {
|
|
|
128
128
|
>
|
|
129
129
|
<div class="col-start-container lg:col-start-indent-col-2 col-end-container">
|
|
130
130
|
<div class="MetaPanel-heading lg:grid grid-cols-12 col-end-container container">
|
|
131
|
-
<div class="col-start-1 col-end-
|
|
131
|
+
<div class="col-start-1 col-end-9 xl:col-end-9 pl-4 lg:pl-10 pr-6 py-6 lg:py-10">
|
|
132
132
|
<MetaPanelItems
|
|
133
133
|
:theme="theme"
|
|
134
134
|
:primary-subject="primarySubject"
|
|
@@ -138,8 +138,8 @@ const standardsIste = computed(() => {
|
|
|
138
138
|
/>
|
|
139
139
|
</div>
|
|
140
140
|
<div
|
|
141
|
-
v-if="button"
|
|
142
|
-
class="ThemeVariantLight col-start-
|
|
141
|
+
v-if="button && (standards?.length || $slots.metaInfo)"
|
|
142
|
+
class="ThemeVariantLight col-start-9 col-end-13 pl-4 lg:pl-0 pt-4 pb-6 lg:pr-4 xl:pr-10 2xl:pr-0 lg:py-10 lg:text-right"
|
|
143
143
|
>
|
|
144
144
|
<BaseButton
|
|
145
145
|
variant="secondary"
|
|
@@ -164,7 +164,7 @@ const standardsIste = computed(() => {
|
|
|
164
164
|
</div>
|
|
165
165
|
</div>
|
|
166
166
|
<div
|
|
167
|
-
v-if="standards || $slots.metaInfo"
|
|
167
|
+
v-if="standards?.length || $slots.metaInfo"
|
|
168
168
|
v-show="metaPanelOpen"
|
|
169
169
|
class="MetaPanel-panel col-start-container lg:col-start-indent-col-2 col-end-bleed lg:grid grid-cols-subgrid bg-gray-light pb-3 lg:pb-6"
|
|
170
170
|
>
|
|
@@ -176,11 +176,11 @@ const standardsIste = computed(() => {
|
|
|
176
176
|
<slot name="metaInfo" />
|
|
177
177
|
</div>
|
|
178
178
|
<div
|
|
179
|
-
v-if="standards"
|
|
179
|
+
v-if="standards?.length"
|
|
180
180
|
class="pt-6 lg:pt-7"
|
|
181
181
|
>
|
|
182
182
|
<div
|
|
183
|
-
class="text-subtitle mb-5"
|
|
183
|
+
class="ThemeVariantGray text-subtitle mb-5"
|
|
184
184
|
:class="headingClass"
|
|
185
185
|
>
|
|
186
186
|
Standards
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
<NavJumpMenuContent
|
|
20
20
|
:key="index"
|
|
21
21
|
:item="item"
|
|
22
|
+
v-bind="$attrs"
|
|
22
23
|
/>
|
|
23
24
|
</NavSecondaryDropdown>
|
|
24
25
|
</template>
|
|
@@ -41,17 +42,20 @@ import NavSecondary from './../NavSecondary/NavSecondary.vue'
|
|
|
41
42
|
import NavSecondaryDropdown from './../NavSecondary/NavSecondaryDropdown.vue'
|
|
42
43
|
import NavSecondaryLink from './../NavSecondary/NavSecondaryLink.vue'
|
|
43
44
|
import NavJumpMenuContent from './../NavJumpMenu/NavJumpMenuContent.vue'
|
|
45
|
+
import type { BlockHeadingObject } from './../BlockHeading/BlockHeading.vue'
|
|
44
46
|
import type { BlockData, BreadcrumbPathObject } from './../../interfaces'
|
|
45
47
|
import { getHeadingId } from '../../utils/getHeadingId'
|
|
46
48
|
|
|
47
49
|
interface NavJumpMenuProps {
|
|
48
50
|
title?: string
|
|
49
51
|
jumpLinks?: BreadcrumbPathObject[]
|
|
50
|
-
blocks?: BlockData[]
|
|
52
|
+
blocks?: BlockData[] | BlockHeadingObject[]
|
|
51
53
|
headingLevel?: string
|
|
52
54
|
invert?: boolean
|
|
53
55
|
enabled?: boolean
|
|
54
56
|
dropdownText?: string
|
|
57
|
+
// stepsNumbering?: boolean
|
|
58
|
+
// stepClasses?: string
|
|
55
59
|
}
|
|
56
60
|
|
|
57
61
|
const props = withDefaults(defineProps<NavJumpMenuProps>(), {
|
|
@@ -63,6 +67,8 @@ const props = withDefaults(defineProps<NavJumpMenuProps>(), {
|
|
|
63
67
|
invert: true,
|
|
64
68
|
hidden: false,
|
|
65
69
|
dropdownText: 'Jump to…'
|
|
70
|
+
// stepsNumbering: false,
|
|
71
|
+
// stepClasses: 'text-primary'
|
|
66
72
|
})
|
|
67
73
|
|
|
68
74
|
const NavJumpMenuRef = ref()
|
|
@@ -11,6 +11,12 @@
|
|
|
11
11
|
:link-class="linkClass(child)"
|
|
12
12
|
>
|
|
13
13
|
<span>
|
|
14
|
+
<span
|
|
15
|
+
v-if="$attrs['steps-numbering']"
|
|
16
|
+
:class="$attrs['steps-classes']"
|
|
17
|
+
aria-hidden
|
|
18
|
+
>{{ `Step ${index + 1}:` }}</span
|
|
19
|
+
>
|
|
14
20
|
{{ child.title }}
|
|
15
21
|
</span>
|
|
16
22
|
</BaseLink>
|
|
@@ -33,7 +39,6 @@ export default defineComponent({
|
|
|
33
39
|
BaseLink
|
|
34
40
|
},
|
|
35
41
|
props: {
|
|
36
|
-
// the tertiary nav item object that includes path, title, and children
|
|
37
42
|
item: {
|
|
38
43
|
type: Object,
|
|
39
44
|
required: true
|
|
@@ -8,6 +8,7 @@ interface SearchInputProps {
|
|
|
8
8
|
placeholder?: string
|
|
9
9
|
autoFocus?: boolean
|
|
10
10
|
defaultColors?: boolean
|
|
11
|
+
withButton?: boolean
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
// define props
|
|
@@ -16,10 +17,11 @@ const props = withDefaults(defineProps<SearchInputProps>(), {
|
|
|
16
17
|
underlinedInputValue: undefined,
|
|
17
18
|
placeholder: '',
|
|
18
19
|
autoFocus: false,
|
|
19
|
-
defaultColors: true
|
|
20
|
+
defaultColors: true,
|
|
21
|
+
withButton: false
|
|
20
22
|
})
|
|
21
23
|
|
|
22
|
-
const emit = defineEmits(['input', 'esc'])
|
|
24
|
+
const emit = defineEmits(['input', 'esc', 'submit'])
|
|
23
25
|
|
|
24
26
|
const model = defineModel()
|
|
25
27
|
const isFocused = ref(false)
|
|
@@ -67,20 +69,29 @@ onMounted(() => {
|
|
|
67
69
|
<input
|
|
68
70
|
ref="searchQueryRef"
|
|
69
71
|
v-model="model"
|
|
70
|
-
class="pl-14 focus:ring-2 relative z-10 w-full
|
|
72
|
+
class="pl-14 h-full focus:ring-2 relative z-10 w-full px-5 text-sm md:text-base lg:text-lg bg-transparent border-0"
|
|
71
73
|
:class="{
|
|
72
74
|
'text-gray-dark': defaultColors,
|
|
73
75
|
'py-1': underlinedInput,
|
|
74
|
-
'py-
|
|
76
|
+
'py-3.5 lg:py-5': !underlinedInput
|
|
75
77
|
}"
|
|
76
78
|
type="search"
|
|
77
79
|
aria-label="Query"
|
|
78
80
|
:placeholder="placeholder"
|
|
79
81
|
@keydown.esc="emit('esc')"
|
|
82
|
+
@keydown.enter="emit('submit')"
|
|
80
83
|
@input="emit('input', $event.target)"
|
|
81
84
|
@focus="isFocused = true"
|
|
82
85
|
@blur="isFocused = false"
|
|
83
86
|
/>
|
|
87
|
+
<button
|
|
88
|
+
v-if="withButton"
|
|
89
|
+
class="z-10 cursor-pointer bg-action p-4 lg:p-5 border border-white"
|
|
90
|
+
aria-label="Search resources"
|
|
91
|
+
@click="emit('submit')"
|
|
92
|
+
>
|
|
93
|
+
<IconSearch class="relative z-10 text-xl sm:text-2xl lg:text-3xl text-white" />
|
|
94
|
+
</button>
|
|
84
95
|
</div>
|
|
85
96
|
</template>
|
|
86
97
|
<style lang="scss" scoped>
|
|
@@ -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>
|
|
@@ -252,7 +252,8 @@ const consolidatedSections = computed((): EduLessonSectionObject[] => {
|
|
|
252
252
|
heading: staticSectionHeadings.value ? staticSectionHeadings.value[section] : undefined,
|
|
253
253
|
blocks: section !== 'materials' && section !== 'procedures' ? data[section] : undefined,
|
|
254
254
|
text: section === 'materials' ? data[section] : undefined,
|
|
255
|
-
procedures: section === 'procedures' ? data[section] : undefined
|
|
255
|
+
procedures: section === 'procedures' ? data[section] : undefined,
|
|
256
|
+
image: data[`${section}Image`]
|
|
256
257
|
})
|
|
257
258
|
}
|
|
258
259
|
// include custom "after_" sections
|
|
@@ -271,12 +272,11 @@ const consolidatedSections = computed((): EduLessonSectionObject[] => {
|
|
|
271
272
|
return filteredSections
|
|
272
273
|
})
|
|
273
274
|
const computedClass = computed((): string => {
|
|
274
|
-
if (
|
|
275
|
-
return 'pt-5 lg:pt-12'
|
|
276
|
-
} else if (!heroInline.value) {
|
|
275
|
+
if (heroTitle.value) {
|
|
277
276
|
return '-nav-offset'
|
|
277
|
+
} else {
|
|
278
|
+
return 'pt-5 lg:pt-12'
|
|
278
279
|
}
|
|
279
|
-
return ''
|
|
280
280
|
})
|
|
281
281
|
</script>
|
|
282
282
|
<template>
|
|
@@ -355,7 +355,6 @@ const computedClass = computed((): string => {
|
|
|
355
355
|
:constrain="data.heroConstrain"
|
|
356
356
|
/>
|
|
357
357
|
|
|
358
|
-
<!-- TODO: put this in a component (exclude layout though) -->
|
|
359
358
|
<LayoutHelper
|
|
360
359
|
v-if="!heroEmpty && heroInline && data.hero?.length"
|
|
361
360
|
class="lg:mb-22 mb-10"
|