@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
@@ -0,0 +1,99 @@
1
+ import { Meta, Canvas } from '@storybook/blocks';
2
+
3
+ import * as BlockStories from './Block.stories.svelte';
4
+
5
+ <Meta of={BlockStories} />
6
+
7
+ # Block
8
+
9
+ The `Block` component is the basic building block of pages, a responsive container that wraps around each section of your piece.
10
+
11
+ Blocks are stacked vertically within the well created by the [Article](./?path=/docs/components-page-layout-article--docs) component. They can have different widths on larger screens depending on the `width` prop.
12
+
13
+ > 📌 Many of our other components already use the `Block` component internally. You'll usually only need to use it yourself if you're making something custom.
14
+
15
+ ```svelte
16
+ <script>
17
+ import { Block } from '@reuters-graphics/graphics-components';
18
+ </script>
19
+
20
+ <Block>
21
+ <!-- Contents for this block goes here -->
22
+ </Block>
23
+ ```
24
+
25
+ <Canvas of={BlockStories.Demo} />
26
+
27
+ ## Custom layouts
28
+
29
+ Our article well is designed to provide a basic responsive layout for you, but it also lets you customise.
30
+
31
+ The radical but easiest way to do this is to create a `Block` with a `fluid` width -- which basically cancels out the article well dimensions -- and then code whatever you need from scratch or with another framework.
32
+
33
+ The demo below does exactly that to create an edge-to-edge grid with [flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/).
34
+
35
+ ```svelte
36
+ <Block width="fluid">
37
+ <div class="my-radical-container">
38
+ <!-- Now, you have full control over layout! -->
39
+ </div>
40
+ </Block>
41
+ ```
42
+
43
+ <Canvas of={BlockStories.CustomLayout} />
44
+
45
+ ## Snap widths
46
+
47
+ Normally, `Block` containers resize fluidly below the original `width`. Sometimes, though, you may want the container to snap to the next breakpoint -- for example, if you have a static graphic that looks fine at the set block breakpoints, but isn't so great at widths inbetween.
48
+
49
+ You can use the `snap` prop to force the container to snap to each block width successively as the window sizes down.
50
+
51
+ ```svelte
52
+ <Block width="wider" snap={true}>
53
+ <!-- Contents for this block -->
54
+ </Block>
55
+ ```
56
+
57
+ <Canvas of={BlockStories.SnapWidthsBasic} />
58
+
59
+ If you want to skip certain block widths entirely, you can add one or more class of `skip-{block width class}` to the `Block`.
60
+
61
+ > **NOTE:** The snap width breakpoints only work on `Block` components with widths `wider` and below. `widest` and `fluid` are both **always** fluid, since they go edge-to-edge.
62
+
63
+ ```svelte
64
+ <!-- Will skip wide and go straight to normal column width on resize. -->
65
+ <Block width="wider" snap={true} class="skip-wide">
66
+ <!-- Contents for this block -->
67
+ </Block>
68
+ ```
69
+
70
+ This is probably easier to see in action than explain in words, so [resize the demo](./?path=/docs/components-page-layout-block--snap-skip-widths) to get a better picture of how it all works.
71
+
72
+ ## Using with custom column widths
73
+
74
+ Snap width breakpoints are hard-coded to the default article well column widths, so if you set custom `columnWidths` on the [Article](./?path=/docs/components-page-layout-article--docs) component (**rare!**), you need to do a littie work to use this functionality.
75
+
76
+ Luckily, it's still pretty easy. Just add a `cls` or `id` to your `Block` so you can target it with some custom SCSS. Then define a few SCSS variables corresponding to your custom column widths, and use the `block-snap-widths` SCSS mixin to get the same functionality at your custom breakpoints.
77
+
78
+ ```svelte
79
+ <Block width="wider" snap={true} class="custom-blocks">
80
+ <!-- Contents for this block -->
81
+ </Block>
82
+
83
+ <style lang="scss">
84
+ // Define custom column widths
85
+ $column-width-narrower: 310px;
86
+ $column-width-narrow: 450px;
87
+ $column-width-normal: 600px;
88
+ $column-width-wide: 860px;
89
+ $column-width-wider: 1400px;
90
+
91
+ @use '@reuters-graphics/graphics-components/scss/mixins' as mixins;
92
+
93
+ :global {
94
+ div.custom-blocks {
95
+ @include mixins.block-snap-widths; // Use the `block-snap-widths` mixin
96
+ }
97
+ }
98
+ </style>
99
+ ```
@@ -1,59 +1,44 @@
1
- <script context="module">import componentDocs from "./stories/docs/component.md?raw";
2
- import customLayoutsDocs from "./stories/docs/customLayouts.md?raw";
3
- import snapWidthsDocs from "./stories/docs/snapWidths.md?raw";
4
- import Block from "./Block.svelte";
5
- import { withComponentDocs, withStoryDocs } from "$docs/utils/withParams.js";
6
- import { toId } from "@storybook/csf";
7
- export const meta = {
8
- title: "Components/Page layout/Block",
9
- component: Block,
10
- parameters: {
11
- ...withComponentDocs(componentDocs).parameters,
12
- canvasDocs: {
13
- [toId("Components/Page layout/Block", "default")]: componentDocs
14
- }
15
- },
16
- argTypes: {
17
- width: {
18
- control: "select",
19
- options: [
20
- "narrower",
21
- "narrow",
22
- "normal",
23
- "wide",
24
- "wider",
25
- "widest",
26
- "fluid"
27
- ]
28
- }
29
- }
30
- };
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import Block from './Block.svelte';
4
+
5
+ const { Story } = defineMeta({
6
+ title: 'Components/Page layout/Block',
7
+ component: Block,
8
+ tags: ['autodocs'],
9
+ argTypes: {
10
+ width: {
11
+ control: 'select',
12
+ options: [
13
+ 'narrower',
14
+ 'narrow',
15
+ 'normal',
16
+ 'wide',
17
+ 'wider',
18
+ 'widest',
19
+ 'fluid',
20
+ ],
21
+ },
22
+ },
23
+ });
31
24
  </script>
