@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,122 +1,124 @@
1
- <script>
1
+ <script lang="ts">
2
2
  import DownArrow from './DownArrow.svelte';
3
3
  import SectionDropdown from './NavDropdown/SectionDropdown.svelte';
4
4
  import MoreDropdown from './NavDropdown/MoreDropdown.svelte';
5
5
  import { normalizeUrl } from './utils/index';
6
6
  import { getContext } from 'svelte';
7
+ import type { Writable } from 'svelte/store';
7
8
 
8
- export let sections = [];
9
+ let { sections = [] } = $props();
9
10
 
10
- const activeSection = getContext('nav-active-section');
11
+ const activeSection =
12
+ getContext<Writable<null | string>>('nav-active-section');
11
13
 
12
- let windowWidth = 1200;
14
+ let windowWidth = $state(1200);
13
15
 
14
- $: getDisplayCount = () => {
16
+ let getDisplayCount = $derived(() => {
15
17
  if (windowWidth >= 1300) return 7;
16
18
  return 5;
17
- };
19
+ });
18
20
 
19
- let navTimeout;
21
+ let navTimeout = $state<ReturnType<typeof setTimeout>>();
20
22
  const timeout = 250;
21
23
 
22
- $: displayCount = getDisplayCount();
23
- $: displaySections = sections.slice(0, displayCount);
24
- $: hiddenSections = sections.slice(displayCount);
24
+ let displayCount = $derived(getDisplayCount());
25
+ let displaySections = $derived(sections.slice(0, displayCount));
26
+ let hiddenSections = $derived(sections.slice(displayCount));
25
27
  </script>
26
28
 
27
- <svelte:window bind:innerWidth="{windowWidth}" />
29
+ <svelte:window bind:innerWidth={windowWidth} />
28
30
 
29
31
  <div class="nav-bar">
30
32
  <nav aria-label="Main navigation">
31
- <!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
33
+ <!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
32
34
  <ul class="nav-list">
33
35
  {#each displaySections as section}
34
36
  {#if section.children}
35
- <!-- svelte-ignore a11y-click-events-have-key-events -->
37
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
36
38
  <li
37
39
  class="nav-item category link"
38
- on:mouseenter="{() => {
40
+ onmouseenter={() => {
39
41
  navTimeout = setTimeout(
40
42
  () => activeSection.set(section.id),
41
43
  timeout
42
44
  );
43
- }}"
44
- on:focus="{() => activeSection.set(section.id)}"
45
- on:mouseleave="{() => {
45
+ }}
46
+ onfocus={() => activeSection.set(section.id)}
47
+ onmouseleave={() => {
46
48
  clearTimeout(navTimeout);
47
49
  activeSection.set(null);
48
- }}"
49
- on:blur="{() => {
50
+ }}
51
+ onblur={() => {
50
52
  clearTimeout(navTimeout);
51
53
  activeSection.set(null);
52
- }}"
53
- on:click="{() => {
54
+ }}
55
+ onclick={() => {
54
56
  if ($activeSection === section.id) {
55
57
  clearTimeout(navTimeout);
56
58
  activeSection.set(null);
57
59
  }
58
- }}"
60
+ }}
59
61
  >
60
62
  <div
61
63
  class="nav-button link"
62
- class:open="{section.id === $activeSection}"
64
+ class:open={section.id === $activeSection}
63
65
  >
64
- <a href="{normalizeUrl(section.url)}">
66
+ <a href={normalizeUrl(section.url)}>
65
67
  {section.name}
66
68
  </a>
67
69
  <button class="button">
68
- <DownArrow rotate="{section.id === $activeSection}" />
70
+ <DownArrow rotate={section.id === $activeSection} />
69
71
  </button>
70
72
  </div>
