@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.
Files changed (547) hide show
  1. package/dist/actions/cssVariables/cssVariables.mdx +4 -5
  2. package/dist/actions/cssVariables/index.d.ts +2 -2
  3. package/dist/actions/cssVariables/index.js +14 -16
  4. package/dist/actions/resizeObserver/index.d.ts +1 -1
  5. package/dist/actions/resizeObserver/index.js +18 -20
  6. package/dist/actions/resizeObserver/resizeObserver.mdx +1 -1
  7. package/dist/app.html +11 -0
  8. package/dist/components/@types/global.d.ts +9 -7
  9. package/dist/components/AdSlot/AdScripts.svelte +15 -12
  10. package/dist/components/AdSlot/AdScripts.svelte.d.ts +16 -14
  11. package/dist/components/AdSlot/AdSlot.svelte +53 -31
  12. package/dist/components/AdSlot/AdSlot.svelte.d.ts +10 -21
  13. package/dist/components/AdSlot/{stories/docs/inline.md → InlineAd.mdx} +14 -4
  14. package/dist/components/AdSlot/InlineAd.stories.svelte +11 -14
  15. package/dist/components/AdSlot/InlineAd.stories.svelte.d.ts +17 -21
  16. package/dist/components/AdSlot/InlineAd.svelte +18 -7
  17. package/dist/components/AdSlot/InlineAd.svelte.d.ts +12 -20
  18. package/dist/components/AdSlot/{stories/docs/leaderboard.md → LeaderboardAd.mdx} +10 -0
  19. package/dist/components/AdSlot/LeaderboardAd.stories.svelte +13 -16
  20. package/dist/components/AdSlot/LeaderboardAd.stories.svelte.d.ts +17 -21
  21. package/dist/components/AdSlot/LeaderboardAd.svelte +45 -29
  22. package/dist/components/AdSlot/LeaderboardAd.svelte.d.ts +10 -19
  23. package/dist/components/AdSlot/OneTrust.svelte +39 -34
  24. package/dist/components/AdSlot/OneTrust.svelte.d.ts +16 -14
  25. package/dist/components/AdSlot/ResponsiveAd.svelte +69 -45
  26. package/dist/components/AdSlot/ResponsiveAd.svelte.d.ts +6 -18
  27. package/dist/components/AdSlot/{stories/docs/sponsorship.md → SponsorshipAd.mdx} +11 -1
  28. package/dist/components/AdSlot/SponsorshipAd.stories.svelte +11 -15
  29. package/dist/components/AdSlot/SponsorshipAd.stories.svelte.d.ts +17 -21
  30. package/dist/components/AdSlot/SponsorshipAd.svelte +21 -7
  31. package/dist/components/AdSlot/SponsorshipAd.svelte.d.ts +14 -22
  32. package/dist/components/Analytics/Analytics.mdx +73 -0
  33. package/dist/components/Analytics/Analytics.stories.svelte +11 -31
  34. package/dist/components/Analytics/Analytics.stories.svelte.d.ts +17 -21
  35. package/dist/components/Analytics/Analytics.svelte +27 -11
  36. package/dist/components/Analytics/Analytics.svelte.d.ts +14 -23
  37. package/dist/components/Article/Article.mdx +117 -0
  38. package/dist/components/Article/Article.stories.svelte +39 -40
  39. package/dist/components/Article/Article.stories.svelte.d.ts +17 -21
  40. package/dist/components/Article/Article.svelte +50 -20
  41. package/dist/components/Article/Article.svelte.d.ts +26 -34
  42. package/dist/components/BeforeAfter/BeforeAfter.mdx +111 -0
  43. package/dist/components/BeforeAfter/BeforeAfter.stories.svelte +38 -80
  44. package/dist/components/BeforeAfter/BeforeAfter.stories.svelte.d.ts +17 -30
  45. package/dist/components/BeforeAfter/BeforeAfter.svelte +240 -141
  46. package/dist/components/BeforeAfter/BeforeAfter.svelte.d.ts +60 -62
  47. package/dist/components/Block/Block.mdx +99 -0
  48. package/dist/components/Block/Block.stories.svelte +82 -72
  49. package/dist/components/Block/Block.stories.svelte.d.ts +17 -30
  50. package/dist/components/Block/Block.svelte +33 -11
  51. package/dist/components/Block/Block.svelte.d.ts +20 -25
  52. package/dist/components/BodyText/BodyText.mdx +115 -0
  53. package/dist/components/BodyText/BodyText.stories.svelte +28 -194
  54. package/dist/components/BodyText/BodyText.stories.svelte.d.ts +17 -21
  55. package/dist/components/BodyText/BodyText.svelte +14 -7
  56. package/dist/components/BodyText/BodyText.svelte.d.ts +11 -24
  57. package/dist/components/Byline/Byline.mdx +110 -0
  58. package/dist/components/Byline/Byline.stories.svelte +50 -26
  59. package/dist/components/Byline/Byline.stories.svelte.d.ts +17 -27
  60. package/dist/components/Byline/Byline.svelte +109 -43
  61. package/dist/components/Byline/Byline.svelte.d.ts +48 -48
  62. package/dist/components/DatawrapperChart/{stories/docs/component.md → DatawrapperChart.mdx} +20 -0
  63. package/dist/components/DatawrapperChart/DatawrapperChart.stories.svelte +31 -39
  64. package/dist/components/DatawrapperChart/DatawrapperChart.stories.svelte.d.ts +17 -27
  65. package/dist/components/DatawrapperChart/DatawrapperChart.svelte +94 -40
  66. package/dist/components/DatawrapperChart/DatawrapperChart.svelte.d.ts +42 -53
  67. package/dist/components/DocumentCloud/DocumentCloud.mdx +26 -0
  68. package/dist/components/DocumentCloud/DocumentCloud.stories.svelte +16 -25
  69. package/dist/components/DocumentCloud/DocumentCloud.stories.svelte.d.ts +17 -27
  70. package/dist/components/DocumentCloud/DocumentCloud.svelte +31 -10
  71. package/dist/components/DocumentCloud/DocumentCloud.svelte.d.ts +21 -30
  72. package/dist/components/EmbedPreviewerLink/EmbedPreviewerLink.mdx +19 -0
  73. package/dist/components/EmbedPreviewerLink/EmbedPreviewerLink.stories.svelte +11 -18
  74. package/dist/components/EmbedPreviewerLink/EmbedPreviewerLink.stories.svelte.d.ts +17 -21
  75. package/dist/components/EmbedPreviewerLink/EmbedPreviewerLink.svelte +9 -4
  76. package/dist/components/EmbedPreviewerLink/EmbedPreviewerLink.svelte.d.ts +5 -17
  77. package/dist/components/EndNotes/EndNotes.mdx +67 -0
  78. package/dist/components/EndNotes/EndNotes.stories.svelte +10 -15
  79. package/dist/components/EndNotes/EndNotes.stories.svelte.d.ts +17 -21
  80. package/dist/components/EndNotes/EndNotes.svelte +30 -14
  81. package/dist/components/EndNotes/EndNotes.svelte.d.ts +19 -31
  82. package/dist/components/FeaturePhoto/FeaturePhoto.mdx +72 -0
  83. package/dist/components/FeaturePhoto/FeaturePhoto.stories.svelte +24 -49
  84. package/dist/components/FeaturePhoto/FeaturePhoto.stories.svelte.d.ts +17 -31
  85. package/dist/components/FeaturePhoto/FeaturePhoto.svelte +108 -43
  86. package/dist/components/FeaturePhoto/FeaturePhoto.svelte.d.ts +57 -58
  87. package/dist/components/Framer/Framer.mdx +19 -0
  88. package/dist/components/Framer/Framer.stories.svelte +11 -18
  89. package/dist/components/Framer/Framer.stories.svelte.d.ts +17 -21
  90. package/dist/components/Framer/Framer.svelte +97 -69
  91. package/dist/components/Framer/Framer.svelte.d.ts +8 -30
  92. package/dist/components/Framer/Resizer/index.svelte +54 -41
  93. package/dist/components/Framer/Resizer/index.svelte.d.ts +7 -28
  94. package/dist/components/Framer/Typeahead/Search.svelte +101 -0
  95. package/dist/components/Framer/Typeahead/Search.svelte.d.ts +18 -0
  96. package/dist/components/Framer/Typeahead/fuzzy.d.ts +22 -9
  97. package/dist/components/Framer/Typeahead/fuzzy.js +70 -129
  98. package/dist/components/Framer/Typeahead/index.svelte +133 -121
  99. package/dist/components/Framer/Typeahead/index.svelte.d.ts +31 -138
  100. package/dist/components/Framer/stores.d.ts +1 -1
  101. package/dist/components/Framer/stores.js +0 -1
  102. package/dist/components/Framer/stories/docs/component.md +1 -1
  103. package/dist/components/Framer/uniqNames.d.ts +1 -1
  104. package/dist/components/Framer/uniqNames.js +45 -49
  105. package/dist/components/GraphicBlock/GraphicBlock.mdx +215 -0
  106. package/dist/components/GraphicBlock/GraphicBlock.stories.svelte +80 -60
  107. package/dist/components/GraphicBlock/GraphicBlock.stories.svelte.d.ts +17 -31
  108. package/dist/components/GraphicBlock/GraphicBlock.svelte +130 -69
  109. package/dist/components/GraphicBlock/GraphicBlock.svelte.d.ts +50 -65
  110. package/dist/components/GraphicBlock/components/AriaHidden.svelte +22 -0
  111. package/dist/components/GraphicBlock/components/AriaHidden.svelte.d.ts +12 -0
  112. package/dist/components/GraphicBlock/components/TextBlock.svelte +23 -0
  113. package/dist/components/GraphicBlock/components/TextBlock.svelte.d.ts +11 -0
  114. package/dist/components/GraphicBlock/{stories → demo}/ai2svelte/ai-chart.svelte +7 -11
  115. package/dist/components/GraphicBlock/demo/ai2svelte/ai-chart.svelte.d.ts +3 -0
  116. package/dist/components/Headline/Headline.mdx +150 -0
  117. package/dist/components/Headline/Headline.stories.svelte +78 -92
  118. package/dist/components/Headline/Headline.stories.svelte.d.ts +17 -31
  119. package/dist/components/Headline/Headline.svelte +108 -49
  120. package/dist/components/Headline/Headline.svelte.d.ts +42 -53
  121. package/dist/components/Headline/{stories → demo}/graphic.svelte +8 -9
  122. package/dist/components/Headline/demo/graphic.svelte.d.ts +6 -0
  123. package/dist/components/HeroHeadline/HeroHeadline.mdx +329 -0
  124. package/dist/components/HeroHeadline/HeroHeadline.stories.svelte +264 -0
  125. package/dist/components/HeroHeadline/HeroHeadline.stories.svelte.d.ts +19 -0
  126. package/dist/components/HeroHeadline/HeroHeadline.svelte +277 -0
  127. package/dist/components/HeroHeadline/HeroHeadline.svelte.d.ts +84 -0
  128. package/dist/components/HeroHeadline/{stories → demo}/graphics/crash.svelte +8 -15
  129. package/dist/components/HeroHeadline/demo/graphics/crash.svelte.d.ts +6 -0
  130. package/dist/components/HeroHeadline/{stories → demo}/graphics/quakemap.svelte +7 -7
  131. package/dist/components/HeroHeadline/demo/graphics/quakemap.svelte.d.ts +6 -0
  132. package/dist/components/InfoBox/InfoBox.mdx +122 -0
  133. package/dist/components/InfoBox/InfoBox.stories.svelte +86 -38
  134. package/dist/components/InfoBox/InfoBox.stories.svelte.d.ts +17 -31
  135. package/dist/components/InfoBox/InfoBox.svelte +69 -21
  136. package/dist/components/InfoBox/InfoBox.svelte.d.ts +41 -45
  137. package/dist/components/PaddingReset/PaddingReset.mdx +53 -0
  138. package/dist/components/PaddingReset/PaddingReset.stories.svelte +33 -33
  139. package/dist/components/PaddingReset/PaddingReset.stories.svelte.d.ts +17 -21
  140. package/dist/components/PaddingReset/PaddingReset.svelte +17 -7
  141. package/dist/components/PaddingReset/PaddingReset.svelte.d.ts +14 -29
  142. package/dist/components/PaddingReset/shark.jpg +0 -0
  143. package/dist/components/PhotoPack/PhotoPack.mdx +125 -0
  144. package/dist/components/PhotoPack/PhotoPack.stories.svelte +69 -108
  145. package/dist/components/PhotoPack/PhotoPack.stories.svelte.d.ts +17 -31
  146. package/dist/components/PhotoPack/PhotoPack.svelte +85 -43
  147. package/dist/components/PhotoPack/PhotoPack.svelte.d.ts +32 -52
  148. package/dist/components/PhotoPack/utils.d.ts +2 -0
  149. package/dist/components/PhotoPack/utils.js +17 -0
  150. package/dist/components/PymChild/PymChild.mdx +33 -0
  151. package/dist/components/PymChild/PymChild.stories.svelte +8 -17
  152. package/dist/components/PymChild/PymChild.stories.svelte.d.ts +17 -21
  153. package/dist/components/PymChild/PymChild.svelte +16 -9
  154. package/dist/components/PymChild/PymChild.svelte.d.ts +7 -18
  155. package/dist/components/PymChild/state.svelte.d.ts +6 -0
  156. package/dist/components/PymChild/state.svelte.js +1 -0
  157. package/dist/components/ReferralBlock/ReferralBlock.mdx +44 -0
  158. package/dist/components/ReferralBlock/ReferralBlock.stories.svelte +35 -45
  159. package/dist/components/ReferralBlock/ReferralBlock.stories.svelte.d.ts +17 -35
  160. package/dist/components/ReferralBlock/ReferralBlock.svelte +113 -66
  161. package/dist/components/ReferralBlock/ReferralBlock.svelte.d.ts +36 -41
  162. package/dist/components/ReutersGraphicsLogo/ReutersGraphicsLogo.mdx +21 -0
  163. package/dist/components/ReutersGraphicsLogo/ReutersGraphicsLogo.stories.svelte +12 -17
  164. package/dist/components/ReutersGraphicsLogo/ReutersGraphicsLogo.stories.svelte.d.ts +17 -21
  165. package/dist/components/ReutersGraphicsLogo/ReutersGraphicsLogo.svelte +15 -3
  166. package/dist/components/ReutersGraphicsLogo/ReutersGraphicsLogo.svelte.d.ts +11 -20
  167. package/dist/components/ReutersLogo/ReutersLogo.mdx +19 -0
  168. package/dist/components/ReutersLogo/ReutersLogo.stories.svelte +12 -20
  169. package/dist/components/ReutersLogo/ReutersLogo.stories.svelte.d.ts +17 -29
  170. package/dist/components/ReutersLogo/ReutersLogo.svelte +30 -19
  171. package/dist/components/ReutersLogo/ReutersLogo.svelte.d.ts +11 -20
  172. package/dist/components/SEO/SEO.mdx +80 -0
  173. package/dist/components/SEO/SEO.stories.svelte +18 -36
  174. package/dist/components/SEO/SEO.stories.svelte.d.ts +16 -22
  175. package/dist/components/SEO/SEO.svelte +151 -91
  176. package/dist/components/SEO/SEO.svelte.d.ts +53 -71
  177. package/dist/components/Scroller/Background.svelte +14 -10
  178. package/dist/components/Scroller/Background.svelte.d.ts +8 -20
  179. package/dist/components/Scroller/Embedded/Background.svelte +13 -9
  180. package/dist/components/Scroller/Embedded/Background.svelte.d.ts +7 -19
  181. package/dist/components/Scroller/Embedded/Foreground.svelte +16 -11
  182. package/dist/components/Scroller/Embedded/Foreground.svelte.d.ts +6 -18
  183. package/dist/components/Scroller/Embedded/index.svelte +18 -5
  184. package/dist/components/Scroller/Embedded/index.svelte.d.ts +8 -19
  185. package/dist/components/Scroller/Foreground.svelte +14 -9
  186. package/dist/components/Scroller/Foreground.svelte.d.ts +5 -17
  187. package/dist/components/Scroller/Scroller.mdx +279 -0
  188. package/dist/components/Scroller/Scroller.stories.svelte +107 -100
  189. package/dist/components/Scroller/Scroller.stories.svelte.d.ts +17 -38
  190. package/dist/components/Scroller/Scroller.svelte +121 -44
  191. package/dist/components/Scroller/Scroller.svelte.d.ts +66 -83
  192. package/dist/components/Scroller/ScrollerBase/index.svelte +267 -0
  193. package/dist/components/Scroller/ScrollerBase/index.svelte.d.ts +32 -0
  194. package/dist/components/Scroller/demo/components/ai2svelte/ai-foreground.svelte +118 -0
  195. package/dist/components/Scroller/demo/components/ai2svelte/ai-foreground.svelte.d.ts +6 -0
  196. package/dist/components/Scroller/{stories → demo}/components/ai2svelte/ai-scroller-1.svelte +4 -14
  197. package/dist/components/Scroller/demo/components/ai2svelte/ai-scroller-1.svelte.d.ts +3 -0
  198. package/dist/components/Scroller/{stories → demo}/components/ai2svelte/ai-scroller-2.svelte +3 -3
  199. package/dist/components/Scroller/demo/components/ai2svelte/ai-scroller-2.svelte.d.ts +3 -0
  200. package/dist/components/Scroller/{stories → demo}/components/ai2svelte/ai-scroller-3.svelte +3 -3
  201. package/dist/components/Scroller/demo/components/ai2svelte/ai-scroller-3.svelte.d.ts +3 -0
  202. package/dist/components/Scroller/demo/components/ai2svelte/images/Body-issues-key-xs.png +0 -0
  203. package/dist/components/Scroller/demo/components/basic/InteractiveForeground.svelte +17 -0
  204. package/dist/components/Scroller/demo/components/basic/InteractiveForeground.svelte.d.ts +6 -0
  205. package/dist/components/Scroller/demo/components/basic/Step.svelte +16 -0
  206. package/dist/components/Scroller/demo/components/basic/Step.svelte.d.ts +6 -0
  207. package/dist/components/SearchInput/SearchInput.mdx +29 -0
  208. package/dist/components/SearchInput/SearchInput.stories.svelte +20 -15
  209. package/dist/components/SearchInput/SearchInput.stories.svelte.d.ts +17 -21
  210. package/dist/components/SearchInput/SearchInput.svelte +31 -20
  211. package/dist/components/SearchInput/SearchInput.svelte.d.ts +9 -23
  212. package/dist/components/SearchInput/components/MagnifyingGlass.svelte.d.ts +26 -0
  213. package/dist/components/SearchInput/components/X.svelte.d.ts +26 -0
  214. package/dist/components/SimpleTimeline/SimpleTimeline.mdx +119 -0
  215. package/dist/components/SimpleTimeline/SimpleTimeline.stories.svelte +28 -36
  216. package/dist/components/SimpleTimeline/SimpleTimeline.stories.svelte.d.ts +17 -29
  217. package/dist/components/SimpleTimeline/SimpleTimeline.svelte +51 -15
  218. package/dist/components/SimpleTimeline/SimpleTimeline.svelte.d.ts +34 -44
  219. package/dist/components/SiteFooter/CompanyLinks.svelte +34 -6
  220. package/dist/components/SiteFooter/CompanyLinks.svelte.d.ts +11 -24
  221. package/dist/components/SiteFooter/LegalLinks.svelte +42 -9
  222. package/dist/components/SiteFooter/LegalLinks.svelte.d.ts +18 -24
  223. package/dist/components/SiteFooter/QuickLinks.svelte +60 -15
  224. package/dist/components/SiteFooter/QuickLinks.svelte.d.ts +27 -24
  225. package/dist/components/SiteFooter/SiteFooter.mdx +45 -0
  226. package/dist/components/SiteFooter/SiteFooter.stories.svelte +11 -31
  227. package/dist/components/SiteFooter/SiteFooter.stories.svelte.d.ts +17 -21
  228. package/dist/components/SiteFooter/SiteFooter.svelte +45 -31
  229. package/dist/components/SiteFooter/SiteFooter.svelte.d.ts +9 -20
  230. package/dist/components/SiteFooter/data.json +2 -2
  231. package/dist/components/SiteFooter/svgs/Facebook.svelte +6 -2
  232. package/dist/components/SiteFooter/svgs/Facebook.svelte.d.ts +5 -24
  233. package/dist/components/SiteFooter/svgs/Graphics.svelte.d.ts +22 -21
  234. package/dist/components/SiteFooter/svgs/Instagram.svelte +6 -2
  235. package/dist/components/SiteFooter/svgs/Instagram.svelte.d.ts +5 -24
  236. package/dist/components/SiteFooter/svgs/LinkedIn.svelte +6 -2
  237. package/dist/components/SiteFooter/svgs/LinkedIn.svelte.d.ts +5 -24
  238. package/dist/components/SiteFooter/svgs/Pictures.svelte.d.ts +22 -21
  239. package/dist/components/SiteFooter/svgs/Twitter.svelte +6 -2
  240. package/dist/components/SiteFooter/svgs/Twitter.svelte.d.ts +5 -24
  241. package/dist/components/SiteFooter/svgs/Videos.svelte.d.ts +22 -21
  242. package/dist/components/SiteFooter/svgs/YouTube.svelte +6 -2
  243. package/dist/components/SiteFooter/svgs/YouTube.svelte.d.ts +5 -24
  244. package/dist/components/SiteHeader/MobileMenu/index.svelte +45 -12
  245. package/dist/components/SiteHeader/MobileMenu/index.svelte.d.ts +7 -28
  246. package/dist/components/SiteHeader/NavBar/DownArrow.svelte +7 -3
  247. package/dist/components/SiteHeader/NavBar/DownArrow.svelte.d.ts +5 -24
  248. package/dist/components/SiteHeader/NavBar/NavDropdown/MoreDropdown.svelte +11 -7
  249. package/dist/components/SiteHeader/NavBar/NavDropdown/MoreDropdown.svelte.d.ts +5 -25
  250. package/dist/components/SiteHeader/NavBar/NavDropdown/SectionDropdown.svelte +13 -9
  251. package/dist/components/SiteHeader/NavBar/NavDropdown/SectionDropdown.svelte.d.ts +5 -26
  252. package/dist/components/SiteHeader/NavBar/NavDropdown/Spinner/index.svelte +1 -0
  253. package/dist/components/SiteHeader/NavBar/NavDropdown/Spinner/index.svelte.d.ts +22 -21
  254. package/dist/components/SiteHeader/NavBar/NavDropdown/StoryCard/index.svelte +10 -20
  255. package/dist/components/SiteHeader/NavBar/NavDropdown/StoryCard/index.svelte.d.ts +4 -24
  256. package/dist/components/SiteHeader/NavBar/NavDropdown/StoryCard/time.d.ts +2 -1
  257. package/dist/components/SiteHeader/NavBar/NavDropdown/StoryCard/time.js +36 -45
  258. package/dist/components/SiteHeader/NavBar/NavDropdown/index.svelte +65 -22
  259. package/dist/components/SiteHeader/NavBar/NavDropdown/index.svelte.d.ts +7 -28
  260. package/dist/components/SiteHeader/NavBar/index.svelte +46 -40
  261. package/dist/components/SiteHeader/NavBar/index.svelte.d.ts +5 -25
  262. package/dist/components/SiteHeader/NavBar/utils/index.d.ts +1 -1
  263. package/dist/components/SiteHeader/NavBar/utils/index.js +1 -2
  264. package/dist/components/SiteHeader/SiteHeader.mdx +33 -0
  265. package/dist/components/SiteHeader/SiteHeader.stories.svelte +27 -26
  266. package/dist/components/SiteHeader/SiteHeader.stories.svelte.d.ts +17 -28
  267. package/dist/components/SiteHeader/SiteHeader.svelte +64 -39
  268. package/dist/components/SiteHeader/SiteHeader.svelte.d.ts +3 -16
  269. package/dist/components/SiteHeader/scss/_grids.scss +49 -17
  270. package/dist/components/SiteHeader/svgs/Close.svelte.d.ts +22 -21
  271. package/dist/components/SiteHeader/svgs/Menu.svelte +6 -2
  272. package/dist/components/SiteHeader/svgs/Menu.svelte.d.ts +5 -24
  273. package/dist/components/SiteHeadline/SiteHeadline.mdx +66 -0
  274. package/dist/components/SiteHeadline/SiteHeadline.stories.svelte +17 -35
  275. package/dist/components/SiteHeadline/SiteHeadline.stories.svelte.d.ts +17 -36
  276. package/dist/components/SiteHeadline/SiteHeadline.svelte +59 -26
  277. package/dist/components/SiteHeadline/SiteHeadline.svelte.d.ts +31 -54
  278. package/dist/components/Spinner/Spinner.mdx +25 -0
  279. package/dist/components/Spinner/Spinner.stories.svelte +17 -25
  280. package/dist/components/Spinner/Spinner.stories.svelte.d.ts +17 -58
  281. package/dist/components/Spinner/Spinner.svelte +30 -6
  282. package/dist/components/Spinner/Spinner.svelte.d.ts +23 -30
  283. package/dist/components/Table/Table.mdx +177 -0
  284. package/dist/components/Table/Table.stories.svelte +56 -79
  285. package/dist/components/Table/Table.stories.svelte.d.ts +17 -27
  286. package/dist/components/Table/Table.svelte +201 -134
  287. package/dist/components/Table/Table.svelte.d.ts +50 -94
  288. package/dist/components/Table/components/LeftArrow.svelte.d.ts +26 -0
  289. package/dist/components/Table/{Pagination.svelte → components/Pagination.svelte} +48 -21
  290. package/dist/components/Table/components/Pagination.svelte.d.ts +21 -0
  291. package/dist/components/Table/components/RightArrow.svelte.d.ts +26 -0
  292. package/dist/components/Table/{Select.svelte → components/Select.svelte} +25 -13
  293. package/dist/components/Table/components/Select.svelte.d.ts +16 -0
  294. package/dist/components/Table/{SortArrow.svelte → components/SortArrow.svelte} +19 -4
  295. package/dist/components/Table/components/SortArrow.svelte.d.ts +16 -0
  296. package/dist/components/Table/utils.d.ts +39 -3
  297. package/dist/components/Table/utils.js +80 -26
  298. package/dist/components/Theme/@types/component.d.ts +5 -6
  299. package/dist/components/Theme/Theme.mdx +164 -0
  300. package/dist/components/Theme/Theme.stories.svelte +55 -57
  301. package/dist/components/Theme/Theme.stories.svelte.d.ts +17 -30
  302. package/dist/components/Theme/Theme.svelte +45 -11
  303. package/dist/components/Theme/Theme.svelte.d.ts +19 -28
  304. package/dist/components/Theme/demo/ThemedPage.svelte +36 -0
  305. package/dist/components/Theme/demo/ThemedPage.svelte.d.ts +26 -0
  306. package/dist/components/Theme/themes/common.d.ts +26 -1
  307. package/dist/components/Theme/themes/dark.d.ts +12 -1
  308. package/dist/components/Theme/themes/light.d.ts +12 -1
  309. package/dist/components/Theme/utils/flatten.d.ts +1 -1
  310. package/dist/components/Theme/utils/flatten.js +27 -33
  311. package/dist/components/Theme/utils/merge.d.ts +2 -1
  312. package/dist/components/Theme/utils/merge.js +16 -15
  313. package/dist/components/ToolsHeader/ToolsHeader.mdx +23 -0
  314. package/dist/components/ToolsHeader/ToolsHeader.stories.svelte +10 -16
  315. package/dist/components/ToolsHeader/ToolsHeader.stories.svelte.d.ts +17 -21
  316. package/dist/components/ToolsHeader/ToolsHeader.svelte +57 -16
  317. package/dist/components/ToolsHeader/ToolsHeader.svelte.d.ts +34 -38
  318. package/dist/components/Video/Video.mdx +155 -0
  319. package/dist/components/Video/Video.stories.svelte +72 -56
  320. package/dist/components/Video/Video.stories.svelte.d.ts +17 -21
  321. package/dist/components/Video/Video.svelte +277 -192
  322. package/dist/components/Video/Video.svelte.d.ts +53 -77
  323. package/dist/components/Video/types.d.ts +1 -0
  324. package/dist/components/Video/types.js +1 -0
  325. package/dist/components/Video/utils.d.ts +3 -0
  326. package/dist/components/Video/utils.js +13 -0
  327. package/dist/components/Visible/Visible.mdx +33 -0
  328. package/dist/components/Visible/Visible.stories.svelte +18 -22
  329. package/dist/components/Visible/Visible.stories.svelte.d.ts +17 -21
  330. package/dist/components/Visible/Visible.svelte +74 -37
  331. package/dist/components/Visible/Visible.svelte.d.ts +23 -31
  332. package/dist/docs/contributing/component-guidelines.mdx +19 -48
  333. package/dist/docs/contributing/quickstart.mdx +2 -12
  334. package/dist/docs/contributing/writing-component-stories.mdx +5 -6
  335. package/dist/docs/docs-components/ThemeBuilder/Customiser/Value.jsx +2 -1
  336. package/dist/docs/docs-components/ThemeBuilder/ThemeBuilder.jsx +1 -1
  337. package/dist/docs/guides/archieml.mdx +18 -18
  338. package/dist/docs/guides/graphics-kit.mdx +5 -5
  339. package/dist/docs/guides/svelte-components.mdx +9 -9
  340. package/dist/docs/intro.mdx +2 -2
  341. package/dist/docs/styles/intro.mdx +1 -1
  342. package/dist/docs/theming/css-variables.mdx +7 -7
  343. package/dist/docs/utils/css-to-js/index.d.ts +2 -0
  344. package/dist/docs/utils/css-to-js/index.js +388 -0
  345. package/dist/docs/utils/parseCss.d.ts +3 -3
  346. package/dist/docs/utils/parseCss.js +37 -43
  347. package/dist/index.d.ts +43 -45
  348. package/dist/index.js +5 -12
  349. package/dist/journalize.d.ts +19 -0
  350. package/dist/scss/tokens/text/mixins/_font-family.scss +2 -1
  351. package/dist/utils/index.d.ts +6 -0
  352. package/dist/utils/index.js +12 -0
  353. package/package.json +59 -77
  354. package/dist/components/Analytics/stories/docs/component.md +0 -11
  355. package/dist/components/Analytics/stories/docs/environments.md +0 -17
  356. package/dist/components/Analytics/stories/docs/multipage.md +0 -31
  357. package/dist/components/Article/stories/docs/component.md +0 -13
  358. package/dist/components/Article/stories/docs/customWellWidths.md +0 -87
  359. package/dist/components/BeforeAfter/stories/docs/ariaDescriptions.md +0 -35
  360. package/dist/components/BeforeAfter/stories/docs/component.md +0 -15
  361. package/dist/components/BeforeAfter/stories/docs/withOverlays.md +0 -33
  362. package/dist/components/Block/stories/docs/component.md +0 -15
  363. package/dist/components/Block/stories/docs/customLayouts.md +0 -13
  364. package/dist/components/Block/stories/docs/snapWidths.md +0 -50
  365. package/dist/components/BodyText/stories/docs/component.md +0 -46
  366. package/dist/components/Byline/stories/docs/component.md +0 -19
  367. package/dist/components/DatawrapperChart/stories/docs/withChatter.md +0 -5
  368. package/dist/components/DocumentCloud/stories/docs/component.md +0 -17
  369. package/dist/components/EmbedPreviewerLink/stories/docs/component.md +0 -11
  370. package/dist/components/EndNotes/stories/docs/component.md +0 -24
  371. package/dist/components/FeaturePhoto/stories/docs/archieML.md +0 -37
  372. package/dist/components/FeaturePhoto/stories/docs/component.md +0 -16
  373. package/dist/components/FeaturePhoto/stories/docs/missingAltText.md +0 -1
  374. package/dist/components/GraphicBlock/AriaHidden.svelte +0 -10
  375. package/dist/components/GraphicBlock/AriaHidden.svelte.d.ts +0 -22
  376. package/dist/components/GraphicBlock/TextBlock.svelte +0 -11
  377. package/dist/components/GraphicBlock/TextBlock.svelte.d.ts +0 -21
  378. package/dist/components/GraphicBlock/stories/ai2svelte/ai-chart.svelte.d.ts +0 -25
  379. package/dist/components/GraphicBlock/stories/docs/ai2svelte.md +0 -19
  380. package/dist/components/GraphicBlock/stories/docs/archieML.md +0 -40
  381. package/dist/components/GraphicBlock/stories/docs/aria.md +0 -56
  382. package/dist/components/GraphicBlock/stories/docs/component.md +0 -20
  383. package/dist/components/GraphicBlock/stories/docs/customText.md +0 -14
  384. package/dist/components/Headline/stories/docs/component.md +0 -13
  385. package/dist/components/Headline/stories/docs/customHed.md +0 -31
  386. package/dist/components/Headline/stories/docs/withByline.md +0 -13
  387. package/dist/components/Headline/stories/docs/withCrownGraphic.md +0 -24
  388. package/dist/components/Headline/stories/docs/withCrownImage.md +0 -21
  389. package/dist/components/Headline/stories/docs/withDek.md +0 -11
  390. package/dist/components/Headline/stories/graphic.svelte.d.ts +0 -25
  391. package/dist/components/HeroHeadline/Hero.stories.svelte +0 -322
  392. package/dist/components/HeroHeadline/Hero.stories.svelte.d.ts +0 -42
  393. package/dist/components/HeroHeadline/Hero.svelte +0 -193
  394. package/dist/components/HeroHeadline/Hero.svelte.d.ts +0 -75
  395. package/dist/components/HeroHeadline/stories/docs/backgroundGraphic.md +0 -84
  396. package/dist/components/HeroHeadline/stories/docs/backgroundVideo.md +0 -51
  397. package/dist/components/HeroHeadline/stories/docs/component.md +0 -20
  398. package/dist/components/HeroHeadline/stories/docs/customHed.md +0 -43
  399. package/dist/components/HeroHeadline/stories/docs/inlineGraphic.md +0 -38
  400. package/dist/components/HeroHeadline/stories/docs/inlinePhoto.md +0 -34
  401. package/dist/components/HeroHeadline/stories/docs/inlineVideo.md +0 -34
  402. package/dist/components/HeroHeadline/stories/docs/transparentHeader.md +0 -17
  403. package/dist/components/HeroHeadline/stories/graphics/crash.svelte.d.ts +0 -25
  404. package/dist/components/HeroHeadline/stories/graphics/quakemap.svelte.d.ts +0 -25
  405. package/dist/components/InfoBox/stories/docs/component.md +0 -17
  406. package/dist/components/Markdown/Markdown.stories.svelte +0 -28
  407. package/dist/components/Markdown/Markdown.stories.svelte.d.ts +0 -23
  408. package/dist/components/Markdown/Markdown.svelte +0 -34
  409. package/dist/components/Markdown/Markdown.svelte.d.ts +0 -20
  410. package/dist/components/Markdown/stores.d.ts +0 -23
  411. package/dist/components/Markdown/stores.js +0 -24
  412. package/dist/components/Markdown/stories/docs/component.md +0 -39
  413. package/dist/components/PaddingReset/stories/docs/component.md +0 -35
  414. package/dist/components/PhotoCarousel/PhotoCarousel.stories.svelte +0 -72
  415. package/dist/components/PhotoCarousel/PhotoCarousel.stories.svelte.d.ts +0 -29
  416. package/dist/components/PhotoCarousel/PhotoCarousel.svelte +0 -202
  417. package/dist/components/PhotoCarousel/PhotoCarousel.svelte.d.ts +0 -78
  418. package/dist/components/PhotoCarousel/stories/docs/component.md +0 -21
  419. package/dist/components/PhotoCarousel/stories/docs/withCustom.md +0 -27
  420. package/dist/components/PhotoCarousel/stories/photos.json +0 -72
  421. package/dist/components/PhotoPack/stories/docs/archieML.md +0 -63
  422. package/dist/components/PhotoPack/stories/docs/component.md +0 -45
  423. package/dist/components/PhotoPack/stories/docs/missingAltText.md +0 -1
  424. package/dist/components/PymChild/stores.d.ts +0 -1
  425. package/dist/components/PymChild/stores.js +0 -3
  426. package/dist/components/PymChild/stories/docs/component.md +0 -28
  427. package/dist/components/ReferralBlock/stories/docs/collection.md +0 -7
  428. package/dist/components/ReferralBlock/stories/docs/component.md +0 -15
  429. package/dist/components/ReutersGraphicsLogo/stories/docs/component.md +0 -11
  430. package/dist/components/ReutersLogo/stories/docs/component.md +0 -9
  431. package/dist/components/SEO/stories/docs/archieML.md +0 -36
  432. package/dist/components/SEO/stories/docs/component.md +0 -26
  433. package/dist/components/Scroller/stories/components/ai2svelte/ai-scroller-1.svelte.d.ts +0 -25
  434. package/dist/components/Scroller/stories/components/ai2svelte/ai-scroller-2.svelte.d.ts +0 -25
  435. package/dist/components/Scroller/stories/components/ai2svelte/ai-scroller-3.svelte.d.ts +0 -25
  436. package/dist/components/Scroller/stories/components/basic/InteractiveForeground.svelte +0 -13
  437. package/dist/components/Scroller/stories/components/basic/InteractiveForeground.svelte.d.ts +0 -25
  438. package/dist/components/Scroller/stories/components/basic/Step.svelte +0 -12
  439. package/dist/components/Scroller/stories/components/basic/Step.svelte.d.ts +0 -25
  440. package/dist/components/Scroller/stories/docs/ai2svelte.md +0 -42
  441. package/dist/components/Scroller/stories/docs/archieML.md +0 -87
  442. package/dist/components/Scroller/stories/docs/component.md +0 -39
  443. package/dist/components/Scroller/stories/docs/interactive.md +0 -36
  444. package/dist/components/SearchInput/MagnifyingGlass.svelte.d.ts +0 -25
  445. package/dist/components/SearchInput/X.svelte.d.ts +0 -25
  446. package/dist/components/SearchInput/stories/docs/component.md +0 -17
  447. package/dist/components/SimpleTimeline/stories/docs/component.md +0 -24
  448. package/dist/components/SiteFooter/stories/docs/component.md +0 -11
  449. package/dist/components/SiteFooter/stories/docs/darkTheme.md +0 -11
  450. package/dist/components/SiteFooter/stories/docs/removeReferrals.md +0 -9
  451. package/dist/components/SiteHeader/stories/docs/component.md +0 -11
  452. package/dist/components/SiteHeader/stories/docs/darkTheme.md +0 -11
  453. package/dist/components/SiteHeadline/stories/docs/archieML.md +0 -26
  454. package/dist/components/SiteHeadline/stories/docs/component.md +0 -21
  455. package/dist/components/Spinner/stories/docs/component.md +0 -15
  456. package/dist/components/Table/LeftArrow.svelte.d.ts +0 -25
  457. package/dist/components/Table/Pagination.svelte.d.ts +0 -33
  458. package/dist/components/Table/RightArrow.svelte.d.ts +0 -25
  459. package/dist/components/Table/Select.svelte.d.ts +0 -28
  460. package/dist/components/Table/SortArrow.svelte.d.ts +0 -22
  461. package/dist/components/Table/stories/docs/both.md +0 -13
  462. package/dist/components/Table/stories/docs/component.md +0 -14
  463. package/dist/components/Table/stories/docs/filter.md +0 -11
  464. package/dist/components/Table/stories/docs/format.md +0 -21
  465. package/dist/components/Table/stories/docs/metadata.md +0 -14
  466. package/dist/components/Table/stories/docs/paginate.md +0 -14
  467. package/dist/components/Table/stories/docs/search.md +0 -11
  468. package/dist/components/Table/stories/docs/sort.md +0 -14
  469. package/dist/components/Table/stories/docs/style.md +0 -23
  470. package/dist/components/Table/stories/docs/truncate.md +0 -11
  471. package/dist/components/Theme/stories/ThemedPage.svelte +0 -43
  472. package/dist/components/Theme/stories/ThemedPage.svelte.d.ts +0 -25
  473. package/dist/components/Theme/stories/docs/component.md +0 -15
  474. package/dist/components/Theme/stories/docs/customise-font.md +0 -52
  475. package/dist/components/Theme/stories/docs/customise.md +0 -28
  476. package/dist/components/Theme/stories/docs/gfonts.png +0 -0
  477. package/dist/components/Theme/stories/docs/inheritance.md +0 -17
  478. package/dist/components/Theme/stories/docs/pattern.md +0 -40
  479. package/dist/components/ToolsHeader/stories/docs/component.md +0 -13
  480. package/dist/components/Video/Controls.svelte +0 -75
  481. package/dist/components/Video/Controls.svelte.d.ts +0 -47
  482. package/dist/components/Video/docs.svx +0 -275
  483. package/dist/components/Video/stories/docs/component.md +0 -15
  484. package/dist/components/Video/stories/docs/controls.md +0 -38
  485. package/dist/components/Video/stories/docs/playAndLoop.md +0 -28
  486. package/dist/components/Video/stories/docs/withSound.md +0 -36
  487. package/dist/components/Visible/stories/docs/component.md +0 -19
  488. package/dist/components/Visible/stories/snippets/default.svelte +0 -11
  489. package/dist/components/Visible/stories/snippets/default.svelte.d.ts +0 -25
  490. package/dist/docs/contributing/story-recipes/basic-story.mdx +0 -77
  491. package/dist/docs/contributing/story-recipes/source-code.png +0 -0
  492. package/dist/docs/contributing/story-recipes/story-with-custom-controls.mdx +0 -46
  493. package/dist/docs/contributing/story-recipes/story-with-custom-docs.mdx +0 -130
  494. package/dist/docs/contributing/story-recipes/story-with-media.mdx +0 -50
  495. package/dist/docs/contributing/writing-docs-stories.mdx +0 -35
  496. package/dist/docs/utils/withParams.d.ts +0 -15
  497. package/dist/docs/utils/withParams.js +0 -46
  498. /package/dist/components/BeforeAfter/{stories → images}/myrne-after.jpg +0 -0
  499. /package/dist/components/BeforeAfter/{stories → images}/myrne-before.jpg +0 -0
  500. /package/dist/components/FeaturePhoto/{stories → images}/shark.jpg +0 -0
  501. /package/dist/components/GraphicBlock/{stories → demo}/imgs/ai-chart-md.png +0 -0
  502. /package/dist/components/GraphicBlock/{stories → demo}/imgs/ai-chart-sm.png +0 -0
  503. /package/dist/components/GraphicBlock/{stories → demo}/imgs/ai-chart-xs.png +0 -0
  504. /package/dist/components/GraphicBlock/{stories → demo}/placeholder.png +0 -0
  505. /package/dist/components/Headline/{stories → demo}/crown.png +0 -0
  506. /package/dist/components/Headline/{stories → demo}/graphic-lg.png +0 -0
  507. /package/dist/components/Headline/{stories → demo}/graphic-md.png +0 -0
  508. /package/dist/components/Headline/{stories → demo}/graphic-sm.png +0 -0
  509. /package/dist/components/Headline/{stories → demo}/graphic-xl.png +0 -0
  510. /package/dist/components/Headline/{stories → demo}/graphic-xs.png +0 -0
  511. /package/dist/components/HeroHeadline/{stories → demo}/eurovis.jpeg +0 -0
  512. /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-lg.jpeg +0 -0
  513. /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-md.jpeg +0 -0
  514. /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-sm.jpeg +0 -0
  515. /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-xl.jpeg +0 -0
  516. /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-xl_copy.jpeg +0 -0
  517. /package/dist/components/HeroHeadline/{stories → demo}/graphics/CRASH_1-xs.jpeg +0 -0
  518. /package/dist/components/HeroHeadline/{stories → demo}/graphics/quake-map-top-lg.jpeg +0 -0
  519. /package/dist/components/HeroHeadline/{stories → demo}/graphics/quake-map-top-md.jpeg +0 -0
  520. /package/dist/components/HeroHeadline/{stories → demo}/graphics/quake-map-top-sm.jpeg +0 -0
  521. /package/dist/components/HeroHeadline/{stories → demo}/graphics/quake-map-top-xl.jpeg +0 -0
  522. /package/dist/components/HeroHeadline/{stories → demo}/graphics/quake-map-top-xs.jpeg +0 -0
  523. /package/dist/components/HeroHeadline/{stories → demo}/polar.jpg +0 -0
  524. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-1-lg.png +0 -0
  525. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-1-md.png +0 -0
  526. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-1-sm.png +0 -0
  527. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-1-xl.png +0 -0
  528. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-1-xs.png +0 -0
  529. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-2-lg.png +0 -0
  530. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-2-md.png +0 -0
  531. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-2-sm.png +0 -0
  532. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-2-xl.png +0 -0
  533. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-2-xs.png +0 -0
  534. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-3-lg.png +0 -0
  535. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-3-md.png +0 -0
  536. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-3-sm.png +0 -0
  537. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-3-xl.png +0 -0
  538. /package/dist/components/Scroller/{stories → demo}/components/ai2svelte/images/step-3-xs.png +0 -0
  539. /package/dist/components/SearchInput/{MagnifyingGlass.svelte → components/MagnifyingGlass.svelte} +0 -0
  540. /package/dist/components/SearchInput/{X.svelte → components/X.svelte} +0 -0
  541. /package/dist/components/Table/{LeftArrow.svelte → components/LeftArrow.svelte} +0 -0
  542. /package/dist/components/Table/{RightArrow.svelte → components/RightArrow.svelte} +0 -0
  543. /package/dist/components/Table/{stories → demo}/homeRuns.json +0 -0
  544. /package/dist/components/Table/{stories → demo}/pressFreedom.json +0 -0
  545. /package/dist/components/Table/{stories → demo}/richestWomen.json +0 -0
  546. /package/dist/components/Video/{stories/videos → demo}/silent-video.mp4 +0 -0
  547. /package/dist/components/Video/{stories/videos → demo}/sound-video.mp4 +0 -0
