@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
@@ -5,190 +5,15 @@
5
5
  * @required
6
6
  */
7
7
  export let text;
8
+ /** Add a class to target with SCSS. */
9
+ let cls = '';
10
+ export { cls as class };
8
11
  import { marked } from 'marked';
9
12
  import Block from '../Block/Block.svelte';
10
13
  </script>
11
14
 
12
- <Block cls="body-text">
15
+ <Block class="body-text {cls}">
13
16
  {#if text}
14
17
  {@html marked.parse(text)}
15
18
  {/if}
16
19
  </Block>
17
-
18
- <!-- svelte-ignore css-unused-selector -->
19
- <style global>:global(.paragraph-size), :global(div.article-block.body-text) :global(p), :global(div.article-block.body-text) :global(ul) :global(li), :global(div.article-block.body-text) :global(ul) :global(li) :global(p), :global(div.article-block.body-text) :global(ol) :global(li), :global(div.article-block.body-text) :global(ol) :global(li) :global(p) {
20
- font-size: 1.3rem;
21
- line-height: 2.1rem;
22
- }
23
- :global(.paragraph-size.font-sans), :global(div.article-block.body-text) :global(p.font-sans), :global(div.article-block.body-text) :global(ul) :global(li.font-sans), :global(div.article-block.body-text) :global(ol) :global(li.font-sans) {
24
- font-size: 1.1rem;
25
- line-height: 1.75rem;
26
- }
27
- @media (max-width: 540px) {
28
- :global(.paragraph-size), :global(div.article-block.body-text) :global(p), :global(div.article-block.body-text) :global(ul) :global(li), :global(div.article-block.body-text) :global(ul) :global(li) :global(p), :global(div.article-block.body-text) :global(ol) :global(li), :global(div.article-block.body-text) :global(ol) :global(li) :global(p) {
29
- font-size: 1.1rem;
30
- line-height: 1.8rem;
31
- }
32
- :global(.paragraph-size.font-sans), :global(div.article-block.body-text) :global(p.font-sans), :global(div.article-block.body-text) :global(ul) :global(li.font-sans), :global(div.article-block.body-text) :global(ol) :global(li.font-sans) {
33
- font-size: 1rem;
34
- line-height: 1.6rem;
35
- }
36
- }
37
- :global(.paragraph-size.important), :global(div.article-block.body-text) :global(p.important), :global(div.article-block.body-text) :global(ul) :global(li.important), :global(div.article-block.body-text) :global(ol) :global(li.important) {
38
- font-size: 1.3rem !important;
39
- line-height: 2.1rem !important;
40
- }
41
- :global(.paragraph-size.important.font-sans), :global(div.article-block.body-text) :global(p.important.font-sans), :global(div.article-block.body-text) :global(ul) :global(li.important.font-sans), :global(div.article-block.body-text) :global(ol) :global(li.important.font-sans) {
42
- font-size: 1.1rem !important;
43
- line-height: 1.8rem !important;
44
- }
45
- @media (max-width: 540px) {
46
- :global(.paragraph-size.important), :global(div.article-block.body-text) :global(p.important), :global(div.article-block.body-text) :global(ul) :global(li.important), :global(div.article-block.body-text) :global(ol) :global(li.important) {
47
- font-size: 1.1rem !important;
48
- line-height: 1.8rem !important;
49
- }
50
- :global(.paragraph-size.important.font-sans), :global(div.article-block.body-text) :global(p.important.font-sans), :global(div.article-block.body-text) :global(ul) :global(li.important.font-sans), :global(div.article-block.body-text) :global(ol) :global(li.important.font-sans) {
51
- font-size: 1rem !important;
52
- line-height: 1.6rem !important;
53
- }
54
- }
55
-
56
- :global(.small-size) {
57
- font-size: 0.9rem;
58
- line-height: 1.2rem;
59
- }
60
- @media (max-width: 540px) {
61
- :global(.small-size) {
62
- font-size: 0.8rem;
63
- line-height: 1.1rem;
64
- }
65
- }
66
- :global(.small-size.important) {
67
- font-size: 0.9rem !important;
68
- line-height: 1.2rem !important;
69
- }
70
- @media (max-width: 540px) {
71
- :global(.small-size.important) {
72
- font-size: 0.8rem !important;
73
- line-height: 1.1rem !important;
74
- }
75
- }
76
-
77
- :global(.blockquote-size), :global(div.article-block.body-text) :global(blockquote) :global(p) {
78
- font-size: 1.6rem;
79
- line-height: 2.1rem;
80
- }
81
- @media (max-width: 540px) {
82
- :global(.blockquote-size), :global(div.article-block.body-text) :global(blockquote) :global(p) {
83
- font-size: 1.3rem;
84
- line-height: 1.9rem;
85
- }
86
- }
87
- :global(.blockquote-size.important), :global(div.article-block.body-text) :global(blockquote) :global(p.important) {
88
- font-size: 1.6rem !important;
89
- line-height: 2rem !important;
90
- }
91
- @media (max-width: 540px) {
92
- :global(.blockquote-size.important), :global(div.article-block.body-text) :global(blockquote) :global(p.important) {
93
- font-size: 1.3rem !important;
94
- line-height: 1.8rem !important;
95
- }
96
- }
97
-
98
- :global(div.article-block.body-text) :global(h2),
99
- :global(div.article-block.body-text) :global(h3),
100
- :global(div.article-block.body-text) :global(h4),
101
- :global(div.article-block.body-text) :global(h5),
102
- :global(div.article-block.body-text) :global(h6),
103
- :global(div.article-block.body-text) :global(p),
104
- :global(div.article-block.body-text) :global(li),
105
- :global(div.article-block.body-text) :global(blockquote) {
106
- color: var(--theme-colour-text-primary, #404040);
107
- }
108
- :global(div.article-block.body-text) :global(p),
109
- :global(div.article-block.body-text) :global(ul) :global(li),
110
- :global(div.article-block.body-text) :global(ul) :global(li) :global(p),
111
- :global(div.article-block.body-text) :global(ol) :global(li),
112
- :global(div.article-block.body-text) :global(ol) :global(li) :global(p) {
113
- -webkit-font-smoothing: antialiased;
114
- font-family: var(--theme-font-family-body, var(--theme-font-family-serif, "freight-book", serif));
115
- color: var(--theme-colour-text-primary, #404040);
116
- }
117
- :global(div.article-block.body-text) :global(p) :global(a),
118
- :global(div.article-block.body-text) :global(ul) :global(li) :global(a),
119
- :global(div.article-block.body-text) :global(ul) :global(li) :global(p) :global(a),
120
- :global(div.article-block.body-text) :global(ol) :global(li) :global(a),
121
- :global(div.article-block.body-text) :global(ol) :global(li) :global(p) :global(a) {
122
- color: currentColor;
123
- background-size: 1px 1px;
124
- background-image: url('data:image/svg+xml;utf8,<svg preserveAspectRatio="none" viewBox="0 0 1 1" xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="0" x2="2" y2="2" style="stroke: currentColor; opacity: 0.8;" /></svg>');
125
- background-position: 0 1.3rem;
126
- background-repeat: repeat-x;
127
- text-decoration: none;
128
- text-shadow: 1px 1px var(--theme-colour-background, #ffffff), 1px -1px var(--theme-colour-background, #ffffff), -1px 1px var(--theme-colour-background, #ffffff), -1px -1px var(--theme-colour-background, #ffffff);
129
- }
130
- @media (max-width: 540px) {
131
- :global(div.article-block.body-text) :global(p) :global(a),
132
- :global(div.article-block.body-text) :global(ul) :global(li) :global(a),
133
- :global(div.article-block.body-text) :global(ul) :global(li) :global(p) :global(a),
134
- :global(div.article-block.body-text) :global(ol) :global(li) :global(a),
135
- :global(div.article-block.body-text) :global(ol) :global(li) :global(p) :global(a) {
136
- background-position: 0 1.1rem;
137
- }
138
- }
139
- :global(div.article-block.body-text) :global(p) :global(a:hover),
140
- :global(div.article-block.body-text) :global(ul) :global(li) :global(a:hover),
141
- :global(div.article-block.body-text) :global(ul) :global(li) :global(p) :global(a:hover),
142
- :global(div.article-block.body-text) :global(ol) :global(li) :global(a:hover),
143
- :global(div.article-block.body-text) :global(ol) :global(li) :global(p) :global(a:hover) {
144
- text-decoration: none;
145
- }
146
- :global(div.article-block.body-text) :global(h2) {
147
- margin: 4rem 0 2rem;
148
- text-align: center;
149
- font-weight: 600;
150
- }
151
- :global(div.article-block.body-text) :global(h2::after) {
152
- display: block;
153
- content: "";
154
- background: var(--theme-colour-text-secondary, #666666);
155
- height: 3px;
156
- width: 100px;
157
- margin: 10px auto 2rem;
158
- }
159
- :global(div.article-block.body-text) :global(ul) {
160
- padding-left: 1.75rem;
161
- list-style-type: square;
162
- }
163
- :global(div.article-block.body-text) :global(p) + :global(ul) {
164
- margin-top: -0.75rem;
165
- }
166
- :global(div.article-block.body-text) :global(blockquote) {
167
- margin: 30px 0;
168
- border-left: 2px solid var(--theme-colour-text-secondary, #666666);
169
- padding-left: 15px;
170
- }
171
- :global(div.article-block.body-text) :global(blockquote) :global(p) {
172
- font-family: var(--theme-font-family-body, var(--theme-font-family-serif, "freight-book", serif));
173
- }
174
- :global(div.article-block.body-text) :global(blockquote) :global(blockquote) {
175
- border: 0;
176
- padding: 0;
177
- margin: -5px 0 0;
178
- }
179
- :global(div.article-block.body-text) :global(blockquote) :global(blockquote) :global(p) {
180
- font-family: var(--theme-font-family-body, var(--theme-font-family-serif, "freight-book", serif));
181
- color: var(--theme-colour-text-primary, #404040);
182
- font-size: 1rem;
183
- }
184
- @media (max-width: 540px) {
185
- :global(div.article-block.body-text) :global(blockquote) :global(blockquote) :global(p) {
186
- font-size: 0.9rem;
187
- }
188
- }
189
- :global(div.article-block.body-text) :global(blockquote) :global(blockquote) :global(blockquote) {
190
- display: none;
191
- }
192
- :global(div.article-block.body-text.font-sans) {
193
- font-family: var(--theme-font-family-sans-serif, var(--theme-font-family-sans-serif, "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif)) !important;
194
- }</style>
@@ -17,11 +17,12 @@ export let altText;
17
17
  /** Add an ID to target with SCSS. */
18
18
  export let id = '';
19
19
  /** Add a class to target with SCSS. */
20
- export let cls = '';
20
+ let cls = '';
21
+ export { cls as class };
21
22
  import Block from '../Block/Block.svelte';
22
23
  </script>
23
24
 
24
- <Block width="{width}" id="{id}" cls="photo {cls}">
25
+ <Block width="{width}" id="{id}" class="photo {cls}">
25
26
  <iframe
26
27
  src="https://embed.documentcloud.org/documents/{slug}/?embed=1&amp;responsive=1&amp;title=1"
27
28
  title="{altText}"
@@ -14,6 +14,17 @@ export let src;
14
14
  * @required
15
15
  */
16
16
  export let altText;
17
+ /**
18
+ * Add an id to target with custom CSS.
19
+ * @type {string}
20
+ */
21
+ export let id = '';
22
+ /**
23
+ * Add extra classes to target with custom CSS.
24
+ * @type {string}
25
+ */
26
+ let cls = '';
27
+ export { cls as class };
17
28
  /**
18
29
  * Caption below the photo
19
30
  * @type {string}
@@ -61,50 +72,37 @@ onMount(() => {
61
72
  });
62
73
  </script>
63
74
 
64
- <Block width="{width}" cls="photo">
65
- <figure bind:this="{container}" aria-label="media">
75
+ <Block width="{width}" class="photo {cls}" id="{id}">
76
+ <figure
77
+ bind:this="{container}"
78
+ aria-label="media"
79
+ class="w-full mt-0 mx-0 mb-6 flex flex-col relative"
80
+ >
66
81
  {#if !lazy || (intersectable && intersecting)}
67
- <img src="{src}" alt="{altText}" />
82
+ <img class="w-full m-0" src="{src}" alt="{altText}" />
68
83
  {:else}
69
- <div class="placeholder" height="{`${height}px`}"></div>
84
+ <div class="placeholder w-full" style="{`height: ${height}px;`}"></div>
70
85
  {/if}
71
86
  {#if caption}
72
87
  <PaddingReset containerIsFluid="{width === 'fluid'}">
73
- <figcaption>{caption}</figcaption>
88
+ <figcaption class="font-note my-0 text-xs leading-tight">
89
+ {caption}
90
+ </figcaption>
74
91
  </PaddingReset>
75
92
  {/if}
76
93
  {#if !altText}
77
- <div class="alt-warning">altText</div>
94
+ <div class="alt-warning absolute text-xxs py-1 px-2">altText</div>
78
95
  {/if}
79
96
  </figure>
80
97
  </Block>
81
98
 
82
- <style>figure {
83
- width: 100%;
84
- position: relative;
85
- }
86
- figure img {
87
- width: 100%;
88
- margin: 0;
89
- }
90
- figure .placeholder {
99
+ <style>.placeholder {
91
100
  background-color: #ccc;
92
- width: 100%;
93
101
  }
94
- figure div.alt-warning {
95
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
96
- padding: 5px 10px;
102
+
103
+ div.alt-warning {
97
104
  background-color: red;
98
105
  color: white;
99
- position: absolute;
100
106
  top: 0;
101
107
  right: 0;
102
- font-size: 14px;
103
- line-height: 16px;
104
- }
105
- figure figcaption {
106
- font-weight: 400;
107
- font-size: 0.8rem;
108
- font-family: var(--theme-font-family-note, "Knowledge", "Source Sans Pro", Arial, sans-serif);
109
- color: var(--theme-colour-text-secondary, #666666);
110
108
  }</style>
@@ -188,7 +188,7 @@
188
188
  results.length > 0
189
189
  ? `${id}-result-${selectedIndex}`
190
190
  : null}"
191
- bind:value
191
+ bind:value="{value}"
192
192
  on:type
193
193
  on:input
194
194
  on:change
@@ -289,7 +289,7 @@ ul {
289
289
  li,
290
290
  li.no-results {
291
291
  padding: 0.25rem 1rem;
292
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
292
+ font-family: var(--theme-font-family-sans-serif);
293
293
  color: #333;
294
294
  }
295
295
 
@@ -333,7 +333,7 @@ li:hover {
333
333
  display: inline-flex;
334
334
  font-size: 0.75rem;
335
335
  color: #aaa;
336
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
336
+ font-family: var(--theme-font-family-sans-serif);
337
337
  }
338
338
 
339
339
  :global([data-svelte-search] input) {
@@ -345,7 +345,7 @@ li:hover {
345
345
  border-radius: 0 !important;
346
346
  background-color: #fff;
347
347
  border: 1px solid #ddd;
348
- font-family: var(--theme-font-family-sans-serif, "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif);
348
+ font-family: var(--theme-font-family-sans-serif);
349
349
  }
350
350
 
351
351
  :global([data-svelte-search] input:focus) {
@@ -13,7 +13,8 @@ export let id = '';
13
13
  * Add extra classes to the block tag to target it with custom CSS.
14
14
  * @type {string}
15
15
  */
16
- export let cls = '';
16
+ let cls = '';
17
+ export { cls as class };
17
18
  /** Snap block to column widths, rather than fluidly resizing them. */
18
19
  export let snap = false;
19
20
  /**
@@ -66,7 +67,7 @@ import { marked } from 'marked';
66
67
  role="{role}"
67
68
  width="{width}"
68
69
  ariaLabel="{ariaLabel}"
69
- cls="graphic {cls}"
70
+ class="graphic {cls}"
70
71
  >
71
72
  <div>
72
73
  {#if $$slots.title}
@@ -79,7 +80,7 @@ import { marked } from 'marked';
79
80
  {:else if title}
80
81
  <PaddingReset containerIsFluid="{width === 'fluid'}">
81
82
  <TextBlock width="{textWidth}">
82
- <h3>{title}</h3>
83
+ <h3 class="mt-0 fmb-1">{title}</h3>
83
84
  {#if description}
84
85
  {@html marked(description)}
85
86
  {/if}
@@ -120,151 +121,20 @@ import { marked } from 'marked';
120
121
  </Block>
121
122
 
122
123
  <!-- svelte-ignore css-unused-selector -->
123
- <style>.paragraph-size {
124
- font-size: 1.3rem;
125
- line-height: 2.1rem;
126
- }
127
- .paragraph-size.font-sans {
128
- font-size: 1.1rem;
129
- line-height: 1.75rem;
130
- }
131
- @media (max-width: 540px) {
132
- .paragraph-size {
133
- font-size: 1.1rem;
134
- line-height: 1.8rem;
135
- }
136
- .paragraph-size.font-sans {
137
- font-size: 1rem;
138
- line-height: 1.6rem;
139
- }
140
- }
141
- .paragraph-size.important {
142
- font-size: 1.3rem !important;
143
- line-height: 2.1rem !important;
144
- }
145
- .paragraph-size.important.font-sans {
146
- font-size: 1.1rem !important;
147
- line-height: 1.8rem !important;
148
- }
149
- @media (max-width: 540px) {
150
- .paragraph-size.important {
151
- font-size: 1.1rem !important;
152
- line-height: 1.8rem !important;
153
- }
154
- .paragraph-size.important.font-sans {
155
- font-size: 1rem !important;
156
- line-height: 1.6rem !important;
157
- }
158
- }
159
-
160
- .small-size {
161
- font-size: 0.9rem;
162
- line-height: 1.2rem;
163
- }
164
- @media (max-width: 540px) {
165
- .small-size {
166
- font-size: 0.8rem;
167
- line-height: 1.1rem;
168
- }
169
- }
170
- .small-size.important {
171
- font-size: 0.9rem !important;
172
- line-height: 1.2rem !important;
173
- }
174
- @media (max-width: 540px) {
175
- .small-size.important {
176
- font-size: 0.8rem !important;
177
- line-height: 1.1rem !important;
178
- }
179
- }
180
-
181
- .blockquote-size {
182
- font-size: 1.6rem;
183
- line-height: 2.1rem;
184
- }
185
- @media (max-width: 540px) {
186
- .blockquote-size {
187
- font-size: 1.3rem;
188
- line-height: 1.9rem;
189
- }
190
- }
191
- .blockquote-size.important {
192
- font-size: 1.6rem !important;
193
- line-height: 2rem !important;
194
- }
195
- @media (max-width: 540px) {
196
- .blockquote-size.important {
197
- font-size: 1.3rem !important;
198
- line-height: 1.8rem !important;
199
- }
200
- }
201
-
202
- div :global(h3) {
203
- margin-bottom: 0.5rem;
204
- color: var(--theme-colour-text-primary, #404040);
205
- }
206
- div :global(p) {
207
- -webkit-font-smoothing: antialiased;
208
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
209
- font-size: 1.1rem;
210
- line-height: 1.5rem;
211
- color: var(--theme-colour-text-primary, #404040);
212
- margin-bottom: 1rem;
213
- }
214
- div :global(p:last-of-type) {
215
- margin-bottom: 1rem;
216
- }
217
- @media (max-width: 540px) {
218
- div :global(p) {
219
- font-size: 1rem;
220
- line-height: 1.35rem;
221
- }
222
- }
223
- div :global(p) :global(a) {
224
- color: currentColor;
225
- background-size: 1px 1px;
226
- background-image: url('data:image/svg+xml;utf8,<svg preserveAspectRatio="none" viewBox="0 0 1 1" xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="0" x2="2" y2="2" stroke="rgba(0, 0, 0, 0.8)" /></svg>');
227
- background-position: 0 1.1rem;
228
- background-repeat: repeat-x;
229
- text-decoration: none;
230
- }
231
- div :global(p) :global(a:hover) {
232
- text-decoration: none;
233
- }
234
- div :global(aside) :global(p) {
235
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
236
- margin-bottom: 0;
237
- color: var(--theme-colour-text-secondary, #666666);
238
- font-size: 0.9rem;
239
- line-height: 1.2rem;
240
- }
241
- div :global(aside) :global(p:last-of-type) {
242
- margin-bottom: 0;
243
- }
244
- @media (max-width: 540px) {
245
- div :global(aside) :global(p) {
246
- font-size: 0.8rem;
247
- line-height: 1.1rem;
248
- }
249
- }
250
- div :global(aside) :global(p) :global(a) {
251
- color: currentColor;
252
- text-decoration: underline;
253
- }
254
- div :global(aside) :global(p) :global(a:hover) {
255
- text-decoration: underline;
124
+ <style global>:global(div.article-block.graphic) :global(p:last-of-type) {
125
+ margin-bottom: clamp(0.31rem, 0.31rem + 0vw, 0.31rem);
256
126
  }
257
127
 
258
- .visually-hidden {
259
- position: absolute !important;
260
- width: 1px !important;
261
- height: 1px !important;
262
- padding: 0 !important;
263
- margin: -1px !important;
264
- overflow: hidden !important;
265
- clip: rect(0, 0, 0, 0) !important;
266
- -webkit-clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
267
- clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
268
- white-space: nowrap !important;
269
- border: 0 !important;
128
+ :global(div.article-block.graphic) :global(p) {
129
+ font-family: var(--theme-font-family-note);
130
+ font-size: var(--theme-font-size-sm);
131
+ color: var(--theme-colour-text-primary);
132
+ }
133
+ :global(div.article-block.graphic) :global(aside) :global(p) {
134
+ font-family: var(--theme-font-family-note);
135
+ color: var(--theme-colour-text-secondary);
136
+ font-size: var(--theme-font-size-xs);
137
+ line-height: 1.25;
138
+ -webkit-margin-after: 0;
139
+ margin-block-end: 0;
270
140
  }</style>
@@ -4,7 +4,7 @@ import Block from '../Block/Block.svelte';
4
4
  </script>
5
5
 
6
6
  {#if width}
7
- <Block width="{width}" cls="m-0">
7
+ <Block width="{width}" class="m-0">
8
8
  <slot />
9
9
  </Block>
10
10
  {:else}
@@ -4,6 +4,11 @@
4
4
  * @type {string}
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
  * Dek, parsed as a markdown string.
9
14
  * @type {string}
@@ -16,25 +21,44 @@ export let dek = null;
16
21
  export let section = null;
17
22
  import Block from '../Block/Block.svelte';
18
23
  import { marked } from 'marked';
24
+ let hedClass;
25
+ $: {
26
+ switch (hedSize) {
27
+ case 'biggest':
28
+ hedClass = 'text-6xl';
29
+ break;
30
+ case 'bigger':
31
+ hedClass = 'text-5xl';
32
+ break;
33
+ case 'big':
34
+ hedClass = 'text-4xl';
35
+ break;
36
+ case 'small':
37
+ hedClass = 'text-2xl';
38
+ break;
39
+ default:
40
+ hedClass = 'text-3xl';
41
+ }
42
+ }
19
43
  </script>
20
44
 
21
- <Block cls="mb-1">
22
- <header class="headline">
45
+ <Block class="mb-1">
46
+ <header class="headline text-center mb-0 my-16 text-primary">
23
47
  {#if $$slots.crown}
24
- <div class="crown-container">
48
+ <div class="crown-container flex justify-center items-center">
25
49
  <!-- Crown named slot -->
26
50
  <slot name="crown" />
27
51
  </div>
28
52
  {/if}
29
53
  <div class="title">
30
54
  {#if section}
31
- <p class="{'section-title'}">{section}</p>
55
+ <p class="section-title">{section}</p>
32
56
  {/if}
33
57
  {#if $$slots.hed}
34
58
  <!-- Headline named slot -->
35
59
  <slot name="hed" />
36
60
  {:else}
37
- <h1>{@html marked.parseInline(hed)}</h1>
61
+ <h1 class="{hedClass}">{@html marked.parseInline(hed)}</h1>
38
62
  {/if}
39
63
  {#if $$slots.dek}
40
64
  <!-- Dek named slot-->
@@ -44,7 +68,11 @@ import { marked } from 'marked';
44
68
  {/if}
45
69
  </div>
46
70
  {#if $$slots.byline || $$slots.dateline}
47
- <aside class="article-metadata" class:pt-1="{!dek}">
71
+ <aside
72
+ class="article-metadata pb-0 font-not text-primary text-center leading-none"
73
+ class:pt-2="{!dek}"
74
+ class:pt-8="{dek}"
75
+ >
48
76
  {#if $$slots.byline}
49
77
  <div class="byline-container">
50
78
  <div class="byline">
@@ -54,7 +82,9 @@ import { marked } from 'marked';
54
82
  </div>
55
83
  {/if}
56
84
  {#if $$slots.dateline}
57
- <div class="dateline-container">
85
+ <div
86
+ class="dateline-container text-xxs tracking-wide text-secondary uppercase"
87
+ >
58
88
  <div class="published">
59
89
  <!-- Dateline named slot -->
60
90
  <slot name="dateline" />
@@ -66,52 +96,33 @@ import { marked } from 'marked';
66
96
  </header>
67
97
  </Block>
68
98
 
69
- <style>header.headline {
70
- text-align: center;
71
- margin-top: 4rem;
72
- margin-bottom: 0;
73
- color: var(--theme-colour-text-primary, #404040);
99
+ <style>header.headline .article-metadata .byline-container {
100
+ margin-bottom: clamp(0.31rem, 0.31rem + 0vw, 0.31rem);
74
101
  }
102
+
75
103
  header.headline :global(h1) {
76
- font-size: 4rem;
77
- margin: 5px 0;
78
- line-height: 1.1;
79
- font-family: var(--theme-font-family-hed, "Knowledge", "Source Sans Pro", Arial, sans-serif);
80
- color: var(--theme-colour-text-primary, #404040);
104
+ margin-top: clamp(0.31rem, 0.31rem + 0vw, 0.31rem);
105
+ margin-bottom: clamp(0.31rem, 0.31rem + 0vw, 0.31rem);
81
106
  }
107
+
108
+ header.headline :global(h1) {
109
+ margin-right: auto;
110
+ margin-left: auto;
111
+ }
112
+
82
113
  header.headline :global(p) {
83
- font-family: var(--theme-font-family-subhed, "Knowledge", "Source Sans Pro", Arial, sans-serif);
84
- color: var(--theme-colour-text-primary, #404040);
114
+ font-family: var(--theme-font-family-sans-serif);
115
+ color: var(--theme-colour-text-primary);
116
+ line-height: 1.125;
85
117
  margin: 0;
86
- font-weight: 200;
118
+ font-weight: 300;
87
119
  }
88
120
  header.headline :global(p.section-title) {
89
121
  font-size: 1rem;
90
122
  font-weight: 800;
91
- color: var(--theme-colour-accent, #a00000);
92
- }
93
- header.headline .article-metadata {
94
- padding: 40px 0;
95
- font-family: var(--theme-font-family-note, "Knowledge", "Source Sans Pro", Arial, sans-serif);
96
- color: var(--theme-colour-text-primary, #404040);
97
- text-align: center;
98
- }
99
- header.headline .article-metadata .byline-container {
100
- margin-bottom: 2px;
123
+ color: var(--theme-colour-accent);
101
124
  }
102
125
  header.headline .article-metadata .byline :global(a) {
103
- color: var(--theme-colour-text-primary, #404040);
126
+ color: var(--theme-colour-text-primary);
104
127
  text-decoration: none;
105
- }
106
- header.headline .article-metadata .dateline-container {
107
- text-transform: uppercase;
108
- color: var(--theme-colour-text-secondary, #666666);
109
- font-size: 0.8rem;
110
- line-height: 1.2rem;
111
- letter-spacing: 0.2px;
112
- }
113
- header.headline div.crown-container {
114
- display: flex;
115
- justify-content: center;
116
- align-items: center;
117
128
  }</style>