@explorer-1/vue 0.1.0 → 0.1.2
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/components.d.ts +2 -0
- package/dist/explorer-1-vue.js +4833 -4820
- package/dist/explorer-1-vue.umd.cjs +14 -14
- package/dist/src/components/AsteroidWatchWidget/AsteroidWatchWidget.stories.d.ts +1 -1
- package/dist/src/components/BackToTop/BackToTop.stories.d.ts +2 -2
- package/dist/src/components/BaseAudio/BaseAudio.stories.d.ts +1 -1
- package/dist/src/components/BaseButton/BaseButton.stories.d.ts +2 -1
- package/dist/src/components/BaseCheckboxGroup/BaseCheckboxGroup.stories.d.ts +24 -0
- package/dist/src/components/BaseHeading/BaseHeading.stories.d.ts +1 -1
- package/dist/src/components/BaseImage/BaseImage.stories.d.ts +1 -1
- package/dist/src/components/BaseImageCaption/BaseImageCaption.stories.d.ts +1 -1
- package/dist/src/components/BaseImagePlaceholder/BaseImagePlaceholder.stories.d.ts +4 -1
- package/dist/src/components/BaseLink/BaseLink.stories.d.ts +2 -1
- package/dist/src/components/BaseModal/BaseModal.stories.d.ts +2 -2
- package/dist/src/components/BasePlaceholder/BasePlaceholder.stories.d.ts +2 -2
- package/dist/src/components/BaseRadioGroup/BaseRadioGroup.stories.d.ts +28 -0
- package/dist/src/components/BaseSwimlane/BaseSwimlane.stories.d.ts +25 -0
- package/dist/src/components/BaseTimer/BaseTimer.stories.d.ts +2 -1
- package/dist/src/components/BaseUnitToggle/BaseUnitToggle.stories.d.ts +2 -1
- package/dist/src/components/BaseVideo/BaseVideo.stories.d.ts +1 -1
- package/dist/src/components/BlockAudio/BlockAudio.stories.d.ts +1 -1
- package/dist/src/components/BlockCard/BlockCard.stories.d.ts +1 -1
- package/dist/src/components/BlockCardGroup/BlockCardGroup.stories.d.ts +1 -1
- package/dist/src/components/BlockCircleImageCard/BlockCircleImageCard.stories.d.ts +1 -1
- package/dist/src/components/BlockCta/BlockCta.stories.d.ts +1 -1
- package/dist/src/components/BlockHeading/BlockHeading.stories.d.ts +1 -1
- package/dist/src/components/BlockIframeEmbed/BlockIframeEmbed.stories.d.ts +1 -1
- package/dist/src/components/BlockImage/BlockImage.stories.d.ts +3 -2
- package/dist/src/components/BlockImageCarousel/BlockImageCarousel.stories.d.ts +1 -1
- package/dist/src/components/BlockImageCarouselItem/BlockImageCarouselItem.stories.d.ts +1 -1
- package/dist/src/components/BlockImageComparison/BlockImageComparison.stories.d.ts +1 -1
- package/dist/src/components/BlockImageGallery/BlockImageGallery.stories.d.ts +1 -1
- package/dist/src/components/BlockInlineImage/BlockInlineImage.stories.d.ts +2 -1
- package/dist/src/components/BlockKeyPoints/BlockKeyPoints.stories.d.ts +1 -1
- package/dist/src/components/BlockLinkCard/BlockLinkCard.stories.d.ts +4 -2
- package/dist/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.d.ts +2 -1
- package/dist/src/components/BlockLinkTile/BlockLinkTile.stories.d.ts +2 -1
- package/dist/src/components/BlockListCards/BlockListCards.stories.d.ts +1 -1
- package/dist/src/components/BlockQuote/BlockQuote.stories.d.ts +2 -2
- package/dist/src/components/BlockRelatedLinks/BlockRelatedLinks.stories.d.ts +1 -1
- package/dist/src/components/BlockStreamfield/BlockStreamfield.stories.d.ts +1 -1
- package/dist/src/components/BlockTable/BlockTable.stories.d.ts +1 -1
- package/dist/src/components/BlockTeaser/BlockTeaser.stories.d.ts +1 -1
- package/dist/src/components/BlockText/BlockText.stories.d.ts +1 -1
- package/dist/src/components/BlockTwitterEmbed/BlockTwitterEmbed.stories.d.ts +1 -1
- package/dist/src/components/BlockVideo/BlockVideo.stories.d.ts +1 -1
- package/dist/src/components/BlockVideoEmbed/BlockVideoEmbed.stories.d.ts +1 -1
- package/dist/src/components/CalendarButton/CalendarButton.stories.d.ts +2 -2
- package/dist/src/components/DetailHeadline/DetailHeadline.stories.d.ts +1 -1
- package/dist/src/components/DsnWidget/DsnWidget.stories.d.ts +1 -1
- package/dist/src/components/EventDetailHero/EventDetailHero.stories.d.ts +1 -1
- package/dist/src/components/FormContact/FormContact.stories.d.ts +2 -2
- package/dist/src/components/FormNewsletterSignup/FormNewsletterSignup.stories.d.ts +2 -2
- package/dist/src/components/HeroLarge/HeroLarge.stories.d.ts +1 -1
- package/dist/src/components/HeroListingIndex/HeroListingIndex.stories.d.ts +1 -1
- package/dist/src/components/HeroMedia/HeroMedia.stories.d.ts +7 -2
- package/dist/src/components/HeroMedium/HeroMedium.stories.d.ts +19 -3
- package/dist/src/components/HeroMedium/HeroMedium.vue.d.ts +11 -0
- package/dist/src/components/HeroMedium/HeroSmall.stories.d.ts +90 -0
- package/dist/src/components/HomepageCarousel/HomepageCarousel.stories.d.ts +8 -6
- package/dist/src/components/HomepageCarouselItem/HomepageCarouselItem.stories.d.ts +2 -1
- package/dist/src/components/HomepageEmbedBlock/HomepageEmbedBlock.stories.d.ts +1 -1
- package/dist/src/components/HomepageFeaturedRobot/HomepageFeaturedRobot.stories.d.ts +2 -1
- package/dist/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.stories.d.ts +1 -1
- package/dist/src/components/HomepageStats/HomepageStats.stories.d.ts +2 -2
- package/dist/src/components/HomepageTeaserBlock/HomepageTeaserBlock.stories.d.ts +3 -2
- package/dist/src/components/LogoCaltech/LogoCaltech.stories.d.ts +2 -2
- package/dist/src/components/LogoTribrand/LogoTribrand.stories.d.ts +3 -2
- package/dist/src/components/MissionDetailAbout/MissionDetailAbout.stories.d.ts +1 -1
- package/dist/src/components/MissionDetailHero/MissionDetailHero.stories.d.ts +2 -1
- package/dist/src/components/MissionDetailHighlights/MissionDetailHighlights.stories.d.ts +2 -1
- package/dist/src/components/MissionDetailInlineImage/MissionDetailInlineImage.stories.d.ts +1 -1
- package/dist/src/components/MissionDetailStats/MissionDetailStats.stories.d.ts +2 -1
- package/dist/src/components/MissionDetailStreamfield/MissionDetailStreamfield.stories.d.ts +1 -1
- package/dist/src/components/MixinAnimationCaret/MixinAnimationCaret.stories.d.ts +1 -1
- package/dist/src/components/MixinCarousel/MixinCarousel.stories.d.ts +1 -1
- package/dist/src/components/MixinVideoBg/MixinVideoBg.stories.d.ts +1 -9
- package/dist/src/components/NavDesktop/NavDesktop.stories.d.ts +2 -1
- package/dist/src/components/NavHeading/NavHeading.stories.d.ts +1 -1
- package/dist/src/components/NavHighlight/NavHighlight.stories.d.ts +1 -1
- package/dist/src/components/NavLinkList/NavLinkList.stories.d.ts +1 -1
- package/dist/src/components/NavLogoLinks/NavLogoLinks.stories.d.ts +1 -1
- package/dist/src/components/NavMobile/NavMobile.stories.d.ts +2 -1
- package/dist/src/components/NavSearchForm/NavSearchForm.stories.d.ts +1 -1
- package/dist/src/components/NavSecondary/NavSecondary.stories.d.ts +1 -1
- package/dist/src/components/NavSocial/NavSocial.stories.d.ts +2 -2
- package/dist/src/components/NewsDetailMediaContact/NewsDetailMediaContact.stories.d.ts +1 -1
- package/dist/src/components/ParallaxContainer/ParallaxContainer.stories.d.ts +2 -2
- package/dist/src/components/PodcastSeriesCarousel/PodcastSeriesCarousel.stories.d.ts +1 -1
- package/dist/src/components/RoboticsDetailStats/RoboticsDetailStats.stories.d.ts +1 -1
- package/dist/src/components/SearchFilterGroup/SearchFilterGroup.stories.d.ts +2 -1
- package/dist/src/components/SearchInput/SearchInput.stories.d.ts +1 -1
- package/dist/src/components/SearchInput/SearchInput.vue.d.ts +9 -9
- package/dist/src/components/SearchPagination/SearchPagination.stories.d.ts +2 -1
- package/dist/src/components/SearchResultCard/SearchResultCard.stories.d.ts +2 -1
- package/dist/src/components/SearchResultGridItem/SearchResultGridItem.stories.d.ts +2 -1
- package/dist/src/components/SearchSelectMenu/SearchSelectMenu.stories.d.ts +1 -1
- package/dist/src/components/ShareButtons/ShareButtons.stories.d.ts +1 -1
- package/dist/src/components/ShareButtonsEdu/ShareButtonsEdu.stories.d.ts +1 -1
- package/dist/src/components/SkipLink/SkipLink.stories.d.ts +1 -1
- package/dist/src/components/SwimlaneCTA/SwimlaneCTA.stories.d.ts +25 -0
- package/dist/src/components/TextArea/TextArea.stories.d.ts +30 -0
- package/dist/src/components/TextArea/TextArea.vue.d.ts +95 -0
- package/dist/src/components/TextInput/TextInput.stories.d.ts +33 -0
- package/dist/src/components/TextInput/TextInput.vue.d.ts +116 -0
- package/dist/src/components/TheFooter/TheFooter.stories.d.ts +6 -2
- package/dist/src/components/ThumbnailCarousel/ThumbnailCarousel.stories.d.ts +1 -1
- package/dist/src/components/TopicDetailMissionCarousel/TopicDetailMissionCarousel.stories.d.ts +1 -1
- package/dist/src/components/TopicDetailMissionCarouselItem/TopicDetailMissionCarouselItem.stories.d.ts +1 -1
- package/dist/src/components/TopicDetailMissionSpotlight/TopicDetailMissionSpotlight.stories.d.ts +1 -1
- package/dist/src/components/TopicDetailMore/TopicDetailMore.stories.d.ts +1 -1
- package/dist/src/components/TopicDetailMoreItem/TopicDetailMoreItem.stories.d.ts +1 -1
- package/dist/src/components/TopicDetailStreamfield/TopicDetailStreamfield.stories.d.ts +1 -1
- package/dist/src/components/YearTicker/YearTicker.stories.d.ts +2 -2
- package/dist/src/docs/foundation/typography.stories.d.ts +0 -6
- package/dist/src/docs/guides/responsive.stories.d.ts +13 -0
- package/dist/src/docs/utils/ComponentItem.d.ts +2 -0
- package/dist/src/docs/utils/ComponentList.d.ts +2 -0
- package/dist/src/templates/PageContent/PageContent.stories.d.ts +1 -1
- package/dist/src/templates/PageEventDetail/PageEventDetail.stories.d.ts +1 -1
- package/dist/src/templates/PageNewsDetail/PageNewsDetail.stories.d.ts +44 -3178
- package/dist/src/templates/edu/PageEduNewsDetail.stories.d.ts +9 -772
- package/dist/style.css +1 -1
- package/lib/main.ts +2 -2
- package/package.json +3 -3
- package/src/components/AsteroidWatchWidget/AsteroidWatchWidget.stories.js +2 -2
- package/src/components/BackToTop/BackToTop.stories.js +3 -3
- package/src/components/BackToTop/BackToTop.vue +1 -1
- package/src/components/BaseAudio/BaseAudio.stories.js +1 -1
- package/src/components/BaseButton/BaseButton.stories.ts +3 -2
- package/src/components/BaseCheckboxGroup/BaseCheckboxGroup.stories.js +39 -0
- package/src/components/BaseHeading/BaseHeading.stories.js +2 -2
- package/src/components/BaseImage/BaseImage.stories.ts +1 -1
- package/src/components/BaseImageCaption/BaseImageCaption.stories.js +1 -1
- package/src/components/BaseImagePlaceholder/BaseImagePlaceholder.stories.js +3 -1
- package/src/components/BaseLink/BaseLink.stories.js +3 -2
- package/src/components/BaseModal/BaseModal.stories.js +2 -2
- package/src/components/BasePlaceholder/BasePlaceholder.stories.js +3 -3
- package/src/components/BaseRadioGroup/BaseRadioGroup.stories.js +47 -0
- package/src/components/BaseSwimlane/BaseSwimlane.stories.js +45 -0
- package/src/components/BaseTag/BaseTag.stories.js +1 -1
- package/src/components/BaseTimer/BaseTimer.stories.js +2 -1
- package/src/components/BaseUnitToggle/BaseUnitToggle.stories.js +2 -1
- package/src/components/BaseVideo/BaseVideo.stories.js +1 -1
- package/src/components/BlockAudio/BlockAudio.stories.js +1 -1
- package/src/components/BlockCard/BlockCard.stories.js +1 -1
- package/src/components/BlockCardGroup/BlockCardGroup.stories.js +1 -1
- package/src/components/BlockCircleImageCard/BlockCircleImageCard.stories.js +1 -1
- package/src/components/BlockCta/BlockCta.stories.js +1 -1
- package/src/components/BlockHeading/BlockHeading.stories.js +1 -1
- package/src/components/BlockIframeEmbed/BlockIframeEmbed.stories.js +1 -1
- package/src/components/BlockImage/BlockImage.stories.js +3 -2
- package/src/components/BlockImageCarousel/BlockImageCarousel.stories.js +1 -1
- package/src/components/BlockImageCarouselItem/BlockImageCarouselItem.stories.js +1 -1
- package/src/components/BlockImageComparison/BlockImageComparison.stories.js +1 -1
- package/src/components/BlockImageGallery/BlockImageGallery.stories.js +1 -1
- package/src/components/BlockInlineImage/BlockInlineImage.stories.js +2 -1
- package/src/components/BlockKeyPoints/BlockKeyPoints.stories.js +1 -1
- package/src/components/BlockLinkCard/BlockLinkCard.stories.js +2 -1
- package/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.js +2 -1
- package/src/components/BlockLinkTile/BlockLinkTile.stories.js +2 -1
- package/src/components/BlockListCards/BlockListCards.stories.js +1 -1
- package/src/components/BlockQuote/BlockQuote.stories.js +2 -2
- package/src/components/BlockRelatedLinks/BlockRelatedLinks.stories.js +1 -1
- package/src/components/BlockStreamfield/BlockStreamfield.stories.js +1 -1
- package/src/components/BlockTable/BlockTable.stories.js +1 -1
- package/src/components/BlockTeaser/BlockTeaser.stories.js +1 -1
- package/src/components/BlockText/BlockText.stories.js +1 -1
- package/src/components/BlockTwitterEmbed/BlockTwitterEmbed.stories.js +1 -1
- package/src/components/BlockVideo/BlockVideo.stories.js +1 -1
- package/src/components/BlockVideoEmbed/BlockVideoEmbed.stories.js +1 -1
- package/src/components/CalendarButton/CalendarButton.stories.js +3 -3
- package/src/components/DetailHeadline/DetailHeadline.stories.js +2 -2
- package/src/components/DsnWidget/DsnWidget.stories.js +2 -2
- package/src/components/EventDetailHero/EventDetailHero.stories.js +2 -2
- package/src/components/FormContact/FormContact.stories.js +3 -3
- package/src/components/FormContact/FormContact.vue +40 -87
- package/src/components/FormNewsletterSignup/FormNewsletterSignup.stories.js +3 -3
- package/src/components/FormNewsletterSignup/FormNewsletterSignup.vue +43 -90
- package/src/components/HeroLarge/HeroLarge.stories.js +2 -2
- package/src/components/HeroListingIndex/HeroListingIndex.stories.js +3 -2
- package/src/components/HeroMedia/HeroMedia.stories.js +8 -3
- package/src/components/HeroMedium/HeroMedium.stories.js +13 -2
- package/src/components/HeroMedium/HeroMedium.vue +21 -4
- package/src/components/HeroMedium/HeroSmall.stories.js +58 -0
- package/src/components/HomepageCarousel/HomepageCarousel.stories.js +3 -2
- package/src/components/HomepageCarouselItem/HomepageCarouselItem.stories.js +3 -2
- package/src/components/HomepageEmbedBlock/HomepageEmbedBlock.stories.js +2 -2
- package/src/components/HomepageFeaturedRobot/HomepageFeaturedRobot.stories.js +3 -2
- package/src/components/HomepageMissionsCarousel/HomepageMissionsCarousel.stories.js +2 -2
- package/src/components/HomepageStats/HomepageStats.stories.js +3 -3
- package/src/components/HomepageTeaserBlock/HomepageTeaserBlock.stories.js +4 -3
- package/src/components/Icons/Icons.stories.ts +1 -1
- package/src/components/LogoCaltech/LogoCaltech.stories.js +4 -4
- package/src/components/LogoTribrand/LogoTribrand.stories.js +6 -5
- package/src/components/MissionDetailAbout/MissionDetailAbout.stories.js +2 -2
- package/src/components/MissionDetailHero/MissionDetailHero.stories.js +3 -2
- package/src/components/MissionDetailHighlights/MissionDetailHighlights.stories.js +3 -2
- package/src/components/MissionDetailHighlights/MissionDetailHighlights.vue +1 -1
- package/src/components/MissionDetailInlineImage/MissionDetailInlineImage.stories.js +2 -2
- package/src/components/MissionDetailStats/MissionDetailStats.stories.js +3 -2
- package/src/components/MissionDetailStreamfield/MissionDetailStreamfield.stories.js +2 -2
- package/src/components/MixinAnimationCaret/MixinAnimationCaret.stories.ts +2 -2
- package/src/components/MixinCarousel/MixinCarousel.stories.js +3 -3
- package/src/components/MixinVideoBg/MixinVideoBg.stories.js +2 -12
- package/src/components/NavDesktop/NavDesktop.stories.js +3 -2
- package/src/components/NavDesktop/NavDesktopDropdown.vue +10 -10
- package/src/components/NavDesktop/NavDesktopDropdownContent.vue +3 -3
- package/src/components/NavDesktop/NavDesktopDropdownMore.vue +2 -2
- package/src/components/NavDesktopEdu/NavDesktopEdu.stories.js +186 -0
- package/src/components/NavDesktopEdu/NavDesktopEdu.vue +315 -0
- package/src/components/{MixinDropdownToggle/MixinDropdownToggle.vue → NavDropdownToggle/NavDropdownToggle.vue} +2 -2
- package/src/components/NavHeading/NavHeading.stories.js +2 -2
- package/src/components/NavHeading/NavHeading.vue +2 -2
- package/src/components/NavHighlight/NavHighlight.stories.js +2 -2
- package/src/components/NavLinkList/NavLinkList.stories.js +2 -2
- package/src/components/NavLogoLinks/NavLogoLinks.stories.js +3 -6
- package/src/components/NavLogoLinks/NavLogoLinks.vue +0 -1
- package/src/components/NavMobile/NavMobile.stories.js +3 -2
- package/src/components/NavMobile/NavMobile.vue +40 -15
- package/src/components/NavMobile/NavMobileDropdown.vue +4 -4
- package/src/components/NavMobile/NavMobileEdu.stories.js +174 -0
- package/src/components/NavMobile/NavMobileSecondaryDropdown.vue +5 -5
- package/src/components/NavSearchForm/NavSearchForm.stories.js +2 -2
- package/src/components/NavSecondary/NavSecondary.stories.js +2 -2
- package/src/components/NavSecondary/NavSecondaryDropdown.vue +5 -5
- package/src/components/NavSocial/NavSocial.stories.js +3 -3
- package/src/components/NavSocial/NavSocial.vue +70 -42
- package/src/components/NewsDetailMediaContact/NewsDetailMediaContact.stories.js +2 -2
- package/src/components/ParallaxContainer/ParallaxContainer.stories.js +4 -4
- package/src/components/PodcastSeriesCarousel/PodcastSeriesCarousel.stories.js +2 -2
- package/src/components/RoboticsDetailStats/RoboticsDetailStats.stories.js +2 -2
- package/src/components/SearchFilterGroup/SearchFilterGroup.stories.js +2 -1
- package/src/components/SearchFilterGroup/SearchFilterGroup.vue +1 -1
- package/src/components/SearchInput/SearchInput.stories.js +1 -1
- package/src/components/SearchInput/SearchInput.vue +36 -36
- package/src/components/SearchPagination/SearchPagination.stories.js +2 -1
- package/src/components/SearchResultCard/SearchResultCard.stories.js +1 -1
- package/src/components/SearchResultGridItem/SearchResultGridItem.stories.js +2 -1
- package/src/components/SearchSelectMenu/SearchSelectMenu.stories.js +1 -1
- package/src/components/ShareButtons/ShareButtons.stories.js +2 -2
- package/src/components/ShareButtonsEdu/ShareButtonsEdu.stories.js +2 -2
- package/src/components/SkipLink/SkipLink.stories.js +2 -2
- package/src/components/SwimlaneCTA/SwimlaneCTA.stories.js +57 -0
- package/src/components/SwimlaneCTA/SwimlaneCTA.vue +12 -5
- package/src/components/TextArea/TextArea.stories.js +28 -0
- package/src/components/TextArea/TextArea.vue +74 -0
- package/src/components/TextInput/TextInput.stories.js +30 -0
- package/src/components/TextInput/TextInput.vue +87 -0
- package/src/components/TheFooter/TheFooter.stories.js +8 -3
- package/src/components/TheFooter/TheFooter.vue +31 -15
- package/src/components/ThumbnailCarousel/ThumbnailCarousel.stories.js +2 -2
- package/src/components/TopicDetailMissionCarousel/TopicDetailMissionCarousel.stories.js +2 -2
- package/src/components/TopicDetailMissionCarouselItem/TopicDetailMissionCarouselItem.stories.js +2 -2
- package/src/components/TopicDetailMissionSpotlight/TopicDetailMissionSpotlight.stories.js +2 -2
- package/src/components/TopicDetailMore/TopicDetailMore.stories.js +2 -2
- package/src/components/TopicDetailMoreItem/TopicDetailMoreItem.stories.js +2 -2
- package/src/components/TopicDetailStreamfield/TopicDetailStreamfield.stories.js +2 -2
- package/src/components/YearTicker/YearTicker.stories.js +3 -3
- package/src/docs/foundation/color.docs.mdx +1 -1
- package/src/docs/foundation/grid.stories.js +1 -1
- package/src/docs/foundation/grid_layouthelpers.stories.js +1 -1
- package/src/docs/foundation/themes.stories.js +1 -1
- package/src/docs/foundation/typography.stories.js +2 -3
- package/src/docs/getting-started/designer.docs.mdx +18 -0
- package/src/docs/getting-started/developer.docs.mdx +81 -0
- package/src/docs/guides/accessibility.docs.mdx +39 -0
- package/src/docs/guides/responsive.docs.mdx +67 -0
- package/src/docs/guides/responsive.stories.js +36 -0
- package/src/docs/introduction.docs.mdx +42 -0
- package/src/docs/overviews/base.docs.mdx +88 -0
- package/src/docs/overviews/blocks.docs.mdx.disabled +185 -0
- package/src/docs/overviews/components.docs.mdx +48 -0
- package/src/docs/overviews/forms.docs.mdx +59 -0
- package/src/docs/overviews/global.docs.mdx +15 -0
- package/src/docs/overviews/global_footers.docs.mdx +21 -0
- package/src/docs/overviews/global_headers.docs.mdx +29 -0
- package/src/docs/overviews/heroes.docs.mdx +57 -0
- package/src/docs/overviews/mixins.docs.mdx +39 -0
- package/src/docs/overviews/search.docs.mdx +30 -0
- package/src/docs/overviews/utilities.docs.mdx +22 -0
- package/src/docs/roadmap.docs.mdx +25 -0
- package/src/docs/utils/ComponentItem.jsx +102 -0
- package/src/docs/utils/ComponentList.jsx +17 -0
- package/src/templates/PageContent/PageContent.stories.js +1 -1
- package/src/templates/PageEventDetail/PageEventDetail.stories.js +1 -1
- package/src/templates/PageNewsDetail/PageNewsDetail.stories.js +8 -8
- package/src/templates/edu/PageEduNewsDetail.stories.js +8 -3
- package/src/templates/edu/PageEduNewsDetail.vue +2 -2
- package/src/components/BaseCheckboxGroup/BaseCheckboxGroup.stories.mdx +0 -68
- package/src/components/BaseRadioGroup/BaseRadioGroup.stories.mdx +0 -68
- package/src/components/BaseSwimlane/BaseSwimlane.stories.mdx +0 -64
- package/src/components/SwimlaneCTA/SwimlaneCTA.stories.mdx +0 -77
|
@@ -1,6 +1,41 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { ref, onMounted } from 'vue'
|
|
3
|
+
import IconSearch from './../Icons/IconSearch.vue'
|
|
4
|
+
|
|
5
|
+
interface SearchInputProps {
|
|
6
|
+
underlinedInput?: boolean
|
|
7
|
+
underlinedInputValue?: string
|
|
8
|
+
placeholder?: string
|
|
9
|
+
autoFocus?: boolean
|
|
10
|
+
defaultColors?: boolean
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// define props
|
|
14
|
+
const props = withDefaults(defineProps<SearchInputProps>(), {
|
|
15
|
+
underlinedInput: false,
|
|
16
|
+
underlinedInputValue: undefined,
|
|
17
|
+
placeholder: '',
|
|
18
|
+
autoFocus: false,
|
|
19
|
+
defaultColors: true
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
const emit = defineEmits(['input', 'esc'])
|
|
23
|
+
|
|
24
|
+
const model = defineModel()
|
|
25
|
+
const isFocused = ref(false)
|
|
26
|
+
const searchQueryRef = ref(undefined)
|
|
27
|
+
|
|
28
|
+
onMounted(() => {
|
|
29
|
+
if (props.autoFocus && searchQueryRef.value) {
|
|
30
|
+
const inputField = searchQueryRef.value as HTMLElement
|
|
31
|
+
inputField.focus()
|
|
32
|
+
isFocused.value = true
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
</script>
|
|
1
36
|
<template>
|
|
2
37
|
<!--
|
|
3
|
-
A somewhat generic component that can be used for
|
|
38
|
+
A somewhat generic component that can be used for handling search input
|
|
4
39
|
We do this in at least two places:
|
|
5
40
|
* on pages (such as the search page and listing pages)
|
|
6
41
|
* for site-wide search -->
|
|
@@ -48,41 +83,6 @@
|
|
|
48
83
|
/>
|
|
49
84
|
</div>
|
|
50
85
|
</template>
|
|
51
|
-
<script setup lang="ts">
|
|
52
|
-
import { ref, onMounted } from 'vue'
|
|
53
|
-
import IconSearch from './../Icons/IconSearch.vue'
|
|
54
|
-
|
|
55
|
-
interface SearchInputProps {
|
|
56
|
-
underlinedInput?: boolean
|
|
57
|
-
underlinedInputValue?: string
|
|
58
|
-
placeholder?: string
|
|
59
|
-
autoFocus?: boolean
|
|
60
|
-
defaultColors?: boolean
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// define props
|
|
64
|
-
const props = withDefaults(defineProps<SearchInputProps>(), {
|
|
65
|
-
underlinedInput: false,
|
|
66
|
-
underlinedInputValue: undefined,
|
|
67
|
-
placeholder: '',
|
|
68
|
-
autoFocus: false,
|
|
69
|
-
defaultColors: true
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
const emit = defineEmits(['input', 'esc'])
|
|
73
|
-
|
|
74
|
-
const model = defineModel()
|
|
75
|
-
const isFocused = ref(false)
|
|
76
|
-
const searchQueryRef = ref(undefined)
|
|
77
|
-
|
|
78
|
-
onMounted(() => {
|
|
79
|
-
if (props.autoFocus && searchQueryRef.value) {
|
|
80
|
-
const inputField = searchQueryRef.value as HTMLElement
|
|
81
|
-
inputField.focus()
|
|
82
|
-
isFocused.value = true
|
|
83
|
-
}
|
|
84
|
-
})
|
|
85
|
-
</script>
|
|
86
86
|
<style lang="scss" scoped>
|
|
87
87
|
.custom-focus {
|
|
88
88
|
input {
|
|
@@ -36,7 +36,7 @@ export const SearchResultCardData = {
|
|
|
36
36
|
featured: false
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
export const
|
|
39
|
+
export const BaseStory = { name: 'Standard Result', args: SearchResultCardData }
|
|
40
40
|
|
|
41
41
|
export const FeaturedResult = {
|
|
42
42
|
args: { ...SearchResultCardData, featured: true }
|
|
@@ -46,7 +46,8 @@ export const SearchResultGridCardData = {
|
|
|
46
46
|
headingLevel: 'h2'
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export const
|
|
49
|
+
export const BaseStory = {
|
|
50
|
+
name: 'Standard Result',
|
|
50
51
|
args: {
|
|
51
52
|
...SearchResultGridCardData.page,
|
|
52
53
|
pageContentType: SearchResultGridCardData.page.content_type
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ShareButtons from './ShareButtons.vue'
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
|
-
title: 'Components/ShareButtons',
|
|
4
|
+
title: 'Components/Utilities/ShareButtons',
|
|
5
5
|
component: ShareButtons,
|
|
6
6
|
excludeStories: /.*Data$/
|
|
7
7
|
}
|
|
@@ -13,4 +13,4 @@ export const BlockShareButtonsData = {
|
|
|
13
13
|
inline: false
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
export const
|
|
16
|
+
export const BaseStory = { args: BlockShareButtonsData }
|
|
@@ -5,8 +5,8 @@ export default {
|
|
|
5
5
|
component: ShareButtonsEdu
|
|
6
6
|
}
|
|
7
7
|
|
|
8
|
-
export const
|
|
9
|
-
name: '
|
|
8
|
+
export const BaseStory = {
|
|
9
|
+
name: 'ShareButtonsEdu',
|
|
10
10
|
args: {
|
|
11
11
|
url: 'https://jpl.nasa.gov/edu/news/nasas-ingenuity-mars-helicopter-recharges-its-batteries-in-flight',
|
|
12
12
|
title: "NASA's Ingenuity Mars Helicopter Recharges Its Batteries in Flight"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import SkipLink from './SkipLink.vue'
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
|
-
title: '
|
|
4
|
+
title: 'Navigation/Elements/SkipLink',
|
|
5
5
|
component: SkipLink,
|
|
6
6
|
excludeStories: /.*Data$/
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export const
|
|
9
|
+
export const BaseStory = {}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import SwimlaneCTA from './SwimlaneCTA.vue'
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Components/WWW/SwimlaneCTA',
|
|
5
|
+
component: SwimlaneCTA,
|
|
6
|
+
parameters: {
|
|
7
|
+
docs: {
|
|
8
|
+
description: {
|
|
9
|
+
component: `The SwimlaneCTA component combines BaseSwimlane with other elements (JPL logo, links, etc.) to create the component that is used on the WWW homepage.`
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// stories
|
|
16
|
+
export const BaseStory = {
|
|
17
|
+
args: {
|
|
18
|
+
darkMode: true,
|
|
19
|
+
targetLink: 'https://jpl.nasa.gov/about',
|
|
20
|
+
backgroundImages: [
|
|
21
|
+
'https://picsum.photos/1380/540?random=1',
|
|
22
|
+
'https://picsum.photos/1380/540?random=2',
|
|
23
|
+
'https://picsum.photos/1380/540?random=3',
|
|
24
|
+
'https://picsum.photos/1380/540?random=4',
|
|
25
|
+
'https://picsum.photos/1380/540?random=5'
|
|
26
|
+
],
|
|
27
|
+
backgroundImagesSmall: [
|
|
28
|
+
'https://picsum.photos/1380/540?random=1',
|
|
29
|
+
'https://picsum.photos/1380/540?random=2',
|
|
30
|
+
'https://picsum.photos/1380/540?random=3',
|
|
31
|
+
'https://picsum.photos/1380/540?random=4',
|
|
32
|
+
'https://picsum.photos/1380/540?random=5'
|
|
33
|
+
],
|
|
34
|
+
words: [
|
|
35
|
+
'Artists',
|
|
36
|
+
'Communicators',
|
|
37
|
+
'Designers',
|
|
38
|
+
'Disruptors',
|
|
39
|
+
'Dreamers',
|
|
40
|
+
'Developers',
|
|
41
|
+
'Educators',
|
|
42
|
+
'Engineers',
|
|
43
|
+
'Innovators',
|
|
44
|
+
'Inventors',
|
|
45
|
+
'Makers',
|
|
46
|
+
'Problem Solvers',
|
|
47
|
+
'Roboticists',
|
|
48
|
+
'Scientists',
|
|
49
|
+
'Software Engineers',
|
|
50
|
+
'Thinkers',
|
|
51
|
+
'Visualizers'
|
|
52
|
+
],
|
|
53
|
+
rows: 9,
|
|
54
|
+
transitionDuration: 1800,
|
|
55
|
+
transitionDelay: 800
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
>
|
|
17
17
|
<div class="absolute inset-0 z-10 bg-black bg-opacity-25"></div>
|
|
18
18
|
<div
|
|
19
|
-
class="lg:pr-12 lg:py-5 lg:flex-row relative z-20 flex flex-col justify-center w-full px-5 py-6"
|
|
19
|
+
class="lg:pr-12 lg:py-5 lg:flex-row relative z-20 flex flex-col justify-center w-full px-5 py-6 font-primary"
|
|
20
20
|
>
|
|
21
21
|
<div class="lg:flex-row lg:pr-3 lg:pb-0 flex flex-col items-center justify-center pb-2">
|
|
22
22
|
<div class="text-contrast relative z-20 p-2 pl-0">
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<img
|
|
25
25
|
loading="lazy"
|
|
26
26
|
class="lg:pr-1 h-8 w-auto"
|
|
27
|
-
src="
|
|
27
|
+
:src="jplLogoSFFF"
|
|
28
28
|
alt="JPL Logo"
|
|
29
29
|
width="106"
|
|
30
30
|
height="32"
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
<img
|
|
35
35
|
loading="lazy"
|
|
36
36
|
class="lg:pr-1 h-8 w-auto"
|
|
37
|
-
src="
|
|
37
|
+
:src="jplLogo222"
|
|
38
38
|
alt="JPL Logo"
|
|
39
39
|
width="111"
|
|
40
40
|
height="32"
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
<img
|
|
75
75
|
loading="lazy"
|
|
76
76
|
class="lg:pr-1 h-8 w-auto"
|
|
77
|
-
src="
|
|
77
|
+
:src="jplLogoFFF"
|
|
78
78
|
alt="JPL Logo"
|
|
79
79
|
width="106"
|
|
80
80
|
height="32"
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
<img
|
|
85
85
|
loading="lazy"
|
|
86
86
|
class="lg:pr-1 h-8 w-auto"
|
|
87
|
-
src="
|
|
87
|
+
:src="jplLogo222"
|
|
88
88
|
alt="JPL Logo"
|
|
89
89
|
width="111"
|
|
90
90
|
height="32"
|
|
@@ -118,6 +118,10 @@
|
|
|
118
118
|
|
|
119
119
|
<script lang="ts">
|
|
120
120
|
import { defineComponent } from 'vue'
|
|
121
|
+
import jplLogoSFFF from '@explorer-1/common/src/images/png/brand-jpl-logo-FFFFFF-S-94h28w@2x.png'
|
|
122
|
+
import jplLogoFFF from '@explorer-1/common/src/images/png/brand-jpl-logo-FFFFFF-94h28w@2x.png'
|
|
123
|
+
import jplLogo222 from '@explorer-1/common/src/images/png/brand-jpl-logo-222222-94h28w@2x.png'
|
|
124
|
+
|
|
121
125
|
import BaseLink from './../BaseLink/BaseLink.vue'
|
|
122
126
|
import BaseSwimlane from './../BaseSwimlane/BaseSwimlane.vue'
|
|
123
127
|
|
|
@@ -183,6 +187,9 @@ export default defineComponent({
|
|
|
183
187
|
},
|
|
184
188
|
data() {
|
|
185
189
|
return {
|
|
190
|
+
jplLogoFFF: jplLogoFFF,
|
|
191
|
+
jplLogo222: jplLogo222,
|
|
192
|
+
jplLogoSFFF: jplLogoSFFF,
|
|
186
193
|
mobileRows: 2,
|
|
187
194
|
desktopRows: 9,
|
|
188
195
|
mobileScale: 1.9,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import TextArea from './TextArea.vue'
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Components/Forms/TextArea',
|
|
5
|
+
component: TextArea
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// stories
|
|
9
|
+
export const BaseStory = {
|
|
10
|
+
args: {
|
|
11
|
+
inputName: 'message',
|
|
12
|
+
required: true,
|
|
13
|
+
label: 'Your Message',
|
|
14
|
+
placeholder: 'Enter your message here',
|
|
15
|
+
rows: 10
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const HiddenLabel = {
|
|
20
|
+
name: 'Hidden Label',
|
|
21
|
+
args: {
|
|
22
|
+
inputName: 'message',
|
|
23
|
+
label: 'Your Message',
|
|
24
|
+
showLabel: false,
|
|
25
|
+
required: false,
|
|
26
|
+
placeholder: 'Your message here'
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { ref, computed } from 'vue'
|
|
3
|
+
interface TextAreaProps {
|
|
4
|
+
inputName: string
|
|
5
|
+
label: string
|
|
6
|
+
cols?: number
|
|
7
|
+
rows?: number
|
|
8
|
+
required?: boolean
|
|
9
|
+
showLabel?: boolean
|
|
10
|
+
placeholder?: string
|
|
11
|
+
labelClass?: string
|
|
12
|
+
inputClass?: string
|
|
13
|
+
}
|
|
14
|
+
// define props
|
|
15
|
+
const props = withDefaults(defineProps<TextAreaProps>(), {
|
|
16
|
+
cols: undefined,
|
|
17
|
+
rows: 4,
|
|
18
|
+
required: false,
|
|
19
|
+
label: undefined,
|
|
20
|
+
showLabel: true,
|
|
21
|
+
placeholder: undefined,
|
|
22
|
+
labelClass: undefined,
|
|
23
|
+
inputClass: undefined
|
|
24
|
+
})
|
|
25
|
+
const emit = defineEmits(['input', 'esc'])
|
|
26
|
+
|
|
27
|
+
const model = defineModel({ type: String })
|
|
28
|
+
const TextAreaRef = ref(undefined)
|
|
29
|
+
const isFocused = ref(false)
|
|
30
|
+
|
|
31
|
+
const inputId = computed(() => {
|
|
32
|
+
return `${props.inputName}_input`
|
|
33
|
+
})
|
|
34
|
+
const labelId = computed(() => {
|
|
35
|
+
return `${inputId.value}_label`
|
|
36
|
+
})
|
|
37
|
+
</script>
|
|
38
|
+
<template>
|
|
39
|
+
<div>
|
|
40
|
+
<label
|
|
41
|
+
v-if="props.showLabel"
|
|
42
|
+
:id="labelId"
|
|
43
|
+
:for="inputId"
|
|
44
|
+
:class="props.labelClass ? props.labelClass : 'block text-subtitle text-gray-dark mb-2'"
|
|
45
|
+
>
|
|
46
|
+
{{ props.label }}
|
|
47
|
+
<template v-if="props.required">
|
|
48
|
+
<span class="text-error">*</span>
|
|
49
|
+
</template>
|
|
50
|
+
</label>
|
|
51
|
+
<textarea
|
|
52
|
+
:id="inputId"
|
|
53
|
+
ref="TextAreaRef"
|
|
54
|
+
v-model="model"
|
|
55
|
+
:cols="props.cols"
|
|
56
|
+
:rows="props.rows"
|
|
57
|
+
:name="props.inputName"
|
|
58
|
+
:required="props.required"
|
|
59
|
+
:placeholder="props.placeholder"
|
|
60
|
+
:aria-required="props.required"
|
|
61
|
+
:aria-labelledby="props.showLabel ? labelId : undefined"
|
|
62
|
+
:aria-label="!props.showLabel ? props.label : undefined"
|
|
63
|
+
:class="
|
|
64
|
+
props.inputClass
|
|
65
|
+
? props.inputClass
|
|
66
|
+
: 'border-gray-light-mid w-full px-4 py-3 border mt-2 focus:border-focus-blue focus:shadow-jpl'
|
|
67
|
+
"
|
|
68
|
+
@keydown.esc="emit('esc')"
|
|
69
|
+
@input="emit('input', $event.target)"
|
|
70
|
+
@focus="isFocused = true"
|
|
71
|
+
@blur="isFocused = false"
|
|
72
|
+
></textarea>
|
|
73
|
+
</div>
|
|
74
|
+
</template>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import TextInput from './TextInput.vue'
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Components/Forms/TextInput',
|
|
5
|
+
component: TextInput
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// stories
|
|
9
|
+
export const BaseStory = {
|
|
10
|
+
args: {
|
|
11
|
+
inputName: 'name',
|
|
12
|
+
type: 'text',
|
|
13
|
+
required: true,
|
|
14
|
+
label: 'Your Name',
|
|
15
|
+
ariaLabel: 'Your Name',
|
|
16
|
+
placeholder: 'Enter your name here',
|
|
17
|
+
autofocus: true
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const HiddenLabel = {
|
|
22
|
+
args: {
|
|
23
|
+
inputName: 'name',
|
|
24
|
+
type: 'text',
|
|
25
|
+
required: false,
|
|
26
|
+
placeholder: 'Your name here',
|
|
27
|
+
label: 'Name',
|
|
28
|
+
showLabel: false
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { ref, onMounted, computed } from 'vue'
|
|
3
|
+
interface TextInputProps {
|
|
4
|
+
inputName: string
|
|
5
|
+
type?: string
|
|
6
|
+
required?: boolean
|
|
7
|
+
label: string
|
|
8
|
+
showLabel?: boolean
|
|
9
|
+
placeholder?: string
|
|
10
|
+
maxlength?: string
|
|
11
|
+
pattern?: string
|
|
12
|
+
title?: string
|
|
13
|
+
autofocus?: boolean
|
|
14
|
+
labelClass?: string
|
|
15
|
+
inputClass?: string
|
|
16
|
+
}
|
|
17
|
+
// define props
|
|
18
|
+
const props = withDefaults(defineProps<TextInputProps>(), {
|
|
19
|
+
type: 'text',
|
|
20
|
+
showLabel: true,
|
|
21
|
+
required: false,
|
|
22
|
+
placeholder: undefined,
|
|
23
|
+
autoFocus: false,
|
|
24
|
+
maxlength: undefined,
|
|
25
|
+
pattern: undefined,
|
|
26
|
+
title: undefined,
|
|
27
|
+
labelClass: undefined,
|
|
28
|
+
inputClass: undefined
|
|
29
|
+
})
|
|
30
|
+
const emit = defineEmits(['input', 'esc'])
|
|
31
|
+
|
|
32
|
+
const model = defineModel({ type: String })
|
|
33
|
+
const TextInputRef = ref(undefined)
|
|
34
|
+
const isFocused = ref(false)
|
|
35
|
+
|
|
36
|
+
const inputId = computed(() => {
|
|
37
|
+
return `${props.inputName}_input`
|
|
38
|
+
})
|
|
39
|
+
const labelId = computed(() => {
|
|
40
|
+
return `${inputId.value}_label`
|
|
41
|
+
})
|
|
42
|
+
onMounted(() => {
|
|
43
|
+
if (props.autoFocus && TextInputRef.value) {
|
|
44
|
+
const inputField = TextInputRef.value as HTMLInputElement
|
|
45
|
+
inputField.focus()
|
|
46
|
+
isFocused.value = true
|
|
47
|
+
}
|
|
48
|
+
})
|
|
49
|
+
</script>
|
|
50
|
+
<template>
|
|
51
|
+
<div>
|
|
52
|
+
<label
|
|
53
|
+
v-if="props.showLabel"
|
|
54
|
+
:id="labelId"
|
|
55
|
+
:for="inputId"
|
|
56
|
+
:class="props.labelClass ? props.labelClass : 'block text-subtitle text-gray-dark'"
|
|
57
|
+
>{{ props.label }}
|
|
58
|
+
<template v-if="props.required">
|
|
59
|
+
<span class="text-error">*</span>
|
|
60
|
+
</template></label
|
|
61
|
+
>
|
|
62
|
+
<input
|
|
63
|
+
:id="inputId"
|
|
64
|
+
ref="TextInputRef"
|
|
65
|
+
v-model="model"
|
|
66
|
+
:name="props.inputName"
|
|
67
|
+
:type="props.type"
|
|
68
|
+
:required="props.required"
|
|
69
|
+
:title="props.title"
|
|
70
|
+
:placeholder="props.placeholder"
|
|
71
|
+
:maxlength="props.maxlength"
|
|
72
|
+
:pattern="props.pattern"
|
|
73
|
+
:aria-required="props.required"
|
|
74
|
+
:aria-labelledby="props.showLabel ? labelId : undefined"
|
|
75
|
+
:aria-label="!props.showLabel ? props.label : undefined"
|
|
76
|
+
:class="
|
|
77
|
+
props.inputClass
|
|
78
|
+
? props.inputClass
|
|
79
|
+
: 'border-gray-light-mid w-full px-4 py-3 border mt-2 focus:border-focus-blue focus:shadow-jpl'
|
|
80
|
+
"
|
|
81
|
+
@keydown.esc="emit('esc')"
|
|
82
|
+
@input="emit('input', $event.target)"
|
|
83
|
+
@focus="isFocused = true"
|
|
84
|
+
@blur="isFocused = false"
|
|
85
|
+
/>
|
|
86
|
+
</div>
|
|
87
|
+
</template>
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import TheFooter from './TheFooter.vue'
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
|
-
title: '
|
|
4
|
+
title: 'Navigation/Footers/External Footer',
|
|
5
5
|
component: TheFooter,
|
|
6
6
|
excludeStories: /.*Data$/,
|
|
7
7
|
parameters: {
|
|
8
|
-
|
|
8
|
+
docs: {
|
|
9
|
+
description: {
|
|
10
|
+
component:
|
|
11
|
+
'This component can be used for any external footer. Its styles will change based on the theme being used.'
|
|
12
|
+
}
|
|
13
|
+
}
|
|
9
14
|
}
|
|
10
15
|
}
|
|
11
16
|
|
|
@@ -594,7 +599,7 @@ export const TheFooterData = {
|
|
|
594
599
|
]
|
|
595
600
|
}
|
|
596
601
|
|
|
597
|
-
export const
|
|
602
|
+
export const BaseStory = {
|
|
598
603
|
args: {
|
|
599
604
|
data: TheFooterData,
|
|
600
605
|
commitSha: 'commit no.'
|
|
@@ -36,24 +36,30 @@
|
|
|
36
36
|
</div>
|
|
37
37
|
<TheFooterSignUp class="lg:mb-10 mb-8" />
|
|
38
38
|
<!-- social media -->
|
|
39
|
-
<div class="text-subtitle text-blue edu:text-white lg:mb-5 mb-3">
|
|
39
|
+
<div class="text-subtitle text-blue edu:text-white lg:mb-5 mb-3">
|
|
40
|
+
<template v-if="themeStore.theme === 'ThemeEdu'"> Follow JPL Education </template>
|
|
41
|
+
<template v-else> Follow Us </template>
|
|
42
|
+
</div>
|
|
40
43
|
<NavSocial
|
|
41
44
|
class="lg:mb-14 mb-12"
|
|
42
45
|
dark
|
|
46
|
+
:edu="themeStore.theme === 'ThemeEdu'"
|
|
43
47
|
/>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
48
|
+
<template v-if="themeStore.theme === 'defaultTheme'">
|
|
49
|
+
<!-- caltech aside -->
|
|
50
|
+
<BaseLink
|
|
51
|
+
variant="none"
|
|
52
|
+
href="https://caltech.edu"
|
|
53
|
+
aria-label="Caltech"
|
|
54
|
+
class="lg:mb-8 mb-5"
|
|
55
|
+
link-class="inline-block"
|
|
56
|
+
>
|
|
57
|
+
<LogoCaltech class="lg:text-base text-sm text-white" />
|
|
58
|
+
</BaseLink>
|
|
59
|
+
<p class="mb-12">
|
|
60
|
+
JPL is a federally funded research and development center managed for NASA by Caltech.
|
|
61
|
+
</p>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
</div>
|
|
59
65
|
<!-- more from JPL buttons / links -->
|
|
@@ -94,7 +100,12 @@
|
|
|
94
100
|
<div class="bg-opacity-15 lg:py-16 lg:mt-10 pt-10 pb-3 mt-8 bg-black">
|
|
95
101
|
<div class="3xl:px-0 container px-4 mx-auto">
|
|
96
102
|
<div v-if="data && data.relatedNasaSites">
|
|
97
|
-
<div class="text-subtitle text-blue edu:text-white mb-5">
|
|
103
|
+
<div class="text-subtitle text-blue edu:text-white mb-5">
|
|
104
|
+
<template v-if="themeStore.theme === 'ThemeEdu'">
|
|
105
|
+
Related NASA Education Sites
|
|
106
|
+
</template>
|
|
107
|
+
<template v-else> Related NASA Sites </template>
|
|
108
|
+
</div>
|
|
98
109
|
<div class="auto-col-4">
|
|
99
110
|
<BaseLink
|
|
100
111
|
v-for="(item, index) in data.relatedNasaSites"
|
|
@@ -168,6 +179,8 @@
|
|
|
168
179
|
<script lang="ts">
|
|
169
180
|
// @ts-nocheck
|
|
170
181
|
import { defineComponent } from 'vue'
|
|
182
|
+
import { mapStores } from 'pinia'
|
|
183
|
+
import { useThemeStore } from './../../store/theme'
|
|
171
184
|
import { mixinGetRouterLink, mixinGetLinkText } from './../../utils/mixins'
|
|
172
185
|
import BaseLink from './../BaseLink/BaseLink.vue'
|
|
173
186
|
import BaseButton from './../BaseButton/BaseButton.vue'
|
|
@@ -202,6 +215,9 @@ export default defineComponent({
|
|
|
202
215
|
getRouterLink(link) {
|
|
203
216
|
return mixinGetRouterLink(link)
|
|
204
217
|
}
|
|
218
|
+
},
|
|
219
|
+
computed: {
|
|
220
|
+
...mapStores(useThemeStore)
|
|
205
221
|
}
|
|
206
222
|
})
|
|
207
223
|
</script>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ThumbnailCarousel from './ThumbnailCarousel.vue'
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
|
-
title: 'Components/ThumbnailCarousel',
|
|
4
|
+
title: 'Components/Utilities/ThumbnailCarousel',
|
|
5
5
|
component: ThumbnailCarousel,
|
|
6
6
|
parameters: {
|
|
7
7
|
docs: {
|
|
@@ -103,4 +103,4 @@ export const ThumbnailCarouselData = {
|
|
|
103
103
|
]
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
export const
|
|
106
|
+
export const BaseStory = { args: ThumbnailCarouselData }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import TopicDetailMissionCarousel from './TopicDetailMissionCarousel.vue'
|
|
2
2
|
export default {
|
|
3
|
-
title: 'WWW/TopicDetail/MissionCarousel/TopicDetailMissionCarousel',
|
|
3
|
+
title: 'Components/WWW/TopicDetail/MissionCarousel/TopicDetailMissionCarousel',
|
|
4
4
|
component: TopicDetailMissionCarousel,
|
|
5
5
|
excludeStories: /.*Data$/
|
|
6
6
|
}
|
|
@@ -83,7 +83,7 @@ export const TopicDetailMissionCarouselData = [
|
|
|
83
83
|
}
|
|
84
84
|
]
|
|
85
85
|
// stories
|
|
86
|
-
export const
|
|
86
|
+
export const BaseStory = {
|
|
87
87
|
args: {
|
|
88
88
|
title: 'Mars',
|
|
89
89
|
relatedMissionsLinkUrl: 'http://localhost:3000/missions?mission_target=Mars',
|