71
73
  {#if $activeSection === section.id}
72
74
  <SectionDropdown
73
75
  {section}
74
- headingText="{`Latest in ${section.name}`}"
76
+ headingText={`Latest in ${section.name}`}
75
77
  />
76
78
  {/if}
77
79
  </li>
78
80
  {:else}
79
81
  <li class="nav-item category link">
80
82
  <div class="nav-button link">
81
- <a href="{normalizeUrl(section.url)}">
83
+ <a href={normalizeUrl(section.url)}>
82
84
  {section.name}
83
85
  </a>
84
86
  </div>
85
87
  </li>
86
88
  {/if}
87
89
  {/each}
88
- <!-- svelte-ignore a11y-click-events-have-key-events -->
90
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
89
91
  <li
90
92
  class="nav-item"
91
- on:mouseenter="{() => {
93
+ onmouseenter={() => {
92
94
  navTimeout = setTimeout(() => activeSection.set('more'), timeout);
93
- }}"
94
- on:focus="{() => activeSection.set('more')}"
95
- on:mouseleave="{() => {
95
+ }}
96
+ onfocus={() => activeSection.set('more')}
97
+ onmouseleave={() => {
96
98
  clearTimeout(navTimeout);
97
99
  activeSection.set(null);
98
- }}"
99
- on:blur="{() => {
100
+ }}
101
+ onblur={() => {
100
102
  clearTimeout(navTimeout);
101
103
  activeSection.set(null);
102
- }}"
103
- on:click="{() => {
104
+ }}
105
+ onclick={() => {
104
106
  if ($activeSection === 'more') {
105
107
  clearTimeout(navTimeout);
106
108
  activeSection.set(null);
107
109
  }
108
- }}"
110
+ }}
109
111
  >
110
112
  <div
111
113
  class="nav-button more link"
112
- class:open="{$activeSection === 'more'}"
114
+ class:open={$activeSection === 'more'}
113
115
  >
114
116
  <button class="button">
115
- <span>More <DownArrow rotate="{$activeSection === 'more'}" /></span>
117
+ <span>More <DownArrow rotate={$activeSection === 'more'} /></span>
116
118
  </button>
117
119
  </div>
118
120
  {#if $activeSection === 'more'}
119
- <MoreDropdown sections="{hiddenSections}" />
121
+ <MoreDropdown sections={hiddenSections} />
120
122
  {/if}
121
123
  </li>
122
124
  </ul>
@@ -144,6 +146,7 @@ https://utopia.fyi/space/calculator/?c=320,18,1.125,1280,21,1.25,7,3,&s=0.75|0.5
144
146
  display: none;
145
147
  }
146
148
  }
149
+
147
150
  .nav-list {
148
151
  display: block;
149
152
  list-style: none;
@@ -154,6 +157,7 @@ https://utopia.fyi/space/calculator/?c=320,18,1.125,1280,21,1.25,7,3,&s=0.75|0.5
154
157
  font-size: 16px;
155
158
  line-height: 1.5;
156
159
  }
160
+
157
161
  .nav-item {
158
162
  display: inline-flex;
159
163
  margin: 0;
@@ -209,6 +213,7 @@ https://utopia.fyi/space/calculator/?c=320,18,1.125,1280,21,1.25,7,3,&s=0.75|0.5
209
213
  height: 4px;
210
214
  background: var(--nav-accent, var(--tr-orange));
211
215
  }