32
25
 
33
26
  <script>
34
- import { Template, Story } from '@storybook/addon-svelte-csf';
35
27
  import Article from '../Article/Article.svelte';
36
28
  </script>
37
29
 
38
- <Template let:args>
30
+ <Story name="Demo">
39
31
  <Article id="block-demo-article">
40
32
  <div class="article-boundaries">
41
33
  <div class="label">Article</div>
42
- <Block {...args}>
34
+ <Block>
43
35
  <div class="label">Block</div>
44
36
  </Block>
45
37
  </div>
46
38
  </Article>
47
- </Template>
48
-
49
- <Story
50
- name="Default"
51
- args="{{
52
- width: 'normal',
53
- }}"
54
- />
39
+ </Story>
55
40
 
56
- <Story name="Custom layouts" {...withStoryDocs(customLayoutsDocs)}>
41
+ <Story name="Custom layout" exportName="CustomLayout">
57
42
  <Block width="fluid">
58
43
  <!-- Enter bootstrap grid! -->
59
44
  <div id="block-flex-example">
@@ -70,53 +55,77 @@ export const meta = {
70
55
  </Block>
71
56
  </Story>
72
57
 
73
- <Story name="Snap widths" {...withStoryDocs(snapWidthsDocs)}>
58
+ <Story name="Snap widths" exportName="SnapWidthsBasic">
74
59
  <Article id="block-demo-article">
75
60
  <div class="article-boundaries">
76
61
  <div class="label">Article</div>
77
- <Block width="narrower" snap="{true}" class="block-snap-widths-demo"
78
- >narrower</Block
79
- >
80
- <Block width="narrow" snap="{true}" class="block-snap-widths-demo"
81
- >narrow</Block
82
- >
83
- <Block width="normal" snap="{true}" class="block-snap-widths-demo"
84
- >normal</Block
85
- >
86
- <Block width="wide" snap="{true}" class="block-snap-widths-demo"
87
- >wide</Block
88
- >
89
- <Block width="wider" snap="{true}" class="block-snap-widths-demo"
90
- >wider</Block
91
- >
92
- <Block width="narrower" snap="{true}" class="block-snap-widths-demo even"
93
- >narrower</Block
94
- >
95
- <Block width="narrow" snap="{true}" class="block-snap-widths-demo even"
96
- >narrow</Block
97
- >
62
+ <h4>snap widths</h4>
63
+ <Block snap={true}>
64
+ <div class="label">Block</div>
65
+ </Block>
66
+ </div>
67
+ </Article>
68
+ </Story>
69
+
70
+ <Story name="Snap and skip widths" exportName="SnapSkipWidths">
71
+ <Article id="block-demo-article">
72
+ <div class="article-boundaries">
73
+ <div class="label">Article</div>
74
+ <h4>Regular layout</h4>
75
+
76
+ <Block width="narrower" snap={true} class="block-snap-widths-demo">
77
+ narrower
78
+ </Block>
79
+ <Block width="narrow" snap={true} class="block-snap-widths-demo">
80
+ narrow
81
+ </Block>
82
+ <Block width="normal" snap={true} class="block-snap-widths-demo">
83
+ normal
84
+ </Block>
85
+ <Block width="wide" snap={true} class="block-snap-widths-demo">
86
+ wide
87
+ </Block>
88
+ <Block width="wider" snap={true} class="block-snap-widths-demo">
89
+ wider
90
+ </Block>
91
+
92
+ <h4>with snap and skip</h4>
93
+ <Block width="narrower" snap={true} class="block-snap-widths-demo even">
94
+ narrower
95
+ </Block>
96
+ <Block width="narrow" snap={true} class="block-snap-widths-demo even">
97
+ narrow
98
+ </Block>
98
99
  <Block
99
100
  width="normal"
100
- snap="{true}"
101
+ snap={true}
101
102
  class="block-snap-widths-demo even skip-narrow"
102
- >normal.skip-narrow</Block
103
103
  >
104
+ normal.skip-narrow
105
+ </Block>
104
106
  <Block
105
107
  width="wide"
106
- snap="{true}"
108
+ snap={true}
107
109
  class="block-snap-widths-demo even skip-normal skip-narrow"
108
- >wide.skip-normal.skip-narrow</Block
109
110
  >
111
+ wide.skip-normal.skip-narrow
112
+ </Block>
110
113
  <Block
111
114
  width="wider"
112
- snap="{true}"
113
- class="block-snap-widths-demo even skip-wide">wider.skip-wide</Block
115
+ snap={true}
116
+ class="block-snap-widths-demo even skip-wide"
114
117
  >
118
+ wider.skip-wide
119
+ </Block>
115
120
  </div>
116
121
  </Article>
117
122
  </Story>
118
123
 
119
- <style>:global(#block-demo-article) {
124
+ <style>h4 {
125
+ text-align: center;
126
+ }
127
+
128
+ :global(#block-demo-article) {
120
129
  background-color: #ddd;
121
130
  position: relative;
122
131
  width: calc(100% + 30px);
@@ -146,9 +155,10 @@ export const meta = {
146
155
  }
147
156
 
148
157
  :global(#block-demo-article .label,
149
- #block-demo-article div.article-block.block-snap-widths-demo) {
158
+ #block-demo-article div.article-block.block-snap-widths-demo) {
150
159
  padding-left: 3px;
151
160
  color: white;
161
+ font-weight: 500;
152
162
  }
153
163
 
154
164
  div#block-flex-example {
@@ -1,32 +1,19 @@
1
- import { SvelteComponent } from "svelte";
2
- export declare const meta: {
3
- title: string;
4
- component: typeof Block;
5
- parameters: {
6
- canvasDocs: {
7
- [x: string]: any;
8
- };
9
- docs: any;
1
+ import Block from './Block.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;
10
12
  };
11
- argTypes: {
12
- width: {
13
- control: string;
14
- options: string[];
15
- };
16
- };
17
- };
18
- declare const __propDef: {
19
- props: Record<string, never>;
20
- events: {
21
- [evt: string]: CustomEvent<any>;
22
- };
23
- slots: {};
24
- exports?: {} | undefined;
25
- bindings?: string | undefined;
26
- };
27
- export type BlockProps = typeof __propDef.props;
28
- export type BlockEvents = typeof __propDef.events;
29
- export type BlockSlots = typeof __propDef.slots;
30
- export default class Block extends SvelteComponent<BlockProps, BlockEvents, BlockSlots> {
13
+ z_$$bindings?: Bindings;
31
14
  }
32
- export {};
15
+ declare const Block: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
16
+ [evt: string]: CustomEvent<any>;
17
+ }, {}, {}, string>;
18
+ type Block = InstanceType<typeof Block>;
19
+ export default Block;
@@ -1,22 +1,44 @@
1
1
  <!-- @component `Block` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-page-layout-block--docs) -->
2
- <script>export let width = "normal";
3
- export let id = "";
4
- let cls = "";
5
- export { cls as class };
6
- export let snap = false;
7
- export let role = null;
8
- export let ariaLabel = null;
2
+ <script lang="ts">
3
+ import type { Snippet } from 'svelte';
4
+ import type { ContainerWidth } from '../@types/global';
5
+
6
+ interface Props {
7
+ /** Content that goes inside `<Block>`*/
8
+ children: Snippet;
9
+ /** Width of the block within the article well. */
10
+ width?: ContainerWidth;
11
+ /** Add an id to the block tag to target it with custom CSS. */
12
+ id?: string;
13
+ /** Add custom classes to the block tag to target it with custom CSS. */
14
+ class?: string;
15
+ /** Snap block to column widths, rather than fluidly resizing them. */
16
+ snap?: boolean;
17
+ /** ARIA [role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles) for the block */
18
+ role?: string;
19
+ /** ARIA [label](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label) for the block */
20
+ ariaLabel?: string;
21
+ }
22
+
23
+ let {
24
+ children,
25
+ width = 'normal',
26
+ id = '',
27
+ class: cls = '',
28
+ snap = false,
29
+ role,
30
+ ariaLabel,
31
+ }: Props = $props();
9
32
  </script>
10
33
 
11
34
  <div
12
35
  {id}
13
36
  class="article-block fmx-auto {width} {cls}"
14
- class:snap="{snap && width !== 'fluid' && width !== 'widest'}"
37
+ class:snap={snap && width !== 'fluid' && width !== 'widest'}
15
38
  {role}
16
- aria-label="{ariaLabel}"
39
+ aria-label={ariaLabel}
17
40
  >
18
- <!-- block content -->
19
- <slot />
41
+ {@render children()}
20
42
  </div>
21
43
 
22
44
  <style>/* Generated from
@@ -1,27 +1,22 @@
1
- import { SvelteComponent } from "svelte";
1
+ import type { Snippet } from 'svelte';
2
2
  import type { ContainerWidth } from '../@types/global';
3
- declare const __propDef: {
4
- props: {
5
- /** Width of the block within the article well. */ width?: ContainerWidth;
6
- /** Add an id to the block tag to target it with custom CSS. */ id?: string;
7
- /** Add extra classes to the block tag to target it with custom CSS. */ class?: string;
8
- /** Snap block to column widths, rather than fluidly resizing them. */ snap?: boolean;
9
- /** ARIA [role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles) for the block */ role?: string | null;
10
- /** ARIA [label](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label) for the block */ ariaLabel?: string | null;
11
- };
12
- events: {
13
- [evt: string]: CustomEvent<any>;
14
- };
15
- slots: {
16
- default: {};
17
- };
18
- exports?: {} | undefined;
19
- bindings?: string | undefined;
20
- };
21
- export type BlockProps = typeof __propDef.props;
22
- export type BlockEvents = typeof __propDef.events;
23
- export type BlockSlots = typeof __propDef.slots;
24
- /** `Block` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-page-layout-block--docs) */
25
- export default class Block extends SvelteComponent<BlockProps, BlockEvents, BlockSlots> {
3
+ interface Props {
4
+ /** Content that goes inside `<Block>`*/
5
+ children: Snippet;
6
+ /** Width of the block within the article well. */
7
+ width?: ContainerWidth;
8
+ /** Add an id to the block tag to target it with custom CSS. */
9
+ id?: string;
10
+ /** Add custom classes to the block tag to target it with custom CSS. */
11
+ class?: string;
12
+ /** Snap block to column widths, rather than fluidly resizing them. */
13
+ snap?: boolean;
14
+ /** ARIA [role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles) for the block */
15
+ role?: string;
16
+ /** ARIA [label](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label) for the block */
17
+ ariaLabel?: string;
26
18
  }
27
- export {};
19
+ /** `Block` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-page-layout-block--docs) */
20
+ declare const Block: import("svelte").Component<Props, {}, "">;
21
+ type Block = ReturnType<typeof Block>;
22
+ export default Block;
@@ -0,0 +1,115 @@
1
+ import { Meta, Canvas } from '@storybook/blocks';
2
+
3
+ import * as BodyTextStories from './BodyText.stories.svelte';
4
+
5
+ <Meta of={BodyTextStories} />
6
+
7
+ # BodyText
8
+
9
+ The `BodyText` component creates the main text of your page. You can pass the `text` prop a [markdown-formatted](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) string, which will be parsed into paragraphs, headers, lists, links, blockquotes and other markdown-supported elements.
10
+
11
+ ```svelte
12
+ <script>
13
+ import { BodyText } from '@reuters-graphics/graphics-components';
14
+
15
+ const markdownText = `Bacon ipsum **dolor amet** cow tongue tri-tip.
16
+
17
+ Biltong turducken ground round kevin [hamburger turkey](https://reuters.com) pig.
18
+
19
+ - Steak
20
+ - [Pork chop](https://www.google.com)
21
+ - Fillet
22
+
23
+ Venison shoulder *ham hock ham leberkas*. Flank beef ribs fatback, jerky meatball ham hock.`;
24
+ </script>
25
+
26
+ <BodyText text={markdownText} />
27
+ ```
28
+
29
+ <Canvas of={BodyTextStories.Demo} />
30
+
31
+ ## Using with ArchieML docs
32
+
33
+ With the graphics kit, you'll likely get your text value from an ArchieML doc...
34
+
35
+ ```yaml
36
+ # ArchieML doc
37
+ [blocks]
38
+
39
+ type: text
40
+ text: Bacon ipsum ...
41
+
42
+ ... etc.
43
+ :end
44
+
45
+ []
46
+ ```
47
+
48
+ ... which you'll parse out of a ArchieML block object before passing to the `BodyText` component.
49
+
50
+ ```svelte
51
+ <!-- App.svelte -->
52
+ <script>
53
+ import { BodyText } from '@reuters-graphics/graphics-components';
54
+ import content from '$locales/en/content.json';
55
+ </script>
56
+
57
+ {#each content.blocks as block}
58
+ {#if block.type === 'text'}
59
+ <BodyText text={block.text} />
60
+ {/if}
61
+ {/each}
62
+ ```
63
+
64
+ <Canvas of={BodyTextStories.Demo} />
65
+
66
+ ## Styling text
67
+
68
+ Styles are built in for many text elements created by `BodyText`, including headings, ordered and unordered lists, links, blockquotes and even drop caps (using a `"drop-cap"` classed span).
69
+
70
+ ```svelte
71
+ <BodyText
72
+ text="<span class='drop-cap'>R</span>eprehenderit hamburger pork bresaola ..."
73
+ />
74
+ ```
75
+
76
+ <Canvas of={BodyTextStories.TypographySample} />
77
+
78
+ ### Custom styles
79
+
80
+ To add your own styling, you can write styles in a global SCSS stylesheet:
81
+
82
+ ```svelte
83
+ <BodyText
84
+ text="Venison shoulder <span class='highlight'>ham hock</span> ham leberkas."
85
+ />
86
+ ```
87
+
88
+ ```scss
89
+ // global.scss
90
+ span.highlight {
91
+ background: palegoldenrod;
92
+ padding: 2px 4px;
93
+ }
94
+ ```
95
+
96
+ <Canvas of={BodyTextStories.CustomStyles} />
97
+
98
+ If you want to make sure styles for one portion of text don't apply other parts of the page, add a `class` to BodyText to use as an additional selector.
99
+
100
+ ```svelte highlight=2
101
+ <BodyText
102
+ class="my-special-text-block"
103
+ text="Venison shoulder <span class='highlight'>ham hock</span> ham leberkas."
104
+ />
105
+ ```
106
+
107
+ ```scss
108
+ // global.scss
109
+ .my-special-text-block {
110
+ span.highlight {
111
+ background: palegoldenrod;
112
+ padding: 2px 4px;
113
+ }
114
+ }
115
+ ```