@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
@@ -76,7 +76,7 @@
76
76
  }
77
77
 
78
78
  .legal {
79
- border-top: 1px solid var(--nav-rules, #d0d0d0);
79
+ border-top: 1px solid var(--nav-rules);
80
80
  }
81
81
  .legal .content-container {
82
82
  padding-left: 2.2222222222vw;
@@ -170,8 +170,8 @@
170
170
  align-items: center;
171
171
  }
172
172
  .link-group li a {
173
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
174
- color: var(--nav-primary, #404040);
173
+ font-family: var(--theme-font-family-sans-serif);
174
+ color: var(--nav-primary);
175
175
  font-size: 14px;
176
176
  font-weight: 500;
177
177
  }
@@ -184,9 +184,9 @@ section {
184
184
  p.copyright,
185
185
  p.disclaimer {
186
186
  margin: 0;
187
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
187
+ font-family: var(--theme-font-family-sans-serif);
188
188
  font-size: 14px;
189
- color: var(--nav-primary, #404040);
189
+ color: var(--nav-primary);
190
190
  }
191
191
  p.copyright a,
192
192
  p.disclaimer a {
@@ -157,16 +157,16 @@
157
157
  display: flex;
158
158
  align-items: center;
159
159
  margin: 8px 0;
160
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
160
+ font-family: var(--theme-font-family-sans-serif);
161
161
  }
162
162
  .quick-links ul li a {
163
- color: var(--nav-primary, #404040);
163
+ color: var(--nav-primary);
164
164
  font-weight: 500;
165
165
  font-size: 16px;
166
166
  }
167
167
 
168
168
  section.quick-links {
169
- border-top: 1px solid var(--nav-rules, #d0d0d0);
169
+ border-top: 1px solid var(--nav-rules);
170
170
  max-width: 100%;
171
171
  }
172
172
  section.quick-links .content-container {
@@ -187,7 +187,7 @@ section.quick-links .content-container {
187
187
  }
188
188
  }
189
189
  section.quick-links h3 {
190
- color: var(--nav-primary, #404040);
190
+ color: var(--nav-primary);
191
191
  font-size: 16px;
192
192
  font-weight: 400;
193
193
  margin: 0;
@@ -51,7 +51,7 @@
51
51
  text-decoration: underline;
52
52
  }
53
53
  .referral p {
54
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
54
+ font-family: var(--theme-font-family-sans-serif);
55
55
  color: var(--nav-primary, #666);
56
56
  font-size: 0.9rem;
57
57
  line-height: 1.2rem;
@@ -35,6 +35,7 @@ onMount(async () => {
35
35
  --nav-background: var(--theme-colour-background, #fff);
36
36
  --nav-primary: var(--theme-colour-text-primary, #404040);
37
37
  --nav-rules: var(--theme-colour-brand-rules, #d0d0d0);
38
+ --theme-font-family-sans-serif: Knowledge, sans-serif;
38
39
  `}"
39
40
  >
40
41
  <div>
@@ -14,5 +14,5 @@
14
14
  >
15
15
 
16
16
  <style>svg {
17
- fill: var(--nav-primary, #404040);
17
+ fill: var(--nav-primary, var(--tr-dark-grey));
18
18
  }</style>
@@ -14,5 +14,5 @@
14
14
  </svg>
15
15
 
16
16
  <style>svg {
17
- fill: var(--nav-primary, #404040);
17
+ fill: var(--nav-primary, var(--tr-dark-grey));
18
18
  }</style>
@@ -16,5 +16,5 @@
16
16
  >
17
17
 
18
18
  <style>svg {
19
- fill: var(--nav-primary, #404040);
19
+ fill: var(--nav-primary, var(--tr-dark-grey));
20
20
  }</style>
@@ -14,5 +14,5 @@
14
14
  >
15
15
 
16
16
  <style>svg {
17
- fill: var(--nav-primary, #404040);
17
+ fill: var(--nav-primary, var(--tr-dark-grey));
18
18
  }</style>
@@ -10,5 +10,5 @@
10
10
  >
11
11
 
12
12
  <style>svg {
13
- fill: var(--nav-primary, #404040);
13
+ fill: var(--nav-primary, var(--tr-dark-grey));
14
14
  }</style>
@@ -14,5 +14,5 @@
14
14
  >
15
15
 
16
16
  <style>svg {
17
- fill: var(--nav-primary, #404040);
17
+ fill: var(--nav-primary, var(--tr-dark-grey));
18
18
  }</style>
@@ -10,5 +10,5 @@
10
10
  >
11
11
 
12
12
  <style>svg {
13
- fill: var(--nav-primary, #404040);
13
+ fill: var(--nav-primary, var(--tr-dark-grey));
14
14
  }</style>
@@ -14,5 +14,5 @@
14
14
  >
15
15
 
16
16
  <style>svg {
17
- fill: var(--nav-primary, #404040);
17
+ fill: var(--nav-primary, var(--tr-dark-grey));
18
18
  }</style>
@@ -128,7 +128,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
128
128
  .header {
129
129
  padding-left: 2.2222222222vw;
130
130
  padding-right: 2.2222222222vw;
131
- border-bottom: 1px solid var(--nav-rules, #d0d0d0);
131
+ border-bottom: 1px solid var(--nav-rules, var(--tr-muted-grey));
132
132
  }
133
133
  @media (max-width: 1023px) {
134
134
  .header {
@@ -148,7 +148,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
148
148
  padding-right: 2.2222222222vw;
149
149
  padding-top: 16px;
150
150
  padding-bottom: 16px;
151
- border-bottom: 1px solid #d0d0d0;
151
+ border-bottom: 1px solid var(--tr-muted-grey);
152
152
  width: 100%;
153
153
  max-width: 100%;
154
154
  }
@@ -188,7 +188,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
188
188
  }
189
189
  .section .section-link,
190
190
  .section .subsection-link {
191
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
191
+ font-family: var(--theme-font-family-sans-serif);
192
192
  text-decoration: none;
193
193
  line-height: 1.2;
194
194
  color: var(--nav-primary);
@@ -18,7 +18,7 @@
18
18
  <style>svg {
19
19
  margin-left: 4px;
20
20
  width: 10px;
21
- fill: var(--nav-primary, #404040);
21
+ fill: var(--nav-primary, var(--tr-dark-grey));
22
22
  transition: transform 0.15s ease;
23
23
  }
24
24
  svg.rotated {
@@ -82,7 +82,7 @@ a:hover {
82
82
  }
83
83
  .more-section-group .subsections .subsection-link {
84
84
  font-size: 16px;
85
- color: var(--nav-primary, #404040);
85
+ color: var(--nav-primary, var(--tr-dark-grey));
86
86
  line-height: 18px;
87
87
  font-weight: 400;
88
88
  display: inline-block;
@@ -99,7 +99,7 @@ a:hover {
99
99
  line-height: 18px;
100
100
  font-size: 16px;
101
101
  display: inline-block;
102
- color: var(--nav-primary, #404040);
102
+ color: var(--nav-primary, var(--tr-dark-grey));
103
103
  text-decoration: none;
104
104
  }
105
105
  @media (min-width: 1300px) {
@@ -46,7 +46,7 @@
46
46
  text-decoration: none;
47
47
  }
48
48
  a:hover {
49
- color: var(--nav-primary, #404040);
49
+ color: var(--nav-primary, var(--tr-dark-grey));
50
50
  text-decoration: underline !important;
51
51
  }
52
52
 
@@ -94,7 +94,7 @@ span.heading {
94
94
  text-decoration: none;
95
95
  text-transform: none;
96
96
  font-smooth: always;
97
- color: var(--nav-primary, #404040);
97
+ color: var(--nav-primary, var(--tr-dark-grey));
98
98
  -webkit-font-smoothing: antialiased;
99
99
  }
100
100
  @media (min-width: 1300px) {
@@ -111,7 +111,7 @@ li > a {
111
111
  line-height: 1.75;
112
112
  letter-spacing: 0;
113
113
  font-size: 16px;
114
- color: var(--nav-primary, #404040);
114
+ color: var(--nav-primary, var(--tr-dark-grey));
115
115
  font-weight: 400;
116
116
  font-smooth: always;
117
117
  -webkit-font-smoothing: antialiased;
@@ -13,7 +13,7 @@
13
13
  position: relative;
14
14
  height: 0;
15
15
  padding-bottom: 100%;
16
- color: var(--nav-primary, #404040);
16
+ color: var(--nav-primary, var(--tr-dark-grey));
17
17
  }
18
18
 
19
19
  .spinner {
@@ -38,7 +38,7 @@
38
38
  display: flex;
39
39
  flex-direction: row;
40
40
  justify-content: flex-start;
41
- color: var(--nav-primary, #404040);
41
+ color: var(--nav-primary, var(--tr-dark-grey));
42
42
  text-decoration: none;
43
43
  }
44
44
  .story-card a:hover, .story-card a:focus {
@@ -58,10 +58,10 @@
58
58
  width: calc(100% - 84px);
59
59
  }
60
60
  .story-card a .story-text span {
61
- color: var(--nav-primary, #404040);
61
+ color: var(--nav-primary, var(--tr-dark-grey));
62
62
  font-size: 16px;
63
63
  font-weight: 500;
64
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
64
+ font-family: var(--theme-font-family-sans-serif);
65
65
  }
66
66
  @media (min-width: 1300px) {
67
67
  .story-card a .story-text span {
@@ -76,7 +76,7 @@
76
76
  font-weight: 200;
77
77
  }
78
78
  .story-card a .story-text time {
79
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
79
+ font-family: var(--theme-font-family-sans-serif);
80
80
  margin-top: 8px;
81
81
  display: block;
82
82
  font-size: 12px;
@@ -101,7 +101,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
101
101
  }
102
102
 
103
103
  .dropdown-container {
104
- border-top: 1px solid var(--nav-rules, #d0d0d0);
104
+ border-top: 1px solid var(--nav-rules, var(--tr-muted-grey));
105
105
  box-shadow: 0 10px 16px rgba(0, 0, 0, 0.1);
106
106
  overflow: hidden;
107
107
  background: var(--nav-background, #fff);
@@ -174,7 +174,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
174
174
  }
175
175
  .stories-container .inner {
176
176
  padding-left: 2.2222222222vw;
177
- border-left: 1px solid var(--nav-rules, #d0d0d0);
177
+ border-left: 1px solid var(--nav-rules, var(--tr-muted-grey));
178
178
  }
179
179
  @media (max-width: 1023px) {
180
180
  .stories-container .inner {
@@ -226,7 +226,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
226
226
  animation: fadein 0.5s both cubic-bezier(0.19, 1, 0.22, 1);
227
227
  }
228
228
  .story-item:nth-child(1), .story-item:nth-child(2) {
229
- border-bottom: 1px solid var(--nav-rules, #d0d0d0);
229
+ border-bottom: 1px solid var(--nav-rules, var(--tr-muted-grey));
230
230
  }
231
231
  .story-item:nth-child(3), .story-item:nth-child(4) {
232
232
  padding-top: 20px;
@@ -236,7 +236,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
236
236
  padding-top: 20px;
237
237
  }
238
238
  .story-item:nth-child(3) {
239
- border-bottom: 1px solid var(--nav-rules, #d0d0d0);
239
+ border-bottom: 1px solid var(--nav-rules, var(--tr-muted-grey));
240
240
  }
241
241
  }
242
242
 
@@ -258,7 +258,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
258
258
  }
259
259
  span.latest {
260
260
  font-size: 16px;
261
- color: var(--nav-primary, #404040);
261
+ color: var(--nav-primary, var(--tr-dark-grey));
262
262
  }
263
263
  @media (min-width: 1300px) {
264
264
  span.latest {
@@ -144,7 +144,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
144
144
  .nav-item {
145
145
  display: inline-flex;
146
146
  padding: 0 10px;
147
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
147
+ font-family: var(--theme-font-family-sans-serif);
148
148
  font-weight: 500;
149
149
  font-size: 16px;
150
150
  }
@@ -157,7 +157,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
157
157
  }
158
158
  .nav-item .nav-button a,
159
159
  .nav-item .nav-button span {
160
- color: var(--nav-primary, #404040);
160
+ color: var(--nav-primary, var(--tr-dark-grey));
161
161
  text-decoration: none;
162
162
  }
163
163
  .nav-item .nav-button a:hover, .nav-item .nav-button a:active,
@@ -178,7 +178,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
178
178
  bottom: 0;
179
179
  display: block;
180
180
  height: 4px;
181
- background: var(--nav-accent, #fa6400);
181
+ background: var(--nav-accent, var(--tr-orange));
182
182
  opacity: 1 !important;
183
183
  }
184
184
  .nav-item .link {
@@ -193,7 +193,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
193
193
  bottom: 0;
194
194
  display: block;
195
195
  height: 4px;
196
- background: var(--nav-accent, #fa6400);
196
+ background: var(--nav-accent, var(--tr-orange));
197
197
  }
198
198
 
199
199
  .button {
@@ -205,10 +205,10 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
205
205
  -moz-appearance: none;
206
206
  appearance: none;
207
207
  cursor: pointer;
208
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
208
+ font-family: var(--theme-font-family-sans-serif);
209
209
  font-weight: 500;
210
210
  font-size: 16px;
211
- color: var(--nav-primary, #404040);
211
+ color: var(--nav-primary, var(--tr-dark-grey));
212
212
  }
213
213
  .button:not(.focused) {
214
214
  outline: none;
@@ -36,6 +36,7 @@ onMount(async () => {
36
36
  --nav-rules: var(--theme-colour-brand-rules, #d0d0d0);
37
37
  --nav-accent: var(--theme-colour-brand-logo, #fa6400);
38
38
  --nav-shadow: 0 1px 4px 2px var(--theme-colour-brand-shadow, rgb(255 255 255 / 10%));
39
+ --theme-font-family-sans-serif: Knowledge, sans-serif;
39
40
  `}"
40
41
  >
41
42
  <div class="nav-container show-nav">
@@ -120,7 +121,7 @@ To handle overlapping borders within components (e.g., buttons and inputs in inp
120
121
  top: 0;
121
122
  background: var(--nav-background, #fff);
122
123
  pointer-events: auto;
123
- border-bottom: 1px solid var(--nav-rules, #d0d0d0);
124
+ border-bottom: 1px solid var(--nav-rules, var(--tr-muted-grey));
124
125
  }
125
126
 
126
127
  .main-bar {
@@ -10,5 +10,5 @@
10
10
  >
11
11
 
12
12
  <style>svg {
13
- fill: var(--nav-primary, #404040);
13
+ fill: var(--nav-primary, var(--tr-dark-grey));
14
14
  }</style>
@@ -15,5 +15,5 @@
15
15
  </svg>
16
16
 
17
17
  <style>svg {
18
- fill: var(--nav-primary, #404040);
18
+ fill: var(--nav-primary, var(--tr-dark-grey));
19
19
  }</style>
@@ -4,6 +4,11 @@
4
4
  * @required
5
5
  */
6
6
  export let hed = 'Reuters Graphics Interactive';
7
+ /**
8
+ * Headline size
9
+ * @type {string}
10
+ */
11
+ export let hedSize = 'normal';
7
12
  /**
8
13
  * Section title.
9
14
  * @type {string}
@@ -37,7 +42,8 @@ export let id = '';
37
42
  * Add extra classes to target with custom CSS.
38
43
  * @type {string}
39
44
  */
40
- export let cls = '';
45
+ let cls = '';
46
+ export { cls as class };
41
47
  import Block from '../Block/Block.svelte';
42
48
  import slugify from 'slugify';
43
49
  import { apdate } from 'journalize';
@@ -56,31 +62,57 @@ const formatTime = (datetime) => new Date(datetime).toLocaleTimeString([], {
56
62
  const areSameDay = (first, second) => first.getFullYear() === second.getFullYear() &&
57
63
  first.getMonth() === second.getMonth() &&
58
64
  first.getDate() === second.getDate();
65
+ let hedClass;
66
+ $: {
67
+ switch (hedSize) {
68
+ case 'biggest':
69
+ hedClass = 'text-6xl';
70
+ break;
71
+ case 'bigger':
72
+ hedClass = 'text-5xl';
73
+ break;
74
+ case 'big':
75
+ hedClass = 'text-4xl';
76
+ break;
77
+ case 'small':
78
+ hedClass = 'text-2xl';
79
+ break;
80
+ default:
81
+ hedClass = 'text-3xl';
82
+ }
83
+ }
59
84
  </script>
60
85
 
61
- <Block id="{id}" cls="headline-container {cls}" width="normal">
86
+ <Block id="{id}" class="headline-container !my-16 {cls}" width="normal">
62
87
  <header class="headline">
63
88
  <div class="title">
64
89
  {#if section}
65
- <p class="section-title">
90
+ <p
91
+ class="section-title mb-2 font-subhed text-sm text-secondary font-bold"
92
+ >
66
93
  {#if sectionUrl}
67
- <a href="{sectionUrl}">{section}</a>
94
+ <a class="no-underline !text-secondary" href="{sectionUrl}"
95
+ >{section}</a
96
+ >
68
97
  {:else}
69
98
  {section}
70
99
  {/if}
71
100
  </p>
72
101
  {/if}
73
102
  {#if hed}
74
- <h1>{hed}</h1>
103
+ <h1 class="my-0 font-hed text-primary leading-none {hedClass}">
104
+ {hed}
105
+ </h1>
75
106
  {/if}
76
107
  </div>
77
- <aside class="article-metadata">
108
+ <aside class="article-metadata mt-2 font-subhed">
78
109
  <div class="byline-container">
79
- <div class="byline">
110
+ <div class="byline text-sm text-primary font-bold leading-tight">
80
111
  By
81
112
  {#if authors.length > 0}
82
113
  {#each authors as author, i}
83
114
  <a
115
+ class="no-underline"
84
116
  href="https://www.reuters.com/authors/{slugify(author.trim(), {
85
117
  lower: true,
86
118
  })}/"
@@ -95,7 +127,9 @@ const areSameDay = (first, second) => first.getFullYear() === second.getFullYear
95
127
  {/if}
96
128
  </div>
97
129
  </div>
98
- <div class="dateline-container">
130
+ <div
131
+ class="dateline-container mt-1.5 text-secondary text-xxs uppercase leading-normal tracking-normal"
132
+ >
99
133
  {#if isValidDate(publishTime)}
100
134
  <div>
101
135
  Published
@@ -129,96 +163,9 @@ const areSameDay = (first, second) => first.getFullYear() === second.getFullYear
129
163
  </header>
130
164
  </Block>
131
165
 
132
- <style>:global(div.article-block.headline-container) {
133
- margin: 4rem auto;
134
- }
135
-
136
- header.headline {
137
- text-align: center;
138
- color: var(--theme-colour-text-primary, #404040);
139
- }
140
- header.headline h1 {
141
- text-align: left;
142
- font-size: 3rem;
143
- line-height: 1.14;
144
- margin: 0.6rem 0;
145
- font-family: var(--theme-font-family-hed, "Knowledge", "Source Sans Pro", Arial, sans-serif);
146
- color: var(--theme-colour-text-primary, #404040);
147
- }
148
- @media (max-width: 900px) {
149
- header.headline h1 {
150
- font-size: 2.6rem;
151
- }
152
- }
153
- @media (max-width: 600px) {
154
- header.headline h1 {
155
- font-size: 2.1rem;
156
- font-weight: 500;
157
- }
158
- }
159
- header.headline p {
160
- font-family: var(--theme-font-family-subhed, "Knowledge", "Source Sans Pro", Arial, sans-serif);
161
- color: var(--theme-colour-text-primary, #404040);
162
- margin: 0;
163
- font-weight: 200;
164
- }
165
- header.headline p.section-title {
166
- font-weight: 800;
167
- color: var(--theme-colour-text-secondary, #afafaf);
168
- text-align: left;
169
- font-size: 1.2rem;
170
- opacity: 0.8;
171
- }
172
- @media (max-width: 600px) {
173
- header.headline p.section-title {
174
- font-size: 1rem;
175
- }
176
- }
177
- header.headline p.section-title a {
178
- color: var(--theme-colour-text-secondary, #afafaf);
179
- text-decoration: none;
180
- }
181
- header.headline .article-metadata {
182
- padding: 40px 0 0;
183
- padding-top: 0;
184
- font-family: var(--theme-font-family-note, "Knowledge", "Source Sans Pro", Arial, sans-serif);
185
- color: var(--theme-colour-text-primary, #404040);
186
- text-align: left;
187
- }
188
- header.headline .article-metadata .byline-container {
189
- margin-bottom: 0px;
190
- }
191
- header.headline .article-metadata .byline {
192
- font-weight: bold;
193
- font-weight: 600;
194
- font-size: 1rem;
195
- line-height: 1.4rem;
196
- }
197
- @media (max-width: 600px) {
198
- header.headline .article-metadata .byline {
199
- font-size: 0.9rem;
200
- line-height: 1.2rem;
201
- }
202
- }
203
- header.headline .article-metadata .byline a {
204
- color: var(--theme-colour-text-primary, #404040);
166
+ <style>.byline a {
205
167
  text-decoration: none;
206
- white-space: nowrap;
207
168
  }
208
- header.headline .article-metadata .byline a:hover {
169
+ .byline a:hover {
209
170
  text-decoration: underline;
210
- }
211
- header.headline .article-metadata .dateline-container {
212
- text-transform: uppercase;
213
- color: var(--theme-colour-text-secondary, #666666);
214
- font-size: 0.8rem;
215
- line-height: 1.1rem;
216
- letter-spacing: 0.3px;
217
- margin-top: 0.5rem;
218
- }
219
- @media (max-width: 600px) {
220
- header.headline .article-metadata .dateline-container {
221
- font-size: 0.75rem;
222
- line-height: 1.05rem;
223
- }
224
171
  }</style>
@@ -22,7 +22,7 @@ export let containerPadding = 10;
22
22
  <div
23
23
  style:width="100%"
24
24
  style:height="{`${width + containerPadding * 2}px`}"
25
- class="component-container"
25
+ class="component-container flex items-center justify-center"
26
26
  >
27
27
  <div
28
28
  style="
@@ -35,8 +35,8 @@ export let containerPadding = 10;
35
35
  margin: 0 auto;
36
36
  "
37
37
  >
38
- <div class="spinner-container">
39
- <div class="spinner"></div>
38
+ <div class="spinner-container relative">
39
+ <div class="spinner absolute"></div>
40
40
  </div>
41
41
  </div>
42
42
  </div>
@@ -46,21 +46,13 @@ export let containerPadding = 10;
46
46
  transform: rotate(360deg);
47
47
  }
48
48
  }
49
- .component-container {
50
- display: flex;
51
- align-items: center;
52
- justify-content: center;
53
- }
54
-
55
49
  .spinner-container {
56
- position: relative;
57
50
  height: 0;
58
51
  padding-bottom: 100%;
59
52
  color: var(--spinner-colour, #666);
60
53
  }
61
54
 
62
55
  .spinner {
63
- position: absolute;
64
56
  top: 0;
65
57
  left: 0;
66
58
  width: 100%;
@@ -69,7 +61,6 @@ export let containerPadding = 10;
69
61
  border: var(--spinner-ring-width, 6px) solid transparent;
70
62
  border-top-color: currentColor;
71
63
  animation: spinner var(--spinner-speed, 0.8s) linear infinite;
72
- box-sizing: border-box;
73
64
  }
74
65
  .spinner::before {
75
66
  content: "";
@@ -63,10 +63,10 @@ function goToNextPage() {
63
63
  margin-top: 1rem;
64
64
  }
65
65
  nav.pagination button {
66
- border: 1px solid var(--theme-colour-text-secondary, #afafaf);
66
+ border: 1px solid var(--theme-colour-text-secondary, var(--tr-light-grey));
67
67
  border-radius: 50%;
68
- background: var(--theme-color-background);
69
- color: var(--theme-colour-text-secondary, #afafaf);
68
+ background-color: var(--theme-colour-background);
69
+ color: var(--theme-colour-text-secondary);
70
70
  cursor: pointer;
71
71
  width: 35px;
72
72
  height: 35px;
@@ -87,8 +87,8 @@ nav.pagination button .icon-wrapper {
87
87
  white-space: nowrap;
88
88
  }
89
89
  nav.pagination button .icon-wrapper:hover {
90
- color: var(--theme-colour-text-primary, #666666);
91
- border-color: var(--theme-colour-text-primary, #666666);
90
+ color: var(--theme-colour-text-primary);
91
+ border-color: var(--theme-colour-text-primary, var(--tr-medium-grey));
92
92
  }
93
93
  nav.pagination .label {
94
94
  display: flex;
@@ -100,10 +100,10 @@ nav.pagination .label {
100
100
  }
101
101
  nav.pagination .label .records {
102
102
  font-size: 0.8rem;
103
- font-family: var(--theme-font-family-hed, "Knowledge", "Source Sans Pro", Arial, sans-serif);
103
+ font-family: var(--theme-font-family-sans-serif);
104
104
  font-weight: 300;
105
105
  margin: 0 1rem;
106
- color: var(--theme-colour-text-primary, #666666);
106
+ color: var(--theme-colour-text-primary);
107
107
  }
108
108
 
109
109
  .visually-hidden {