@reuters-graphics/graphics-components 0.1.6 → 0.1.7--canary.99.331bdb0.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 (206) hide show
  1. package/dist/@types/components/@types/global.d.ts +4 -0
  2. package/dist/@types/components/Block/Block.svelte.d.ts +1 -1
  3. package/dist/@types/components/BodyText/BodyText.svelte.d.ts +1 -0
  4. package/dist/@types/components/DocumentCloud/DocumentCloud.svelte.d.ts +1 -1
  5. package/dist/@types/components/FeaturePhoto/FeaturePhoto.svelte.d.ts +8 -0
  6. package/dist/@types/components/GraphicBlock/GraphicBlock.svelte.d.ts +1 -1
  7. package/dist/@types/components/Headline/Headline.svelte.d.ts +5 -0
  8. package/dist/@types/components/PhotoCarousel/PhotoCarousel.svelte.d.ts +1 -1
  9. package/dist/@types/components/PhotoPack/PhotoPack.svelte.d.ts +1 -1
  10. package/dist/@types/components/ReferralBlock/ReferralBlock.svelte.d.ts +1 -1
  11. package/dist/@types/components/SimpleTimeline/SimpleTimeline.svelte.d.ts +1 -1
  12. package/dist/@types/components/SiteHeadline/SiteHeadline.svelte.d.ts +6 -1
  13. package/dist/@types/components/Table/Table.svelte.d.ts +1 -1
  14. package/dist/@types/components/Theme/@types/component.d.ts +29 -9
  15. package/dist/@types/components/Theme/Theme.svelte.d.ts +1 -21
  16. package/dist/@types/components/Theme/themes/common.d.ts +2 -0
  17. package/dist/@types/components/Theme/themes/light.d.ts +1 -21
  18. package/dist/@types/components/ToolsHeader/ToolsHeader.svelte.d.ts +1 -1
  19. package/dist/components/Article/Article.svelte +1 -1
  20. package/dist/components/BeforeAfter/BeforeAfter.svelte +23 -41
  21. package/dist/components/Block/Block.svelte +3 -81
  22. package/dist/components/BodyText/BodyText.svelte +4 -179
  23. package/dist/components/DocumentCloud/DocumentCloud.svelte +3 -2
  24. package/dist/components/FeaturePhoto/FeaturePhoto.svelte +26 -28
  25. package/dist/components/Framer/Typeahead/index.svelte +4 -4
  26. package/dist/components/GraphicBlock/GraphicBlock.svelte +18 -148
  27. package/dist/components/GraphicBlock/TextBlock.svelte +1 -1
  28. package/dist/components/Headline/Headline.svelte +54 -43
  29. package/dist/components/NoteText/NoteText.svelte +12 -100
  30. package/dist/components/PhotoCarousel/PhotoCarousel.svelte +18 -39
  31. package/dist/components/PhotoPack/PhotoPack.svelte +20 -43
  32. package/dist/components/ReferralBlock/ReferralBlock.svelte +28 -46
  33. package/dist/components/Scroller/Background.svelte +1 -3
  34. package/dist/components/Scroller/Embedded/Background.svelte +1 -1
  35. package/dist/components/Scroller/Embedded/Foreground.svelte +2 -192
  36. package/dist/components/Scroller/Foreground.svelte +8 -101
  37. package/dist/components/Scroller/Scroller.svelte +11 -43
  38. package/dist/components/SearchInput/MagnifyingGlass.svelte +1 -1
  39. package/dist/components/SearchInput/SearchInput.svelte +11 -6
  40. package/dist/components/SearchInput/X.svelte +2 -2
  41. package/dist/components/SimpleTimeline/SimpleTimeline.svelte +36 -46
  42. package/dist/components/SiteFooter/CompanyLinks.svelte +6 -6
  43. package/dist/components/SiteFooter/LegalLinks.svelte +5 -5
  44. package/dist/components/SiteFooter/QuickLinks.svelte +4 -4
  45. package/dist/components/SiteFooter/Referrals/Link.svelte +1 -1
  46. package/dist/components/SiteFooter/SiteFooter.svelte +1 -0
  47. package/dist/components/SiteFooter/svgs/Facebook.svelte +1 -1
  48. package/dist/components/SiteFooter/svgs/Graphics.svelte +1 -1
  49. package/dist/components/SiteFooter/svgs/Instagram.svelte +1 -1
  50. package/dist/components/SiteFooter/svgs/LinkedIn.svelte +1 -1
  51. package/dist/components/SiteFooter/svgs/Pictures.svelte +1 -1
  52. package/dist/components/SiteFooter/svgs/Twitter.svelte +1 -1
  53. package/dist/components/SiteFooter/svgs/Videos.svelte +1 -1
  54. package/dist/components/SiteFooter/svgs/YouTube.svelte +1 -1
  55. package/dist/components/SiteHeader/MobileMenu/index.svelte +3 -3
  56. package/dist/components/SiteHeader/NavBar/DownArrow.svelte +1 -1
  57. package/dist/components/SiteHeader/NavBar/NavDropdown/MoreDropdown.svelte +2 -2
  58. package/dist/components/SiteHeader/NavBar/NavDropdown/SectionDropdown.svelte +3 -3
  59. package/dist/components/SiteHeader/NavBar/NavDropdown/Spinner/index.svelte +1 -1
  60. package/dist/components/SiteHeader/NavBar/NavDropdown/StoryCard/index.svelte +4 -4
  61. package/dist/components/SiteHeader/NavBar/NavDropdown/index.svelte +5 -5
  62. package/dist/components/SiteHeader/NavBar/index.svelte +6 -6
  63. package/dist/components/SiteHeader/SiteHeader.svelte +2 -1
  64. package/dist/components/SiteHeader/svgs/Close.svelte +1 -1
  65. package/dist/components/SiteHeader/svgs/Menu.svelte +1 -1
  66. package/dist/components/SiteHeadline/SiteHeadline.svelte +44 -97
  67. package/dist/components/Spinner/Spinner.svelte +3 -12
  68. package/dist/components/Table/Pagination.svelte +7 -7
  69. package/dist/components/Table/Select.svelte +4 -4
  70. package/dist/components/Table/SortArrow.svelte +2 -2
  71. package/dist/components/Table/Table.svelte +18 -17
  72. package/dist/components/Theme/themes/common.js +28 -0
  73. package/dist/components/Theme/themes/dark.js +4 -12
  74. package/dist/components/Theme/themes/light.js +4 -11
  75. package/dist/components/ToolsHeader/ToolsHeader.svelte +3 -2
  76. package/dist/components/Video/Video.svelte +15 -48
  77. package/dist/scss/_mixins.scss +6 -6
  78. package/dist/scss/colours/_main.scss +3 -0
  79. package/dist/scss/colours/primary/_amber.scss +13 -0
  80. package/dist/scss/colours/primary/_blue.scss +13 -0
  81. package/dist/scss/colours/primary/_cyan.scss +13 -0
  82. package/dist/scss/colours/primary/_emerald.scss +13 -0
  83. package/dist/scss/colours/primary/_fuchsia.scss +13 -0
  84. package/dist/scss/colours/primary/_green.scss +13 -0
  85. package/dist/scss/colours/primary/_grey.scss +13 -0
  86. package/dist/scss/colours/primary/_indigo.scss +13 -0
  87. package/dist/scss/colours/primary/_lime.scss +13 -0
  88. package/dist/scss/colours/primary/_neutral.scss +13 -0
  89. package/dist/scss/colours/primary/_orange.scss +13 -0
  90. package/dist/scss/colours/primary/_pink.scss +13 -0
  91. package/dist/scss/colours/primary/_purple.scss +13 -0
  92. package/dist/scss/colours/primary/_red.scss +13 -0
  93. package/dist/scss/colours/primary/_rose.scss +13 -0
  94. package/dist/scss/colours/primary/_sky.scss +13 -0
  95. package/dist/scss/colours/primary/_slate.scss +13 -0
  96. package/dist/scss/colours/primary/_stone.scss +13 -0
  97. package/dist/scss/colours/primary/_teal.scss +13 -0
  98. package/dist/scss/colours/primary/_violet.scss +13 -0
  99. package/dist/scss/colours/primary/_yellow.scss +13 -0
  100. package/dist/scss/colours/primary/_zinc.scss +13 -0
  101. package/dist/scss/colours/thematic/_grey.scss +13 -0
  102. package/dist/scss/colours/thematic/_nord.scss +42 -40
  103. package/dist/scss/colours/thematic/_tr.scss +27 -25
  104. package/dist/scss/fonts/_font-faces.scss +194 -66
  105. package/dist/scss/main.scss +15 -16
  106. package/dist/scss/mixins/_main.scss +1 -0
  107. package/dist/scss/reset/_main.scss +12 -0
  108. package/dist/scss/reset/_typography.scss +138 -0
  109. package/dist/scss/token-classes.scss +8 -0
  110. package/dist/scss/tokens/accessibility/_main.scss +1 -0
  111. package/dist/scss/tokens/accessibility/_visibility.scss +5 -0
  112. package/dist/scss/tokens/accessibility/mixins/_main.scss +1 -0
  113. package/dist/scss/{mixins/_visually-hidden.scss → tokens/accessibility/mixins/_visibility.scss} +1 -2
  114. package/dist/scss/tokens/backgrounds/_background-color.scss +26 -0
  115. package/dist/scss/tokens/backgrounds/_main.scss +1 -0
  116. package/dist/scss/tokens/backgrounds/mixins/_background-color.scss +24 -0
  117. package/dist/scss/tokens/backgrounds/mixins/_main.scss +1 -0
  118. package/dist/scss/tokens/borders/_border-color.scss +15 -0
  119. package/dist/scss/tokens/borders/_border-radius.scss +279 -0
  120. package/dist/scss/tokens/borders/_border-style.scss +18 -0
  121. package/dist/scss/tokens/borders/_border-width.scss +115 -0
  122. package/dist/scss/tokens/borders/_main.scss +3 -0
  123. package/dist/scss/tokens/interactivity/_cursor.scss +72 -0
  124. package/dist/scss/tokens/interactivity/_main.scss +2 -0
  125. package/dist/scss/tokens/interactivity/_pointer-events.scss +12 -0
  126. package/dist/scss/tokens/layout/_box-sizing.scss +12 -0
  127. package/dist/scss/tokens/layout/_display.scss +126 -0
  128. package/dist/scss/tokens/layout/_floats.scss +18 -0
  129. package/dist/scss/tokens/layout/_main.scss +8 -0
  130. package/dist/scss/tokens/layout/_object-fit.scss +30 -0
  131. package/dist/scss/tokens/layout/_object-position.scss +54 -0
  132. package/dist/scss/tokens/layout/_overflow.scss +90 -0
  133. package/dist/scss/tokens/layout/_position.scss +30 -0
  134. package/dist/scss/tokens/layout/flex/_align-content.scss +54 -0
  135. package/dist/scss/tokens/layout/flex/_align-items.scss +30 -0
  136. package/dist/scss/tokens/layout/flex/_align-self.scss +36 -0
  137. package/dist/scss/tokens/layout/flex/_flex-direction.scss +24 -0
  138. package/dist/scss/tokens/layout/flex/_flex-grow.scss +12 -0
  139. package/dist/scss/tokens/layout/flex/_flex-shrink.scss +12 -0
  140. package/dist/scss/tokens/layout/flex/_flex-wrap.scss +18 -0
  141. package/dist/scss/tokens/layout/flex/_flex.scss +24 -0
  142. package/dist/scss/tokens/layout/flex/_justify-content.scss +48 -0
  143. package/dist/scss/tokens/layout/flex/_justify-items.scss +24 -0
  144. package/dist/scss/tokens/layout/flex/_justify-self.scss +30 -0
  145. package/dist/scss/tokens/layout/flex/_main.scss +11 -0
  146. package/dist/scss/tokens/sizing/_height.scss +168 -0
  147. package/dist/scss/tokens/sizing/_main.scss +6 -0
  148. package/dist/scss/tokens/sizing/_max-height.scss +12 -0
  149. package/dist/scss/tokens/sizing/_max-width.scss +12 -0
  150. package/dist/scss/tokens/sizing/_min-height.scss +12 -0
  151. package/dist/scss/tokens/sizing/_min-width.scss +6 -0
  152. package/dist/scss/tokens/sizing/_width.scss +176 -0
  153. package/dist/scss/tokens/spacers/_fluid-margin.scss +68 -0
  154. package/dist/scss/tokens/spacers/_fluid-padding.scss +49 -0
  155. package/dist/scss/tokens/spacers/_main.scss +4 -0
  156. package/dist/scss/tokens/spacers/_margin.scss +109 -0
  157. package/dist/scss/tokens/spacers/_padding.scss +86 -0
  158. package/dist/scss/tokens/spacers/mixins/_fluid-margin.scss +85 -0
  159. package/dist/scss/tokens/spacers/mixins/_fluid-padding.scss +85 -0
  160. package/dist/scss/tokens/spacers/mixins/_main.scss +2 -0
  161. package/dist/scss/tokens/text/_color.scss +20 -0
  162. package/dist/scss/tokens/text/_font-family.scss +68 -0
  163. package/dist/scss/tokens/text/_font-size.scss +68 -0
  164. package/dist/scss/tokens/text/_font-style.scss +12 -0
  165. package/dist/scss/tokens/text/_font-weight.scss +56 -0
  166. package/dist/scss/tokens/text/_letter-spacing.scss +38 -0
  167. package/dist/scss/tokens/text/_line-height.scss +38 -0
  168. package/dist/scss/tokens/text/_main.scss +14 -0
  169. package/dist/scss/tokens/text/_text-align.scss +36 -0
  170. package/dist/scss/tokens/text/_text-decoration.scss +24 -0
  171. package/dist/scss/tokens/text/_text-stroke.scss +74 -0
  172. package/dist/scss/{typography/_transform.scss → tokens/text/_text-transform.scss} +7 -2
  173. package/dist/scss/tokens/text/_vertical-align.scss +48 -0
  174. package/dist/scss/tokens/text/_white-space.scss +12 -0
  175. package/dist/scss/tokens/text/_word-break.scss +14 -0
  176. package/dist/scss/tokens/text/mixins/_color.scss +18 -0
  177. package/dist/scss/tokens/text/mixins/_font-family.scss +66 -0
  178. package/dist/scss/tokens/text/mixins/_font-size.scss +66 -0
  179. package/dist/scss/tokens/text/mixins/_font-weight.scss +54 -0
  180. package/dist/scss/tokens/text/mixins/_letter-spacing.scss +36 -0
  181. package/dist/scss/tokens/text/mixins/_line-height.scss +36 -0
  182. package/dist/scss/tokens/text/mixins/_main.scss +7 -0
  183. package/dist/scss/tokens/text/mixins/_text-stroke.scss +8 -0
  184. package/dist/scss/tokens/variables/_main.scss +1 -0
  185. package/dist/scss/tokens/variables/_theme.scss +8 -0
  186. package/package.json +142 -41
  187. package/dist/scss/_variables.scss +0 -2
  188. package/dist/scss/bootstrap/_main.scss +0 -34
  189. package/dist/scss/bootstrap/_variables.scss +0 -10
  190. package/dist/scss/components/_hero-title.scss +0 -118
  191. package/dist/scss/fonts/_mixins.scss +0 -25
  192. package/dist/scss/fonts/_rules.scss +0 -19
  193. package/dist/scss/fonts/_variables.scss +0 -26
  194. package/dist/scss/mixins/_body-text.scss +0 -113
  195. package/dist/scss/mixins/_graphic.scss +0 -66
  196. package/dist/scss/mixins/_note-text.scss +0 -34
  197. package/dist/scss/spacers/_rules.scss +0 -65
  198. package/dist/scss/spacers/_variables.scss +0 -19
  199. package/dist/scss/typography/_box-shadow.scss +0 -11
  200. package/dist/scss/typography/_font-size.scss +0 -81
  201. package/dist/scss/typography/_letter-spacing.scss +0 -15
  202. package/dist/scss/typography/_main.scss +0 -5
  203. package/dist/scss/typography/_mixins.scss +0 -26
  204. package/dist/scss/typography/_rules.scss +0 -83
  205. package/dist/scss/typography/_text-shadow.scss +0 -13
  206. package/dist/scss/typography/_variables.scss +0 -39
