@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
|
@@ -1,27 +1,53 @@
|
|
|
1
|
-
<script
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { intcomma } from 'journalize';
|
|
3
|
+
import LeftArrow from './LeftArrow.svelte';
|
|
4
|
+
import RightArrow from './RightArrow.svelte';
|
|
5
|
+
|
|
6
|
+
interface Props {
|
|
7
|
+
/**
|
|
8
|
+
* The current page number.
|
|
9
|
+
*/
|
|
10
|
+
pageNumber?: number;
|
|
11
|
+
/**
|
|
12
|
+
* The default page size.
|
|
13
|
+
*/
|
|
14
|
+
pageSize?: number;
|
|
15
|
+
/**
|
|
16
|
+
* The number of records in the current page.
|
|
17
|
+
*/
|
|
18
|
+
pageLength?: number;
|
|
19
|
+
/**
|
|
20
|
+
* The total number of records in the data set.
|
|
21
|
+
*/
|
|
22
|
+
n?: number;
|
|
14
23
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
24
|
+
|
|
25
|
+
let {
|
|
26
|
+
pageNumber = $bindable(1),
|
|
27
|
+
pageSize = $bindable(25),
|
|
28
|
+
pageLength = 1,
|
|
29
|
+
n = 1,
|
|
30
|
+
}: Props = $props();
|
|
31
|
+
|
|
32
|
+
let minRow = $derived(pageNumber * pageSize - pageSize + 1);
|
|
33
|
+
let maxRow = $derived(pageNumber * pageSize - pageSize + pageLength);
|
|
34
|
+
let numPages = $derived(Math.ceil(n / pageSize));
|
|
35
|
+
|
|
36
|
+
function goToPreviousPage() {
|
|
37
|
+
if (pageNumber > 1) {
|
|
38
|
+
pageNumber -= 1;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function goToNextPage() {
|
|
43
|
+
if (pageNumber < numPages) {
|
|
44
|
+
pageNumber += 1;
|
|
45
|
+
}
|
|
19
46
|
}
|
|
20
|
-
}
|
|
21
47
|
</script>
|
|
22
48
|
|
|
23
49
|
<nav aria-label="pagination" class="pagination fmt-4">
|
|
24
|
-
<button
|
|
50
|
+
<button onclick={goToPreviousPage} disabled={pageNumber === 1}
|
|
25
51
|
><div class="icon-wrapper">
|
|
26
52
|
<LeftArrow />
|
|
27
53
|
<span class="visually-hidden">Previous page</span>
|
|
@@ -33,8 +59,8 @@ function goToNextPage() {
|
|
|
33
59
|
</div>
|
|
34
60
|
</div>
|
|
35
61
|
<button
|
|
36
|
-
|
|
37
|
-
disabled=
|
|
62
|
+
onclick={goToNextPage}
|
|
63
|
+
disabled={pageNumber === Math.ceil(n / pageSize)}
|
|
38
64
|
><div class="icon-wrapper">
|
|
39
65
|
<RightArrow />
|
|
40
66
|
<span class="visually-hidden">Next page</span>
|
|
@@ -89,6 +115,7 @@ nav.pagination .label {
|
|
|
89
115
|
width: auto;
|
|
90
116
|
min-width: 5rem;
|
|
91
117
|
}
|
|
118
|
+
|
|
92
119
|
.visually-hidden {
|
|
93
120
|
clip: rect(0 0 0 0);
|
|
94
121
|
clip-path: inset(50%);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
/**
|
|
3
|
+
* The current page number.
|
|
4
|
+
*/
|
|
5
|
+
pageNumber?: number;
|
|
6
|
+
/**
|
|
7
|
+
* The default page size.
|
|
8
|
+
*/
|
|
9
|
+
pageSize?: number;
|
|
10
|
+
/**
|
|
11
|
+
* The number of records in the current page.
|
|
12
|
+
*/
|
|
13
|
+
pageLength?: number;
|
|
14
|
+
/**
|
|
15
|
+
* The total number of records in the data set.
|
|
16
|
+
*/
|
|
17
|
+
n?: number;
|
|
18
|
+
}
|
|
19
|
+
declare const Pagination: import("svelte").Component<Props, {}, "pageNumber" | "pageSize">;
|
|
20
|
+
type Pagination = ReturnType<typeof Pagination>;
|
|
21
|
+
export default Pagination;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export default RightArrow;
|
|
2
|
+
type RightArrow = SvelteComponent<{
|
|
3
|
+
[x: string]: never;
|
|
4
|
+
}, {
|
|
5
|
+
[evt: string]: CustomEvent<any>;
|
|
6
|
+
}, {}> & {
|
|
7
|
+
$$bindings?: string | undefined;
|
|
8
|
+
};
|
|
9
|
+
declare const RightArrow: $$__sveltets_2_IsomorphicComponent<{
|
|
10
|
+
[x: string]: never;
|
|
11
|
+
}, {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
}, {}, {}, string>;
|
|
14
|
+
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> {
|
|
15
|
+
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
16
|
+
$$bindings?: Bindings;
|
|
17
|
+
} & Exports;
|
|
18
|
+
(internal: unknown, props: {
|
|
19
|
+
$$events?: Events;
|
|
20
|
+
$$slots?: Slots;
|
|
21
|
+
}): Exports & {
|
|
22
|
+
$set?: any;
|
|
23
|
+
$on?: any;
|
|
24
|
+
};
|
|
25
|
+
z_$$bindings?: Bindings;
|
|
26
|
+
}
|
|
@@ -1,25 +1,37 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { Option } from '../../@types/global';
|
|
3
|
+
|
|
4
|
+
interface Props {
|
|
5
|
+
/**
|
|
6
|
+
* The label that appears above the select input.
|
|
7
|
+
*/
|
|
8
|
+
label?: string;
|
|
9
|
+
/**
|
|
10
|
+
* The label that appears above the select input.
|
|
11
|
+
*/
|
|
12
|
+
options?: Option[];
|
|
13
|
+
/** Optional function that runs when the selected value changes. */
|
|
14
|
+
onselect?: (newValue: string) => void;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
let { label = '', options = [], onselect }: Props = $props();
|
|
18
|
+
|
|
19
|
+
function input(event: Event) {
|
|
20
|
+
const value = (event.target as HTMLInputElement).value;
|
|
21
|
+
|
|
22
|
+
if (onselect) onselect(value); // Call the prop to update the parent when selected
|
|
23
|
+
}
|
|
9
24
|
</script>
|
|
10
25
|
|
|
11
26
|
<div class="select">
|
|
12
|
-
{#if label}
|
|
13
|
-
<label class="body-caption block" for="select--input">{label}</label>
|
|
14
|
-
{/if}
|
|
15
27
|
<select
|
|
16
28
|
class="select--input body-caption fpx-2"
|
|
17
29
|
name="select--input"
|
|
18
30
|
id="select--input"
|
|
19
|
-
|
|
31
|
+
oninput={input}
|
|
20
32
|
>
|
|
21
33
|
{#each options as obj}
|
|
22
|
-
<option value=
|
|
34
|
+
<option value={obj.value}>{obj.text} {label.toLowerCase()}</option>
|
|
23
35
|
{/each}
|
|
24
36
|
</select>
|
|
25
37
|
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Option } from '../../@types/global';
|
|
2
|
+
interface Props {
|
|
3
|
+
/**
|
|
4
|
+
* The label that appears above the select input.
|
|
5
|
+
*/
|
|
6
|
+
label?: string;
|
|
7
|
+
/**
|
|
8
|
+
* The label that appears above the select input.
|
|
9
|
+
*/
|
|
10
|
+
options?: Option[];
|
|
11
|
+
/** Optional function that runs when the selected value changes. */
|
|
12
|
+
onselect?: (newValue: string) => void;
|
|
13
|
+
}
|
|
14
|
+
declare const Select: import("svelte").Component<Props, {}, "">;
|
|
15
|
+
type Select = ReturnType<typeof Select>;
|
|
16
|
+
export default Select;
|
|
@@ -1,5 +1,20 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
/**
|
|
3
|
+
* The direction of the sort. By default it's ascending.
|
|
4
|
+
* @type {SortDirection}
|
|
5
|
+
*/
|
|
6
|
+
type SortDirection = 'ascending' | 'descending';
|
|
7
|
+
|
|
8
|
+
interface Props {
|
|
9
|
+
sortDirection?: SortDirection;
|
|
10
|
+
/**
|
|
11
|
+
* Whether or not this arrow is currently sorting. It is false by default.
|
|
12
|
+
* @type {boolean}
|
|
13
|
+
*/
|
|
14
|
+
active?: boolean;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
let { sortDirection = 'ascending', active = false }: Props = $props();
|
|
3
18
|
</script>
|
|
4
19
|
|
|
5
20
|
<svg
|
|
@@ -11,11 +26,11 @@ export let active = false;
|
|
|
11
26
|
class="avoid-clicks"
|
|
12
27
|
>
|
|
13
28
|
<path
|
|
14
|
-
class:active=
|
|
29
|
+
class:active={sortDirection === 'descending' && active}
|
|
15
30
|
d="M6.76474 20.2244L0.236082 13.4649C-0.0786943 13.139 -0.0786943 12.6104 0.236082 12.2845C0.550521 11.959 1.19794 11.96 1.51305 12.2845L7.33483 12.2845L13 12.2845C13.43 11.8545 14.1195 11.9593 14.4339 12.2849C14.7487 12.6107 14.7487 13.1394 14.4339 13.4653L7.90492 20.2244C7.59015 20.5503 7.07952 20.5503 6.76474 20.2244Z"
|
|
16
31
|
></path>
|
|
17
32
|
<path
|
|
18
|
-
class:active=
|
|
33
|
+
class:active={sortDirection === 'ascending' && active}
|
|
19
34
|
d="M7.90518 0.244414L14.4338 7.00385C14.7486 7.32973 14.7486 7.85838 14.4338 8.18427C14.1194 8.50981 13.472 8.50876 13.1569 8.18427L7.33509 8.18427L1.66992 8.18427C1.23992 8.61427 0.550443 8.50946 0.236003 8.18392C-0.0787725 7.85803 -0.0787725 7.32938 0.236003 7.0035L6.765 0.244414C7.07978 -0.0814713 7.5904 -0.0814713 7.90518 0.244414Z"
|
|
20
35
|
></path>
|
|
21
36
|
</svg>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The direction of the sort. By default it's ascending.
|
|
3
|
+
* @type {SortDirection}
|
|
4
|
+
*/
|
|
5
|
+
type SortDirection = 'ascending' | 'descending';
|
|
6
|
+
interface Props {
|
|
7
|
+
sortDirection?: SortDirection;
|
|
8
|
+
/**
|
|
9
|
+
* Whether or not this arrow is currently sorting. It is false by default.
|
|
10
|
+
* @type {boolean}
|
|
11
|
+
*/
|
|
12
|
+
active?: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare const SortArrow: import("svelte").Component<Props, {}, "">;
|
|
15
|
+
type SortArrow = ReturnType<typeof SortArrow>;
|
|
16
|
+
export default SortArrow;
|
|
@@ -1,3 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
type FilterableDatum<T extends Record<string, unknown>> = T & {
|
|
2
|
+
searchStr: string;
|
|
3
|
+
};
|
|
4
|
+
export declare function filterArray<T extends Record<string, unknown>>(data: FilterableDatum<T>[], searchText: string, filterField: keyof FilterableDatum<T>, filterValue: FilterableDatum<T>[keyof FilterableDatum<T>]): FilterableDatum<T>[];
|
|
5
|
+
export declare function paginateArray<T>(array: T[], pageSize: number, pageNumber: number): T[];
|
|
6
|
+
export declare function getOptions<T>(data: T[], attr: keyof T): {
|
|
7
|
+
text: string | T[keyof T];
|
|
8
|
+
value: string | T[keyof T];
|
|
9
|
+
}[];
|
|
10
|
+
interface SortableItem {
|
|
11
|
+
[key: string]: unknown;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Sorts an array of objects based on a specified column and direction.
|
|
15
|
+
*/
|
|
16
|
+
export declare function sortArray<T extends SortableItem>(
|
|
17
|
+
/** The array to sort. */
|
|
18
|
+
array: T[],
|
|
19
|
+
/** The column to sort by. */
|
|
20
|
+
column: keyof T,
|
|
21
|
+
/** The sorting direction ('ascending' or 'descending'). */
|
|
22
|
+
direction: 'ascending' | 'descending',
|
|
23
|
+
/** Whether or not sorting is turned on */
|
|
24
|
+
sortable: boolean): T[];
|
|
25
|
+
export type Formatter<T> = (value: T) => string;
|
|
26
|
+
export type FieldFormatters<T> = {
|
|
27
|
+
[K in keyof T]?: Formatter<T[K]>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Formats a value based on a field and a dictionary of formatters.
|
|
31
|
+
*/
|
|
32
|
+
export declare function formatValue<T extends Record<string, unknown>>(
|
|
33
|
+
/** The object containing the field. */
|
|
34
|
+
item: FilterableDatum<T>,
|
|
35
|
+
/** The field to format. */
|
|
36
|
+
field: keyof T,
|
|
37
|
+
/** An optional dictionary of formatters. */
|
|
38
|
+
fieldFormatters?: FieldFormatters<T>): string | FilterableDatum<T>[keyof T];
|
|
39
|
+
export {};
|
|
@@ -1,36 +1,90 @@
|
|
|
1
1
|
export function filterArray(data, searchText, filterField, filterValue) {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
if (searchText) {
|
|
3
|
+
data = data.filter((item) => {
|
|
4
|
+
return item.searchStr.includes(searchText.toLowerCase());
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
if (filterValue) {
|
|
8
|
+
data = data.filter((item) => {
|
|
9
|
+
if (!filterField)
|
|
10
|
+
return true; // or handle the undefined case as appropriate
|
|
11
|
+
return item[filterField] === filterValue;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
return data;
|
|
13
15
|
}
|
|
14
|
-
|
|
15
16
|
export function paginateArray(array, pageSize, pageNumber) {
|
|
16
|
-
|
|
17
|
+
return array.slice((pageNumber - 1) * pageSize, pageNumber * pageSize);
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
+
/**
|
|
20
|
+
* We specify the output type here by adding `string` to the union because we want to explicitly define the output array as accepting strings.
|
|
21
|
+
*
|
|
22
|
+
* This is to get rid of the type error from `attrList.unshift('All')`
|
|
23
|
+
*/
|
|
19
24
|
function uniqueAttr(array, attr) {
|
|
20
|
-
|
|
25
|
+
return array.map((e) => e[attr]).filter(unique);
|
|
21
26
|
}
|
|
22
|
-
|
|
23
27
|
function unique(value, index, array) {
|
|
24
|
-
|
|
28
|
+
return array.indexOf(value) === index;
|
|
25
29
|
}
|
|
26
|
-
|
|
27
30
|
export function getOptions(data, attr) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
31
|
+
// Get all the unique values in the provided field. Sort it.
|
|
32
|
+
const attrList = uniqueAttr(data, attr).sort((a, b) => {
|
|
33
|
+
// Throw errors if a and b are not strings.
|
|
34
|
+
// a and b should be strings since they are keys of T.
|
|
35
|
+
if (typeof a !== 'string' || typeof b !== 'string') {
|
|
36
|
+
throw new Error(`Expected string, got ${typeof a} and ${typeof b}`);
|
|
37
|
+
}
|
|
38
|
+
return a.localeCompare(b);
|
|
39
|
+
});
|
|
40
|
+
// Tack 'All' at the start of `attrList`, making it the first option.
|
|
41
|
+
attrList.unshift('All');
|
|
42
|
+
// Convert the list into Option typed objects ready for our Select component
|
|
43
|
+
return attrList.map((a) => ({ text: a, value: a }));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Sorts an array of objects based on a specified column and direction.
|
|
47
|
+
*/
|
|
48
|
+
export function sortArray(
|
|
49
|
+
/** The array to sort. */
|
|
50
|
+
array,
|
|
51
|
+
/** The column to sort by. */
|
|
52
|
+
column,
|
|
53
|
+
/** The sorting direction ('ascending' or 'descending'). */
|
|
54
|
+
direction,
|
|
55
|
+
/** Whether or not sorting is turned on */
|
|
56
|
+
sortable) {
|
|
57
|
+
if (!sortable)
|
|
58
|
+
return array;
|
|
59
|
+
const sorted = [...array].sort((a, b) => {
|
|
60
|
+
if (a[column] < b[column]) {
|
|
61
|
+
return direction === 'ascending' ? -1 : 1;
|
|
62
|
+
}
|
|
63
|
+
else if (a[column] > b[column]) {
|
|
64
|
+
return direction === 'ascending' ? 1 : -1;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return 0;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
return sorted;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Formats a value based on a field and a dictionary of formatters.
|
|
74
|
+
*/
|
|
75
|
+
export function formatValue(
|
|
76
|
+
/** The object containing the field. */
|
|
77
|
+
item,
|
|
78
|
+
/** The field to format. */
|
|
79
|
+
field,
|
|
80
|
+
/** An optional dictionary of formatters. */
|
|
81
|
+
fieldFormatters) {
|
|
82
|
+
const value = item[field];
|
|
83
|
+
if (fieldFormatters && field in fieldFormatters && fieldFormatters[field]) {
|
|
84
|
+
const formatter = fieldFormatters[field];
|
|
85
|
+
return formatter(value);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
return value;
|
|
89
|
+
}
|
|
36
90
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
interface Colour {
|
|
1
|
+
export interface Colour {
|
|
2
2
|
background: string;
|
|
3
3
|
'text-primary': string;
|
|
4
4
|
'text-secondary': string;
|
|
@@ -7,7 +7,7 @@ interface Colour {
|
|
|
7
7
|
'brand-rules': string;
|
|
8
8
|
'brand-shadow': string;
|
|
9
9
|
}
|
|
10
|
-
interface FontFamily {
|
|
10
|
+
export interface FontFamily {
|
|
11
11
|
serif: string;
|
|
12
12
|
'sans-serif': string;
|
|
13
13
|
monospace: string;
|
|
@@ -16,7 +16,7 @@ interface FontFamily {
|
|
|
16
16
|
body: string;
|
|
17
17
|
note: string;
|
|
18
18
|
}
|
|
19
|
-
interface FontSize {
|
|
19
|
+
export interface FontSize {
|
|
20
20
|
xxs: string;
|
|
21
21
|
xs: string;
|
|
22
22
|
sm: string;
|
|
@@ -29,11 +29,11 @@ interface FontSize {
|
|
|
29
29
|
'5xl': string;
|
|
30
30
|
'6xl': string;
|
|
31
31
|
}
|
|
32
|
-
interface Font {
|
|
32
|
+
export interface Font {
|
|
33
33
|
family: FontFamily;
|
|
34
34
|
size: FontSize;
|
|
35
35
|
}
|
|
36
|
-
interface CustomFont {
|
|
36
|
+
export interface CustomFont {
|
|
37
37
|
family?: Partial<FontFamily>;
|
|
38
38
|
size?: Partial<FontSize>;
|
|
39
39
|
}
|
|
@@ -45,4 +45,3 @@ export interface CustomTheme {
|
|
|
45
45
|
colour?: Partial<Colour>;
|
|
46
46
|
font?: Partial<CustomFont>;
|
|
47
47
|
}
|
|
48
|
-
export {};
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { Meta, Canvas } from '@storybook/blocks';
|
|
2
|
+
|
|
3
|
+
import * as ThemeStories from './Theme.stories.svelte';
|
|
4
|
+
|
|
5
|
+
<Meta of={ThemeStories} />
|
|
6
|
+
|
|
7
|
+
# Theme
|
|
8
|
+
|
|
9
|
+
The `Theme` component wraps your page content and uses [CSS variables](../?path=/docs/scss-css-variables--page) to set major colour and typography styles for your page. All the components from this library that are added to your page will use the CSS variables set by `Theme`.
|
|
10
|
+
|
|
11
|
+
Use the [theme builder](?path=/docs/components-theming-theme-builder--docs) to test custom themes.
|
|
12
|
+
|
|
13
|
+
```svelte
|
|
14
|
+
<script>
|
|
15
|
+
import { Theme } from '@reuters-graphics/graphics-components';
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<Theme base="light">
|
|
19
|
+
<!-- Page content, now styled according to your theme! -->
|
|
20
|
+
</Theme>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
> In the graphics kit, the `Theme` is set in both `pages/+page.svelte` and in `App.svelte`.
|
|
24
|
+
|
|
25
|
+
<Canvas of={ThemeStories.Demo} />
|
|
26
|
+
|
|
27
|
+
## Custom theme
|
|
28
|
+
|
|
29
|
+
You can customise your page's theme in two ways:
|
|
30
|
+
|
|
31
|
+
- Choose the `base` theme, either `light` or `dark`
|
|
32
|
+
- Pass a custom theme object to the `theme` prop, which will override styles in the `base` theme.
|
|
33
|
+
|
|
34
|
+
Use the [theme builder](?path=/docs/components-theming-theme-builder--docs) to see what properties you can customise.
|
|
35
|
+
|
|
36
|
+
```svelte
|
|
37
|
+
<Theme
|
|
38
|
+
base="dark"
|
|
39
|
+
theme={{
|
|
40
|
+
colour: { accent: 'var(--tr-light-orange)' },
|
|
41
|
+
font: { family: { hed: 'FreightText, serif' } },
|
|
42
|
+
}}
|
|
43
|
+
>
|
|
44
|
+
<!-- Page content -->
|
|
45
|
+
</Theme>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
> **Note:** The `Theme` component only styles child components or elements, so if you're changing the background colour of your page, make sure to also set the `background-color` on your `body` element in global SCSS.
|
|
49
|
+
>
|
|
50
|
+
> ```scss
|
|
51
|
+
> // global.scss
|
|
52
|
+
> body {
|
|
53
|
+
> background-color: #2e3440;
|
|
54
|
+
> }
|
|
55
|
+
> ```
|
|
56
|
+
|
|
57
|
+
<Canvas of={ThemeStories.CustomTheme} />
|
|
58
|
+
|
|
59
|
+
## Custom font
|
|
60
|
+
|
|
61
|
+
To use typefaces other than the defaults provided by the graphics kit, download the font files from services such as [Google Fonts](https://fonts.google.com/) or [Adobe Typekit](https://fonts.adobe.com/). Make a folder called `fonts` inside `statics/` and put the font file -- for example, `IndieFlower-Regular.ttf` downloaded from [Google Fonts](https://fonts.google.com/share?selection.family=Indie+Flower) -- in `statics/fonts/`.
|
|
62
|
+
|
|
63
|
+
Then, declare it as a `@font-face` in `global.scss`:
|
|
64
|
+
|
|
65
|
+
```scss
|
|
66
|
+
/* global.scss in the graphics kit */
|
|
67
|
+
@font-face {
|
|
68
|
+
// If you're unsure of the font-family name,
|
|
69
|
+
// click on "Get embed code" on the Google font page and check the CSS class.
|
|
70
|
+
font-family: 'Indie Flower';
|
|
71
|
+
|
|
72
|
+
// Path to the font file. Change format depending on the font file type.
|
|
73
|
+
src: url('/fonts/IndieFlower-Regular.ttf') format('truetype');
|
|
74
|
+
font-weight: normal; // Optional
|
|
75
|
+
font-style: normal; // Optional
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Finally, pass the font to the appropriate text type in `Theme`:
|
|
80
|
+
|
|
81
|
+
```svelte
|
|
82
|
+
<Theme
|
|
83
|
+
base="light"
|
|
84
|
+
theme={{
|
|
85
|
+
font: {
|
|
86
|
+
family: {
|
|
87
|
+
hed: 'IndieFlower', // Set header text font to `IndieFlower`
|
|
88
|
+
body: 'IndieFlower', // Set body text font to `IndieFlower`
|
|
89
|
+
// etc...
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
}}
|
|
93
|
+
>
|
|
94
|
+
<!-- Page content -->
|
|
95
|
+
</Theme>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
<Canvas of={ThemeStories.CustomFont} />
|
|
99
|
+
|
|
100
|
+
## Background patterns
|
|
101
|
+
|
|
102
|
+
To use a background pattern or image, set the background colour property in `Theme` to `transparent`:
|
|
103
|
+
|
|
104
|
+
```svelte
|
|
105
|
+
<Theme
|
|
106
|
+
base="dark"
|
|
107
|
+
theme={{
|
|
108
|
+
colour: { background: 'transparent' },
|
|
109
|
+
}}
|
|
110
|
+
>
|
|
111
|
+
<!-- Page content -->
|
|
112
|
+
</Theme>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Then in `global.scss`, set your image, which should be stored in `statics/images/`, as `background-image`:
|
|
116
|
+
|
|
117
|
+
```scss
|
|
118
|
+
/* global.scss */
|
|
119
|
+
body {
|
|
120
|
+
background-image: url('/images/my-pattern.png');
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
You may also want to override the background on the header nav if it conflicts with your background, especially the dropdown menu:
|
|
125
|
+
|
|
126
|
+
```scss
|
|
127
|
+
/* global.scss
|
|
128
|
+
Main nav container */
|
|
129
|
+
.nav-container .inner {
|
|
130
|
+
background: darkblue !important;
|
|
131
|
+
/* Dropdown menu */
|
|
132
|
+
.dropdown {
|
|
133
|
+
background: darkblue !important;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/* Mobile nav overlay */
|
|
137
|
+
header + .overlay {
|
|
138
|
+
background: darkblue !important;
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
<Canvas of={ThemeStories.BackgroundPatterns} />
|
|
143
|
+
|
|
144
|
+
## Inheritance
|
|
145
|
+
|
|
146
|
+
Styles that use `Theme`'s CSS variables will always use those set by the nearest parent `Theme`. That lets you change the theme for parts of your page by simply wrapping that bit in a new `Theme` with different styles.
|
|
147
|
+
|
|
148
|
+
The demo below shows a more complex example of nesting themes, but more likely you'll so something like this:
|
|
149
|
+
|
|
150
|
+
```svelte
|
|
151
|
+
<script>
|
|
152
|
+
import { Theme } from '@reuters-graphics/graphics-components';
|
|
153
|
+
</script>
|
|
154
|
+
|
|
155
|
+
<Theme>
|
|
156
|
+
<!-- Page content styled with the default light theme. -->
|
|
157
|
+
<Theme theme={{ colour: { background: 'lightgrey' } }}>
|
|
158
|
+
<!-- A darker background for this section. -->
|
|
159
|
+
</Theme>
|
|
160
|
+
<!-- Back to normal here... -->
|
|
161
|
+
</Theme>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
<Canvas of={ThemeStories.Inheritance} />
|