@@ -1,49 +1,91 @@
1
1
  <!-- @component `PhotoPack` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-multimedia-photopack--docs) -->
2
- <script>export let images = [];
3
- export let layouts = [];
4
- export let gap = 15;
5
- const random4 = () => Math.floor((1 + Math.random()) * 65536).toString(16).substring(1);
6
- export let id = "photopack-" + random4() + random4();
7
- let cls = "";
8
- export { cls as class };
9
- export let width = "normal";
10
- export let textWidth = "normal";
11
- import Block from "../Block/Block.svelte";
12
- import PaddingReset from "../PaddingReset/PaddingReset.svelte";
13
- import Markdown from "../Markdown/Markdown.svelte";
14
- let containerWidth;
15
- const groupRows = (images2, layout2) => {
16
- if (!layout2) return images2.map((img) => [img]);
17
- let i = 0;
18
- const rows2 = [];
19
- for (const rowLength of layout2.rows) {
20
- const row = [];
21
- for (const imgI of [...Array(rowLength).keys()]) {
22
- row.push(images2[imgI + i]);
23
- }
24
- rows2.push(row);
25
- i += rowLength;
2
+ <script lang="ts">
3
+ import Block from '../Block/Block.svelte';
4
+ import PaddingReset from '../PaddingReset/PaddingReset.svelte';
5
+ import { Markdown } from '@reuters-graphics/svelte-markdown';
6
+
7
+ // Utils
8
+ import { random4 } from '../../utils';
9
+ import { groupRows } from './utils';
10
+
11
+ // Types
12
+ export interface Image {
13
+ src: string;
14
+ altText: string;
15
+ caption?: string;
16
+ maxHeight?: number;
17
+ }
18
+
19
+ export interface Layout {
20
+ breakpoint: number;
21
+ rows: number[];
22
+ }
23
+
24
+ type ContainerWidth = 'normal' | 'wide' | 'wider' | 'widest' | 'fluid';
25
+
26
+ interface Props {
27
+ /** Array of image objects */
28
+ images: Image[];
29
+ /** Array of layout objects */
30
+ layouts?: Layout[];
31
+ /** Gap between images. */
32
+ gap?: number;
33
+ /** Add an ID to target with SCSS. Should be unique from all other elements. */
34
+ id?: string;
35
+ /** Add a class to target with SCSS. */
36
+ class: string;
37
+ /** Width of the component within the text well: 'normal' | 'wide' | 'wider' | 'widest' | 'fluid' */
38
+ width: ContainerWidth;
39
+ /** Set a different width for captions within the text well. For example, "normal" to keep captions inline with the rest of the text well.
40
+ *
41
+ * Can't ever be wider than `width`: 'normal' | 'wide' | 'wider' | 'widest' | 'fluid' */
42
+ textWidth: ContainerWidth;
26
43
  }
27
- return rows2;
28
- };
29
- $: layouts.sort((a, b) => a.breakpoint < b.breakpoint ? 1 : -1);
30
- $: layout = layouts.find(
31
- (l) => (
32
- // Must have valid rows schema, i.e., adds to the total number of images
33
- l.rows.reduce((a, b) => a + b, 0) === images.length && // Breakpoint is higher than container width
34
- (containerWidth || 0) >= l.breakpoint
35
- )
36
- );
37
- $: rows = groupRows(images, layout);
44
+
45
+ let {
46
+ images,
47
+ layouts,
48
+ gap = 15,
49
+ id = 'photopack-' + random4() + random4(),
50
+ class: cls = '',
51
+ width = 'normal',
52
+ textWidth = 'normal',
53
+ }: Props = $props();
54
+
55
+ let containerWidth = $state(0); // or undefined?
56
+
57
+ /**
58
+ *
59
+ * Sort layouts by descending breakpoints.
60
+ *
61
+ * @NOTE - We can't use `sort` directly on the array because it mutates the original array; we can't update a state inside a derived expression: https://svelte.dev/docs/svelte/runtime-errors#Client-errors-state_unsafe_mutation
62
+ *
63
+ * So, we need to use `toSorted` instead.
64
+ */
65
+ let sortedLayouts = $derived(
66
+ layouts?.toSorted((a, b) => (a.breakpoint < b.breakpoint ? 1 : -1))
67
+ );
68
+
69
+ let layout = $derived(
70
+ sortedLayouts?.find(
71
+ (l) =>
72
+ // Must have valid rows schema, i.e., adds to the total number of images
73
+ l.rows.reduce((a, b) => a + b, 0) === images.length &&
74
+ // Breakpoint is higher than container width
75
+ (containerWidth || 0) >= l.breakpoint
76
+ )
77
+ );
78
+
79
+ let rows = $derived(groupRows(images, layout));
38
80
  </script>
39
81
 
40
82
  <Block {width} {id} class="photopack fmy-6 {cls}">
41
- <div class="photopack-container w-full" bind:clientWidth="{containerWidth}">
83
+ <div class="photopack-container w-full" bind:clientWidth={containerWidth}>
42
84
  {#each rows as row, ri}
43
85
  <div
44
86
  class="photopack-row flex justify-between"
45
87
  style:gap="0 {gap}px"
46
- style:margin-bottom="{ri < rows.length - 1 ? gap + 'px' : ''}"
88
+ style:margin-bottom={ri < rows.length - 1 ? gap + 'px' : ''}
47
89
  >
48
90
  {#each row as img, i}
49
91
  <figure
@@ -52,9 +94,9 @@ $: rows = groupRows(images, layout);
52
94
  >
53
95
  <img
54
96
  class="m-0 w-full h-full object-cover"
55
- src="{img.src}"
56
- alt="{img.altText}"
57
- style:max-height="{img.maxHeight ? img.maxHeight + 'px' : ''}"
97
+ src={img.src}
98
+ alt={img.altText}
99
+ style:max-height={img.maxHeight ? img.maxHeight + 'px' : ''}
58
100
  />
59
101
  {#if !img.altText}
60
102
  <div class="alt-warning absolute text-xxs py-1 px-2">altText</div>
@@ -64,14 +106,14 @@ $: rows = groupRows(images, layout);
64
106
  </div>
65
107
  {/each}
66
108
  </div>
67
- <PaddingReset containerIsFluid="{width === 'fluid'}">
109
+ <PaddingReset containerIsFluid={width === 'fluid'}>
68
110
  <div class="notes contents">
69
- <Block width="{textWidth}" class="photopack-captions-container">
111
+ <Block width={textWidth} class="photopack-captions-container">
70
112
  {#each rows as row, ri}
71
113
  {#each row as img, i}
72
114
  {#if img.caption}
73
115
  <div id="{id}-figure-{ri}-{i}" class="caption">
74
- <Markdown source="{img.caption}" />
116
+ <Markdown source={img.caption} />
75
117
  </div>
76
118
  {/if}
77
119
  {/each}
@@ -1,53 +1,33 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- /**
5
- * Array of image objects
6
- * @required
7
- */ images?: {
8
- src: string;
9
- altText: string;
10
- caption?: string;
11
- maxHeight?: number;
12
- }[];
13
- /**
14
- * Array of layout objects
15
- * @required
16
- */ layouts?: {
17
- breakpoint: number;
18
- rows: number[];
19
- }[];
20
- /**
21
- * Gap between images.
22
- * @type {number}
23
- */ gap?: number;
24
- /**
25
- * Add an ID to target with SCSS. Should be unique from all other elements.
26
- * @type {string}
27
- */ id?: string;
28
- /**
29
- * Add a class to target with SCSS.
30
- * @type {string}
31
- */ class?: string;
32
- /** Width of the component within the text well. */ width?: "normal" | "wide" | "wider" | "widest" | "fluid";
33
- /**
34
- * Set a different width for captions within the text well, for example,
35
- * "normal" to keep captions inline with the rest of the text well.
36
- * Can't ever be wider than `width`.
37
- * @type {string}
38
- */ textWidth?: "normal" | "wide" | "wider" | "widest" | "fluid";
39
- };
40
- events: {
41
- [evt: string]: CustomEvent<any>;
42
- };
43
- slots: {};
44
- exports?: {} | undefined;
45
- bindings?: string | undefined;
46
- };
47
- export type PhotoPackProps = typeof __propDef.props;
48
- export type PhotoPackEvents = typeof __propDef.events;
49
- export type PhotoPackSlots = typeof __propDef.slots;
50
- /** `PhotoPack` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-multimedia-photopack--docs) */
51
- export default class PhotoPack extends SvelteComponent<PhotoPackProps, PhotoPackEvents, PhotoPackSlots> {
1
+ export interface Image {
2
+ src: string;
3
+ altText: string;
4
+ caption?: string;
5
+ maxHeight?: number;
6
+ }
7
+ export interface Layout {
8
+ breakpoint: number;
9
+ rows: number[];
52
10
  }
53
- export {};
11
+ type ContainerWidth = 'normal' | 'wide' | 'wider' | 'widest' | 'fluid';
12
+ interface Props {
13
+ /** Array of image objects */
14
+ images: Image[];
15
+ /** Array of layout objects */
16
+ layouts?: Layout[];
17
+ /** Gap between images. */
18
+ gap?: number;
19
+ /** Add an ID to target with SCSS. Should be unique from all other elements. */
20
+ id?: string;
21
+ /** Add a class to target with SCSS. */
22
+ class: string;
23
+ /** Width of the component within the text well: 'normal' | 'wide' | 'wider' | 'widest' | 'fluid' */
24
+ width: ContainerWidth;
25
+ /** Set a different width for captions within the text well. For example, "normal" to keep captions inline with the rest of the text well.
26
+ *
27
+ * Can't ever be wider than `width`: 'normal' | 'wide' | 'wider' | 'widest' | 'fluid' */
28
+ textWidth: ContainerWidth;
29
+ }
30
+ /** `PhotoPack` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-multimedia-photopack--docs) */
31
+ declare const PhotoPack: import("svelte").Component<Props, {}, "">;
32
+ type PhotoPack = ReturnType<typeof PhotoPack>;
33
+ export default PhotoPack;
@@ -0,0 +1,2 @@
1
+ import type { Image, Layout } from './PhotoPack.svelte';
2
+ export declare const groupRows: (images: Image[], layout?: Layout) => Image[][];
@@ -0,0 +1,17 @@
1
+ export const groupRows = (images, layout) => {
2
+ // Default layout, one img per row
3
+ if (!layout)
4
+ return images.map((img) => [img]);
5
+ // Otherwise, chunk into rows according to layout scheme
6
+ let i = 0;
7
+ const rows = [];
8
+ for (const rowLength of layout.rows) {
9
+ const row = [];
10
+ for (const imgI of [...Array(rowLength).keys()]) {
11
+ row.push(images[imgI + i]);
12
+ }
13
+ rows.push(row);
14
+ i += rowLength;
15
+ }
16
+ return rows;
17
+ };
@@ -0,0 +1,33 @@
1
+ import { Meta } from '@storybook/blocks';
2
+
3
+ import * as PymChildStories from './PymChild.stories.svelte';
4
+
5
+ <Meta of={PymChildStories} />
6
+
7
+ # PymChild
8
+
9
+ The `PymChild` component creates a [Pym.js](https://blog.apps.npr.org/pym.js/) child instance for embeddables.
10
+
11
+ ```svelte
12
+ <script>
13
+ import { PymChild } from '@reuters-graphics/graphics-components';
14
+ </script>
15
+
16
+ <PymChild polling={500} />
17
+ ```
18
+
19
+ You can access the Pym.js child via `pym` in other components to send custom height updates to parent frames:
20
+
21
+ ```svelte
22
+ <script>
23
+ import { PymChild, pym } from '@reuters-graphics/graphics-components';
24
+
25
+ const updateHeight = () => {
26
+ if (pym.child) pym.child.sendHeight();
27
+ };
28
+ </script>
29
+
30
+ <PymChild />
31
+
32
+ <button onclick={updateHeight}>Update height</button>
33
+ ```
@@ -1,20 +1,11 @@
1
- <script context="module">import componentDocs from "./stories/docs/component.md?raw";
2
- import PymChild from "./PymChild.svelte";
3
- import { withComponentDocs } from "../../lib/docs/utils/withParams.js";
4
- export const meta = {
5
- title: "Components/Utilities/PymChild",
6
- component: PymChild,
7
- ...withComponentDocs(componentDocs)
8
- };
9
- </script>
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import PymChild from './PymChild.svelte';
10
4
 
11
- <script>
12
- import { Template, Story } from '@storybook/addon-svelte-csf';
5
+ const { Story } = defineMeta({
6
+ title: 'Components/Utilities/PymChild',
7
+ component: PymChild,
8
+ });
13
9
  </script>
14
10
 
15
- <Template let:args>
16
- <PymChild {...args} />
17
- <div>Nothing to see here. 😎</div>
18
- </Template>
19
-
20
- <Story name="Default" />
11
+ <Story name="Demo" tags={['!autodocs', '!dev']} />
@@ -1,23 +1,19 @@
1
- import { SvelteComponent } from "svelte";
2
- export declare const meta: {
3
- parameters: {
4
- docs: any;
1
+ import PymChild from './PymChild.svelte';
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports & {
10
+ $set?: any;
11
+ $on?: any;
5
12
  };
6
- title: string;
7
- component: typeof PymChild;
8
- };
9
- declare const __propDef: {
10
- props: Record<string, never>;
11
- events: {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {};
15
- exports?: {} | undefined;
16
- bindings?: string | undefined;
17
- };
18
- export type PymChildProps = typeof __propDef.props;
19
- export type PymChildEvents = typeof __propDef.events;
20
- export type PymChildSlots = typeof __propDef.slots;
21
- export default class PymChild extends SvelteComponent<PymChildProps, PymChildEvents, PymChildSlots> {
13
+ z_$$bindings?: Bindings;
22
14
  }
23
- export {};
15
+ declare const PymChild: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
16
+ [evt: string]: CustomEvent<any>;
17
+ }, {}, {}, string>;
18
+ type PymChild = InstanceType<typeof PymChild>;
19
+ export default PymChild;
@@ -1,11 +1,18 @@
1
1
  <!-- @component `PymChild` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-utilities-pymchild--docs) -->
2
- <script>export let polling = 500;
3
- import { onMount } from "svelte";
4
- import pym from "pym.js";
5
- import { pymChildStore } from "./stores.js";
6
- let pymChild;
7
- onMount(() => {
8
- pymChild = new pym.Child({ polling });
9
- pymChildStore.set(pymChild);
10
- });
2
+ <script lang="ts">
3
+ import pym from 'pym.js';
4
+ import { pym as pymState } from './state.svelte.js';
5
+ import { onMount } from 'svelte';
6
+
7
+ interface Props {
8
+ /** Pym.js polling interval */
9
+ polling?: number;
10
+ }
11
+
12
+ let { polling = 500 }: Props = $props();
13
+
14
+ onMount(() => {
15
+ let pymChild = new pym.Child({ polling });
16
+ pymState.child = pymChild;
17
+ });
11
18
  </script>
@@ -1,19 +1,8 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- /** Pym.js polling interval */ polling?: number;
5
- };
6
- events: {
7
- [evt: string]: CustomEvent<any>;
8
- };
9
- slots: {};
10
- exports?: {} | undefined;
11
- bindings?: string | undefined;
12
- };
13
- export type PymChildProps = typeof __propDef.props;
14
- export type PymChildEvents = typeof __propDef.events;
15
- export type PymChildSlots = typeof __propDef.slots;
16
- /** `PymChild` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-utilities-pymchild--docs) */
17
- export default class PymChild extends SvelteComponent<PymChildProps, PymChildEvents, PymChildSlots> {
1
+ interface Props {
2
+ /** Pym.js polling interval */
3
+ polling?: number;
18
4
  }
19
- export {};
5
+ /** `PymChild` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-utilities-pymchild--docs) */
6
+ declare const PymChild: import("svelte").Component<Props, {}, "">;
7
+ type PymChild = ReturnType<typeof PymChild>;
8
+ export default PymChild;
@@ -0,0 +1,6 @@
1
+ import type p from 'pym.js';
2
+ type PymChild = {
3
+ child: p.Child | null;
4
+ };
5
+ export declare const pym: PymChild;
6
+ export {};
@@ -0,0 +1 @@
1
+ export const pym = $state({ child: null });
@@ -0,0 +1,44 @@
1
+ import { Meta, Canvas } from '@storybook/blocks';
2
+
3
+ import * as ReferralBlockStories from './ReferralBlock.stories.svelte';
4
+
5
+ <Meta of={ReferralBlockStories} />
6
+
7
+ # ReferralBlock
8
+
9
+ The `ReferralBlock` component creates a set of referral links from recent Reuters.com stories using the [recent stories by section API](https://www.reuters.com/pf/api/v3/content/fetch/recent-stories-by-sections-v1?query=%7B%22section_ids%22%3A%22%2Fworld%2F%22%2C%22size%22%3A20%2C%22website%22%3A%22reuters%22%7D).
10
+
11
+ > Note: The `section` or `collection` prop determines which section or collection stories are from.
12
+ >
13
+ > You can get the section ID from the URL for the Reuters.com section pages. For example, the section ID for [World - Europe](https://www.reuters.com/world/europe/) stories at `www.reuters.com/world/europe/` would be `/world/europe/`. (The leading and trailing slashes are required!)
14
+ >
15
+ > You should get the collection alias from the dotcom team.
16
+
17
+ ```svelte
18
+ <script>
19
+ import { ReferralBlock } from '@reuters-graphics/graphics-components';
20
+ </script>
21
+
22
+ <ReferralBlock
23
+ section="/lifestyle/sports/"
24
+ class="fmy-0"
25
+ heading="More World Cup coverage"
26
+ />
27
+ ```
28
+
29
+ <Canvas of={ReferralBlockStories.Demo} />
30
+
31
+ ## Collections
32
+
33
+ TK - Check if this is still relevant.
34
+
35
+ ```svelte
36
+ <script>
37
+ import { ReferralBlock } from '@reuters-graphics/graphics-components';
38
+ </script>
39
+
40
+ <ReferralBlock collection="x-trump" number={6} class="fmy-8" />
41
+ ```
42
+
43
+ <Canvas of={ReferralBlockStories.ByCollection} />
44
+ ```
@@ -1,61 +1,51 @@
1
- <script context="module">import componentDocs from "./stories/docs/component.md?raw";
2
- import collectionDocs from "./stories/docs/collection.md?raw";
3
- import ReferralBlock from "./ReferralBlock.svelte";
4
- import { withComponentDocs, withStoryDocs } from "$docs/utils/withParams.js";
5
- export const meta = {
6
- title: "Components/Page furniture/ReferralBlock",
7
- component: ReferralBlock,
8
- ...withComponentDocs(componentDocs),
9
- argTypes: {
10
- width: {
11
- control: "select",
12
- options: ["normal", "wide", "wider", "widest", "fluid"]
13
- },
14
- section: {
15
- control: "select",
16
- options: [
17
- "/world/",
18
- "/world/europe/",
19
- "/lifestyle/",
20
- "/lifestyle/sports/",
21
- "/legal/",
22
- "/business/",
23
- "/business/energy/"
24
- ]
25
- },
26
- number: {
27
- control: "select",
28
- options: [2, 4, 6, 8]
29
- }
30
- }
31
- };
32
- </script>
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import ReferralBlock from './ReferralBlock.svelte';
33
4
 
34
- <script>
35
- import { Template, Story } from '@storybook/addon-svelte-csf';
5
+ const { Story } = defineMeta({
6
+ title: 'Components/Page furniture/ReferralBlock',
7
+ component: ReferralBlock,
8
+ argTypes: {
9
+ width: {
10
+ control: 'select',
11
+ options: ['normal', 'wide', 'wider', 'widest', 'fluid'],
12
+ },
13
+ section: {
14
+ control: 'select',
15
+ options: [
16
+ '/world/',
17
+ '/world/europe/',
18
+ '/lifestyle/',
19
+ '/lifestyle/sports/',
20
+ '/legal/',
21
+ '/business/',
22
+ '/business/energy/',
23
+ ],
24
+ },
25
+ number: {
26
+ control: 'select',
27
+ options: [2, 4, 6, 8],
28
+ },
29
+ },
30
+ });
36
31
  </script>
37
32
 
38
- <Template let:args>
39
- <ReferralBlock {...args} />
40
- </Template>
41
-
42
33
  <Story
43
- name="Default"
44
- args="{{
34
+ name="Demo"
35
+ args={{
45
36
  section: '/lifestyle/sports/',
46
- number: 4,
47
37
  class: 'fmy-0',
48
38
  heading: 'More World Cup coverage',
49
- }}"
39
+ }}
50
40
  />
51
41
 
52
42
  <Story
53
43
  name="By collection"
54
- args="{{
44
+ exportName="ByCollection"
45
+ args={{
55
46
  collection: 'x-trump',
56
47
  number: 6,
57
48
  class: 'fmy-8',
58
49
  heading: 'The latest Trump coverage',
59
- }}"
60
- {...withStoryDocs(collectionDocs)}
50
+ }}
61
51
  />
@@ -1,37 +1,19 @@
1
- import { SvelteComponent } from "svelte";
2
- export declare const meta: {
3
- argTypes: {
4
- width: {
5
- control: string;
6
- options: string[];
7
- };
8
- section: {
9
- control: string;
10
- options: string[];
11
- };
12
- number: {
13
- control: string;
14
- options: number[];
15
- };
1
+ import ReferralBlock from './ReferralBlock.svelte';
2
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
3
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
4
+ $$bindings?: Bindings;
5
+ } & Exports;
6
+ (internal: unknown, props: {
7
+ $$events?: Events;
8
+ $$slots?: Slots;
9
+ }): Exports & {
10
+ $set?: any;
11
+ $on?: any;
16
12
  };
17
- parameters: {
18
- docs: any;
19
- };
20
- title: string;
21
- component: typeof ReferralBlock;
22
- };
23
- declare const __propDef: {
24
- props: Record<string, never>;
25
- events: {
26
- [evt: string]: CustomEvent<any>;
27
- };
28
- slots: {};
29
- exports?: {} | undefined;
30
- bindings?: string | undefined;
31
- };
32
- export type ReferralBlockProps = typeof __propDef.props;
33
- export type ReferralBlockEvents = typeof __propDef.events;
34
- export type ReferralBlockSlots = typeof __propDef.slots;
35
- export default class ReferralBlock extends SvelteComponent<ReferralBlockProps, ReferralBlockEvents, ReferralBlockSlots> {
13
+ z_$$bindings?: Bindings;
36
14
  }
37
- export {};
15
+ declare const ReferralBlock: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
16
+ [evt: string]: CustomEvent<any>;
17
+ }, {}, {}, string>;
18
+ type ReferralBlock = InstanceType<typeof ReferralBlock>;
19
+ export default ReferralBlock;