@@ -34,13 +34,13 @@ function input(event) {
34
34
 
35
35
  <style>.select {
36
36
  width: 256px;
37
- font-family: var(--theme-font-family-hed, "Knowledge", "Source Sans Pro", Arial, sans-serif);
37
+ font-family: var(--theme-font-family-sans-serif);
38
38
  }
39
39
  .select label {
40
40
  display: block;
41
41
  font-size: 0.8rem;
42
42
  font-weight: 300;
43
- color: var(--theme-colour-text-primary, #404040);
43
+ color: var(--theme-colour-text-primary);
44
44
  padding: 0 0 0.125rem 0;
45
45
  }
46
46
  .select .select--input {
@@ -49,8 +49,8 @@ function input(event) {
49
49
  font-weight: 400;
50
50
  line-height: 1;
51
51
  height: 33px;
52
- border: 1px solid var(--theme-colour-brand-rules, #d0d0d0);
53
- color: var(--theme-colour-text-primary, #404040);
52
+ border: 1px solid var(--theme-colour-brand-rules, var(--tr-muted-grey));
53
+ color: var(--theme-colour-text-primary);
54
54
  border-radius: 6px;
55
55
  width: 100%;
56
56
  padding: 0.5rem;
@@ -29,8 +29,8 @@ export let active = false;
29
29
  }
30
30
 
31
31
  path {
32
- fill: var(--theme-colour-brand-rules, #d0d0d0);
32
+ fill: var(--theme-colour-brand-rules, var(--tr-muted-grey));
33
33
  }
34
34
  path.active {
35
- fill: var(--theme-colour-text-primary, #404040);
35
+ fill: var(--theme-colour-text-primary, var(--tr-dark-grey));
36
36
  }</style>
@@ -96,7 +96,8 @@ export let width = 'normal';
96
96
  /** Add an ID to target with SCSS. */
97
97
  export let id = '';
98
98
  /** Add a class to target with SCSS. */
99
- export let cls = '';
99
+ let cls = '';
100
+ export { cls as class };
100
101
  /** Import local helpers */
101
102
  import Block from '../Block/Block.svelte';
102
103
  import Pagination from './Pagination.svelte';
@@ -175,7 +176,7 @@ onMount(() => {
175
176
  });
176
177
  </script>
177
178
 
178
- <Block width="{width}" id="{id}" cls="{cls}">
179
+ <Block width="{width}" id="{id}" class="{cls}">
179
180
  <article class="table-wrapper">
180
181
  {#if title || dek || searchable || filterList}
181
182
  <header class="table--header">
@@ -302,8 +303,8 @@ onMount(() => {
302
303
 
303
304
  <style>.table-wrapper {
304
305
  font-size: 1rem;
305
- font-family: var(--theme-font-family-hed, "Knowledge", "Source Sans Pro", Arial, sans-serif);
306
- color: var(--theme-colour-text-primary, #404040);
306
+ font-family: var(--theme-font-family-sans-serif);
307
+ color: var(--theme-colour-text-primary);
307
308
  }
308
309
 
309
310
  .table--header {
@@ -311,14 +312,14 @@ onMount(() => {
311
312
  }
312
313
  .table--header h2.table--header--title {
313
314
  font-weight: 500;
314
- color: var(--theme-colour-text-primary, #404040);
315
+ color: var(--theme-colour-text-primary);
315
316
  font-size: 1.33rem;
316
317
  padding: 0;
317
318
  margin: 0.5rem 0;
318
319
  }
319
320
  .table--header p.table--header--dek {
320
- font-family: var(--theme-font-family-hed, "Knowledge", "Source Sans Pro", Arial, sans-serif);
321
- color: var(--theme-colour-text-primary, #404040);
321
+ font-family: var(--theme-font-family-sans-serif);
322
+ color: var(--theme-colour-text-primary);
322
323
  font-size: 1rem;
323
324
  font-weight: 300;
324
325
  line-height: 1.4;
@@ -337,9 +338,9 @@ section.table table {
337
338
  width: 100%;
338
339
  }
339
340
  section.table table thead tr th {
340
- border-bottom: 1px solid var(--theme-colour-text-primary, #666666);
341
- color: var(--theme-colour-text-primary, #666666);
342
- background-color: var(--theme-colour-background, #fff);
341
+ border-bottom: 1px solid var(--theme-colour-text-primary);
342
+ color: var(--theme-colour-text-primary);
343
+ background-color: var(--theme-colour-background);
343
344
  font-size: 0.85rem;
344
345
  font-weight: 500;
345
346
  text-align: inherit;
@@ -360,10 +361,10 @@ section.table table tbody td {
360
361
  font-weight: 300;
361
362
  padding: 0.5rem 0.75rem 0.5rem 0;
362
363
  vertical-align: top;
363
- border-bottom: 1px solid var(--theme-colour-brand-rules, #d0d0d0);
364
+ border-bottom: 1px solid var(--theme-colour-brand-rules, var(--tr-muted-grey));
364
365
  }
365
366
  section.table table tbody td.no-results {
366
- color: var(--theme-colour-text-secondary, #d0d0d0);
367
+ color: var(--theme-colour-text-secondary);
367
368
  }
368
369
  section.table table tfoot.table--tfoot {
369
370
  display: table-row;
@@ -373,7 +374,7 @@ section.table table tfoot.table--tfoot tr {
373
374
  }
374
375
  section.table table tfoot.table--tfoot td {
375
376
  font-weight: 300;
376
- color: var(--theme-colour-text-primary, #404040);
377
+ color: var(--theme-colour-text-primary);
377
378
  font-size: 0.8rem;
378
379
  padding: 0.5rem 0 0 0;
379
380
  }
@@ -407,13 +408,13 @@ nav.show-all {
407
408
  }
408
409
  nav.show-all button {
409
410
  font-size: 0.8rem;
410
- font-family: var(--theme-font-family-hed, "Knowledge", "Source Sans Pro", Arial, sans-serif);
411
+ font-family: var(--theme-font-family-sans-serif);
411
412
  font-weight: 500;
412
413
  min-width: 175px;
413
414
  padding: 0.33rem 0.5rem;
414
- border: 1px solid var(--theme-colour-brand-rules, #d0d0d0);
415
+ border: 1px solid var(--theme-colour-brand-rules, var(--tr-muted-grey));
415
416
  border-radius: 4px;
416
- background: var(--theme-colour-background);
417
- color: var(--theme-colour-text-primary, #666666);
417
+ background-color: var(--theme-colour-background);
418
+ color: var(--theme-colour-text-primary);
418
419
  cursor: pointer;
419
420
  }</style>
@@ -0,0 +1,28 @@
1
+ /** @type {Omit<import('../@types/component').Theme, "colour">} */
2
+ export default {
3
+ font: {
4
+ family: {
5
+ serif: 'FreightText, serif',
6
+ 'sans-serif': 'Knowledge, sans-serif',
7
+ monospace:
8
+ '"Droid Sans Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
9
+ hed: 'var(--theme-font-family-sans-serif)',
10
+ subhed: 'var(--theme-font-family-sans-serif)',
11
+ body: 'var(--theme-font-family-serif)',
12
+ note: 'var(--theme-font-family-sans-serif)',
13
+ },
14
+ size: {
15
+ xxs: 'clamp(0.79rem, -0.2vw + 0.83rem, 0.67rem)',
16
+ xs: 'clamp(0.89rem, -0.08vw + 0.91rem, 0.84rem)',
17
+ sm: 'clamp(1rem, 0.08vw + 0.98rem, 1.05rem)',
18
+ base: 'clamp(1.13rem, 0.31vw + 1.06rem, 1.31rem)',
19
+ lg: 'clamp(1.27rem, 0.63vw + 1.14rem, 1.64rem)',
20
+ xl: 'clamp(1.42rem, 1.04vw + 1.21rem, 2.05rem)',
21
+ '2xl': 'clamp(1.6rem, 1.6vw + 1.28rem, 2.56rem)',
22
+ '3xl': 'clamp(1.8rem, 2.34vw + 1.33rem, 3.2rem)',
23
+ '4xl': 'clamp(2.03rem, 3.3vw + 1.37rem, 4.01rem)',
24
+ '5xl': 'clamp(2.28rem, 4.54vw + 1.37rem, 5.01rem)',
25
+ '6xl': 'clamp(2.57rem, 6.15vw + 1.33rem, 6.26rem)',
26
+ },
27
+ },
28
+ };
@@ -1,23 +1,15 @@
1
+ import common from './common.js';
2
+
1
3
  /** @type {import('../@types/component').Theme} */
2
4
  export default {
5
+ ...common,
3
6
  colour: {
4
7
  background: '#2e3440',
5
8
  'text-primary': '#ffffff',
6
9
  'text-secondary': 'rgb(255 255 255 / 60%)',
7
- accent: ' #ef3c2a',
10
+ accent: '#ef3c2a',
8
11
  'brand-logo': '#ffffff',
9
12
  'brand-rules': 'rgb(255 255 255 / 25%)',
10
13
  'brand-shadow': 'rgb(255 255 255 / 10%)',
11
14
  },
12
- font: {
13
- 'size-base': '1.375',
14
- 'family-serif': 'freight-book, serif',
15
- 'family-sans-serif': 'Knowledge, sans-serif',
16
- 'family-monospace':
17
- 'Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
18
- 'family-hed': 'var(--theme-font-family-sans-serif)',
19
- 'family-subhed': 'var(--theme-font-family-sans-serif)',
20
- 'family-body': 'var(--theme-font-family-serif)',
21
- 'family-note': 'var(--theme-font-family-sans-serif)',
22
- },
23
15
  };
@@ -1,4 +1,8 @@
1
+ import common from './common.js';
2
+
3
+ /** @type {import('../@types/component').Theme} */
1
4
  export default {
5
+ ...common,
2
6
  colour: {
3
7
  background: '#ffffff',
4
8
  'text-primary': '#404040',
@@ -8,15 +12,4 @@ export default {
8
12
  'brand-rules': '#d0d0d0',
9
13
  'brand-shadow': 'rgb(64 64 64 / 80%)',
10
14
  },
11
- font: {
12
- 'size-base': '1.375',
13
- 'family-serif': 'freight-book, serif',
14
- 'family-sans-serif': 'Knowledge, sans-serif',
15
- 'family-monospace':
16
- 'Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace',
17
- 'family-hed': 'var(--theme-font-family-sans-serif)',
18
- 'family-subhed': 'var(--theme-font-family-sans-serif)',
19
- 'family-body': 'var(--theme-font-family-serif)',
20
- 'family-note': 'var(--theme-font-family-sans-serif)',
21
- },
22
15
  };
@@ -2,7 +2,8 @@
2
2
  <script>/** Add an ID to target with SCSS. */
3
3
  export let id = '';
4
4
  /** Add a class to target with SCSS. */
5
- export let cls = '';
5
+ let cls = '';
6
+ export { cls as class };
6
7
  /**
7
8
  * Make the header stick when user scrolls.
8
9
  */
@@ -29,7 +30,7 @@ import ReutersGraphicsLogo from '../ReutersGraphicsLogo/ReutersGraphicsLogo.svel
29
30
  <header
30
31
  id="{id}"
31
32
  class="{cls}"
32
- class:sticky
33
+ class:sticky="{sticky}"
33
34
  style:background="{background}"
34
35
  style:border-bottom="{borderBottom}"
35
36
  >
@@ -104,7 +104,7 @@ if (ariaHidden && !ariaDescription) {
104
104
  on:touchstart="{setInteractedWithDom}"
105
105
  />
106
106
 
107
- <Block width="{width}" cls="video-container">
107
+ <Block width="{width}" class="video-container">
108
108
  <div
109
109
  on:mouseover="{() => {
110
110
  interactiveControlsOpacity = controlsOpacity;
@@ -128,13 +128,13 @@ if (ariaHidden && !ariaDescription) {
128
128
  <!-- Video element with Intersection Observer -->
129
129
  <IntersectionObserver
130
130
  element="{element}"
131
- bind:intersecting
131
+ bind:intersecting="{intersecting}"
132
132
  threshold="{playVideoThreshold}"
133
133
  once="{false}"
134
134
  >
135
135
  <div
136
136
  bind:this="{element}"
137
- class="video-wrapper"
137
+ class="video-wrapper relative"
138
138
  aria-hidden="{ariaHidden}"
139
139
  bind:clientWidth="{widthVideoContainer}"
140
140
  bind:clientHeight="{heightVideoContainer}"
@@ -158,29 +158,28 @@ if (ariaHidden && !ariaDescription) {
158
158
  />
159
159
  {:else}
160
160
  <button
161
+ class="border-0 m-0 p-0 bg-transparent absolute"
161
162
  on:click="{() => {
162
163
  paused === true ? (paused = false) : (paused = true);
163
164
  }}"
164
- style="position: absolute; top: 0; left: 0; width: {widthVideoContainer}px; height: {heightVideoContainer}px;"
165
+ style="top: 0; left: 0; width: {widthVideoContainer}px; height: {heightVideoContainer}px;"
165
166
  ></button>
166
167
  {/if}
167
168
  {/if}
168
169
  <video
169
170
  bind:this="{videoElement}"
170
171
  src="{src}"
172
+ class="pointer-events-none relative"
171
173
  width="100%"
172
174
  muted="{muteVideo}"
173
175
  playsinline
174
176
  preload="{preloadVideo}"
175
177
  loop="{loopVideo}"
176
178
  bind:currentTime="{time}"
177
- bind:duration
178
- bind:paused
179
+ bind:duration="{duration}"
180
+ bind:paused="{paused}"
179
181
  bind:clientWidth="{widthVideo}"
180
182
  bind:clientHeight="{heightVideo}"
181
- style="{showControls
182
- ? 'position: relative'
183
- : 'position: relative'}"
184
183
  >
185
184
  <track kind="captions" />
186
185
  </video>
@@ -189,7 +188,7 @@ if (ariaHidden && !ariaDescription) {
189
188
  {:else}
190
189
  <!-- Video element without Intersection observer -->
191
190
  <div
192
- class="video-wrapper"
191
+ class="video-wrapper relative"
193
192
  aria-hidden="{ariaHidden}"
194
193
  bind:clientWidth="{widthVideoContainer}"
195
194
  bind:clientHeight="{heightVideoContainer}"
@@ -211,69 +210,37 @@ if (ariaHidden && !ariaDescription) {
211
210
  />
212
211
  {:else}
213
212
  <button
213
+ class="border-0 m-0 p-0 bg-transparent absolute"
214
214
  on:click="{() => {
215
215
  paused === true ? (paused = false) : (paused = true);
216
216
  }}"
217
- style="position: absolute; top: 0; left: 0; width: {widthVideoContainer}px; height: {heightVideoContainer}px;"
217
+ style="top: 0; left: 0; width: {widthVideoContainer}px; height: {heightVideoContainer}px;"
218
218
  ></button>
219
219
  {/if}
220
220
  {/if}
221
221
  <video
222
222
  bind:this="{videoElement}"
223
223
  src="{src}"
224
+ class="pointer-events-none relative"
224
225
  width="100%"
225
226
  muted="{muteVideo}"
226
227
  playsinline
227
228
  preload="{preloadVideo}"
228
229
  loop="{loopVideo}"
229
230
  bind:currentTime="{time}"
230
- bind:duration
231
- bind:paused
231
+ bind:duration="{duration}"
232
+ bind:paused="{paused}"
232
233
  autoplay
233
234
  bind:clientWidth="{widthVideo}"
234
235
  bind:clientHeight="{heightVideo}"
235
- style="{showControls ? 'position: relative' : 'position: relative'}"
236
236
  >
237
237
  <track kind="captions" />
238
238
  </video>
239
239
  </div>
240
240
  {/if}
241
241
  {#if caption}
242
- <div class="caption">{caption}</div>
242
+ <div class="caption text-secondary text-xs">{caption}</div>
243
243
  {/if}
244
244
  {/if}
245
245
  </div>
246
246
  </Block>
247
-
248
- <style>.video-wrapper {
249
- position: relative;
250
- }
251
- .video-wrapper video {
252
- pointer-events: none;
253
- }
254
-
255
- .visually-hidden {
256
- position: absolute !important;
257
- width: 1px !important;
258
- height: 1px !important;
259
- padding: 0 !important;
260
- margin: -1px !important;
261
- overflow: hidden !important;
262
- clip: rect(0, 0, 0, 0) !important;
263
- -webkit-clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
264
- clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
265
- white-space: nowrap !important;
266
- border: 0 !important;
267
- }
268
-
269
- div.caption {
270
- font-size: 0.8rem;
271
- color: var(--theme-colour-text-secondary, #666666);
272
- }
273
-
274
- button {
275
- border: none;
276
- margin: 0;
277
- padding: 0;
278
- background: none;
279
- }</style>
@@ -1,6 +1,6 @@
1
- @import 'mixins/block';
2
- @import 'mixins/body-text';
3
- @import 'fonts/mixins';
4
- @import 'mixins/graphic';
5
- @import 'mixins/note-text';
6
- @import 'mixins/visually-hidden';
1
+ @forward 'mixins/block';
2
+ @forward 'tokens/accessibility/mixins/main';
3
+ @forward 'tokens/backgrounds/mixins/main';
4
+ @forward 'tokens/spacers/mixins/main';
5
+ @forward 'tokens/text/mixins/main';
6
+ @forward 'tokens/variables/main';
@@ -0,0 +1,3 @@
1
+ // Palettes included by default
2
+ @forward 'primary/grey';
3
+ @forward 'thematic/tr';
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --amber-50: #fffbeb;
3
+ --amber-100: #fef3c7;
4
+ --amber-200: #fde68a;
5
+ --amber-300: #fcd34d;
6
+ --amber-400: #fbbf24;
7
+ --amber-500: #f59e0b;
8
+ --amber-600: #d97706;
9
+ --amber-700: #b45309;
10
+ --amber-800: #92400e;
11
+ --amber-900: #78350f;
12
+ --amber-950: #451a03;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --blue-50: #eff6ff;
3
+ --blue-100: #dbeafe;
4
+ --blue-200: #bfdbfe;
5
+ --blue-300: #93c5fd;
6
+ --blue-400: #60a5fa;
7
+ --blue-500: #3b82f6;
8
+ --blue-600: #2563eb;
9
+ --blue-700: #1d4ed8;
10
+ --blue-800: #1e40af;
11
+ --blue-900: #1e3a8a;
12
+ --blue-950: #172554;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --cyan-50: #ecfeff;
3
+ --cyan-100: #cffafe;
4
+ --cyan-200: #a5f3fc;
5
+ --cyan-300: #67e8f9;
6
+ --cyan-400: #22d3ee;
7
+ --cyan-500: #06b6d4;
8
+ --cyan-600: #0891b2;
9
+ --cyan-700: #0e7490;
10
+ --cyan-800: #155e75;
11
+ --cyan-900: #164e63;
12
+ --cyan-950: #083344;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --emerald-50: #ecfdf5;
3
+ --emerald-100: #d1fae5;
4
+ --emerald-200: #a7f3d0;
5
+ --emerald-300: #6ee7b7;
6
+ --emerald-400: #34d399;
7
+ --emerald-500: #10b981;
8
+ --emerald-600: #059669;
9
+ --emerald-700: #047857;
10
+ --emerald-800: #065f46;
11
+ --emerald-900: #064e3b;
12
+ --emerald-950: #022c22;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --fuchsia-50: #fdf4ff;
3
+ --fuchsia-100: #fae8ff;
4
+ --fuchsia-200: #f5d0fe;
5
+ --fuchsia-300: #f0abfc;
6
+ --fuchsia-400: #e879f9;
7
+ --fuchsia-500: #d946ef;
8
+ --fuchsia-600: #c026d3;
9
+ --fuchsia-700: #a21caf;
10
+ --fuchsia-800: #86198f;
11
+ --fuchsia-900: #701a75;
12
+ --fuchsia-950: #4a044e;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --green-50: #f0fdf4;
3
+ --green-100: #dcfce7;
4
+ --green-200: #bbf7d0;
5
+ --green-300: #86efac;
6
+ --green-400: #4ade80;
7
+ --green-500: #22c55e;
8
+ --green-600: #16a34a;
9
+ --green-700: #15803d;
10
+ --green-800: #166534;
11
+ --green-900: #14532d;
12
+ --green-950: #052e16;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --grey-50: #f9fafb;
3
+ --grey-100: #f3f4f6;
4
+ --grey-200: #e5e7eb;
5
+ --grey-300: #d1d5db;
6
+ --grey-400: #9ca3af;
7
+ --grey-500: #6b7280;
8
+ --grey-600: #4b5563;
9
+ --grey-700: #374151;
10
+ --grey-800: #1f2937;
11
+ --grey-900: #111827;
12
+ --grey-950: #030712;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --indigo-50: #eef2ff;
3
+ --indigo-100: #e0e7ff;
4
+ --indigo-200: #c7d2fe;
5
+ --indigo-300: #a5b4fc;
6
+ --indigo-400: #818cf8;
7
+ --indigo-500: #6366f1;
8
+ --indigo-600: #4f46e5;
9
+ --indigo-700: #4338ca;
10
+ --indigo-800: #3730a3;
11
+ --indigo-900: #312e81;
12
+ --indigo-950: #1e1b4b;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --lime-50: #f7fee7;
3
+ --lime-100: #ecfccb;
4
+ --lime-200: #d9f99d;
5
+ --lime-300: #bef264;
6
+ --lime-400: #a3e635;
7
+ --lime-500: #84cc16;
8
+ --lime-600: #65a30d;
9
+ --lime-700: #4d7c0f;
10
+ --lime-800: #3f6212;
11
+ --lime-900: #365314;
12
+ --lime-950: #1a2e05;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --neutral-50: #fafafa;
3
+ --neutral-100: #f5f5f5;
4
+ --neutral-200: #e5e5e5;
5
+ --neutral-300: #d4d4d4;
6
+ --neutral-400: #a3a3a3;
7
+ --neutral-500: #737373;
8
+ --neutral-600: #525252;
9
+ --neutral-700: #404040;
10
+ --neutral-800: #262626;
11
+ --neutral-900: #171717;
12
+ --neutral-950: #0a0a0a;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --orange-50: #fff7ed;
3
+ --orange-100: #ffedd5;
4
+ --orange-200: #fed7aa;
5
+ --orange-300: #fdba74;
6
+ --orange-400: #fb923c;
7
+ --orange-500: #f97316;
8
+ --orange-600: #ea580c;
9
+ --orange-700: #c2410c;
10
+ --orange-800: #9a3412;
11
+ --orange-900: #7c2d12;
12
+ --orange-950: #431407;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --pink-50: #fdf2f8;
3
+ --pink-100: #fce7f3;
4
+ --pink-200: #fbcfe8;
5
+ --pink-300: #f9a8d4;
6
+ --pink-400: #f472b6;
7
+ --pink-500: #ec4899;
8
+ --pink-600: #db2777;
9
+ --pink-700: #be185d;
10
+ --pink-800: #9d174d;
11
+ --pink-900: #831843;
12
+ --pink-950: #500724;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --purple-50: #faf5ff;
3
+ --purple-100: #f3e8ff;
4
+ --purple-200: #e9d5ff;
5
+ --purple-300: #d8b4fe;
6
+ --purple-400: #c084fc;
7
+ --purple-500: #a855f7;
8
+ --purple-600: #9333ea;
9
+ --purple-700: #7e22ce;
10
+ --purple-800: #6b21a8;
11
+ --purple-900: #581c87;
12
+ --purple-950: #3b0764;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --red-50: #fef2f2;
3
+ --red-100: #fee2e2;
4
+ --red-200: #fecaca;
5
+ --red-300: #fca5a5;
6
+ --red-400: #f87171;
7
+ --red-500: #ef4444;
8
+ --red-600: #dc2626;
9
+ --red-700: #b91c1c;
10
+ --red-800: #991b1b;
11
+ --red-900: #7f1d1d;
12
+ --red-950: #450a0a;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --rose-50: #fff1f2;
3
+ --rose-100: #ffe4e6;
4
+ --rose-200: #fecdd3;
5
+ --rose-300: #fda4af;
6
+ --rose-400: #fb7185;
7
+ --rose-500: #f43f5e;
8
+ --rose-600: #e11d48;
9
+ --rose-700: #be123c;
10
+ --rose-800: #9f1239;
11
+ --rose-900: #881337;
12
+ --rose-950: #4c0519;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --sky-50: #f0f9ff;
3
+ --sky-100: #e0f2fe;
4
+ --sky-200: #bae6fd;
5
+ --sky-300: #7dd3fc;
6
+ --sky-400: #38bdf8;
7
+ --sky-500: #0ea5e9;
8
+ --sky-600: #0284c7;
9
+ --sky-700: #0369a1;
10
+ --sky-800: #075985;
11
+ --sky-900: #0c4a6e;
12
+ --sky-950: #082f49;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --slate-50: #f8fafc;
3
+ --slate-100: #f1f5f9;
4
+ --slate-200: #e2e8f0;
5
+ --slate-300: #cbd5e1;
6
+ --slate-400: #94a3b8;
7
+ --slate-500: #64748b;
8
+ --slate-600: #475569;
9
+ --slate-700: #334155;
10
+ --slate-800: #1e293b;
11
+ --slate-900: #0f172a;
12
+ --slate-950: #020617;
13
+ }
@@ -0,0 +1,13 @@
1
+ :root {
2
+ --stone-50: #fafaf9;
3
+ --stone-100: #f5f5f4;
4
+ --stone-200: #e7e5e4;
5
+ --stone-300: #d6d3d1;
6
+ --stone-400: #a8a29e;
7
+ --stone-500: #78716c;
8
+ --stone-600: #57534e;
9
+ --stone-700: #44403c;
10
+ --stone-800: #292524;
11
+ --stone-900: #1c1917;
12
+ --stone-950: #0c0a09;
13
+ }