@explorer-1/vue 0.3.4 → 0.3.7
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/CHANGELOG.md +19 -0
- package/package.json +2 -2
- package/src/components/AboutTheAuthor/AboutTheAuthor.stories.js +1 -1
- package/src/components/AboutTheAuthor/AboutTheAuthor.vue +9 -9
- package/src/components/AsteroidWatchWidget/AsteroidWatchWidget.stories.js +2 -7
- package/src/components/AsteroidWatchWidget/AsteroidWatchWidget.vue +5 -1
- package/src/components/BackToTop/BackToTop.stories.js +1 -1
- package/src/components/BackToTop/BackToTop.vue +10 -0
- package/src/components/BaseAccordionItem/BaseAccordionItem.stories.js +24 -4
- package/src/components/BaseAccordionItem/BaseAccordionItem.vue +56 -17
- package/src/components/BaseAudio/BaseAudio.stories.js +4 -6
- package/src/components/BaseAudio/BaseAudio.vue +6 -0
- package/src/components/BaseButton/BaseButton.stories.ts +12 -23
- package/src/components/BaseButton/BaseButton.vue +34 -10
- package/src/components/BaseCheckboxGroup/BaseCheckboxGroup.stories.js +2 -1
- package/src/components/BaseCheckboxGroup/BaseCheckboxGroup.vue +5 -0
- package/src/components/BaseHeading/BaseHeading.stories.js +9 -17
- package/src/components/BaseHeading/BaseHeading.vue +18 -8
- package/src/components/BaseImage/BaseImage.stories.ts +7 -17
- package/src/components/BaseImage/BaseImage.vue +26 -14
- package/src/components/BaseImageCaption/BaseImageCaption.stories.js +11 -0
- package/src/components/BaseImageCaption/BaseImageCaption.vue +10 -6
- package/src/components/BaseImagePlaceholder/BaseImagePlaceholder.stories.js +13 -15
- package/src/components/BaseImagePlaceholder/BaseImagePlaceholder.vue +13 -9
- package/src/components/BaseLink/BaseLink.stories.js +8 -7
- package/src/components/BaseLink/BaseLink.vue +32 -21
- package/src/components/BaseModal/BaseModal.stories.js +4 -7
- package/src/components/BaseModal/BaseModal.vue +1 -0
- package/src/components/BaseModal/BaseModalDialog.vue +1 -6
- package/src/components/BasePill/BasePill.stories.js +8 -22
- package/src/components/BasePill/BasePill.vue +36 -19
- package/src/components/BasePlaceholder/BasePlaceholder.stories.js +4 -7
- package/src/components/BasePlaceholder/BasePlaceholder.vue +1 -1
- package/src/components/BaseRadioGroup/BaseRadioGroup.stories.js +1 -0
- package/src/components/BaseRadioGroup/BaseRadioGroup.vue +9 -2
- package/src/components/BaseSwimlane/BaseSwimlane.stories.js +2 -1
- package/src/components/BaseSwimlane/BaseSwimlane.vue +2 -0
- package/src/components/BaseTimer/BaseTimer.stories.js +7 -2
- package/src/components/BaseTimer/BaseTimer.vue +4 -2
- package/src/components/BaseUnitToggle/BaseUnitToggle.stories.js +1 -16
- package/src/components/BaseUnitToggle/BaseUnitToggle.vue +4 -0
- package/src/components/BaseVideo/BaseVideo.vue +7 -3
- package/src/components/BlockAccordion/BlockAccordion.stories.js +4 -2
- package/src/components/BlockAccordion/BlockAccordion.vue +3 -3
- package/src/components/BlockAudio/BlockAudio.stories.js +1 -0
- package/src/components/BlockAudio/BlockAudio.vue +11 -3
- package/src/components/BlockCardGrid/BlockCardGrid.stories.js +1 -1
- package/src/components/BlockCardGrid/BlockCardGrid.vue +1 -1
- package/src/components/BlockCardGridItem/BlockCardGridItem.stories.js +3 -3
- package/src/components/BlockCardGridItem/BlockCardGridItemElement.vue +1 -1
- package/src/components/BlockCircleImageCard/BlockCircleImageCard.stories.js +3 -9
- package/src/components/BlockCsrTable/BlockCsrTable.stories.js +1 -0
- package/src/components/BlockCsrTable/BlockCsrTable.vue +1 -1
- package/src/components/BlockCta/BlockCta.stories.js +1 -0
- package/src/components/BlockCta/BlockCta.vue +9 -2
- package/src/components/BlockDialog/BlockDialog.stories.js +2 -1
- package/src/components/BlockGist/BlockGist.stories.js +3 -2
- package/src/components/BlockGist/BlockGist.vue +8 -6
- package/src/components/BlockHeading/BlockHeading.stories.js +1 -0
- package/src/components/BlockIframeEmbed/BlockIframeEmbed.stories.js +3 -2
- package/src/components/BlockIframeEmbed/BlockIframeEmbed.vue +9 -2
- package/src/components/BlockImage/BlockImage.stories.js +1 -5
- package/src/components/BlockImage/BlockImage.vue +5 -2
- package/src/components/BlockImageCarousel/BlockImageCarousel.stories.js +3 -15
- package/src/components/BlockImageCarousel/BlockImageCarousel.vue +2 -0
- package/src/components/BlockImageCarouselItem/BlockImageCarouselItem.stories.js +2 -16
- package/src/components/BlockImageCarouselItem/BlockImageCarouselItem.vue +7 -7
- package/src/components/BlockImageComparison/BlockImageComparison.stories.js +5 -3
- package/src/components/BlockImageComparison/BlockImageComparison.vue +11 -2
- package/src/components/BlockImageGallery/BlockImageGallery.stories.js +4 -11
- package/src/components/BlockImageGallery/BlockImageGallery.vue +5 -0
- package/src/components/BlockInlineImage/BlockInlineImage.stories.js +5 -2
- package/src/components/BlockInlineImage/BlockInlineImage.vue +20 -7
- package/src/components/BlockKeyPoints/BlockKeyPoints.stories.js +1 -0
- package/src/components/BlockKeyPoints/BlockKeyPoints.vue +12 -3
- package/src/components/BlockLinkCard/BlockLinkCard.stories.js +24 -34
- package/src/components/BlockLinkCard/BlockLinkCard.vue +28 -9
- package/src/components/BlockLinkCard/BlockLinkCardCollectionLg.vue +2 -2
- package/src/components/BlockLinkCardList/BlockLinkCardList.stories.js +1 -3
- package/src/components/BlockLinkCarousel/BlockLinkCarousel.stories.js +2 -14
- package/src/components/BlockLinkCarousel/BlockLinkCarousel.vue +8 -8
- package/src/components/BlockLinkTile/BlockLinkTile.stories.js +3 -13
- package/src/components/BlockLinkTile/BlockLinkTile.vue +26 -13
- package/src/components/BlockListCards/BlockListCards.stories.js +1 -0
- package/src/components/BlockListCards/BlockListCards.vue +5 -4
- package/src/components/BlockNewsletterSignup/BlockNewsletterSignup.stories.js +1 -0
- package/src/components/BlockNewsletterSignup/BlockNewsletterSignup.vue +3 -2
- package/src/components/BlockQuote/BlockQuote.stories.js +1 -0
- package/src/components/BlockQuote/BlockQuote.vue +3 -2
- package/src/components/BlockRelatedLinks/BlockRelatedLinks.stories.js +1 -0
- package/src/components/BlockRelatedLinks/BlockRelatedLinks.vue +6 -4
- package/src/components/BlockRichTable/BlockRichTable.stories.js +1 -1
- package/src/components/BlockRichTable/BlockRichTable.vue +23 -9
- package/src/components/BlockStreamfield/BlockStreamfield.stories.js +1 -11
- package/src/components/BlockStreamfield/BlockStreamfield.vue +34 -31
- package/src/components/BlockTeaser/BlockTeaser.stories.js +1 -0
- package/src/components/BlockTeaser/BlockTeaser.vue +20 -12
- package/src/components/BlockText/BlockText.stories.js +2 -9
- package/src/components/BlockText/BlockText.vue +21 -9
- package/src/components/BlockVideo/BlockVideo.stories.js +1 -0
- package/src/components/BlockVideo/BlockVideo.vue +14 -3
- package/src/components/BlockVideoEmbed/BlockVideoEmbed.stories.js +1 -0
- package/src/components/BlockVideoEmbed/BlockVideoEmbed.vue +6 -3
- package/src/components/CalendarButton/CalendarButton.vue +7 -0
- package/src/components/DetailHeadline/DetailHeadline.stories.js +2 -20
- package/src/components/DetailHeadline/DetailHeadline.vue +16 -4
- package/src/components/DsnWidget/DsnWidget.stories.js +2 -6
- package/src/components/DsnWidget/DsnWidget.vue +18 -4
- package/src/components/EventDetailHero/EventDetailHero.stories.js +10 -7
- package/src/components/EventDetailHero/EventDetailHero.vue +4 -7
- package/src/components/FormContact/FormContact.stories.js +2 -1
- package/src/components/FormNewsletterSignup/FormNewsletterSignup.stories.js +2 -1
- package/src/components/HeroInlineMedia/HeroInlineMedia.vue +12 -8
- package/src/components/HeroLarge/HeroLarge.stories.js +27 -2
- package/src/components/HeroLarge/HeroLarge.vue +12 -5
- package/src/components/HeroListingIndex/HeroListingIndex.stories.js +1 -0
- package/src/components/HeroListingIndex/HeroListingIndex.vue +18 -13
- package/src/components/HeroMedia/HeroMedia.stories.js +14 -9
- package/src/components/HeroMedia/HeroMedia.vue +9 -8
- package/src/components/HeroMedium/HeroMedium.stories.js +19 -4
- package/src/components/HeroMedium/HeroMedium.vue +32 -14
- package/src/components/HeroMedium/HeroSmall.stories.js +20 -6
- package/src/components/HomepageCarousel/HomepageCarousel.stories.js +1 -1
- package/src/components/HomepageCarouselItem/HomepageCarouselItem.stories.js +2 -2
- package/src/components/HomepageCarouselItem/HomepageCarouselItem.vue +2 -6
- package/src/components/HomepageEmbedBlock/HomepageEmbedBlock.vue +2 -2
- package/src/components/LogoCaltech/LogoCaltech.stories.js +14 -18
- package/src/components/LogoCaltech/LogoCaltech.vue +1 -0
- package/src/components/LogoTribrand/LogoTribrand.stories.js +66 -51
- package/src/components/LogoTribrand/LogoTribrand.vue +4 -2
- package/src/components/MetaPanel/MetaPanel.stories.js +5 -9
- package/src/components/MetaPanel/MetaPanel.vue +3 -0
- package/src/components/MetaPanelItems/MetaPanelItems.stories.js +9 -2
- package/src/components/MetaPanelItems/MetaPanelItems.vue +2 -0
- package/src/components/MetadataEduResource/MetadataEduResource.stories.js +12 -10
- package/src/components/MetadataEduResource/MetadataEduResource.vue +7 -3
- package/src/components/MetadataEvent/MetadataEvent.stories.js +1 -1
- package/src/components/MissionDetailAbout/MissionDetailAbout.vue +1 -1
- package/src/components/MissionDetailHero/MissionDetailHero.stories.js +2 -2
- package/src/components/MissionDetailHighlights/MissionDetailHighlights.stories.js +1 -0
- package/src/components/MissionDetailInlineImage/MissionDetailInlineImage.stories.js +1 -6
- package/src/components/MissionDetailInlineImage/MissionDetailInlineImage.vue +10 -5
- package/src/components/MissionDetailStats/DistanceStats.vue +10 -5
- package/src/components/MissionDetailStats/MissionDetailStats.stories.js +4 -21
- package/src/components/MissionDetailStats/MissionDetailStats.vue +21 -5
- package/src/components/MissionDetailStreamfield/MissionDetailStreamfield.vue +4 -2
- package/src/components/MixinAnimationCaret/MixinAnimationCaret.stories.ts +7 -0
- package/src/components/MixinAnimationCaret/MixinAnimationCaret.vue +12 -6
- package/src/components/MixinCarousel/MixinCarousel.stories.js +2 -8
- package/src/components/MixinCarousel/MixinCarousel.vue +13 -16
- package/src/components/MixinVideoBg/MixinVideoBg.stories.js +1 -1
- package/src/components/MixinVideoBg/MixinVideoBg.vue +4 -7
- package/src/components/NavDesktop/NavDesktop.stories.js +1 -0
- package/src/components/NavDesktop/NavDesktop.vue +4 -4
- package/src/components/NavDesktop/NavDesktopTopHat.vue +4 -4
- package/src/components/NavDesktopEdu/NavDesktopEdu.stories.js +1 -5
- package/src/components/NavDesktopEdu/NavDesktopEdu.vue +4 -4
- package/src/components/NavHeading/NavHeading.stories.js +3 -2
- package/src/components/NavHighlight/NavHighlight.stories.js +3 -2
- package/src/components/NavJumpMenu/NavJumpMenu.stories.js +5 -2
- package/src/components/NavLinkList/NavLinkList.stories.js +3 -2
- package/src/components/NavLinkList/NavLinkList.vue +3 -3
- package/src/components/NavLogoLinks/NavLogoLinks.stories.js +1 -0
- package/src/components/NavMobile/NavMobile.stories.js +13 -2
- package/src/components/NavMobile/NavMobile.vue +18 -5
- package/src/components/NavMobile/NavMobileDropdown.vue +2 -2
- package/src/components/NavMobile/NavMobileEdu.stories.js +11 -4
- package/src/components/NavMobile/NavMobileLink.vue +4 -4
- package/src/components/NavSearchForm/NavSearchForm.stories.js +1 -0
- package/src/components/NavSecondary/NavSecondary.stories.js +1 -0
- package/src/components/NavSecondary/NavSecondary.vue +7 -4
- package/src/components/NavSecondary/NavSecondaryDropdownContent.vue +1 -1
- package/src/components/NavSocial/NavSocial.stories.js +1 -0
- package/src/components/NewsDetailMediaContact/NewsDetailMediaContact.stories.js +2 -1
- package/src/components/NewsDetailMediaContact/NewsDetailMediaContact.vue +1 -1
- package/src/components/ParallaxContainer/ParallaxContainer.stories.js +2 -2
- package/src/components/ParallaxContainer/ParallaxContainer.vue +1 -0
- package/src/components/PodcastSeriesCarousel/PodcastSeriesCarousel.vue +6 -5
- package/src/components/RoboticsDetailStats/RoboticsDetailStats.stories.js +3 -8
- package/src/components/SearchFilterGroup/SearchFilterGroup.stories.js +1 -0
- package/src/components/SearchInput/SearchInput.stories.js +1 -0
- package/src/components/SearchPagination/SearchPagination.stories.js +1 -0
- package/src/components/SearchResultCard/SearchResultCard.stories.js +1 -10
- package/src/components/SearchResultCard/SearchResultCard.vue +1 -0
- package/src/components/SearchResultGridItem/SearchResultGridItem.stories.js +3 -12
- package/src/components/SearchResultGridItem/SearchResultGridItem.vue +5 -2
- package/src/components/SearchResultsList/SearchResultsList.stories.js +3 -3
- package/src/components/SearchSelectMenu/SearchSelectMenu.stories.js +2 -1
- package/src/components/SwimlaneCTA/SwimlaneCTA.vue +1 -0
- package/src/components/TextArea/TextArea.stories.js +2 -1
- package/src/components/TextInput/TextInput.stories.js +2 -1
- package/src/components/TheFooter/TheFooter.stories.js +1 -0
- package/src/components/TheFooter/TheFooter.vue +30 -4
- package/src/components/ThumbnailCarousel/ThumbnailCarousel.stories.js +1 -1
- package/src/components/ThumbnailCarousel/ThumbnailCarousel.vue +2 -1
- package/src/components/TimelineDialog/TimelineDialog.vue +2 -2
- package/src/components/TopicDetailMissionCarousel/TopicDetailMissionCarousel.stories.js +1 -0
- package/src/components/TopicDetailMissionCarouselItem/TopicDetailMissionCarouselItem.stories.js +2 -2
- package/src/components/TopicDetailMore/TopicDetailMore.stories.js +1 -0
- package/src/components/TopicDetailMoreItem/TopicDetailMoreItem.stories.js +3 -2
- package/src/components/TopicDetailStreamfield/TopicDetailStreamfield.vue +2 -2
- package/src/constants.ts +3 -5
- package/src/docs/foundation/grid_layouthelpers.stories.js +2 -2
- package/src/docs/introduction.docs.mdx +14 -2
- package/src/interfaces.ts +31 -6
- package/src/templates/PageAudioDetail/PageAudioDetail.vue +2 -2
- 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 +2 -2
- package/src/templates/edu/PageContentEdu.stories.js +2 -2
- package/src/templates/edu/PageEduCollectionsDetail/PageEduCollectionsDetail.stories.js +2 -2
- package/src/templates/edu/PageEduEventDetail/PageEduEventDetail.stories.js +1 -1
- package/src/templates/edu/PageEduExplainerArticle/PageEduExplainerArticle.stories.js +2 -2
- package/src/templates/edu/PageEduGalleryDetail/PageEduGalleryDetail.stories.js +1 -1
- package/src/templates/edu/PageEduGalleryDetail/PageEduGalleryDetail.vue +10 -6
- package/src/templates/edu/PageEduHome/PageEduHome.stories.js +1 -1
- package/src/templates/edu/PageEduLesson/PageEduLesson.stories.js +2 -2
- package/src/templates/edu/PageEduMultimediaDetail/PageEduMultimediaDetail.stories.js +1 -1
- package/src/templates/edu/PageEduNewsDetail/PageEduNewsDetail.stories.js +2 -2
- package/src/templates/edu/PageEduStudentProject/PageEduStudentProject.stories.js +2 -2
- package/src/templates/edu/PageEduStudentProject/PageEduStudentProjectSection.vue +10 -6
- package/src/templates/edu/PageEduTeachableMoment/PageEduTeachableMoment.stories.js +2 -2
- package/src/templates/www/PageAsteroidWatchContent/PageAsteroidWatchContent.stories.js +2 -2
- package/src/templates/www/PageAsteroidWatchIndex/PageAsteroidWatchIndex.stories.js +2 -2
- package/src/templates/www/PageGoDirectory/PageGoDirectory.stories.js +2 -2
- package/src/templates/www/PageHomepage/PageHomepage.stories.js +2 -2
- package/src/templates/www/PageMissionDetail/PageMissionDetail.stories.js +2 -2
- package/src/templates/www/PagePodcast/PagePodcast.stories.js +2 -2
- package/src/templates/www/PagePodcastSeason/PagePodcastSeason.stories.js +2 -2
- package/src/templates/www/PagePressKitIndex/PagePressKitIndex.stories.js +2 -2
- package/src/templates/www/PageProfileDetail/PageProfileDetail.stories.js +2 -2
- package/src/templates/www/PageRoboticsDetail/PageRoboticsDetail.stories.js +2 -2
- package/src/templates/www/PageTimeline/PageTimeline.stories.js +2 -2
- package/src/templates/www/PageTopicDetail/PageTopicDetail.stories.js +2 -2
- package/src/templates/www/PageTopicDetail/PageTopicDetail.vue +2 -1
- package/src/utils/mixins.ts +7 -7
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
v-else-if="block.blockType == 'InlineImageBlock'"
|
|
37
37
|
:key="`inlineImageBlock${index}`"
|
|
38
38
|
:class="seamlessText(index) ? 'lg:mb-8 mb-5' : marginBottom"
|
|
39
|
-
:data="block"
|
|
39
|
+
:data="block as BlockInlineImageData"
|
|
40
40
|
:variant="size"
|
|
41
41
|
/>
|
|
42
42
|
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
indent="col-3"
|
|
56
56
|
:class="marginBottom"
|
|
57
57
|
>
|
|
58
|
-
<BlockKeyPoints :data="block" />
|
|
58
|
+
<BlockKeyPoints :data="block as BlockKeyPointsData" />
|
|
59
59
|
</LayoutHelper>
|
|
60
60
|
|
|
61
61
|
<LayoutHelper
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
indent="col-4"
|
|
74
74
|
:class="marginBottom"
|
|
75
75
|
>
|
|
76
|
-
<BlockCta :data="block" />
|
|
76
|
+
<BlockCta :data="block as BlockCtaData" />
|
|
77
77
|
</LayoutHelper>
|
|
78
78
|
<LayoutHelper
|
|
79
79
|
v-else-if="block.blockType == 'NewsletterSignupBlock'"
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
:class="marginBottom"
|
|
92
92
|
>
|
|
93
93
|
<BlockTeaser
|
|
94
|
-
:
|
|
94
|
+
:label="block.customLabel"
|
|
95
95
|
:heading="block.heading"
|
|
96
96
|
:introduction="block.introduction"
|
|
97
97
|
:button-text="block.buttonText"
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
indent="col-2"
|
|
135
135
|
:class="marginBottom"
|
|
136
136
|
>
|
|
137
|
-
<BlockVideo :data="block" />
|
|
137
|
+
<BlockVideo :data="block as BlockVideoData" />
|
|
138
138
|
</LayoutHelper>
|
|
139
139
|
|
|
140
140
|
<LayoutHelper
|
|
@@ -143,14 +143,14 @@
|
|
|
143
143
|
indent="col-2"
|
|
144
144
|
:class="marginBottom"
|
|
145
145
|
>
|
|
146
|
-
<BlockVideoEmbed :data="block as unknown as
|
|
146
|
+
<BlockVideoEmbed :data="block as unknown as BlockVideoEmbedData" />
|
|
147
147
|
</LayoutHelper>
|
|
148
148
|
|
|
149
149
|
<BlockImage
|
|
150
150
|
v-else-if="block.blockType == 'FullBleedImageBlock'"
|
|
151
151
|
:key="`fullBleedImageBlock${index}`"
|
|
152
152
|
:class="marginBottom"
|
|
153
|
-
:data="block"
|
|
153
|
+
:data="block as ImageBlock"
|
|
154
154
|
:full-bleed="block.fullBleed"
|
|
155
155
|
/>
|
|
156
156
|
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
indent="col-2"
|
|
161
161
|
:class="marginBottom"
|
|
162
162
|
>
|
|
163
|
-
<BlockImageComparison :data="block" />
|
|
163
|
+
<BlockImageComparison :data="block as BlockImageComparisonData" />
|
|
164
164
|
</LayoutHelper>
|
|
165
165
|
|
|
166
166
|
<LayoutHelper
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
indent="col-2"
|
|
170
170
|
:class="marginBottom"
|
|
171
171
|
>
|
|
172
|
-
<BlockIframeEmbed :data="block" />
|
|
172
|
+
<BlockIframeEmbed :data="block as BlockIframeEmbedData" />
|
|
173
173
|
</LayoutHelper>
|
|
174
174
|
|
|
175
175
|
<LayoutHelper
|
|
@@ -221,7 +221,7 @@
|
|
|
221
221
|
:key="`linkCarouselBlock${index}`"
|
|
222
222
|
:class="marginBottom"
|
|
223
223
|
>
|
|
224
|
-
<BlockLinkCarousel :items="block.blocks" />
|
|
224
|
+
<BlockLinkCarousel :items="block.blocks as Card[]" />
|
|
225
225
|
</div>
|
|
226
226
|
|
|
227
227
|
<LayoutHelper
|
|
@@ -230,7 +230,7 @@
|
|
|
230
230
|
indent="col-2"
|
|
231
231
|
:class="marginBottom"
|
|
232
232
|
>
|
|
233
|
-
<BlockLinkCardList :items="block.blocks" />
|
|
233
|
+
<BlockLinkCardList :items="block.blocks as Card[]" />
|
|
234
234
|
</LayoutHelper>
|
|
235
235
|
|
|
236
236
|
<LayoutHelper
|
|
@@ -269,19 +269,23 @@
|
|
|
269
269
|
<script lang="ts">
|
|
270
270
|
import { defineComponent } from 'vue'
|
|
271
271
|
import type { PropType } from 'vue'
|
|
272
|
-
import type { StreamfieldBlockData } from '../../interfaces'
|
|
272
|
+
import type { ImageBlock, StreamfieldBlockData, Card } from '../../interfaces'
|
|
273
273
|
import LayoutHelper from './../LayoutHelper/LayoutHelper.vue'
|
|
274
274
|
import BlockAnchor from './../BlockAnchor/BlockAnchor.vue'
|
|
275
275
|
import BlockAccordion, { type AccordionBlockObject } from './../BlockAccordion/BlockAccordion.vue'
|
|
276
276
|
import BlockCardGrid from './../BlockCardGrid/BlockCardGrid.vue'
|
|
277
|
-
import BlockCta from './../BlockCta/BlockCta.vue'
|
|
277
|
+
import BlockCta, { type BlockCtaData } from './../BlockCta/BlockCta.vue'
|
|
278
278
|
import BlockHeading, { BlockHeadingObject } from './../BlockHeading/BlockHeading.vue'
|
|
279
279
|
import BlockImage from './../BlockImage/BlockImage.vue'
|
|
280
280
|
import BlockImageCarousel from './../BlockImageCarousel/BlockImageCarousel.vue'
|
|
281
|
-
import BlockImageComparison
|
|
281
|
+
import BlockImageComparison, {
|
|
282
|
+
type BlockImageComparisonData
|
|
283
|
+
} from './../BlockImageComparison/BlockImageComparison.vue'
|
|
282
284
|
import BlockImageGallery from './../BlockImageGallery/BlockImageGallery.vue'
|
|
283
|
-
import BlockInlineImage
|
|
284
|
-
|
|
285
|
+
import BlockInlineImage, {
|
|
286
|
+
type BlockInlineImageData
|
|
287
|
+
} from './../BlockInlineImage/BlockInlineImage.vue'
|
|
288
|
+
import BlockKeyPoints, { type BlockKeyPointsData } from './../BlockKeyPoints/BlockKeyPoints.vue'
|
|
285
289
|
import BlockLinkCardList from './../BlockLinkCardList/BlockLinkCardList.vue'
|
|
286
290
|
import BlockLinkCarousel from './../BlockLinkCarousel/BlockLinkCarousel.vue'
|
|
287
291
|
import BlockListCards from './../BlockListCards/BlockListCards.vue'
|
|
@@ -292,25 +296,23 @@ import BlockRelatedLinks, {
|
|
|
292
296
|
import BlockRichTable from './../BlockRichTable/BlockRichTable.vue'
|
|
293
297
|
import BlockTeaser from './../BlockTeaser/BlockTeaser.vue'
|
|
294
298
|
import BlockText from './../BlockText/BlockText.vue'
|
|
295
|
-
import BlockIframeEmbed
|
|
299
|
+
import BlockIframeEmbed, {
|
|
300
|
+
type BlockIframeEmbedData
|
|
301
|
+
} from './../BlockIframeEmbed/BlockIframeEmbed.vue'
|
|
296
302
|
import BlockGist from './../BlockGist/BlockGist.vue'
|
|
297
|
-
import BlockVideo from './../BlockVideo/BlockVideo.vue'
|
|
298
|
-
import BlockVideoEmbed, {
|
|
299
|
-
type BlockData as VideoBlockEmbedData
|
|
300
|
-
} from './../BlockVideoEmbed/BlockVideoEmbed.vue'
|
|
303
|
+
import BlockVideo, { type BlockVideoData } from './../BlockVideo/BlockVideo.vue'
|
|
304
|
+
import BlockVideoEmbed, { type BlockVideoEmbedData } from './../BlockVideoEmbed/BlockVideoEmbed.vue'
|
|
301
305
|
import BlockNewsletterSignup from '../BlockNewsletterSignup/BlockNewsletterSignup.vue'
|
|
302
306
|
import BlockCsrTable from '../BlockCsrTable/BlockCsrTable.vue'
|
|
303
307
|
import { mapStores } from 'pinia'
|
|
304
308
|
import { useThemeStore } from '../../store/theme'
|
|
309
|
+
import { type VariantKey as BlockTextVariantKey } from './../BlockText/BlockText.vue'
|
|
305
310
|
|
|
306
|
-
|
|
307
|
-
[key: string]: string
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
export const variants: Variants = {
|
|
311
|
+
export const variants = {
|
|
311
312
|
default: '',
|
|
312
313
|
fluid: '-fluid'
|
|
313
314
|
}
|
|
315
|
+
type VariantsKey = keyof typeof variants
|
|
314
316
|
|
|
315
317
|
export default defineComponent({
|
|
316
318
|
name: 'BlockStreamfield',
|
|
@@ -343,21 +345,22 @@ export default defineComponent({
|
|
|
343
345
|
BlockCsrTable
|
|
344
346
|
},
|
|
345
347
|
props: {
|
|
348
|
+
/** Changes behavior of width. Fluid width: all block widths will match that of the container. Otherwise they will conform to preset widths. */
|
|
346
349
|
variant: {
|
|
347
|
-
type: String
|
|
350
|
+
type: String as PropType<VariantsKey>,
|
|
348
351
|
required: false,
|
|
349
352
|
default: 'default',
|
|
350
353
|
validator: (prop: string): boolean => Object.keys(variants).includes(prop)
|
|
351
354
|
},
|
|
355
|
+
/** Text size. Corresponds to available variants of `BlockText` */
|
|
352
356
|
size: {
|
|
353
|
-
type: String as PropType<
|
|
354
|
-
required: false,
|
|
357
|
+
type: String as PropType<BlockTextVariantKey>,
|
|
355
358
|
default: 'large'
|
|
356
359
|
},
|
|
357
|
-
// eslint-disable-next-line vue/require-default-prop
|
|
358
360
|
data: {
|
|
359
361
|
type: Array as PropType<StreamfieldBlockData[]>,
|
|
360
|
-
required: false
|
|
362
|
+
required: false,
|
|
363
|
+
default: undefined
|
|
361
364
|
}
|
|
362
365
|
},
|
|
363
366
|
computed: {
|
|
@@ -75,39 +75,47 @@ export default defineComponent({
|
|
|
75
75
|
BaseImage
|
|
76
76
|
},
|
|
77
77
|
props: {
|
|
78
|
-
|
|
79
|
-
customLabel: {
|
|
80
|
-
type: String,
|
|
81
|
-
required: false
|
|
82
|
-
},
|
|
78
|
+
/** Small text at the top of the teaser */
|
|
83
79
|
label: {
|
|
84
80
|
type: String,
|
|
85
|
-
required: false
|
|
81
|
+
required: false,
|
|
82
|
+
default: undefined
|
|
86
83
|
},
|
|
84
|
+
/** Large heading text */
|
|
87
85
|
heading: {
|
|
88
86
|
type: String,
|
|
89
|
-
required: false
|
|
87
|
+
required: false,
|
|
88
|
+
default: undefined
|
|
90
89
|
},
|
|
90
|
+
/** Short descriptive text */
|
|
91
91
|
introduction: {
|
|
92
92
|
type: String,
|
|
93
|
-
required: false
|
|
93
|
+
required: false,
|
|
94
|
+
default: undefined
|
|
94
95
|
},
|
|
96
|
+
/** Button text */
|
|
95
97
|
buttonText: {
|
|
96
98
|
type: String,
|
|
97
|
-
required: false
|
|
99
|
+
required: false,
|
|
100
|
+
default: undefined
|
|
98
101
|
},
|
|
102
|
+
/** Background image */
|
|
99
103
|
image: {
|
|
100
104
|
type: Object,
|
|
101
|
-
required: false
|
|
105
|
+
required: false,
|
|
106
|
+
default: undefined
|
|
102
107
|
},
|
|
108
|
+
/** If the background image should span the entire width of the block */
|
|
103
109
|
fullWidth: {
|
|
104
110
|
type: Boolean,
|
|
105
111
|
default: false
|
|
106
112
|
},
|
|
113
|
+
/** Option to pass a page data object as an object or as a single item in an array (for better compatibility with CMS mixed use) */
|
|
107
114
|
// ideally can pass a page object (TopicDetailPage), but sometimes (e.g. streamfield teaserblock) this will be wrapped in an array
|
|
108
115
|
teaserPage: {
|
|
109
116
|
type: [Array, Object],
|
|
110
|
-
required: false
|
|
117
|
+
required: false,
|
|
118
|
+
default: undefined
|
|
111
119
|
}
|
|
112
120
|
},
|
|
113
121
|
computed: {
|
|
@@ -115,7 +123,7 @@ export default defineComponent({
|
|
|
115
123
|
* Fall back to the linked page’s label, if there is one.
|
|
116
124
|
*/
|
|
117
125
|
theLabel(): string {
|
|
118
|
-
return this.
|
|
126
|
+
return this.label || this.theTeaserPage?.label || ''
|
|
119
127
|
},
|
|
120
128
|
|
|
121
129
|
/**
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import BlockText
|
|
1
|
+
import BlockText from './BlockText.vue'
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
title: 'Components/Blocks/BlockText',
|
|
5
5
|
component: BlockText,
|
|
6
|
-
tags: ['
|
|
7
|
-
argTypes: {
|
|
8
|
-
variant: {
|
|
9
|
-
control: { type: 'select' },
|
|
10
|
-
options: Object.keys(variants)
|
|
11
|
-
},
|
|
12
|
-
text: { control: { type: 'text' } }
|
|
13
|
-
},
|
|
6
|
+
tags: ['wagtail-blocks'],
|
|
14
7
|
decorators: [
|
|
15
8
|
() => ({
|
|
16
9
|
template: '<div class="lg:w-2/3 mx-auto"><story /></div>'
|
|
@@ -6,37 +6,49 @@
|
|
|
6
6
|
></div>
|
|
7
7
|
</template>
|
|
8
8
|
<script lang="ts">
|
|
9
|
+
/**
|
|
10
|
+
* Description of this component
|
|
11
|
+
*/
|
|
9
12
|
import { defineComponent } from 'vue'
|
|
10
13
|
|
|
11
|
-
interface Variants {
|
|
12
|
-
[key: string]: string
|
|
13
|
-
}
|
|
14
|
-
|
|
15
14
|
export interface BlockTextObject {
|
|
16
15
|
blockType?: string
|
|
17
16
|
value: string
|
|
18
17
|
}
|
|
19
|
-
|
|
18
|
+
|
|
19
|
+
const variants = {
|
|
20
20
|
small: 'text-body-sm -small',
|
|
21
21
|
medium: 'text-body-md -medium',
|
|
22
22
|
large: 'text-body-lg -large'
|
|
23
|
-
}
|
|
23
|
+
} as const
|
|
24
|
+
|
|
25
|
+
export type VariantKey = keyof typeof variants
|
|
24
26
|
|
|
25
27
|
export default defineComponent({
|
|
26
28
|
name: 'BlockText',
|
|
27
29
|
props: {
|
|
30
|
+
/**
|
|
31
|
+
* Block contents. Supports rich text.
|
|
32
|
+
*/
|
|
28
33
|
text: {
|
|
29
34
|
type: String,
|
|
30
|
-
required: false
|
|
35
|
+
required: false,
|
|
36
|
+
default: undefined
|
|
31
37
|
},
|
|
38
|
+
/**
|
|
39
|
+
* Adjusts text size and vertical spacing. Corresponds with the same variants in `BlockInlineImage`
|
|
40
|
+
*/
|
|
32
41
|
variant: {
|
|
33
|
-
type: String,
|
|
42
|
+
type: String as () => VariantKey,
|
|
34
43
|
required: false,
|
|
35
44
|
default: 'large',
|
|
36
|
-
validator: (prop:
|
|
45
|
+
validator: (prop: VariantKey) => Object.keys(variants).includes(prop)
|
|
37
46
|
}
|
|
38
47
|
},
|
|
39
48
|
computed: {
|
|
49
|
+
/**
|
|
50
|
+
* Class string generated by variant selection.
|
|
51
|
+
*/
|
|
40
52
|
computedClass(): string {
|
|
41
53
|
return variants[this.variant]
|
|
42
54
|
}
|
|
@@ -21,12 +21,19 @@
|
|
|
21
21
|
</div>
|
|
22
22
|
</template>
|
|
23
23
|
<script lang="ts">
|
|
24
|
-
import { defineComponent } from 'vue'
|
|
24
|
+
import { defineComponent, type PropType } from 'vue'
|
|
25
25
|
import { mapStores } from 'pinia'
|
|
26
|
+
import type { BlockData, VideoObject } from './../../interfaces.ts'
|
|
26
27
|
import { useThemeStore } from '../../store/theme'
|
|
27
28
|
import BaseVideo from './../BaseVideo/BaseVideo.vue'
|
|
28
29
|
import BaseImageCaption from './../BaseImageCaption/BaseImageCaption.vue'
|
|
29
30
|
|
|
31
|
+
export type BlockVideoData = BlockData & {
|
|
32
|
+
video: VideoObject
|
|
33
|
+
autoplay: boolean
|
|
34
|
+
caption: string
|
|
35
|
+
credit: string
|
|
36
|
+
}
|
|
30
37
|
export default defineComponent({
|
|
31
38
|
name: 'BlockVideo',
|
|
32
39
|
components: {
|
|
@@ -34,14 +41,18 @@ export default defineComponent({
|
|
|
34
41
|
BaseImageCaption
|
|
35
42
|
},
|
|
36
43
|
props: {
|
|
44
|
+
/** BlockData is used to render an HTML5 video element */
|
|
37
45
|
data: {
|
|
38
|
-
type: Object
|
|
39
|
-
required: false
|
|
46
|
+
type: Object as PropType<BlockVideoData>,
|
|
47
|
+
required: false,
|
|
48
|
+
default: undefined
|
|
40
49
|
},
|
|
50
|
+
/** If the video should autoplay */
|
|
41
51
|
autoplay: {
|
|
42
52
|
type: Boolean,
|
|
43
53
|
default: false
|
|
44
54
|
},
|
|
55
|
+
/** Adds a link. Link text defaults to "Full Video Details" */
|
|
45
56
|
customDetailUrl: {
|
|
46
57
|
type: String,
|
|
47
58
|
default: undefined
|
|
@@ -24,14 +24,15 @@
|
|
|
24
24
|
<script lang="ts">
|
|
25
25
|
import type { PropType } from 'vue'
|
|
26
26
|
import { defineComponent } from 'vue'
|
|
27
|
+
import type { BlockData } from './../../interfaces'
|
|
27
28
|
import BaseImagePlaceholder from './../BaseImagePlaceholder/BaseImagePlaceholder.vue'
|
|
28
29
|
import BaseImageCaption from './../BaseImageCaption/BaseImageCaption.vue'
|
|
29
30
|
|
|
30
|
-
export
|
|
31
|
+
export type BlockVideoEmbedData = BlockData & {
|
|
31
32
|
heading: string
|
|
32
33
|
display?: boolean
|
|
33
34
|
embed: {
|
|
34
|
-
|
|
35
|
+
/** HTML for the iframe, generated by OEmbed */
|
|
35
36
|
embed: string
|
|
36
37
|
}
|
|
37
38
|
caption: string
|
|
@@ -45,11 +46,13 @@ export default defineComponent({
|
|
|
45
46
|
BaseImageCaption
|
|
46
47
|
},
|
|
47
48
|
props: {
|
|
49
|
+
/** BlockData (`embed.embed`) provides the HTML markup for the embed */
|
|
48
50
|
data: {
|
|
49
|
-
type: Object as PropType<
|
|
51
|
+
type: Object as PropType<BlockVideoEmbedData>,
|
|
50
52
|
required: false,
|
|
51
53
|
default: undefined
|
|
52
54
|
},
|
|
55
|
+
/** Adds a link. Link text defaults to "Full Video Details" */
|
|
53
56
|
customDetailUrl: {
|
|
54
57
|
type: String,
|
|
55
58
|
default: undefined
|
|
@@ -24,34 +24,41 @@ export default defineComponent({
|
|
|
24
24
|
BaseButton
|
|
25
25
|
},
|
|
26
26
|
props: {
|
|
27
|
+
/** Used to generate ICS file */
|
|
27
28
|
isAllDay: {
|
|
28
29
|
type: Boolean,
|
|
29
30
|
required: false,
|
|
30
31
|
default: false
|
|
31
32
|
},
|
|
33
|
+
/** Used to generate ICS file */
|
|
32
34
|
startDate: {
|
|
33
35
|
type: String,
|
|
34
36
|
default: undefined
|
|
35
37
|
},
|
|
38
|
+
/** Used to generate ICS file */
|
|
36
39
|
startDatetime: {
|
|
37
40
|
type: String,
|
|
38
41
|
default: undefined
|
|
39
42
|
},
|
|
43
|
+
/** Used to generate ICS file */
|
|
40
44
|
endDatetime: {
|
|
41
45
|
type: String,
|
|
42
46
|
required: false,
|
|
43
47
|
default: undefined
|
|
44
48
|
},
|
|
49
|
+
/** Used to generate ICS file */
|
|
45
50
|
title: {
|
|
46
51
|
type: String,
|
|
47
52
|
required: false,
|
|
48
53
|
default: undefined
|
|
49
54
|
},
|
|
55
|
+
/** Used to generate ICS file */
|
|
50
56
|
location: {
|
|
51
57
|
type: String,
|
|
52
58
|
required: false,
|
|
53
59
|
default: undefined
|
|
54
60
|
},
|
|
61
|
+
/** Used to generate ICS file */
|
|
55
62
|
description: {
|
|
56
63
|
type: String,
|
|
57
64
|
required: false,
|
|
@@ -1,27 +1,9 @@
|
|
|
1
|
-
import DetailHeadline
|
|
1
|
+
import DetailHeadline from './DetailHeadline.vue'
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
title: 'Components/Utilities/DetailHeadline',
|
|
5
5
|
component: DetailHeadline,
|
|
6
|
-
excludeStories: /.*Data
|
|
7
|
-
argTypes: {
|
|
8
|
-
ariaLabel: {
|
|
9
|
-
type: 'string',
|
|
10
|
-
description:
|
|
11
|
-
"ARIA label. Recommended if your button label isn't descriptive, or if it only contains an icon."
|
|
12
|
-
},
|
|
13
|
-
pillColor: {
|
|
14
|
-
type: 'string',
|
|
15
|
-
description: 'Color of pill',
|
|
16
|
-
control: {
|
|
17
|
-
type: 'select'
|
|
18
|
-
},
|
|
19
|
-
options: pillColorVariants,
|
|
20
|
-
table: {
|
|
21
|
-
defaultValue: { summary: 'primary' }
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
6
|
+
excludeStories: /.*Data$/
|
|
25
7
|
}
|
|
26
8
|
|
|
27
9
|
export const DetailHeadlineData = {
|
|
@@ -124,7 +124,8 @@ import BaseLink from './../BaseLink/BaseLink.vue'
|
|
|
124
124
|
import BaseHeading from './../BaseHeading/BaseHeading.vue'
|
|
125
125
|
import BasePill from '../BasePill/BasePill.vue'
|
|
126
126
|
|
|
127
|
-
export const pillColorVariants = ['primary', 'secondary', 'action']
|
|
127
|
+
export const pillColorVariants = ['primary', 'secondary', 'action', 'primary-inverted'] as const
|
|
128
|
+
export type PillColorVariant = (typeof pillColorVariants)[number]
|
|
128
129
|
|
|
129
130
|
export default defineComponent({
|
|
130
131
|
name: 'DetailHeadline',
|
|
@@ -134,60 +135,71 @@ export default defineComponent({
|
|
|
134
135
|
BasePill
|
|
135
136
|
},
|
|
136
137
|
props: {
|
|
138
|
+
/** Title of detail page */
|
|
137
139
|
title: {
|
|
138
140
|
type: String,
|
|
139
141
|
required: false,
|
|
140
142
|
default: undefined
|
|
141
143
|
},
|
|
144
|
+
/** Author or array of authors */
|
|
142
145
|
author: {
|
|
143
146
|
type: Object as PropType<AuthorObject | { author: AuthorObject }[]>,
|
|
144
147
|
required: false,
|
|
145
148
|
default: undefined
|
|
146
149
|
},
|
|
150
|
+
/** Publication date */
|
|
147
151
|
publicationDate: {
|
|
148
152
|
type: String,
|
|
149
153
|
required: false,
|
|
150
154
|
default: undefined
|
|
151
155
|
},
|
|
156
|
+
/** Publication time */
|
|
152
157
|
publicationTime: {
|
|
153
158
|
type: String,
|
|
154
159
|
required: false,
|
|
155
160
|
default: undefined
|
|
156
161
|
},
|
|
162
|
+
/** Approximate read time */
|
|
157
163
|
readTime: {
|
|
158
164
|
type: String,
|
|
159
165
|
required: false,
|
|
160
166
|
default: undefined
|
|
161
167
|
},
|
|
168
|
+
/** Array of related topics */
|
|
162
169
|
topics: {
|
|
163
170
|
type: Array as PropType<Topic[]>,
|
|
164
171
|
required: false,
|
|
165
172
|
default: undefined
|
|
166
173
|
},
|
|
167
|
-
|
|
174
|
+
/** Label, if there are no related topics */
|
|
168
175
|
label: {
|
|
169
176
|
type: String,
|
|
170
177
|
required: false,
|
|
171
178
|
default: undefined
|
|
172
179
|
},
|
|
180
|
+
/** Option link for the label */
|
|
173
181
|
labelLink: {
|
|
174
182
|
type: String,
|
|
175
183
|
required: false,
|
|
176
184
|
default: undefined
|
|
177
185
|
},
|
|
186
|
+
/** If the label should use the "pill" style (only works when using ThemeEdu) */
|
|
178
187
|
pill: {
|
|
179
188
|
type: Boolean,
|
|
180
189
|
default: false
|
|
181
190
|
},
|
|
191
|
+
/** Pill color variants */
|
|
182
192
|
pillColor: {
|
|
183
|
-
type: String
|
|
193
|
+
type: String as PropType<PillColorVariant>,
|
|
184
194
|
default: 'primary',
|
|
185
|
-
validator: (prop:
|
|
195
|
+
validator: (prop: PillColorVariant): boolean => pillColorVariants.includes(prop)
|
|
186
196
|
},
|
|
197
|
+
/** If schema.org metadata should be generated */
|
|
187
198
|
schema: {
|
|
188
199
|
type: Boolean,
|
|
189
200
|
default: false
|
|
190
201
|
},
|
|
202
|
+
/** If publication date should be hidden */
|
|
191
203
|
hideDate: {
|
|
192
204
|
type: Boolean,
|
|
193
205
|
default: false
|
|
@@ -3,12 +3,8 @@ import DsnWidget from './DsnWidget.vue'
|
|
|
3
3
|
export default {
|
|
4
4
|
title: 'Components/WWW/DsnWidget',
|
|
5
5
|
component: DsnWidget,
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
status: {
|
|
9
|
-
control: { type: 'text' }
|
|
10
|
-
}
|
|
11
|
-
}
|
|
6
|
+
tags: ['widget'],
|
|
7
|
+
excludeStories: /.*Data$/
|
|
12
8
|
}
|
|
13
9
|
|
|
14
10
|
export const DsnWidgetData = {
|
|
@@ -74,12 +74,24 @@
|
|
|
74
74
|
</div>
|
|
75
75
|
</template>
|
|
76
76
|
<script lang="ts">
|
|
77
|
-
import { defineComponent } from 'vue'
|
|
77
|
+
import { defineComponent, type PropType } from 'vue'
|
|
78
78
|
import BaseLink from './../BaseLink/BaseLink.vue'
|
|
79
79
|
import IconArrows from './../Icons/IconArrows.vue'
|
|
80
80
|
/**
|
|
81
|
-
* Displays dsn widget data. API is parsed by the backend
|
|
81
|
+
* Displays dsn widget data. API is parsed by the backend and passed to the frontend via GraphQL.
|
|
82
82
|
*/
|
|
83
|
+
|
|
84
|
+
type DsnWidgetObject = {
|
|
85
|
+
heading: string
|
|
86
|
+
link: string
|
|
87
|
+
linkTarget: string
|
|
88
|
+
transmitTitle: string
|
|
89
|
+
transmitStatus: string
|
|
90
|
+
spacecraftName: string
|
|
91
|
+
location: string
|
|
92
|
+
__typename: string
|
|
93
|
+
}
|
|
94
|
+
|
|
83
95
|
export default defineComponent({
|
|
84
96
|
name: 'DsnWidget',
|
|
85
97
|
components: {
|
|
@@ -87,9 +99,11 @@ export default defineComponent({
|
|
|
87
99
|
IconArrows
|
|
88
100
|
},
|
|
89
101
|
props: {
|
|
102
|
+
/** Backend retrieves data and passes it to the frontend as a DsnWidgetObject */
|
|
90
103
|
data: {
|
|
91
|
-
type: Object
|
|
92
|
-
required: false
|
|
104
|
+
type: Object as PropType<DsnWidgetObject>,
|
|
105
|
+
required: false,
|
|
106
|
+
default: undefined
|
|
93
107
|
}
|
|
94
108
|
}
|
|
95
109
|
})
|