@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,232 +1,317 @@
|
|
|
1
1
|
<!-- @component `Video` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-multimedia-video--docs) -->
|
|
2
|
-
<script
|
|
3
|
-
import
|
|
4
|
-
import GraphicBlock from
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
2
|
+
<script lang="ts">
|
|
3
|
+
import IntersectionObserver from 'svelte-intersection-observer';
|
|
4
|
+
import GraphicBlock from '../GraphicBlock/GraphicBlock.svelte';
|
|
5
|
+
|
|
6
|
+
// Fa icons
|
|
7
|
+
import Fa from 'svelte-fa';
|
|
8
|
+
import { faReply, faPlay, faPause } from '@fortawesome/free-solid-svg-icons';
|
|
9
|
+
|
|
10
|
+
// types
|
|
11
|
+
import type { ContainerWidth } from '../@types/global';
|
|
12
|
+
import type { Snippet } from 'svelte';
|
|
13
|
+
import type { ControlsPosition } from './types';
|
|
14
|
+
import { getButtonPosition } from './utils';
|
|
15
|
+
|
|
16
|
+
interface Props {
|
|
17
|
+
/** Video source */
|
|
18
|
+
src: string;
|
|
19
|
+
/** Image to be shown while the video is downloading */
|
|
20
|
+
poster?: string;
|
|
21
|
+
/** ARIA description, passed in as a markdown string. */
|
|
22
|
+
ariaDescription: string;
|
|
23
|
+
/** Add extra classes to the block tag to target it with custom CSS. */
|
|
24
|
+
class?: string;
|
|
25
|
+
/** Title of the graphic */
|
|
26
|
+
title?: string;
|
|
27
|
+
/** Notes to the graphic, passed in as a markdown string OR a custom snippet. */
|
|
28
|
+
notes?: string | Snippet;
|
|
29
|
+
/** Description of the graphic, passed in as a markdown string. */
|
|
30
|
+
description?: string;
|
|
31
|
+
/** Width of the block within the article well. */
|
|
32
|
+
width?: ContainerWidth;
|
|
33
|
+
/** Set a different width for the text within the text well, for example, "normal" to keep the title, description and notes inline with the rest of the text well. Can't ever be wider than `width`. */
|
|
34
|
+
textWidth?: ContainerWidth;
|
|
35
|
+
/** Preload options. `auto` is ignored if `autoplay` is true. Can also be `none` or `metadata`. */
|
|
36
|
+
preloadVideo?: 'auto' | 'none' | 'metadata';
|
|
37
|
+
/** Whether the video should loop. */
|
|
38
|
+
loopVideo?: boolean;
|
|
39
|
+
/** Whether video should have sound or not. */
|
|
40
|
+
muteVideo?: boolean;
|
|
41
|
+
/** If `true`, this allow videos with sound to autoplay if the user has previously interacted with DOM */
|
|
42
|
+
soundAutoplay?: boolean;
|
|
43
|
+
/** Whether the video should play when it comes into view or just on page load */
|
|
44
|
+
playVideoWhenInView?: boolean;
|
|
45
|
+
/** Controls how much of the video should be visible when it starts playing. This is a number between 0 and 1, where 0 means the video will start playing as soon as its top enters the viewport, and 1 means it will start when the whole video is in the viewport. */
|
|
46
|
+
playVideoThreshold?: number;
|
|
47
|
+
/** Whether to have the option to pause and play video */
|
|
48
|
+
possibleToPlayPause?: boolean;
|
|
49
|
+
/** Whether to show the play / pause buttons */
|
|
50
|
+
showControls?: boolean;
|
|
51
|
+
/** Whether to use a separate replay icon or use the play icon for replay as well */
|
|
52
|
+
separateReplayIcon?: boolean;
|
|
53
|
+
/** Change the colour of the play/pause button */
|
|
54
|
+
controlsColour?: string;
|
|
55
|
+
/** Change the minimum opacity of the play/pause button, which you see on mouseover. Must be between 0 and 1. */
|
|
56
|
+
controlsOpacityMin?: number;
|
|
57
|
+
/** Change the maximum opacity of the play/pause button, which you see on mouseout. Must be between 0 and 1. */
|
|
58
|
+
controlsOpacityMax?: number;
|
|
59
|
+
/** Have four options for controls position - top right, top left, bottom right, bottom left */
|
|
60
|
+
controlsPosition?: ControlsPosition;
|
|
61
|
+
/** Offset for the controls from the border */
|
|
62
|
+
controlsBorderOffset?: number;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
let {
|
|
66
|
+
src,
|
|
67
|
+
poster = '',
|
|
68
|
+
ariaDescription,
|
|
69
|
+
class: cls = '',
|
|
70
|
+
title,
|
|
71
|
+
notes,
|
|
72
|
+
description,
|
|
73
|
+
width = 'normal',
|
|
74
|
+
textWidth = 'normal',
|
|
75
|
+
preloadVideo = 'auto',
|
|
76
|
+
loopVideo = false,
|
|
77
|
+
muteVideo = true,
|
|
78
|
+
soundAutoplay = false,
|
|
79
|
+
playVideoWhenInView = true,
|
|
80
|
+
playVideoThreshold = 0.5,
|
|
81
|
+
possibleToPlayPause = true,
|
|
82
|
+
showControls = true,
|
|
83
|
+
separateReplayIcon = false,
|
|
84
|
+
controlsColour = '#333',
|
|
85
|
+
controlsOpacityMin = 0,
|
|
86
|
+
controlsOpacityMax = 0.7,
|
|
87
|
+
controlsPosition = 'top left',
|
|
88
|
+
controlsBorderOffset = 10,
|
|
89
|
+
}: Props = $props();
|
|
90
|
+
|
|
91
|
+
/// //////////////////////////////////
|
|
92
|
+
/// /////// Internal Logic ///////////
|
|
93
|
+
/// //////////////////////////////////
|
|
94
|
+
// If it's not possible to play/pause, then hide the controls
|
|
95
|
+
if (!possibleToPlayPause) showControls = false;
|
|
96
|
+
|
|
97
|
+
// Internal props
|
|
98
|
+
let paused = $state(false);
|
|
99
|
+
let time = $state(0);
|
|
100
|
+
let duration = $state(0);
|
|
101
|
+
// let paused = $state(true);
|
|
102
|
+
let clickedOnPauseBtn = $state(false); // special variable to track if user clicked on 'pause' btn to help with audio logic
|
|
103
|
+
let resetCondition = $derived(time >= duration); // - 0.1;
|
|
104
|
+
|
|
105
|
+
// Dimensions etc other useful things
|
|
106
|
+
let videoHeight = $state(0);
|
|
107
|
+
let videoWidth = $state(0);
|
|
108
|
+
let videoHeightContainer = $state(0);
|
|
109
|
+
let videoWidthContainer = $state(0);
|
|
110
|
+
|
|
111
|
+
// For intersection observer
|
|
112
|
+
let intersecting = $state(false);
|
|
113
|
+
let element: HTMLElement | undefined = $state(undefined); // ; | null
|
|
114
|
+
let videoElement: HTMLVideoElement | undefined = $state(undefined);
|
|
115
|
+
|
|
116
|
+
// For video with sound, check if there has been an interaction with the DOM
|
|
117
|
+
let interactedWithDom = false;
|
|
118
|
+
const setInteractedWithDom = () => (interactedWithDom = true);
|
|
119
|
+
|
|
120
|
+
let interactiveControlsOpacity = $state(controlsOpacityMax);
|
|
121
|
+
|
|
122
|
+
// Get control button positioning
|
|
123
|
+
let controlButtonPosition = $derived(
|
|
124
|
+
getButtonPosition(controlsPosition, controlsBorderOffset)
|
|
65
125
|
);
|
|
66
|
-
|
|
126
|
+
|
|
127
|
+
/** Control play/pause */
|
|
128
|
+
$effect(() => {
|
|
129
|
+
// Play the video (with no sound) if it's intersecting; pause when it's no longer intersecting
|
|
130
|
+
if (playVideoWhenInView && intersecting && muteVideo) paused = false;
|
|
131
|
+
|
|
132
|
+
// Pause the video if it's no longer intersecting
|
|
133
|
+
if (playVideoWhenInView && !intersecting) paused = true;
|
|
134
|
+
|
|
135
|
+
// Special case for video with sound
|
|
136
|
+
// Only ff you've clicked on play button or interacted with DOM in any way previously, video with audio will play
|
|
137
|
+
if (
|
|
138
|
+
soundAutoplay &&
|
|
139
|
+
playVideoWhenInView &&
|
|
140
|
+
intersecting &&
|
|
141
|
+
!muteVideo &&
|
|
142
|
+
interactedWithDom &&
|
|
143
|
+
!clickedOnPauseBtn // so video doesn't autoplay when coming into view again if paused previously
|
|
144
|
+
)
|
|
145
|
+
paused = false;
|
|
146
|
+
|
|
147
|
+
if (soundAutoplay && !muteVideo && !interactedWithDom) paused = true;
|
|
148
|
+
});
|
|
67
149
|
</script>
|
|
68
150
|
|
|
151
|
+
<!-- Controls button snippet -->
|
|
152
|
+
{#snippet controls()}
|
|
153
|
+
<button
|
|
154
|
+
class="controls"
|
|
155
|
+
onclick={() => {
|
|
156
|
+
paused = !paused;
|
|
157
|
+
clickedOnPauseBtn = paused === true; // so video doesn't autoplay when coming into view again if paused previously
|
|
158
|
+
}}
|
|
159
|
+
style="
|
|
160
|
+
opacity: {interactiveControlsOpacity};
|
|
161
|
+
{controlButtonPosition}
|
|
162
|
+
"
|
|
163
|
+
>
|
|
164
|
+
{#if resetCondition}
|
|
165
|
+
<i class="play-pause-icon replay">
|
|
166
|
+
{#if separateReplayIcon}
|
|
167
|
+
<Fa icon={faReply} size="2x" color={controlsColour} />
|
|
168
|
+
{:else}
|
|
169
|
+
<Fa icon={faPlay} size="2x" color={controlsColour} />
|
|
170
|
+
{/if}
|
|
171
|
+
</i>
|
|
172
|
+
{:else if paused === false}
|
|
173
|
+
<i class="play-pause-icon pause">
|
|
174
|
+
<Fa icon={faPause} size="2x" color={controlsColour} />
|
|
175
|
+
</i>
|
|
176
|
+
{:else if paused === true}
|
|
177
|
+
<i class="play-pause-icon play">
|
|
178
|
+
<Fa icon={faPlay} size="2x" color={controlsColour} />
|
|
179
|
+
</i>
|
|
180
|
+
{:else}
|
|
181
|
+
error
|
|
182
|
+
{/if}
|
|
183
|
+
</button>
|
|
184
|
+
{/snippet}
|
|
185
|
+
|
|
186
|
+
<!-- Transparent, invisible button that will pause/play when the video is clicked -->
|
|
187
|
+
{#snippet transparentButton()}
|
|
188
|
+
<button
|
|
189
|
+
class="border-0 m-0 p-0 bg-transparent absolute"
|
|
190
|
+
aria-label="Play or pause video"
|
|
191
|
+
onclick={() => {
|
|
192
|
+
paused = !paused;
|
|
193
|
+
}}
|
|
194
|
+
style="top: 0; left: 0; width: {videoWidthContainer}px; height: {videoHeightContainer}px;"
|
|
195
|
+
></button>
|
|
196
|
+
{/snippet}
|
|
197
|
+
|
|
69
198
|
<svelte:window
|
|
70
|
-
on:click=
|
|
71
|
-
on:touchstart=
|
|
199
|
+
on:click={setInteractedWithDom}
|
|
200
|
+
on:touchstart={setInteractedWithDom}
|
|
72
201
|
/>
|
|
73
202
|
|
|
74
203
|
<GraphicBlock
|
|
75
204
|
{textWidth}
|
|
76
205
|
{title}
|
|
77
206
|
{description}
|
|
78
|
-
{notes}
|
|
207
|
+
notes={typeof notes === 'string' ? notes : undefined}
|
|
79
208
|
{width}
|
|
80
209
|
class="video {cls}"
|
|
81
210
|
>
|
|
82
211
|
<div
|
|
83
212
|
role="figure"
|
|
84
|
-
|
|
85
|
-
interactiveControlsOpacity =
|
|
86
|
-
}}
|
|
87
|
-
|
|
88
|
-
interactiveControlsOpacity =
|
|
89
|
-
}}
|
|
90
|
-
|
|
91
|
-
interactiveControlsOpacity =
|
|
92
|
-
}}
|
|
93
|
-
|
|
94
|
-
interactiveControlsOpacity =
|
|
95
|
-
}}
|
|
213
|
+
onmouseover={() => {
|
|
214
|
+
interactiveControlsOpacity = controlsOpacityMax;
|
|
215
|
+
}}
|
|
216
|
+
onfocus={() => {
|
|
217
|
+
interactiveControlsOpacity = controlsOpacityMax;
|
|
218
|
+
}}
|
|
219
|
+
onmouseout={() => {
|
|
220
|
+
interactiveControlsOpacity = controlsOpacityMin;
|
|
221
|
+
}}
|
|
222
|
+
onblur={() => {
|
|
223
|
+
interactiveControlsOpacity = controlsOpacityMin;
|
|
224
|
+
}}
|
|
96
225
|
>
|
|
97
|
-
{#if
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
{element}
|
|
106
|
-
bind:intersecting
|
|
107
|
-
threshold="{playVideoThreshold}"
|
|
108
|
-
once="{false}"
|
|
109
|
-
>
|
|
110
|
-
<div
|
|
111
|
-
bind:this="{element}"
|
|
112
|
-
class="video-wrapper relative block"
|
|
113
|
-
aria-hidden="{hidden}"
|
|
114
|
-
bind:clientWidth="{widthVideoContainer}"
|
|
115
|
-
bind:clientHeight="{heightVideoContainer}"
|
|
116
|
-
>
|
|
117
|
-
{#if possibleToPlayPause}
|
|
118
|
-
{#if showControls}
|
|
119
|
-
<Controls
|
|
120
|
-
on:pausePlayEvent="{pausePlayEvent}"
|
|
121
|
-
{paused}
|
|
122
|
-
{clickedOnPauseBtn}
|
|
123
|
-
controlsOpacity="{hoverToSeeControls ?
|
|
124
|
-
interactiveControlsOpacity
|
|
125
|
-
: controlsOpacity}"
|
|
126
|
-
{controlsPosition}
|
|
127
|
-
{widthVideoContainer}
|
|
128
|
-
{heightVideoContainer}
|
|
129
|
-
{controlsBorderOffset}
|
|
130
|
-
{resetCondition}
|
|
131
|
-
{separateReplayIcon}
|
|
132
|
-
{controlsColour}
|
|
133
|
-
/>
|
|
134
|
-
{:else}
|
|
135
|
-
<button
|
|
136
|
-
class="border-0 m-0 p-0 bg-transparent absolute"
|
|
137
|
-
on:click="{() => {
|
|
138
|
-
if (paused === true) {
|
|
139
|
-
paused = false;
|
|
140
|
-
} else {
|
|
141
|
-
paused = true;
|
|
142
|
-
}
|
|
143
|
-
}}"
|
|
144
|
-
style="top: 0; left: 0; width: {widthVideoContainer}px; height: {heightVideoContainer}px;"
|
|
145
|
-
></button>
|
|
146
|
-
{/if}
|
|
147
|
-
{/if}
|
|
148
|
-
<video
|
|
149
|
-
bind:this="{videoElement}"
|
|
150
|
-
{src}
|
|
151
|
-
{poster}
|
|
152
|
-
class="pointer-events-none relative"
|
|
153
|
-
width="100%"
|
|
154
|
-
muted="{muteVideo}"
|
|
155
|
-
playsinline
|
|
156
|
-
preload="{preloadVideo}"
|
|
157
|
-
loop="{loopVideo}"
|
|
158
|
-
bind:currentTime="{time}"
|
|
159
|
-
bind:duration
|
|
160
|
-
bind:paused
|
|
161
|
-
bind:clientWidth="{widthVideo}"
|
|
162
|
-
bind:clientHeight="{heightVideo}"
|
|
163
|
-
>
|
|
164
|
-
<track kind="captions" />
|
|
165
|
-
</video>
|
|
166
|
-
</div>
|
|
167
|
-
</IntersectionObserver>
|
|
168
|
-
{:else}
|
|
169
|
-
<!-- Video element without Intersection observer -->
|
|
226
|
+
{#if playVideoWhenInView}
|
|
227
|
+
<!-- Video element with Intersection Observer -->
|
|
228
|
+
<IntersectionObserver
|
|
229
|
+
{element}
|
|
230
|
+
bind:intersecting
|
|
231
|
+
threshold={playVideoThreshold}
|
|
232
|
+
once={false}
|
|
233
|
+
>
|
|
170
234
|
<div
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
bind:clientWidth=
|
|
174
|
-
bind:clientHeight=
|
|
235
|
+
bind:this={element}
|
|
236
|
+
class="video-wrapper relative block"
|
|
237
|
+
bind:clientWidth={videoWidthContainer}
|
|
238
|
+
bind:clientHeight={videoHeightContainer}
|
|
175
239
|
>
|
|
176
240
|
{#if possibleToPlayPause}
|
|
177
241
|
{#if showControls}
|
|
178
|
-
|
|
179
|
-
on:pausePlayEvent="{pausePlayEvent}"
|
|
180
|
-
{paused}
|
|
181
|
-
{clickedOnPauseBtn}
|
|
182
|
-
{controlsOpacity}
|
|
183
|
-
{controlsPosition}
|
|
184
|
-
{widthVideoContainer}
|
|
185
|
-
{heightVideoContainer}
|
|
186
|
-
{controlsBorderOffset}
|
|
187
|
-
{resetCondition}
|
|
188
|
-
{separateReplayIcon}
|
|
189
|
-
{controlsColour}
|
|
190
|
-
/>
|
|
242
|
+
{@render controls()}
|
|
191
243
|
{:else}
|
|
192
|
-
|
|
193
|
-
class="border-0 m-0 p-0 bg-transparent absolute"
|
|
194
|
-
on:click="{() => {
|
|
195
|
-
if (paused === true) {
|
|
196
|
-
paused = false;
|
|
197
|
-
} else {
|
|
198
|
-
paused = true;
|
|
199
|
-
}
|
|
200
|
-
}}"
|
|
201
|
-
style="top: 0; left: 0; width: {widthVideoContainer}px; height: {heightVideoContainer}px;"
|
|
202
|
-
></button>
|
|
244
|
+
{@render transparentButton()}
|
|
203
245
|
{/if}
|
|
204
246
|
{/if}
|
|
205
247
|
<video
|
|
206
|
-
bind:this=
|
|
248
|
+
bind:this={videoElement}
|
|
207
249
|
{src}
|
|
208
250
|
{poster}
|
|
209
251
|
class="pointer-events-none relative"
|
|
210
252
|
width="100%"
|
|
211
|
-
muted=
|
|
253
|
+
muted={muteVideo}
|
|
212
254
|
playsinline
|
|
213
|
-
preload=
|
|
214
|
-
loop=
|
|
215
|
-
|
|
255
|
+
preload={preloadVideo}
|
|
256
|
+
loop={loopVideo}
|
|
257
|
+
aria-label={ariaDescription}
|
|
258
|
+
bind:currentTime={time}
|
|
216
259
|
bind:duration
|
|
217
260
|
bind:paused
|
|
218
|
-
|
|
219
|
-
bind:
|
|
220
|
-
bind:clientHeight="{heightVideo}"
|
|
261
|
+
bind:clientWidth={videoWidth}
|
|
262
|
+
bind:clientHeight={videoHeight}
|
|
221
263
|
>
|
|
222
264
|
<track kind="captions" />
|
|
223
265
|
</video>
|
|
224
266
|
</div>
|
|
225
|
-
|
|
267
|
+
</IntersectionObserver>
|
|
268
|
+
{:else}
|
|
269
|
+
<!-- Video element without Intersection observer -->
|
|
270
|
+
<div
|
|
271
|
+
class="video-wrapper relative"
|
|
272
|
+
bind:clientWidth={videoWidthContainer}
|
|
273
|
+
bind:clientHeight={videoHeightContainer}
|
|
274
|
+
>
|
|
275
|
+
{#if possibleToPlayPause}
|
|
276
|
+
{#if showControls}
|
|
277
|
+
{@render controls()}
|
|
278
|
+
{:else}
|
|
279
|
+
{@render transparentButton()}
|
|
280
|
+
{/if}
|
|
281
|
+
{/if}
|
|
282
|
+
<video
|
|
283
|
+
bind:this={videoElement}
|
|
284
|
+
{src}
|
|
285
|
+
{poster}
|
|
286
|
+
class="pointer-events-none relative"
|
|
287
|
+
width="100%"
|
|
288
|
+
muted={muteVideo}
|
|
289
|
+
playsinline
|
|
290
|
+
preload={preloadVideo}
|
|
291
|
+
loop={loopVideo}
|
|
292
|
+
bind:currentTime={time}
|
|
293
|
+
bind:duration
|
|
294
|
+
bind:paused
|
|
295
|
+
autoplay
|
|
296
|
+
bind:clientWidth={videoWidth}
|
|
297
|
+
bind:clientHeight={videoHeight}
|
|
298
|
+
>
|
|
299
|
+
<track kind="captions" />
|
|
300
|
+
</video>
|
|
301
|
+
</div>
|
|
226
302
|
{/if}
|
|
227
303
|
</div>
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
304
|
+
<!-- Custom notes snippet -->
|
|
305
|
+
{#if notes && typeof notes !== 'string'}
|
|
306
|
+
{@render notes()}
|
|
231
307
|
{/if}
|
|
232
308
|
</GraphicBlock>
|
|
309
|
+
|
|
310
|
+
<style>button.controls {
|
|
311
|
+
z-index: 2;
|
|
312
|
+
position: absolute;
|
|
313
|
+
cursor: pointer;
|
|
314
|
+
background-color: transparent;
|
|
315
|
+
border: none;
|
|
316
|
+
transition: opacity 0.2s;
|
|
317
|
+
}</style>
|
|
@@ -1,79 +1,55 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type { ContainerWidth } from '../@types/global';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
*/ muteVideo?: boolean;
|
|
53
|
-
allowSoundToAutoplay?: boolean;
|
|
54
|
-
playVideoWhenInView?: boolean;
|
|
55
|
-
playVideoThreshold?: number;
|
|
56
|
-
possibleToPlayPause?: boolean;
|
|
57
|
-
showControls?: boolean;
|
|
58
|
-
hoverToSeeControls?: boolean;
|
|
59
|
-
separateReplayIcon?: boolean;
|
|
60
|
-
controlsColour?: string;
|
|
61
|
-
controlsOpacity?: number;
|
|
62
|
-
controlsPosition?: string;
|
|
63
|
-
};
|
|
64
|
-
events: {
|
|
65
|
-
[evt: string]: CustomEvent<any>;
|
|
66
|
-
};
|
|
67
|
-
slots: {
|
|
68
|
-
notes: {};
|
|
69
|
-
};
|
|
70
|
-
exports?: {} | undefined;
|
|
71
|
-
bindings?: string | undefined;
|
|
72
|
-
};
|
|
73
|
-
export type VideoProps = typeof __propDef.props;
|
|
74
|
-
export type VideoEvents = typeof __propDef.events;
|
|
75
|
-
export type VideoSlots = typeof __propDef.slots;
|
|
76
|
-
/** `Video` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-multimedia-video--docs) */
|
|
77
|
-
export default class Video extends SvelteComponent<VideoProps, VideoEvents, VideoSlots> {
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
3
|
+
import type { ControlsPosition } from './types';
|
|
4
|
+
interface Props {
|
|
5
|
+
/** Video source */
|
|
6
|
+
src: string;
|
|
7
|
+
/** Image to be shown while the video is downloading */
|
|
8
|
+
poster?: string;
|
|
9
|
+
/** ARIA description, passed in as a markdown string. */
|
|
10
|
+
ariaDescription: string;
|
|
11
|
+
/** Add extra classes to the block tag to target it with custom CSS. */
|
|
12
|
+
class?: string;
|
|
13
|
+
/** Title of the graphic */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** Notes to the graphic, passed in as a markdown string OR a custom snippet. */
|
|
16
|
+
notes?: string | Snippet;
|
|
17
|
+
/** Description of the graphic, passed in as a markdown string. */
|
|
18
|
+
description?: string;
|
|
19
|
+
/** Width of the block within the article well. */
|
|
20
|
+
width?: ContainerWidth;
|
|
21
|
+
/** Set a different width for the text within the text well, for example, "normal" to keep the title, description and notes inline with the rest of the text well. Can't ever be wider than `width`. */
|
|
22
|
+
textWidth?: ContainerWidth;
|
|
23
|
+
/** Preload options. `auto` is ignored if `autoplay` is true. Can also be `none` or `metadata`. */
|
|
24
|
+
preloadVideo?: 'auto' | 'none' | 'metadata';
|
|
25
|
+
/** Whether the video should loop. */
|
|
26
|
+
loopVideo?: boolean;
|
|
27
|
+
/** Whether video should have sound or not. */
|
|
28
|
+
muteVideo?: boolean;
|
|
29
|
+
/** If `true`, this allow videos with sound to autoplay if the user has previously interacted with DOM */
|
|
30
|
+
soundAutoplay?: boolean;
|
|
31
|
+
/** Whether the video should play when it comes into view or just on page load */
|
|
32
|
+
playVideoWhenInView?: boolean;
|
|
33
|
+
/** Controls how much of the video should be visible when it starts playing. This is a number between 0 and 1, where 0 means the video will start playing as soon as its top enters the viewport, and 1 means it will start when the whole video is in the viewport. */
|
|
34
|
+
playVideoThreshold?: number;
|
|
35
|
+
/** Whether to have the option to pause and play video */
|
|
36
|
+
possibleToPlayPause?: boolean;
|
|
37
|
+
/** Whether to show the play / pause buttons */
|
|
38
|
+
showControls?: boolean;
|
|
39
|
+
/** Whether to use a separate replay icon or use the play icon for replay as well */
|
|
40
|
+
separateReplayIcon?: boolean;
|
|
41
|
+
/** Change the colour of the play/pause button */
|
|
42
|
+
controlsColour?: string;
|
|
43
|
+
/** Change the minimum opacity of the play/pause button, which you see on mouseover. Must be between 0 and 1. */
|
|
44
|
+
controlsOpacityMin?: number;
|
|
45
|
+
/** Change the maximum opacity of the play/pause button, which you see on mouseout. Must be between 0 and 1. */
|
|
46
|
+
controlsOpacityMax?: number;
|
|
47
|
+
/** Have four options for controls position - top right, top left, bottom right, bottom left */
|
|
48
|
+
controlsPosition?: ControlsPosition;
|
|
49
|
+
/** Offset for the controls from the border */
|
|
50
|
+
controlsBorderOffset?: number;
|
|
78
51
|
}
|
|
79
|
-
|
|
52
|
+
/** `Video` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-multimedia-video--docs) */
|
|
53
|
+
declare const Video: import("svelte").Component<Props, {}, "">;
|
|
54
|
+
type Video = ReturnType<typeof Video>;
|
|
55
|
+
export default Video;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ControlsPosition = 'middle' | 'top right' | 'top left' | 'bottom right' | 'bottom left';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|