@reuters-graphics/graphics-components 2.0.2 → 3.0.0
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/actions/cssVariables/cssVariables.mdx +4 -5
- package/dist/actions/cssVariables/index.d.ts +2 -2
- package/dist/actions/cssVariables/index.js +14 -16
- package/dist/actions/resizeObserver/index.d.ts +1 -1
- package/dist/actions/resizeObserver/index.js +18 -20
- package/dist/actions/resizeObserver/resizeObserver.mdx +1 -1
- package/dist/app.html +11 -0
- package/dist/components/@types/global.d.ts +9 -7
- package/dist/components/AdSlot/AdScripts.svelte +15 -12
- package/dist/components/AdSlot/AdScripts.svelte.d.ts +16 -14
- package/dist/components/AdSlot/AdSlot.svelte +53 -31
- package/dist/components/AdSlot/AdSlot.svelte.d.ts +10 -21
- package/dist/components/AdSlot/{stories/docs/inline.md → InlineAd.mdx} +14 -4
- package/dist/components/AdSlot/InlineAd.stories.svelte +11 -14
- package/dist/components/AdSlot/InlineAd.stories.svelte.d.ts +17 -21
- package/dist/components/AdSlot/InlineAd.svelte +18 -7
- package/dist/components/AdSlot/InlineAd.svelte.d.ts +12 -20
- package/dist/components/AdSlot/{stories/docs/leaderboard.md → LeaderboardAd.mdx} +10 -0
- package/dist/components/AdSlot/LeaderboardAd.stories.svelte +13 -16
- package/dist/components/AdSlot/LeaderboardAd.stories.svelte.d.ts +17 -21
- package/dist/components/AdSlot/LeaderboardAd.svelte +45 -29
- package/dist/components/AdSlot/LeaderboardAd.svelte.d.ts +10 -19
- package/dist/components/AdSlot/OneTrust.svelte +39 -34
- package/dist/components/AdSlot/OneTrust.svelte.d.ts +16 -14
- package/dist/components/AdSlot/ResponsiveAd.svelte +69 -45
- package/dist/components/AdSlot/ResponsiveAd.svelte.d.ts +6 -18
- package/dist/components/AdSlot/{stories/docs/sponsorship.md → SponsorshipAd.mdx} +11 -1
- package/dist/components/AdSlot/SponsorshipAd.stories.svelte +11 -15
- package/dist/components/AdSlot/SponsorshipAd.stories.svelte.d.ts +17 -21
- package/dist/components/AdSlot/SponsorshipAd.svelte +21 -7
- package/dist/components/AdSlot/SponsorshipAd.svelte.d.ts +14 -22
- package/dist/components/Analytics/Analytics.mdx +73 -0
- package/dist/components/Analytics/Analytics.stories.svelte +11 -31
- package/dist/components/Analytics/Analytics.stories.svelte.d.ts +17 -21
- package/dist/components/Analytics/Analytics.svelte +27 -11
- package/dist/components/Analytics/Analytics.svelte.d.ts +14 -23
- package/dist/components/Article/Article.mdx +117 -0
- package/dist/components/Article/Article.stories.svelte +39 -40
- package/dist/components/Article/Article.stories.svelte.d.ts +17 -21
- package/dist/components/Article/Article.svelte +50 -20
- package/dist/components/Article/Article.svelte.d.ts +26 -34
- package/dist/components/BeforeAfter/BeforeAfter.mdx +111 -0
- package/dist/components/BeforeAfter/BeforeAfter.stories.svelte +38 -80
- package/dist/components/BeforeAfter/BeforeAfter.stories.svelte.d.ts +17 -30
- package/dist/components/BeforeAfter/BeforeAfter.svelte +240 -141
- package/dist/components/BeforeAfter/BeforeAfter.svelte.d.ts +60 -62
- package/dist/components/Block/Block.mdx +99 -0
- package/dist/components/Block/Block.stories.svelte +82 -72
- package/dist/components/Block/Block.stories.svelte.d.ts +17 -30
- package/dist/components/Block/Block.svelte +33 -11
- package/dist/components/Block/Block.svelte.d.ts +20 -25
- package/dist/components/BodyText/BodyText.mdx +115 -0
- package/dist/components/BodyText/BodyText.stories.svelte +28 -194
- package/dist/components/BodyText/BodyText.stories.svelte.d.ts +17 -21
- package/dist/components/BodyText/BodyText.svelte +14 -7
- package/dist/components/BodyText/BodyText.svelte.d.ts +11 -24
- package/dist/components/Byline/Byline.mdx +110 -0
- package/dist/components/Byline/Byline.stories.svelte +50 -26
- package/dist/components/Byline/Byline.stories.svelte.d.ts +17 -27
- package/dist/components/Byline/Byline.svelte +109 -43
- package/dist/components/Byline/Byline.svelte.d.ts +48 -48
- package/dist/components/DatawrapperChart/{stories/docs/component.md → DatawrapperChart.mdx} +20 -0
- package/dist/components/DatawrapperChart/DatawrapperChart.stories.svelte +31 -39
- package/dist/components/DatawrapperChart/DatawrapperChart.stories.svelte.d.ts +17 -27
- package/dist/components/DatawrapperChart/DatawrapperChart.svelte +94 -40
- package/dist/components/DatawrapperChart/DatawrapperChart.svelte.d.ts +42 -53
- package/dist/components/DocumentCloud/DocumentCloud.mdx +26 -0
- package/dist/components/DocumentCloud/DocumentCloud.stories.svelte +16 -25
- package/dist/components/DocumentCloud/DocumentCloud.stories.svelte.d.ts +17 -27
- package/dist/components/DocumentCloud/DocumentCloud.svelte +31 -10
- package/dist/components/DocumentCloud/DocumentCloud.svelte.d.ts +21 -30
- package/dist/components/EmbedPreviewerLink/EmbedPreviewerLink.mdx +19 -0
- package/dist/components/EmbedPreviewerLink/EmbedPreviewerLink.stories.svelte +11 -18
- package/dist/components/EmbedPreviewerLink/EmbedPreviewerLink.stories.svelte.d.ts +17 -21
- package/dist/components/EmbedPreviewerLink/EmbedPreviewerLink.svelte +9 -4
- package/dist/components/EmbedPreviewerLink/EmbedPreviewerLink.svelte.d.ts +5 -17
- package/dist/components/EndNotes/EndNotes.mdx +67 -0
- package/dist/components/EndNotes/EndNotes.stories.svelte +10 -15
- package/dist/components/EndNotes/EndNotes.stories.svelte.d.ts +17 -21
- package/dist/components/EndNotes/EndNotes.svelte +30 -14
- package/dist/components/EndNotes/EndNotes.svelte.d.ts +19 -31
- package/dist/components/FeaturePhoto/FeaturePhoto.mdx +72 -0
- package/dist/components/FeaturePhoto/FeaturePhoto.stories.svelte +24 -49
- package/dist/components/FeaturePhoto/FeaturePhoto.stories.svelte.d.ts +17 -31
- package/dist/components/FeaturePhoto/FeaturePhoto.svelte +108 -43
- package/dist/components/FeaturePhoto/FeaturePhoto.svelte.d.ts +57 -58
- package/dist/components/Framer/Framer.mdx +19 -0
- package/dist/components/Framer/Framer.stories.svelte +11 -18
- package/dist/components/Framer/Framer.stories.svelte.d.ts +17 -21
- package/dist/components/Framer/Framer.svelte +97 -69
- package/dist/components/Framer/Framer.svelte.d.ts +8 -30
- package/dist/components/Framer/Resizer/index.svelte +54 -41
- package/dist/components/Framer/Resizer/index.svelte.d.ts +7 -28
- package/dist/components/Framer/Typeahead/Search.svelte +101 -0
- package/dist/components/Framer/Typeahead/Search.svelte.d.ts +18 -0
- package/dist/components/Framer/Typeahead/fuzzy.d.ts +22 -9
- package/dist/components/Framer/Typeahead/fuzzy.js +70 -129
- package/dist/components/Framer/Typeahead/index.svelte +133 -121
- package/dist/components/Framer/Typeahead/index.svelte.d.ts +31 -138
- package/dist/components/Framer/stores.d.ts +1 -1
- package/dist/components/Framer/stores.js +0 -1
- package/dist/components/Framer/stories/docs/component.md +1 -1
- package/dist/components/Framer/uniqNames.d.ts +1 -1
- package/dist/components/Framer/uniqNames.js +45 -49
- package/dist/components/GraphicBlock/GraphicBlock.mdx +215 -0
- package/dist/components/GraphicBlock/GraphicBlock.stories.svelte +80 -60
- package/dist/components/GraphicBlock/GraphicBlock.stories.svelte.d.ts +17 -31
- package/dist/components/GraphicBlock/GraphicBlock.svelte +130 -69
- package/dist/components/GraphicBlock/GraphicBlock.svelte.d.ts +50 -65
- package/dist/components/GraphicBlock/components/AriaHidden.svelte +22 -0
- package/dist/components/GraphicBlock/components/AriaHidden.svelte.d.ts +12 -0
- package/dist/components/GraphicBlock/components/TextBlock.svelte +23 -0
- package/dist/components/GraphicBlock/components/TextBlock.svelte.d.ts +11 -0
- package/dist/components/GraphicBlock/{stories → demo}/ai2svelte/ai-chart.svelte +7 -11
- package/dist/components/GraphicBlock/demo/ai2svelte/ai-chart.svelte.d.ts +3 -0
- package/dist/components/Headline/Headline.mdx +150 -0
- package/dist/components/Headline/Headline.stories.svelte +78 -92
- package/dist/components/Headline/Headline.stories.svelte.d.ts +17 -31
- package/dist/components/Headline/Headline.svelte +108 -49
- package/dist/components/Headline/Headline.svelte.d.ts +42 -53
- package/dist/components/Headline/{stories → demo}/graphic.svelte +8 -9
- package/dist/components/Headline/demo/graphic.svelte.d.ts +6 -0
- package/dist/components/HeroHeadline/HeroHeadline.mdx +329 -0
- package/dist/components/HeroHeadline/HeroHeadline.stories.svelte +264 -0
- package/dist/components/HeroHeadline/HeroHeadline.stories.svelte.d.ts +19 -0
- package/dist/components/HeroHeadline/HeroHeadline.svelte +277 -0
- package/dist/components/HeroHeadline/HeroHeadline.svelte.d.ts +84 -0
- package/dist/components/HeroHeadline/{stories → demo}/graphics/crash.svelte +8 -15
- package/dist/components/HeroHeadline/demo/graphics/crash.svelte.d.ts +6 -0
- package/dist/components/HeroHeadline/{stories → demo}/graphics/quakemap.svelte +7 -7
- package/dist/components/HeroHeadline/demo/graphics/quakemap.svelte.d.ts +6 -0
- package/dist/components/InfoBox/InfoBox.mdx +122 -0
- package/dist/components/InfoBox/InfoBox.stories.svelte +86 -38
- package/dist/components/InfoBox/InfoBox.stories.svelte.d.ts +17 -31
- package/dist/components/InfoBox/InfoBox.svelte +69 -21
- package/dist/components/InfoBox/InfoBox.svelte.d.ts +41 -45
- package/dist/components/PaddingReset/PaddingReset.mdx +53 -0
- package/dist/components/PaddingReset/PaddingReset.stories.svelte +33 -33
- package/dist/components/PaddingReset/PaddingReset.stories.svelte.d.ts +17 -21
- package/dist/components/PaddingReset/PaddingReset.svelte +17 -7
- package/dist/components/PaddingReset/PaddingReset.svelte.d.ts +14 -29
- package/dist/components/PaddingReset/shark.jpg +0 -0
- package/dist/components/PhotoPack/PhotoPack.mdx +125 -0
- package/dist/components/PhotoPack/PhotoPack.stories.svelte +69 -108
- package/dist/components/PhotoPack/PhotoPack.stories.svelte.d.ts +17 -31
- package/dist/components/PhotoPack/PhotoPack.svelte +85 -43
- package/dist/components/PhotoPack/PhotoPack.svelte.d.ts +32 -52
- package/dist/components/PhotoPack/utils.d.ts +2 -0
- package/dist/components/PhotoPack/utils.js +17 -0
- package/dist/components/PymChild/PymChild.mdx +33 -0
- package/dist/components/PymChild/PymChild.stories.svelte +8 -17
- package/dist/components/PymChild/PymChild.stories.svelte.d.ts +17 -21
- package/dist/components/PymChild/PymChild.svelte +16 -9
- package/dist/components/PymChild/PymChild.svelte.d.ts +7 -18
- package/dist/components/PymChild/state.svelte.d.ts +6 -0
- package/dist/components/PymChild/state.svelte.js +1 -0
- package/dist/components/ReferralBlock/ReferralBlock.mdx +44 -0
- package/dist/components/ReferralBlock/ReferralBlock.stories.svelte +35 -45
- package/dist/components/ReferralBlock/ReferralBlock.stories.svelte.d.ts +17 -35
- package/dist/components/ReferralBlock/ReferralBlock.svelte +113 -66
- package/dist/components/ReferralBlock/ReferralBlock.svelte.d.ts +36 -41
- package/dist/components/ReutersGraphicsLogo/ReutersGraphicsLogo.mdx +21 -0
- package/dist/components/ReutersGraphicsLogo/ReutersGraphicsLogo.stories.svelte +12 -17
- package/dist/components/ReutersGraphicsLogo/ReutersGraphicsLogo.stories.svelte.d.ts +17 -21
- package/dist/components/ReutersGraphicsLogo/ReutersGraphicsLogo.svelte +15 -3
- package/dist/components/ReutersGraphicsLogo/ReutersGraphicsLogo.svelte.d.ts +11 -20
- package/dist/components/ReutersLogo/ReutersLogo.mdx +19 -0
- package/dist/components/ReutersLogo/ReutersLogo.stories.svelte +12 -20
- package/dist/components/ReutersLogo/ReutersLogo.stories.svelte.d.ts +17 -29
- package/dist/components/ReutersLogo/ReutersLogo.svelte +30 -19
- package/dist/components/ReutersLogo/ReutersLogo.svelte.d.ts +11 -20
- package/dist/components/SEO/SEO.mdx +80 -0
- package/dist/components/SEO/SEO.stories.svelte +18 -36
- package/dist/components/SEO/SEO.stories.svelte.d.ts +16 -22
- package/dist/components/SEO/SEO.svelte +151 -91
- package/dist/components/SEO/SEO.svelte.d.ts +53 -71
- package/dist/components/Scroller/Background.svelte +14 -10
- package/dist/components/Scroller/Background.svelte.d.ts +8 -20
- package/dist/components/Scroller/Embedded/Background.svelte +13 -9
- package/dist/components/Scroller/Embedded/Background.svelte.d.ts +7 -19
- package/dist/components/Scroller/Embedded/Foreground.svelte +16 -11
- package/dist/components/Scroller/Embedded/Foreground.svelte.d.ts +6 -18
- package/dist/components/Scroller/Embedded/index.svelte +18 -5
- package/dist/components/Scroller/Embedded/index.svelte.d.ts +8 -19
- package/dist/components/Scroller/Foreground.svelte +14 -9
- package/dist/components/Scroller/Foreground.svelte.d.ts +5 -17
- package/dist/components/Scroller/Scroller.mdx +279 -0
- package/dist/components/Scroller/Scroller.stories.svelte +107 -100
- package/dist/components/Scroller/Scroller.stories.svelte.d.ts +17 -38
- package/dist/components/Scroller/Scroller.svelte +121 -44
- package/dist/components/Scroller/Scroller.svelte.d.ts +66 -83
- package/dist/components/Scroller/ScrollerBase/index.svelte +267 -0
- package/dist/components/Scroller/ScrollerBase/index.svelte.d.ts +32 -0
- package/dist/components/Scroller/demo/components/ai2svelte/ai-foreground.svelte +118 -0
- package/dist/components/Scroller/demo/components/ai2svelte/ai-foreground.svelte.d.ts +6 -0
- package/dist/components/Scroller/{stories → demo}/components/ai2svelte/ai-scroller-1.svelte +4 -14
- package/dist/components/Scroller/demo/components/ai2svelte/ai-scroller-1.svelte.d.ts +3 -0
- package/dist/components/Scroller/{stories → demo}/components/ai2svelte/ai-scroller-2.svelte +3 -3
- package/dist/components/Scroller/demo/components/ai2svelte/ai-scroller-2.svelte.d.ts +3 -0
- package/dist/components/Scroller/{stories → demo}/components/ai2svelte/ai-scroller-3.svelte +3 -3
- package/dist/components/Scroller/demo/components/ai2svelte/ai-scroller-3.svelte.d.ts +3 -0
- package/dist/components/Scroller/demo/components/ai2svelte/images/Body-issues-key-xs.png +0 -0
- package/dist/components/Scroller/demo/components/basic/InteractiveForeground.svelte +17 -0
- package/dist/components/Scroller/demo/components/basic/InteractiveForeground.svelte.d.ts +6 -0
- package/dist/components/Scroller/demo/components/basic/Step.svelte +16 -0
- package/dist/components/Scroller/demo/components/basic/Step.svelte.d.ts +6 -0
- package/dist/components/SearchInput/SearchInput.mdx +29 -0
- package/dist/components/SearchInput/SearchInput.stories.svelte +20 -15
- package/dist/components/SearchInput/SearchInput.stories.svelte.d.ts +17 -21
- package/dist/components/SearchInput/SearchInput.svelte +31 -20
- package/dist/components/SearchInput/SearchInput.svelte.d.ts +9 -23
- package/dist/components/SearchInput/components/MagnifyingGlass.svelte.d.ts +26 -0
- package/dist/components/SearchInput/components/X.svelte.d.ts +26 -0
- package/dist/components/SimpleTimeline/SimpleTimeline.mdx +119 -0
- package/dist/components/SimpleTimeline/SimpleTimeline.stories.svelte +28 -36
- package/dist/components/SimpleTimeline/SimpleTimeline.stories.svelte.d.ts +17 -29
- package/dist/components/SimpleTimeline/SimpleTimeline.svelte +51 -15
- package/dist/components/SimpleTimeline/SimpleTimeline.svelte.d.ts +34 -44
- package/dist/components/SiteFooter/CompanyLinks.svelte +34 -6
- package/dist/components/SiteFooter/CompanyLinks.svelte.d.ts +11 -24
- package/dist/components/SiteFooter/LegalLinks.svelte +42 -9
- package/dist/components/SiteFooter/LegalLinks.svelte.d.ts +18 -24
- package/dist/components/SiteFooter/QuickLinks.svelte +60 -15
- package/dist/components/SiteFooter/QuickLinks.svelte.d.ts +27 -24
- package/dist/components/SiteFooter/SiteFooter.mdx +45 -0
- package/dist/components/SiteFooter/SiteFooter.stories.svelte +11 -31
- package/dist/components/SiteFooter/SiteFooter.stories.svelte.d.ts +17 -21
- package/dist/components/SiteFooter/SiteFooter.svelte +45 -31
- package/dist/components/SiteFooter/SiteFooter.svelte.d.ts +9 -20
- package/dist/components/SiteFooter/data.json +2 -2
- package/dist/components/SiteFooter/svgs/Facebook.svelte +6 -2
- package/dist/components/SiteFooter/svgs/Facebook.svelte.d.ts +5 -24
- package/dist/components/SiteFooter/svgs/Graphics.svelte.d.ts +22 -21
- package/dist/components/SiteFooter/svgs/Instagram.svelte +6 -2
- package/dist/components/SiteFooter/svgs/Instagram.svelte.d.ts +5 -24
- package/dist/components/SiteFooter/svgs/LinkedIn.svelte +6 -2
- package/dist/components/SiteFooter/svgs/LinkedIn.svelte.d.ts +5 -24
- package/dist/components/SiteFooter/svgs/Pictures.svelte.d.ts +22 -21
- package/dist/components/SiteFooter/svgs/Twitter.svelte +6 -2
- package/dist/components/SiteFooter/svgs/Twitter.svelte.d.ts +5 -24
- package/dist/components/SiteFooter/svgs/Videos.svelte.d.ts +22 -21
- package/dist/components/SiteFooter/svgs/YouTube.svelte +6 -2
- package/dist/components/SiteFooter/svgs/YouTube.svelte.d.ts +5 -24
- package/dist/components/SiteHeader/MobileMenu/index.svelte +45 -12
- package/dist/components/SiteHeader/MobileMenu/index.svelte.d.ts +7 -28
- package/dist/components/SiteHeader/NavBar/DownArrow.svelte +7 -3
- package/dist/components/SiteHeader/NavBar/DownArrow.svelte.d.ts +5 -24
- package/dist/components/SiteHeader/NavBar/NavDropdown/MoreDropdown.svelte +11 -7
- package/dist/components/SiteHeader/NavBar/NavDropdown/MoreDropdown.svelte.d.ts +5 -25
- package/dist/components/SiteHeader/NavBar/NavDropdown/SectionDropdown.svelte +13 -9
- package/dist/components/SiteHeader/NavBar/NavDropdown/SectionDropdown.svelte.d.ts +5 -26
- package/dist/components/SiteHeader/NavBar/NavDropdown/Spinner/index.svelte +1 -0
- package/dist/components/SiteHeader/NavBar/NavDropdown/Spinner/index.svelte.d.ts +22 -21
- package/dist/components/SiteHeader/NavBar/NavDropdown/StoryCard/index.svelte +10 -20
- package/dist/components/SiteHeader/NavBar/NavDropdown/StoryCard/index.svelte.d.ts +4 -24
- package/dist/components/SiteHeader/NavBar/NavDropdown/StoryCard/time.d.ts +2 -1
- package/dist/components/SiteHeader/NavBar/NavDropdown/StoryCard/time.js +36 -45
- package/dist/components/SiteHeader/NavBar/NavDropdown/index.svelte +65 -22
- package/dist/components/SiteHeader/NavBar/NavDropdown/index.svelte.d.ts +7 -28
- package/dist/components/SiteHeader/NavBar/index.svelte +46 -40
- package/dist/components/SiteHeader/NavBar/index.svelte.d.ts +5 -25
- package/dist/components/SiteHeader/NavBar/utils/index.d.ts +1 -1
- package/dist/components/SiteHeader/NavBar/utils/index.js +1 -2
- package/dist/components/SiteHeader/SiteHeader.mdx +33 -0
- package/dist/components/SiteHeader/SiteHeader.stories.svelte +27 -26
- package/dist/components/SiteHeader/SiteHeader.stories.svelte.d.ts +17 -28
- package/dist/components/SiteHeader/SiteHeader.svelte +64 -39
- package/dist/components/SiteHeader/SiteHeader.svelte.d.ts +3 -16
- package/dist/components/SiteHeader/scss/_grids.scss +49 -17
- package/dist/components/SiteHeader/svgs/Close.svelte.d.ts +22 -21
- package/dist/components/SiteHeader/svgs/Menu.svelte +6 -2
- package/dist/components/SiteHeader/svgs/Menu.svelte.d.ts +5 -24
- package/dist/components/SiteHeadline/SiteHeadline.mdx +66 -0
- package/dist/components/SiteHeadline/SiteHeadline.stories.svelte +17 -35
- package/dist/components/SiteHeadline/SiteHeadline.stories.svelte.d.ts +17 -36
- package/dist/components/SiteHeadline/SiteHeadline.svelte +59 -26
- package/dist/components/SiteHeadline/SiteHeadline.svelte.d.ts +31 -54
- package/dist/components/Spinner/Spinner.mdx +25 -0
- package/dist/components/Spinner/Spinner.stories.svelte +17 -25
- package/dist/components/Spinner/Spinner.stories.svelte.d.ts +17 -58
- package/dist/components/Spinner/Spinner.svelte +30 -6
- package/dist/components/Spinner/Spinner.svelte.d.ts +23 -30
- package/dist/components/Table/Table.mdx +177 -0
- package/dist/components/Table/Table.stories.svelte +56 -79
- package/dist/components/Table/Table.stories.svelte.d.ts +17 -27
- package/dist/components/Table/Table.svelte +201 -134
- package/dist/components/Table/Table.svelte.d.ts +50 -94
- package/dist/components/Table/components/LeftArrow.svelte.d.ts +26 -0
- package/dist/components/Table/{Pagination.svelte → components/Pagination.svelte} +48 -21
- package/dist/components/Table/components/Pagination.svelte.d.ts +21 -0
- package/dist/components/Table/components/RightArrow.svelte.d.ts +26 -0
- package/dist/components/Table/{Select.svelte → components/Select.svelte} +25 -13
- package/dist/components/Table/components/Select.svelte.d.ts +16 -0
- package/dist/components/Table/{SortArrow.svelte → components/SortArrow.svelte} +19 -4
- package/dist/components/Table/components/SortArrow.svelte.d.ts +16 -0
- package/dist/components/Table/utils.d.ts +39 -3
- package/dist/components/Table/utils.js +80 -26
- package/dist/components/Theme/@types/component.d.ts +5 -6
- package/dist/components/Theme/Theme.mdx +164 -0
- package/dist/components/Theme/Theme.stories.svelte +55 -57
- package/dist/components/Theme/Theme.stories.svelte.d.ts +17 -30
- package/dist/components/Theme/Theme.svelte +45 -11
- package/dist/components/Theme/Theme.svelte.d.ts +19 -28
- package/dist/components/Theme/demo/ThemedPage.svelte +36 -0
- package/dist/components/Theme/demo/ThemedPage.svelte.d.ts +26 -0
- package/dist/components/Theme/themes/common.d.ts +26 -1
- package/dist/components/Theme/themes/dark.d.ts +12 -1
- package/dist/components/Theme/themes/light.d.ts +12 -1
- package/dist/components/Theme/utils/flatten.d.ts +1 -1
- package/dist/components/Theme/utils/flatten.js +27 -33
- package/dist/components/Theme/utils/merge.d.ts +2 -1
- package/dist/components/Theme/utils/merge.js +16 -15
- package/dist/components/ToolsHeader/ToolsHeader.mdx +23 -0
- package/dist/components/ToolsHeader/ToolsHeader.stories.svelte +10 -16
- package/dist/components/ToolsHeader/ToolsHeader.stories.svelte.d.ts +17 -21
- package/dist/components/ToolsHeader/ToolsHeader.svelte +57 -16
- package/dist/components/ToolsHeader/ToolsHeader.svelte.d.ts +34 -38
- package/dist/components/Video/Video.mdx +155 -0
- package/dist/components/Video/Video.stories.svelte +72 -56
- package/dist/components/Video/Video.stories.svelte.d.ts +17 -21
- package/dist/components/Video/Video.svelte +277 -192
- package/dist/components/Video/Video.svelte.d.ts +53 -77
- package/dist/components/Video/types.d.ts +1 -0
- package/dist/components/Video/types.js +1 -0
- package/dist/components/Video/utils.d.ts +3 -0
- package/dist/components/Video/utils.js +13 -0
- package/dist/components/Visible/Visible.mdx +33 -0
- package/dist/components/Visible/Visible.stories.svelte +18 -22
- package/dist/components/Visible/Visible.stories.svelte.d.ts +17 -21
- package/dist/components/Visible/Visible.svelte +74 -37
- package/dist/components/Visible/Visible.svelte.d.ts +23 -31
- package/dist/docs/contributing/component-guidelines.mdx +19 -48
- package/dist/docs/contributing/quickstart.mdx +2 -12
- package/dist/docs/contributing/writing-component-stories.mdx +5 -6
- package/dist/docs/docs-components/ThemeBuilder/Customiser/Value.jsx +2 -1
- package/dist/docs/docs-components/ThemeBuilder/ThemeBuilder.jsx +1 -1
- package/dist/docs/guides/archieml.mdx +18 -18
- package/dist/docs/guides/graphics-kit.mdx +5 -5
- package/dist/docs/guides/svelte-components.mdx +9 -9
- package/dist/docs/intro.mdx +2 -2
- package/dist/docs/styles/intro.mdx +1 -1
- package/dist/docs/theming/css-variables.mdx +7 -7
- package/dist/docs/utils/css-to-js/index.d.ts +2 -0
- package/dist/docs/utils/css-to-js/index.js +388 -0
- package/dist/docs/utils/parseCss.d.ts +3 -3
- package/dist/docs/utils/parseCss.js +37 -43
- package/dist/index.d.ts +43 -45
- package/dist/index.js +5 -12
- package/dist/journalize.d.ts +19 -0
- package/dist/scss/tokens/text/mixins/_font-family.scss +2 -1
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.js +12 -0
- package/package.json +59 -77
- package/dist/components/Analytics/stories/docs/component.md +0 -11
- package/dist/components/Analytics/stories/docs/environments.md +0 -17
- package/dist/components/Analytics/stories/docs/multipage.md +0 -31
- package/dist/components/Article/stories/docs/component.md +0 -13
- package/dist/components/Article/stories/docs/customWellWidths.md +0 -87
- package/dist/components/BeforeAfter/stories/docs/ariaDescriptions.md +0 -35
- package/dist/components/BeforeAfter/stories/docs/component.md +0 -15
- package/dist/components/BeforeAfter/stories/docs/withOverlays.md +0 -33
- package/dist/components/Block/stories/docs/component.md +0 -15
- package/dist/components/Block/stories/docs/customLayouts.md +0 -13
- package/dist/components/Block/stories/docs/snapWidths.md +0 -50
- package/dist/components/BodyText/stories/docs/component.md +0 -46
- package/dist/components/Byline/stories/docs/component.md +0 -19
- package/dist/components/DatawrapperChart/stories/docs/withChatter.md +0 -5
- package/dist/components/DocumentCloud/stories/docs/component.md +0 -17
- package/dist/components/EmbedPreviewerLink/stories/docs/component.md +0 -11
- package/dist/components/EndNotes/stories/docs/component.md +0 -24
- package/dist/components/FeaturePhoto/stories/docs/archieML.md +0 -37
- package/dist/components/FeaturePhoto/stories/docs/component.md +0 -16
- package/dist/components/FeaturePhoto/stories/docs/missingAltText.md +0 -1
- package/dist/components/GraphicBlock/AriaHidden.svelte +0 -10
- package/dist/components/GraphicBlock/AriaHidden.svelte.d.ts +0 -22
- package/dist/components/GraphicBlock/TextBlock.svelte +0 -11
- package/dist/components/GraphicBlock/TextBlock.svelte.d.ts +0 -21
- package/dist/components/GraphicBlock/stories/ai2svelte/ai-chart.svelte.d.ts +0 -25
- package/dist/components/GraphicBlock/stories/docs/ai2svelte.md +0 -19
- package/dist/components/GraphicBlock/stories/docs/archieML.md +0 -40
- package/dist/components/GraphicBlock/stories/docs/aria.md +0 -56
- package/dist/components/GraphicBlock/stories/docs/component.md +0 -20
- package/dist/components/GraphicBlock/stories/docs/customText.md +0 -14
- package/dist/components/Headline/stories/docs/component.md +0 -13
- package/dist/components/Headline/stories/docs/customHed.md +0 -31
- package/dist/components/Headline/stories/docs/withByline.md +0 -13
- package/dist/components/Headline/stories/docs/withCrownGraphic.md +0 -24
- package/dist/components/Headline/stories/docs/withCrownImage.md +0 -21
- package/dist/components/Headline/stories/docs/withDek.md +0 -11
- package/dist/components/Headline/stories/graphic.svelte.d.ts +0 -25
- package/dist/components/HeroHeadline/Hero.stories.svelte +0 -322
- package/dist/components/HeroHeadline/Hero.stories.svelte.d.ts +0 -42
- package/dist/components/HeroHeadline/Hero.svelte +0 -193
- package/dist/components/HeroHeadline/Hero.svelte.d.ts +0 -75
- package/dist/components/HeroHeadline/stories/docs/backgroundGraphic.md +0 -84
- package/dist/components/HeroHeadline/stories/docs/backgroundVideo.md +0 -51
- package/dist/components/HeroHeadline/stories/docs/component.md +0 -20
- package/dist/components/HeroHeadline/stories/docs/customHed.md +0 -43
- package/dist/components/HeroHeadline/stories/docs/inlineGraphic.md +0 -38
- package/dist/components/HeroHeadline/stories/docs/inlinePhoto.md +0 -34
- package/dist/components/HeroHeadline/stories/docs/inlineVideo.md +0 -34
- package/dist/components/HeroHeadline/stories/docs/transparentHeader.md +0 -17
- package/dist/components/HeroHeadline/stories/graphics/crash.svelte.d.ts +0 -25
- package/dist/components/HeroHeadline/stories/graphics/quakemap.svelte.d.ts +0 -25
- package/dist/components/InfoBox/stories/docs/component.md +0 -17
- package/dist/components/Markdown/Markdown.stories.svelte +0 -28
- package/dist/components/Markdown/Markdown.stories.svelte.d.ts +0 -23
- package/dist/components/Markdown/Markdown.svelte +0 -34
- package/dist/components/Markdown/Markdown.svelte.d.ts +0 -20
- package/dist/components/Markdown/stores.d.ts +0 -23
- package/dist/components/Markdown/stores.js +0 -24
- package/dist/components/Markdown/stories/docs/component.md +0 -39
- package/dist/components/PaddingReset/stories/docs/component.md +0 -35
- package/dist/components/PhotoCarousel/PhotoCarousel.stories.svelte +0 -72
- package/dist/components/PhotoCarousel/PhotoCarousel.stories.svelte.d.ts +0 -29
- package/dist/components/PhotoCarousel/PhotoCarousel.svelte +0 -202
- package/dist/components/PhotoCarousel/PhotoCarousel.svelte.d.ts +0 -78
- package/dist/components/PhotoCarousel/stories/docs/component.md +0 -21
- package/dist/components/PhotoCarousel/stories/docs/withCustom.md +0 -27
- package/dist/components/PhotoCarousel/stories/photos.json +0 -72
- package/dist/components/PhotoPack/stories/docs/archieML.md +0 -63
- package/dist/components/PhotoPack/stories/docs/component.md +0 -45
- package/dist/components/PhotoPack/stories/docs/missingAltText.md +0 -1
- package/dist/components/PymChild/stores.d.ts +0 -1
- package/dist/components/PymChild/stores.js +0 -3
- package/dist/components/PymChild/stories/docs/component.md +0 -28
- package/dist/components/ReferralBlock/stories/docs/collection.md +0 -7
- package/dist/components/ReferralBlock/stories/docs/component.md +0 -15
- package/dist/components/ReutersGraphicsLogo/stories/docs/component.md +0 -11
- package/dist/components/ReutersLogo/stories/docs/component.md +0 -9
- package/dist/components/SEO/stories/docs/archieML.md +0 -36
- package/dist/components/SEO/stories/docs/component.md +0 -26
- package/dist/components/Scroller/stories/components/ai2svelte/ai-scroller-1.svelte.d.ts +0 -25
- package/dist/components/Scroller/stories/components/ai2svelte/ai-scroller-2.svelte.d.ts +0 -25
- package/dist/components/Scroller/stories/components/ai2svelte/ai-scroller-3.svelte.d.ts +0 -25
- package/dist/components/Scroller/stories/components/basic/InteractiveForeground.svelte +0 -13
- package/dist/components/Scroller/stories/components/basic/InteractiveForeground.svelte.d.ts +0 -25
- package/dist/components/Scroller/stories/components/basic/Step.svelte +0 -12
- package/dist/components/Scroller/stories/components/basic/Step.svelte.d.ts +0 -25
- package/dist/components/Scroller/stories/docs/ai2svelte.md +0 -42
- package/dist/components/Scroller/stories/docs/archieML.md +0 -87
- package/dist/components/Scroller/stories/docs/component.md +0 -39
- package/dist/components/Scroller/stories/docs/interactive.md +0 -36
- package/dist/components/SearchInput/MagnifyingGlass.svelte.d.ts +0 -25
- package/dist/components/SearchInput/X.svelte.d.ts +0 -25
- package/dist/components/SearchInput/stories/docs/component.md +0 -17
- package/dist/components/SimpleTimeline/stories/docs/component.md +0 -24
- package/dist/components/SiteFooter/stories/docs/component.md +0 -11
- package/dist/components/SiteFooter/stories/docs/darkTheme.md +0 -11
- package/dist/components/SiteFooter/stories/docs/removeReferrals.md +0 -9
- package/dist/components/SiteHeader/stories/docs/component.md +0 -11
- package/dist/components/SiteHeader/stories/docs/darkTheme.md +0 -11
- package/dist/components/SiteHeadline/stories/docs/archieML.md +0 -26
- package/dist/components/SiteHeadline/stories/docs/component.md +0 -21
- package/dist/components/Spinner/stories/docs/component.md +0 -15
- package/dist/components/Table/LeftArrow.svelte.d.ts +0 -25
- package/dist/components/Table/Pagination.svelte.d.ts +0 -33
- package/dist/components/Table/RightArrow.svelte.d.ts +0 -25
- package/dist/components/Table/Select.svelte.d.ts +0 -28
- package/dist/components/Table/SortArrow.svelte.d.ts +0 -22
- package/dist/components/Table/stories/docs/both.md +0 -13
- package/dist/components/Table/stories/docs/component.md +0 -14
- package/dist/components/Table/stories/docs/filter.md +0 -11
- package/dist/components/Table/stories/docs/format.md +0 -21
- package/dist/components/Table/stories/docs/metadata.md +0 -14
- package/dist/components/Table/stories/docs/paginate.md +0 -14
- package/dist/components/Table/stories/docs/search.md +0 -11
- package/dist/components/Table/stories/docs/sort.md +0 -14
- package/dist/components/Table/stories/docs/style.md +0 -23
- package/dist/components/Table/stories/docs/truncate.md +0 -11
- package/dist/components/Theme/stories/ThemedPage.svelte +0 -43
- package/dist/components/Theme/stories/ThemedPage.svelte.d.ts +0 -25
- package/dist/components/Theme/stories/docs/component.md +0 -15
- package/dist/components/Theme/stories/docs/customise-font.md +0 -52
- package/dist/components/Theme/stories/docs/customise.md +0 -28
- package/dist/components/Theme/stories/docs/gfonts.png +0 -0
- package/dist/components/Theme/stories/docs/inheritance.md +0 -17
- package/dist/components/Theme/stories/docs/pattern.md +0 -40
- package/dist/components/ToolsHeader/stories/docs/component.md +0 -13
- package/dist/components/Video/Controls.svelte +0 -75
- package/dist/components/Video/Controls.svelte.d.ts +0 -47
- package/dist/components/Video/docs.svx +0 -275
- package/dist/components/Video/stories/docs/component.md +0 -15
- package/dist/components/Video/stories/docs/controls.md +0 -38
- package/dist/components/Video/stories/docs/playAndLoop.md +0 -28
- package/dist/components/Video/stories/docs/withSound.md +0 -36
- package/dist/components/Visible/stories/docs/component.md +0 -19
- package/dist/components/Visible/stories/snippets/default.svelte +0 -11
- package/dist/components/Visible/stories/snippets/default.svelte.d.ts +0 -25
- package/dist/docs/contributing/story-recipes/basic-story.mdx +0 -77
- package/dist/docs/contributing/story-recipes/source-code.png +0 -0
- package/dist/docs/contributing/story-recipes/story-with-custom-controls.mdx +0 -46
- package/dist/docs/contributing/story-recipes/story-with-custom-docs.mdx +0 -130
- package/dist/docs/contributing/story-recipes/story-with-media.mdx +0 -50
- package/dist/docs/contributing/writing-docs-stories.mdx +0 -35
- package/dist/docs/utils/withParams.d.ts +0 -15
- package/dist/docs/utils/withParams.js +0 -46
- /package/dist/components/BeforeAfter/{stories → images}/myrne-after.jpg +0 -0
- /package/dist/components/BeforeAfter/{stories → images}/myrne-before.jpg +0 -0
- /package/dist/components/FeaturePhoto/{stories → images}/shark.jpg +0 -0
- /package/dist/components/GraphicBlock/{stories → demo}/imgs/ai-chart-md.png +0 -0
- /package/dist/components/GraphicBlock/{stories → demo}/imgs/ai-chart-sm.png +0 -0
- /package/dist/components/GraphicBlock/{stories → demo}/imgs/ai-chart-xs.png +0 -0
- /package/dist/components/GraphicBlock/{stories → demo}/placeholder.png +0 -0
- /package/dist/components/Headline/{stories → demo}/crown.png +0 -0
- /package/dist/components/Headline/{stories → demo}/graphic-lg.png +0 -0
- /package/dist/components/Headline/{stories → demo}/graphic-md.png +0 -0
- /package/dist/components/Headline/{stories → demo}/graphic-sm.png +0 -0
- /package/dist/components/Headline/{stories → demo}/graphic-xl.png +0 -0
- /package/dist/components/Headline/{stories → demo}/graphic-xs.png +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/eurovis.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-lg.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-md.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-sm.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-xl.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-xl_copy.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-xs.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/quake-map-top-lg.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/quake-map-top-md.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/quake-map-top-sm.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/quake-map-top-xl.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/graphics/quake-map-top-xs.jpeg +0 -0
- /package/dist/components/HeroHeadline/{stories → demo}/polar.jpg +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-1-lg.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-1-md.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-1-sm.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-1-xl.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-1-xs.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-2-lg.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-2-md.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-2-sm.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-2-xl.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-2-xs.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-3-lg.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-3-md.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-3-sm.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-3-xl.png +0 -0
- /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-3-xs.png +0 -0
- /package/dist/components/SearchInput/{MagnifyingGlass.svelte → components/MagnifyingGlass.svelte} +0 -0
- /package/dist/components/SearchInput/{X.svelte → components/X.svelte} +0 -0
- /package/dist/components/Table/{LeftArrow.svelte → components/LeftArrow.svelte} +0 -0
- /package/dist/components/Table/{RightArrow.svelte → components/RightArrow.svelte} +0 -0
- /package/dist/components/Table/{stories → demo}/homeRuns.json +0 -0
- /package/dist/components/Table/{stories → demo}/pressFreedom.json +0 -0
- /package/dist/components/Table/{stories → demo}/richestWomen.json +0 -0
- /package/dist/components/Video/{stories/videos → demo}/silent-video.mp4 +0 -0
- /package/dist/components/Video/{stories/videos → demo}/sound-video.mp4 +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Returns the CSS positions for the controls button */
|
|
2
|
+
export const getButtonPosition = (controlsPosition, borderOffset) => {
|
|
3
|
+
if (controlsPosition === 'top left')
|
|
4
|
+
return `top: ${borderOffset}px; left: ${borderOffset}px;`;
|
|
5
|
+
if (controlsPosition === 'top right')
|
|
6
|
+
return `top: ${borderOffset}px; right: ${borderOffset}px;`;
|
|
7
|
+
if (controlsPosition === 'bottom left')
|
|
8
|
+
return `bottom: ${borderOffset}px; left: ${borderOffset}px;`;
|
|
9
|
+
if (controlsPosition === 'bottom right')
|
|
10
|
+
return `bottom: ${borderOffset}px; right: ${borderOffset}px;`;
|
|
11
|
+
// Otherwise, centre it
|
|
12
|
+
return `top: 50%; left: 50%; transform: translate(-50%, -50%);`;
|
|
13
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Meta, Canvas } from '@storybook/blocks';
|
|
2
|
+
|
|
3
|
+
import * as VisibleStories from './Visible.stories.svelte';
|
|
4
|
+
|
|
5
|
+
<Meta of={VisibleStories} />
|
|
6
|
+
|
|
7
|
+
# Visible
|
|
8
|
+
|
|
9
|
+
The `Visible` component wraps around other components or HTML elements and uses the [Intersection Observer API](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API) to determine if they are visible on the page.
|
|
10
|
+
|
|
11
|
+
This is useful for lazy loading elements, especially expensive media files or components that fetch lots of data. You can also use it trigger animations or play media once a reader scrolls a component into view.
|
|
12
|
+
|
|
13
|
+
By default, `visible` will switch between `false` and `true` whenever the element is in our out of view. To trigger this just once, set the prop `once` to `true`. This is useful for loading expensive media when they first come into view and then keeping them around once they're loaded.
|
|
14
|
+
|
|
15
|
+
> **Note:** Don't use this for content that's "above the fold" at the top of the page. That'll just slow down the first load of important visible content.
|
|
16
|
+
|
|
17
|
+
```svelte
|
|
18
|
+
<script>
|
|
19
|
+
import { Visible } from '@reuters-graphics/graphics-components';
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<Visible>
|
|
23
|
+
{#snippet children(visible)}
|
|
24
|
+
{#if visible}
|
|
25
|
+
<p>Visible!</p>
|
|
26
|
+
{:else}
|
|
27
|
+
<p>Not yet visible.</p>
|
|
28
|
+
{/if}
|
|
29
|
+
{/snippet}
|
|
30
|
+
</Visible>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
<Canvas of={VisibleStories.Demo} />
|
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
export const meta = {
|
|
6
|
-
title: "Components/Utilities/Visible",
|
|
7
|
-
component: Visible,
|
|
8
|
-
...withComponentDocs(componentDocs)
|
|
9
|
-
};
|
|
10
|
-
</script>
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
|
|
4
|
+
import Visible from './Visible.svelte';
|
|
11
5
|
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
const { Story } = defineMeta({
|
|
7
|
+
title: 'Components/Utilities/Visible',
|
|
8
|
+
component: Visible,
|
|
9
|
+
});
|
|
14
10
|
</script>
|
|
15
11
|
|
|
16
|
-
<
|
|
17
|
-
<Visible
|
|
18
|
-
{#
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
12
|
+
<Story name="Demo" tags={['!autodocs', '!dev']}>
|
|
13
|
+
<Visible>
|
|
14
|
+
{#snippet children(visible)}
|
|
15
|
+
{#if visible}
|
|
16
|
+
<p>Visible!</p>
|
|
17
|
+
{:else}
|
|
18
|
+
<p>Not yet visible.</p>
|
|
19
|
+
{/if}
|
|
20
|
+
{/snippet}
|
|
23
21
|
</Visible>
|
|
24
|
-
</
|
|
25
|
-
|
|
26
|
-
<Story name="Default" {...withSource({ svelte: defaultSnippet })} />
|
|
22
|
+
</Story>
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import Visible from './Visible.svelte';
|
|
2
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
|
+
$$bindings?: Bindings;
|
|
5
|
+
} & Exports;
|
|
6
|
+
(internal: unknown, props: {
|
|
7
|
+
$$events?: Events;
|
|
8
|
+
$$slots?: Slots;
|
|
9
|
+
}): Exports & {
|
|
10
|
+
$set?: any;
|
|
11
|
+
$on?: any;
|
|
5
12
|
};
|
|
6
|
-
|
|
7
|
-
component: typeof Visible;
|
|
8
|
-
};
|
|
9
|
-
declare const __propDef: {
|
|
10
|
-
props: Record<string, never>;
|
|
11
|
-
events: {
|
|
12
|
-
[evt: string]: CustomEvent<any>;
|
|
13
|
-
};
|
|
14
|
-
slots: {};
|
|
15
|
-
exports?: {} | undefined;
|
|
16
|
-
bindings?: string | undefined;
|
|
17
|
-
};
|
|
18
|
-
export type VisibleProps = typeof __propDef.props;
|
|
19
|
-
export type VisibleEvents = typeof __propDef.events;
|
|
20
|
-
export type VisibleSlots = typeof __propDef.slots;
|
|
21
|
-
export default class Visible extends SvelteComponent<VisibleProps, VisibleEvents, VisibleSlots> {
|
|
13
|
+
z_$$bindings?: Bindings;
|
|
22
14
|
}
|
|
23
|
-
|
|
15
|
+
declare const Visible: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
|
|
16
|
+
[evt: string]: CustomEvent<any>;
|
|
17
|
+
}, {}, {}, string>;
|
|
18
|
+
type Visible = InstanceType<typeof Visible>;
|
|
19
|
+
export default Visible;
|
|
@@ -1,44 +1,81 @@
|
|
|
1
1
|
<!-- @component `Visible` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-utilities-visible--docs) -->
|
|
2
|
-
<script
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
2
|
+
<script lang="ts">
|
|
3
|
+
import { onMount, type Snippet } from 'svelte';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
/**
|
|
7
|
+
* Whether to change visibility just once.
|
|
8
|
+
*
|
|
9
|
+
* Useful for loading expensive images or other media and then keeping them around once they're first loaded.
|
|
10
|
+
*/
|
|
11
|
+
once?: boolean;
|
|
12
|
+
/** Set Intersection Observer [rootMargin](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#rootmargin) `top`. */
|
|
13
|
+
top?: number;
|
|
14
|
+
/** Set Intersection Observer [rootMargin](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#rootmargin) `bottom`. */
|
|
15
|
+
bottom?: number;
|
|
16
|
+
/** Set Intersection Observer [rootMargin](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#rootmargin) `left`. */
|
|
17
|
+
left?: number;
|
|
18
|
+
/** Set Intersection Observer [rootMargin](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#rootmargin) `right`. */
|
|
19
|
+
right?: number;
|
|
20
|
+
/** Set the Intersection Observer [threshold](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#threshold). */
|
|
21
|
+
threshold?: number;
|
|
22
|
+
children?: Snippet<[boolean]>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
let {
|
|
26
|
+
once = false,
|
|
27
|
+
top = 0,
|
|
28
|
+
bottom = 0,
|
|
29
|
+
left = 0,
|
|
30
|
+
right = 0,
|
|
31
|
+
threshold = 0,
|
|
32
|
+
children,
|
|
33
|
+
}: Props = $props();
|
|
34
|
+
|
|
35
|
+
let visible = $state(false);
|
|
36
|
+
let container: HTMLElement | undefined = $state(undefined);
|
|
37
|
+
|
|
38
|
+
onMount(() => {
|
|
39
|
+
if (typeof IntersectionObserver !== 'undefined') {
|
|
40
|
+
const rootMargin = `${bottom}px ${left}px ${top}px ${right}px`;
|
|
41
|
+
|
|
42
|
+
const observer = new IntersectionObserver(
|
|
43
|
+
(entries) => {
|
|
44
|
+
visible = entries[0].isIntersecting;
|
|
45
|
+
if (visible && once && container) {
|
|
46
|
+
observer.unobserve(container);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
rootMargin,
|
|
51
|
+
threshold,
|
|
19
52
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
53
|
+
);
|
|
54
|
+
if (container) observer.observe(container);
|
|
55
|
+
return () => {
|
|
56
|
+
if (container) observer.observe(container);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function handler() {
|
|
60
|
+
if (container) {
|
|
61
|
+
const bcr = container.getBoundingClientRect();
|
|
62
|
+
visible =
|
|
63
|
+
bcr.bottom + bottom > 0 &&
|
|
64
|
+
bcr.right + right > 0 &&
|
|
65
|
+
bcr.top - top < window.innerHeight &&
|
|
66
|
+
bcr.left - left < window.innerWidth;
|
|
67
|
+
}
|
|
68
|
+
if (visible && once) {
|
|
69
|
+
window.removeEventListener('scroll', handler);
|
|
24
70
|
}
|
|
25
|
-
);
|
|
26
|
-
observer.observe(container);
|
|
27
|
-
return () => observer.unobserve(container);
|
|
28
|
-
}
|
|
29
|
-
function handler() {
|
|
30
|
-
const bcr = container.getBoundingClientRect();
|
|
31
|
-
visible = bcr.bottom + bottom > 0 && bcr.right + right > 0 && bcr.top - top < window.innerHeight && bcr.left - left < window.innerWidth;
|
|
32
|
-
if (visible && once) {
|
|
33
|
-
window.removeEventListener("scroll", handler);
|
|
34
71
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
72
|
+
window.addEventListener('scroll', handler);
|
|
73
|
+
return () => window.removeEventListener('scroll', handler);
|
|
74
|
+
});
|
|
39
75
|
</script>
|
|
40
76
|
|
|
41
|
-
<div bind:this=
|
|
42
|
-
|
|
43
|
-
|
|
77
|
+
<div bind:this={container}>
|
|
78
|
+
{#if children}
|
|
79
|
+
{@render children(visible)}
|
|
80
|
+
{/if}
|
|
44
81
|
</div>
|
|
@@ -1,32 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
visible: boolean;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
exports?: {} | undefined;
|
|
24
|
-
bindings?: string | undefined;
|
|
25
|
-
};
|
|
26
|
-
export type VisibleProps = typeof __propDef.props;
|
|
27
|
-
export type VisibleEvents = typeof __propDef.events;
|
|
28
|
-
export type VisibleSlots = typeof __propDef.slots;
|
|
29
|
-
/** `Visible` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-utilities-visible--docs) */
|
|
30
|
-
export default class Visible extends SvelteComponent<VisibleProps, VisibleEvents, VisibleSlots> {
|
|
1
|
+
import { type Snippet } from 'svelte';
|
|
2
|
+
interface Props {
|
|
3
|
+
/**
|
|
4
|
+
* Whether to change visibility just once.
|
|
5
|
+
*
|
|
6
|
+
* Useful for loading expensive images or other media and then keeping them around once they're first loaded.
|
|
7
|
+
*/
|
|
8
|
+
once?: boolean;
|
|
9
|
+
/** Set Intersection Observer [rootMargin](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#rootmargin) `top`. */
|
|
10
|
+
top?: number;
|
|
11
|
+
/** Set Intersection Observer [rootMargin](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#rootmargin) `bottom`. */
|
|
12
|
+
bottom?: number;
|
|
13
|
+
/** Set Intersection Observer [rootMargin](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#rootmargin) `left`. */
|
|
14
|
+
left?: number;
|
|
15
|
+
/** Set Intersection Observer [rootMargin](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#rootmargin) `right`. */
|
|
16
|
+
right?: number;
|
|
17
|
+
/** Set the Intersection Observer [threshold](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API#threshold). */
|
|
18
|
+
threshold?: number;
|
|
19
|
+
children?: Snippet<[boolean]>;
|
|
31
20
|
}
|
|
32
|
-
|
|
21
|
+
/** `Visible` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-utilities-visible--docs) */
|
|
22
|
+
declare const Visible: import("svelte").Component<Props, {}, "">;
|
|
23
|
+
type Visible = ReturnType<typeof Visible>;
|
|
24
|
+
export default Visible;
|
|
@@ -20,7 +20,7 @@ By default, component's are written in TypeScript, which adds robust type-checki
|
|
|
20
20
|
|
|
21
21
|
### Typing and documenting component props
|
|
22
22
|
|
|
23
|
-
Document props using [JSDoc comments](https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html)
|
|
23
|
+
Document props using [JSDoc comments](https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html) and type props with TypeScript.
|
|
24
24
|
|
|
25
25
|
Here are a few examples:
|
|
26
26
|
|
|
@@ -28,27 +28,16 @@ Here are a few examples:
|
|
|
28
28
|
|
|
29
29
|
```svelte
|
|
30
30
|
<script lang="ts">
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
interface Props {
|
|
32
|
+
/** Required text content */
|
|
33
|
+
text: string;
|
|
34
|
+
/** Optional height of the component */
|
|
35
|
+
height?: number;
|
|
36
|
+
/** Optional text colour */
|
|
37
|
+
colour?: string;
|
|
38
|
+
}
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
<script lang="ts">
|
|
42
|
-
/**
|
|
43
|
-
* Image source
|
|
44
|
-
* @required
|
|
45
|
-
*/
|
|
46
|
-
export let src: string;
|
|
47
|
-
/**
|
|
48
|
-
* AltText for the image
|
|
49
|
-
* @required
|
|
50
|
-
*/
|
|
51
|
-
export let altText: string;
|
|
40
|
+
let { text, height = 250, colour = 'blue' }: Props = $props();
|
|
52
41
|
</script>
|
|
53
42
|
```
|
|
54
43
|
|
|
@@ -58,40 +47,22 @@ Here are a few examples:
|
|
|
58
47
|
<script lang="ts">
|
|
59
48
|
type ContainerWidth = 'normal' | 'wide' | 'wider' | 'widest' | 'fluid';
|
|
60
49
|
|
|
61
|
-
/** Width of the component within the text well. */
|
|
62
|
-
export let width: ContainerWidth = 'normal';
|
|
63
|
-
|
|
64
50
|
interface Person {
|
|
65
51
|
name: string;
|
|
66
52
|
age: number;
|
|
67
53
|
}
|
|
68
54
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
#### Future syntax
|
|
78
|
-
|
|
79
|
-
Using some future syntax like [optional chaining](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining) in your components currently breaks the automatic discovery of JSDoc comments in your component, which are used to fill in the [ArgsTable](https://storybook.js.org/docs/react/writing-docs/doc-block-argstable).
|
|
80
|
-
|
|
81
|
-
So instead of...
|
|
82
|
-
|
|
83
|
-
```javascript
|
|
84
|
-
const prop = myObject?.myOptionalProp;
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
...unfortunately, use something old-fashioned like...
|
|
55
|
+
interface Props {
|
|
56
|
+
/** Array of people */
|
|
57
|
+
people: Person[];
|
|
58
|
+
/** Optional width of the component within the text well. */
|
|
59
|
+
width?: ContainerWidth;
|
|
60
|
+
}
|
|
88
61
|
|
|
89
|
-
|
|
90
|
-
|
|
62
|
+
let { people, width = 'normal' }: Props = $props();
|
|
63
|
+
</script>
|
|
91
64
|
```
|
|
92
65
|
|
|
93
|
-
If your component docs still aren't working, check if you're using other future-JS sytax, for now.
|
|
94
|
-
|
|
95
66
|
## Styles
|
|
96
67
|
|
|
97
68
|
### Theming
|
|
@@ -148,7 +119,7 @@ Use [CSS variables](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_c
|
|
|
148
119
|
|
|
149
120
|
```svelte
|
|
150
121
|
<script>
|
|
151
|
-
|
|
122
|
+
let { textColour = '#333' } = $props();
|
|
152
123
|
</script>
|
|
153
124
|
|
|
154
125
|
<div style="--textColour: {textColour};">
|
|
@@ -23,24 +23,14 @@ Make a new git branch for your new component, like...
|
|
|
23
23
|
git checkout -b my-component
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
This library includes a basic template for creating and documenting your component with Storybook you can use to get started.
|
|
27
|
-
|
|
28
|
-
Just run...
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
pnpm new
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
... which will create a new directory for your component and copy over an example Svelte component and story page.
|
|
35
|
-
|
|
36
26
|
To start developing your component, start the dev server with...
|
|
37
27
|
|
|
38
28
|
```
|
|
39
29
|
pnpm start
|
|
40
30
|
```
|
|
41
31
|
|
|
42
|
-
When you're ready to share your
|
|
32
|
+
When you're ready to share your component, commit your branch to GitHub, make a PR and we'll get it published!
|
|
43
33
|
|
|
44
34
|
```
|
|
45
|
-
git push origin my-
|
|
35
|
+
git push origin my-component
|
|
46
36
|
```
|
|
@@ -9,24 +9,23 @@ As well as writing your component, you should also document how to use it using
|
|
|
9
9
|
|
|
10
10
|
## What's a story?
|
|
11
11
|
|
|
12
|
-
Paraphrasing [Storybook's definition](https://storybook.js.org/docs/
|
|
12
|
+
Paraphrasing [Storybook's definition](https://storybook.js.org/docs/get-started/whats-a-story): A story captures the rendered state of a Svelte component, given certain props. Translation: It's a demo of what your component can do.
|
|
13
13
|
|
|
14
14
|
In Storybook, you create a story page for your component, which can itself contain several "stories" or demos of how your component works.
|
|
15
15
|
|
|
16
|
-
To make a story page, you'll create a `*.stories.svelte` file next to your component like this:
|
|
16
|
+
To make a story page, you'll create a `*.stories.svelte` and a `*.mdx` file next to your component like this:
|
|
17
17
|
|
|
18
18
|
```
|
|
19
19
|
src/
|
|
20
20
|
components/
|
|
21
21
|
YourComponent/
|
|
22
|
+
YourComponent.mdx
|
|
22
23
|
YourComponent.svelte
|
|
23
24
|
YourComponent.stories.svelte
|
|
24
25
|
```
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
The `*.stories.svelte` component is where you will define the stories or specific demos of your component. The `*.mdx` file is where you can write extended documentation about your component.
|
|
27
28
|
|
|
28
29
|
## How do I write stories?
|
|
29
30
|
|
|
30
|
-
Read
|
|
31
|
-
|
|
32
|
-
If you're comparing the recipes to Storybook's own docs, note that all the examples use "Svelte Native" story format. (Storybook is technically a React-first tool that's been retrofit to also support a number of other frameworks, including Svelte.)
|
|
31
|
+
Read more about writing stories using the Svelte component story format (CSF) [here](https://github.com/storybookjs/addon-svelte-csf?tab=readme-ov-file#-usage) and writing accompanying MDX docs [here](https://storybook.js.org/docs/writing-docs/mdx).
|
|
@@ -6,7 +6,7 @@ import ThemeSwitch from './ThemeSwitch/Switch';
|
|
|
6
6
|
import { Unstyled } from '@storybook/blocks';
|
|
7
7
|
// @ts-ignore scss
|
|
8
8
|
import classes from './styles.module.scss';
|
|
9
|
-
import { cloneDeep } from '
|
|
9
|
+
import { cloneDeep } from 'es-toolkit';
|
|
10
10
|
import darkTheme from '../../../components/Theme/themes/dark';
|
|
11
11
|
import lightTheme from '../../../components/Theme/themes/light';
|
|
12
12
|
|
|
@@ -21,11 +21,11 @@ Let's look at a basic component, a `ProfileCard`, with a demo that looks like th
|
|
|
21
21
|
|
|
22
22
|
<ProfileCard
|
|
23
23
|
name="Kitty"
|
|
24
|
-
age=
|
|
24
|
+
age={2}
|
|
25
25
|
img="https://cats.com/cat1.jpg"
|
|
26
|
-
birthday=
|
|
26
|
+
birthday={new Date('2020-09-25')}
|
|
27
27
|
bio="Some notes.\n\nWith multiple paragraphs."
|
|
28
|
-
isGood=
|
|
28
|
+
isGood={true}
|
|
29
29
|
/>
|
|
30
30
|
```
|
|
31
31
|
|
|
@@ -100,12 +100,12 @@ Notice all the values in the data are **strings**. More on that soon.
|
|
|
100
100
|
<!-- ... -->
|
|
101
101
|
{:else if block.type === 'profile-card'}
|
|
102
102
|
<ProfileCard
|
|
103
|
-
name=
|
|
104
|
-
age=
|
|
105
|
-
img=
|
|
106
|
-
birthday=
|
|
107
|
-
bio=
|
|
108
|
-
isGood=
|
|
103
|
+
name={block.name}
|
|
104
|
+
age={parseInt(block.age)}
|
|
105
|
+
img={`${assets}/${block.picture}`}
|
|
106
|
+
birthday={new Date(block.birthday)}
|
|
107
|
+
bio={block.bio}
|
|
108
|
+
isGood={block.isGood === 'true'}
|
|
109
109
|
/>
|
|
110
110
|
<!-- ... -->
|
|
111
111
|
{/if}
|
|
@@ -136,12 +136,12 @@ Once we've identified we have the right block for our component, we need to conv
|
|
|
136
136
|
|
|
137
137
|
```svelte
|
|
138
138
|
<ProfileCard
|
|
139
|
-
name=
|
|
140
|
-
age=
|
|
141
|
-
img=
|
|
142
|
-
birthday=
|
|
143
|
-
bio=
|
|
144
|
-
isGood=
|
|
139
|
+
name={block.name}
|
|
140
|
+
age={parseInt(block.age)}
|
|
141
|
+
img={`${assets}/${block.picture}`}
|
|
142
|
+
birthday={new Date(block.birthday)}
|
|
143
|
+
bio={block.bio}
|
|
144
|
+
isGood={block.isGood === 'true'}
|
|
145
145
|
/>
|
|
146
146
|
```
|
|
147
147
|
|
|
@@ -163,7 +163,7 @@ For example, we're converting Tom's age into a number with JavaScript's [parseIn
|
|
|
163
163
|
{block.isGood === 'true'}
|
|
164
164
|
```
|
|
165
165
|
|
|
166
|
-
**Especially note** how we're using the `assets` module we talked about in ["Using with the
|
|
166
|
+
**Especially note** how we're using the `assets` module we talked about in ["Using with the graphics kit"](./?path=/docs/guides-using-with-the-graphics-kit--docs) to turn the _relative_ path to Tom's profile pic in our ArchieML doc into an _absolute_ path that will have the full `https://reuters.com...` bit attached.
|
|
167
167
|
|
|
168
168
|
```svelte
|
|
169
169
|
{`${assets}/${block.picture}`}
|
|
@@ -191,7 +191,7 @@ Let's look at another example component:
|
|
|
191
191
|
```svelte
|
|
192
192
|
<Timeline
|
|
193
193
|
title="A brief history of BitCoin"
|
|
194
|
-
dates=
|
|
194
|
+
dates={[
|
|
195
195
|
{
|
|
196
196
|
date: new Date('1992-01-01'),
|
|
197
197
|
subhed:
|
|
@@ -208,7 +208,7 @@ Let's look at another example component:
|
|
|
208
208
|
subhed: 'The Winklevoss twins buy in',
|
|
209
209
|
img: `${assets}/images/winkle-boys.jpeg`,
|
|
210
210
|
},
|
|
211
|
-
]}
|
|
211
|
+
]}
|
|
212
212
|
/>
|
|
213
213
|
```
|
|
214
214
|
|
|
@@ -3,13 +3,13 @@ import { parameters } from '../utils/docsPage.js';
|
|
|
3
3
|
import Highlight from '../docs-components/Highlight/Highlight';
|
|
4
4
|
|
|
5
5
|
<Meta
|
|
6
|
-
title="Guides/Using with the
|
|
6
|
+
title="Guides/Using with the graphics kit"
|
|
7
7
|
parameters={{ ...parameters }}
|
|
8
8
|
/>
|
|
9
9
|
|
|
10
|
-
# Using with the
|
|
10
|
+
# Using with the graphics kit
|
|
11
11
|
|
|
12
|
-
Our graphics components are designed to work seemlessly with the [
|
|
12
|
+
Our graphics components are designed to work seemlessly with the [graphics kit](https://reuters-graphics.github.io/bluprint_graphics-kit/) as well as just about any Svelte-based page builder.
|
|
13
13
|
|
|
14
14
|
**There is, however, one gotcha to watch out for:**
|
|
15
15
|
|
|
@@ -19,7 +19,7 @@ When working with multimedia files like images or videos, components expect all
|
|
|
19
19
|
|
|
20
20
|
❌ `./myImage.jpg`
|
|
21
21
|
|
|
22
|
-
In the
|
|
22
|
+
In the graphics kit, that means you'll need to prefix relative paths with the special [`assets`](https://svelte.dev/docs/kit/$app-paths#assets) SvelteKit module that contains the root URL for your project. Many examples in these docs show how to do it. But it's also easy enough to demo again here!
|
|
23
23
|
|
|
24
24
|
```svelte
|
|
25
25
|
<script>
|
|
@@ -30,5 +30,5 @@ In the Graphics Kit, that means you'll need to prefix relative paths with the sp
|
|
|
30
30
|
</script>
|
|
31
31
|
|
|
32
32
|
<!-- Use the assets module to prefix the path to your image. -->
|
|
33
|
-
<FeautrePhoto src="{
|
|
33
|
+
<FeautrePhoto src="{assets}/imgs/myImage.jpg" />
|
|
34
34
|
```
|
|
@@ -19,14 +19,16 @@ A component is usually composed of several parts: JavaScript for managing data,
|
|
|
19
19
|
```svelte
|
|
20
20
|
<!-- JavaScript -->
|
|
21
21
|
<script>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
let {
|
|
23
|
+
imgSrc = 'https://reuters.com/image.jpg',
|
|
24
|
+
altText = 'A cat',
|
|
25
|
+
caption = 'Mousing all day is hard work ...',
|
|
26
|
+
} = $props();
|
|
25
27
|
</script>
|
|
26
28
|
|
|
27
29
|
<!-- HTML -->
|
|
28
30
|
<figure>
|
|
29
|
-
<img src=
|
|
31
|
+
<img src={imgSrc} alt={altText} />
|
|
30
32
|
<figcaption>{caption}</figcaption>
|
|
31
33
|
</figure>
|
|
32
34
|
|
|
@@ -47,11 +49,11 @@ A component is usually composed of several parts: JavaScript for managing data,
|
|
|
47
49
|
To use a component, you first need to import it. For example, below is a component called `Button.svelte`:
|
|
48
50
|
|
|
49
51
|
```svelte
|
|
52
|
+
<!-- Button.svelte -->
|
|
50
53
|
<script>
|
|
51
|
-
|
|
54
|
+
let { text = 'Click me' } = $props();
|
|
52
55
|
</script>
|
|
53
56
|
|
|
54
|
-
<!-- Button.svelte -->
|
|
55
57
|
<button>{text}</button>
|
|
56
58
|
```
|
|
57
59
|
|
|
@@ -131,8 +133,6 @@ The component's props are `src`, `altTtext`, `caption` and `width` and each show
|
|
|
131
133
|
|
|
132
134
|
## Next steps
|
|
133
135
|
|
|
134
|
-
To learn more about Svelte,
|
|
136
|
+
To learn more about Svelte, check out the [official interactive tutorial](https://svelte.dev/tutorial/svelte/welcome-to-svelte).
|
|
135
137
|
|
|
136
138
|
All are also welcome to join the "⚙️ Graphics Dev Group" channel in Teams, where we occasionally chat about code tips or tricks.
|
|
137
|
-
|
|
138
|
-
> **NOTE:** As of now, we are using version 4 Svelte syntax. We will soon upgrade to version 5, but for now, we recommend looking for older tutorials online and not the official guides for the latest version.
|