216
+
212
217
  .button {
213
218
  margin: 0;
214
219
  padding: 0;
@@ -224,6 +229,7 @@ https://utopia.fyi/space/calculator/?c=320,18,1.125,1280,21,1.25,7,3,&s=0.75|0.5
224
229
  .button:not(.focused) {
225
230
  outline: none;
226
231
  }
232
+
227
233
  .category {
228
234
  display: none;
229
235
  }
@@ -1,25 +1,5 @@
1
- /** @typedef {typeof __propDef.props} IndexProps */
2
- /** @typedef {typeof __propDef.events} IndexEvents */
3
- /** @typedef {typeof __propDef.slots} IndexSlots */
4
- export default class Index extends SvelteComponent<{
5
- sections?: any[] | undefined;
6
- }, {
7
- [evt: string]: CustomEvent<any>;
8
- }, {}> {
9
- }
10
- export type IndexProps = typeof __propDef.props;
11
- export type IndexEvents = typeof __propDef.events;
12
- export type IndexSlots = typeof __propDef.slots;
13
- import { SvelteComponent } from "svelte";
14
- declare const __propDef: {
15
- props: {
16
- sections?: any[] | undefined;
17
- };
18
- events: {
19
- [evt: string]: CustomEvent<any>;
20
- };
21
- slots: {};
22
- exports?: undefined;
23
- bindings?: undefined;
24
- };
25
- export {};
1
+ declare const Index: import("svelte").Component<{
2
+ sections?: any[];
3
+ }, {}, "">;
4
+ type Index = ReturnType<typeof Index>;
5
+ export default Index;
@@ -1 +1 @@
1
- export function normalizeUrl(url: any): any;
1
+ export declare const normalizeUrl: (url: string) => string;
@@ -1,2 +1 @@
1
- export const normalizeUrl = (url) =>
2
- /^http/.test(url) ? url : `https://www.reuters.com${url}`;
1
+ export const normalizeUrl = (url) => /^http/.test(url) ? url : `https://www.reuters.com${url}`;
@@ -0,0 +1,33 @@
1
+ import { Meta } from '@storybook/blocks';
2
+
3
+ import * as SiteHeaderStories from './SiteHeader.stories.svelte';
4
+
5
+ <Meta of={SiteHeaderStories} />
6
+
7
+ # SiteHeader
8
+
9
+ Reuters dotcom site header, ported from [Raptor UI components](https://github.com/tr/rcom-arc_raptor-ui/tree/develop/packages/rcom-raptor-ui_common/src/components/site-header).
10
+
11
+ > **Note:** In the graphics kit, you can find this component in `pages/+page.svelte`. Customise it there for the default page.
12
+
13
+ ```svelte
14
+ <script>
15
+ import { SiteHeader } from '@reuters-graphics/graphics-components';
16
+ </script>
17
+
18
+ <SiteHeader />
19
+ ```
20
+
21
+ ## Dark theme
22
+
23
+ Colours are customised by the [`Theme`](?path=/docs/theming-theme--default) component. ([Demo](?path=/story/components-page-furniture-siteheader--customised-theme))
24
+
25
+ ```svelte
26
+ <script>
27
+ import { SiteHeader, Theme } from '@reuters-graphics/graphics-components';
28
+ </script>
29
+
30
+ <Theme base="dark">
31
+ <SiteHeader />
32
+ </Theme>
33
+ ```
@@ -1,35 +1,36 @@
1
- <script context="module">import componentDocs from "./stories/docs/component.md?raw";
2
- import darkThemeDocs from "./stories/docs/darkTheme.md?raw";
3
- import SiteHeader from "./SiteHeader.svelte";
4
- import {
5
- withComponentDocs,
6
- withStoryDocs
7
- } from "../../lib/docs/utils/withParams.js";
8
- export const meta = {
9
- title: "Components/Page furniture/SiteHeader",
10
- component: SiteHeader,
11
- ...withComponentDocs(componentDocs),
12
- argsTypes: {
13
- themes: { control: { disable: true } }
14
- }
15
- };
16
- </script>
17
-
18
- <script>
19
- import { Template, Story } from '@storybook/addon-svelte-csf';
20
-
1
+ <script module lang="ts">
2
+ import { defineMeta } from '@storybook/addon-svelte-csf';
3
+ import { expect, userEvent, within, waitFor } from '@storybook/test';
4
+ import SiteHeader from './SiteHeader.svelte';
21
5
  import Theme from '../Theme/Theme.svelte';
6
+
7
+ const { Story } = defineMeta({
8
+ title: 'Components/Page furniture/SiteHeader',
9
+ component: SiteHeader,
10
+ argTypes: {
11
+ themes: { control: { disable: true } },
12
+ },
13
+ });
22
14
  </script>
23
15
 
24
- <Template let:args>
16
+ <Story
17
+ name="Demo"
18
+ play={async ({ canvasElement }) => {
19
+ const canvas = within(canvasElement);
20
+ await userEvent.click(canvas.getByText('More'));
21
+ await waitFor(() =>
22
+ expect(canvas.getByText('Graphics')).toBeInTheDocument()
23
+ );
24
+ await userEvent.click(canvas.getByText('World'));
25
+ await waitFor(() => expect(canvas.getByText('Europe')).toBeInTheDocument());
26
+ }}
27
+ >
25
28
  <div>
26
- <SiteHeader {...args} />
29
+ <SiteHeader />
27
30
  </div>
28
- </Template>
29
-
30
- <Story name="Default" />
31
+ </Story>
31
32
 
32
- <Story name="Customised theme" {...withStoryDocs(darkThemeDocs)}>
33
+ <Story name="Customised theme">
33
34
  <div>
34
35
  <Theme base="dark">
35
36
  <SiteHeader />
@@ -1,30 +1,19 @@
1
- import { SvelteComponent } from "svelte";
2
- export declare const meta: {
3
- argsTypes: {
4
- themes: {
5
- control: {
6
- disable: boolean;
7
- };
8
- };
1
+ import SiteHeader from './SiteHeader.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;
9
12
  };
10
- parameters: {
11
- docs: any;
12
- };
13
- title: string;
14
- component: typeof SiteHeader;
15
- };
16
- declare const __propDef: {
17
- props: Record<string, never>;
18
- events: {
19
- [evt: string]: CustomEvent<any>;
20
- };
21
- slots: {};
22
- exports?: {} | undefined;
23
- bindings?: string | undefined;
24
- };
25
- export type SiteHeaderProps = typeof __propDef.props;
26
- export type SiteHeaderEvents = typeof __propDef.events;
27
- export type SiteHeaderSlots = typeof __propDef.slots;
28
- export default class SiteHeader extends SvelteComponent<SiteHeaderProps, SiteHeaderEvents, SiteHeaderSlots> {
13
+ z_$$bindings?: Bindings;
29
14
  }
30
- export {};
15
+ declare const SiteHeader: $$__sveltets_2_IsomorphicComponent<Record<string, never>, {
16
+ [evt: string]: CustomEvent<any>;
17
+ }, {}, {}, string>;
18
+ type SiteHeader = InstanceType<typeof SiteHeader>;
19
+ export default SiteHeader;
@@ -1,44 +1,53 @@
1
1
  <!-- @component `SiteHeader` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-page-furniture-siteheader--docs) -->
2
- <script>import ReutersLogo from "../ReutersLogo/ReutersLogo.svelte";
3
- import NavBar from "./NavBar/index.svelte";
4
- import starterData from "./data.json";
5
- import { onMount, setContext } from "svelte";
6
- import { writable } from "svelte/store";
7
- import MenuIcon from "./svgs/Menu.svelte";
8
- import MobileMenu from "./MobileMenu/index.svelte";
9
- setContext("nav-active-section", writable(null));
10
- let data = starterData;
11
- $: sections = data[0].sections;
12
- let isMobileMenuOpen = false;
13
- onMount(async () => {
14
- if (new URL(document.location.href).origin !== "https://www.reuters.com") {
15
- return;
16
- }
17
- try {
18
- const response = await fetch(
19
- "https://www.reuters.com/site-api/header/?" + new URLSearchParams({
20
- _website: "reuters",
21
- outputType: "json"
22
- })
23
- );
24
- const headerData = await response.json();
25
- if (!headerData[0].sections) return;
26
- data = headerData;
27
- } catch {
28
- console.warn("Unable to fetch site header data");
29
- }
30
- });
2
+ <script lang="ts">
3
+ import ReutersLogo from '../ReutersLogo/ReutersLogo.svelte';
4
+ import NavBar from './NavBar/index.svelte';
5
+ import starterData from './data.json';
6
+ import { onMount, setContext } from 'svelte';
7
+ import { writable } from 'svelte/store';
8
+ import MenuIcon from './svgs/Menu.svelte';
9
+ import MobileMenu from './MobileMenu/index.svelte';
10
+
11
+ setContext('nav-active-section', writable<null | string>(null));
12
+
13
+ let data = $state(starterData);
14
+
15
+ let sections = $derived(data[0].sections);
16
+
17
+ let isMobileMenuOpen = $state(false);
18
+
19
+ onMount(async () => {
20
+ // Only fire on prod...
21
+ if (new URL(document.location.href).origin !== 'https://www.reuters.com') {
22
+ return;
23
+ }
24
+ try {
25
+ const response = await fetch(
26
+ 'https://www.reuters.com/site-api/header/?' +
27
+ new URLSearchParams({
28
+ _website: 'reuters',
29
+ outputType: 'json',
30
+ })
31
+ );
32
+ const headerData = await response.json();
33
+ // Dumb verification...
34
+ if (!headerData[0].sections) return;
35
+ data = headerData;
36
+ } catch {
37
+ console.warn('Unable to fetch site header data');
38
+ }
39
+ });
31
40
  </script>
32
41
 
33
42
  <header
34
- style="{`
43
+ style={`
35
44
  --nav-background: var(--theme-colour-background, #fff);
36
45
  --nav-primary: var(--theme-colour-text-primary, #404040);
37
46
  --nav-rules: var(--theme-colour-brand-rules, #d0d0d0);
38
47
  --nav-accent: var(--theme-colour-brand-logo, #fa6400);
39
48
  --nav-shadow: 0 1px 4px 2px var(--theme-colour-brand-shadow, rgb(255 255 255 / 10%));
40
49
  --theme-font-family-sans-serif: Knowledge, sans-serif;
41
- `}"
50
+ `}
42
51
  >
43
52
  <a href="#main-content" class="skip-link"> Skip to main content </a>
44
53
  <div class="nav-container show-nav">
@@ -67,10 +76,10 @@ onMount(async () => {
67
76
  class="menu-button"
68
77
  aria-label="Menu"
69
78
  aria-haspopup="true"
70
- aria-expanded="{isMobileMenuOpen}"
71
- on:click="{() => {
79
+ aria-expanded={isMobileMenuOpen}
80
+ onclick={() => {
72
81
  isMobileMenuOpen = !isMobileMenuOpen;
73
- }}"
82
+ }}
74
83
  >
75
84
  <div class="button-container">
76
85
  <MenuIcon />
@@ -86,10 +95,10 @@ onMount(async () => {
86
95
 
87
96
  <MobileMenu
88
97
  {isMobileMenuOpen}
89
- releaseMobileMenu="{() => {
98
+ releaseMobileMenu={() => {
90
99
  isMobileMenuOpen = false;
91
- }}"
92
- data="{data[0]}"
100
+ }}
101
+ data={data[0]}
93
102
  />
94
103
 
95
104
  <style>@charset "UTF-8";
@@ -113,6 +122,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
113
122
  .nav-container a {
114
123
  text-decoration: none;
115
124
  }
125
+
116
126
  .scroll-container {
117
127
  height: calc(var(--page-height) - 50vh);
118
128
  pointer-events: none;
@@ -124,9 +134,8 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
124
134
  pointer-events: auto;
125
135
  border-bottom: 1px solid var(--nav-rules, var(--tr-muted-grey));
126
136
  }
137
+
127
138
  .main-bar {
128
- padding-left: 2.2222222222vw;
129
- padding-right: 2.2222222222vw;
130
139
  margin: 0 auto;
131
140
  box-sizing: border-box;
132
141
  display: flex;
@@ -134,15 +143,25 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
134
143
  justify-content: space-between;
135
144
  max-width: 1440px;
136
145
  }
146
+ .main-bar {
147
+ padding-left: 2.2222222222vw;
148
+ }
149
+ .main-bar {
150
+ padding-right: 2.2222222222vw;
151
+ }
137
152
  @media (max-width: 1023px) {
138
153
  .main-bar {
139
154
  padding-left: 4.2666666667vw;
155
+ }
156
+ .main-bar {
140
157
  padding-right: 4.2666666667vw;
141
158
  }
142
159
  }
143
160
  @media (min-width: 1440px) {
144
161
  .main-bar {
145
162
  padding-left: 32px;
163
+ }
164
+ .main-bar {
146
165
  padding-right: 32px;
147
166
  }
148
167
  }
@@ -151,6 +170,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
151
170
  height: 56px;
152
171
  }
153
172
  }
173
+
154
174
  .logo-container {
155
175
  align-self: center;
156
176
  }
@@ -166,6 +186,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
166
186
  min-width: 94px;
167
187
  }
168
188
  }
189
+
169
190
  .spacer-container {
170
191
  margin-left: auto;
171
192
  display: flex;
@@ -186,6 +207,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
186
207
  width: 88px;
187
208
  }
188
209
  }
210
+
189
211
  .mobile-button-group {
190
212
  margin-left: auto;
191
213
  display: flex;
@@ -197,6 +219,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
197
219
  display: none;
198
220
  }
199
221
  }
222
+
200
223
  .mobile-menu {
201
224
  margin-left: 8px;
202
225
  }
@@ -238,6 +261,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
238
261
  .mobile-menu .menu-button:focus-visible .button-container {
239
262
  border: 2px solid var(--nav-accent);
240
263
  }
264
+
241
265
  .skip-link {
242
266
  position: absolute;
243
267
  left: -10000px;
@@ -246,6 +270,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
246
270
  height: 1px;
247
271
  overflow: hidden;
248
272
  }
273
+
249
274
  .skip-link:focus {
250
275
  position: static;
251
276
  width: auto;
@@ -1,17 +1,4 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: Record<string, never>;
4
- events: {
5
- [evt: string]: CustomEvent<any>;
6
- };
7
- slots: {};
8
- exports?: {} | undefined;
9
- bindings?: string | undefined;
10
- };
11
- export type SiteHeaderProps = typeof __propDef.props;
12
- export type SiteHeaderEvents = typeof __propDef.events;
13
- export type SiteHeaderSlots = typeof __propDef.slots;
14
1
  /** `SiteHeader` [Read the docs.](https://reuters-graphics.github.io/graphics-components/?path=/docs/components-page-furniture-siteheader--docs) */
15
- export default class SiteHeader extends SvelteComponent<SiteHeaderProps, SiteHeaderEvents, SiteHeaderSlots> {
16
- }
17
- export {};
2
+ declare const SiteHeader: import("svelte").Component<Record<string, never>, {}, "">;
3
+ type SiteHeader = ReturnType<typeof SiteHeader>;
4
+ export default SiteHeader;