@reuters-graphics/graphics-components 0.1.5 → 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 (208) 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/Scroller/docProps.d.ts +2 -0
  12. package/dist/@types/components/SimpleTimeline/SimpleTimeline.svelte.d.ts +1 -1
  13. package/dist/@types/components/SiteHeadline/SiteHeadline.svelte.d.ts +6 -1
  14. package/dist/@types/components/Table/Table.svelte.d.ts +1 -1
  15. package/dist/@types/components/Theme/@types/component.d.ts +29 -9
  16. package/dist/@types/components/Theme/Theme.svelte.d.ts +1 -21
  17. package/dist/@types/components/Theme/themes/common.d.ts +2 -0
  18. package/dist/@types/components/Theme/themes/light.d.ts +1 -21
  19. package/dist/@types/components/ToolsHeader/ToolsHeader.svelte.d.ts +1 -1
  20. package/dist/components/Article/Article.svelte +1 -1
  21. package/dist/components/BeforeAfter/BeforeAfter.svelte +23 -41
  22. package/dist/components/Block/Block.svelte +3 -81
  23. package/dist/components/BodyText/BodyText.svelte +4 -179
  24. package/dist/components/DocumentCloud/DocumentCloud.svelte +3 -2
  25. package/dist/components/FeaturePhoto/FeaturePhoto.svelte +26 -28
  26. package/dist/components/Framer/Typeahead/index.svelte +4 -4
  27. package/dist/components/GraphicBlock/GraphicBlock.svelte +18 -148
  28. package/dist/components/GraphicBlock/TextBlock.svelte +1 -1
  29. package/dist/components/Headline/Headline.svelte +54 -43
  30. package/dist/components/NoteText/NoteText.svelte +12 -100
  31. package/dist/components/PhotoCarousel/PhotoCarousel.svelte +18 -39
  32. package/dist/components/PhotoPack/PhotoPack.svelte +20 -43
  33. package/dist/components/ReferralBlock/ReferralBlock.svelte +34 -47
  34. package/dist/components/Scroller/Background.svelte +1 -3
  35. package/dist/components/Scroller/Embedded/Background.svelte +1 -1
  36. package/dist/components/Scroller/Embedded/Foreground.svelte +2 -192
  37. package/dist/components/Scroller/Foreground.svelte +8 -101
  38. package/dist/components/Scroller/Scroller.svelte +11 -43
  39. package/dist/components/Scroller/docProps.js +1 -0
  40. package/dist/components/SearchInput/MagnifyingGlass.svelte +1 -1
  41. package/dist/components/SearchInput/SearchInput.svelte +11 -6
  42. package/dist/components/SearchInput/X.svelte +2 -2
  43. package/dist/components/SimpleTimeline/SimpleTimeline.svelte +36 -46
  44. package/dist/components/SiteFooter/CompanyLinks.svelte +6 -6
  45. package/dist/components/SiteFooter/LegalLinks.svelte +5 -5
  46. package/dist/components/SiteFooter/QuickLinks.svelte +4 -4
  47. package/dist/components/SiteFooter/Referrals/Link.svelte +7 -3
  48. package/dist/components/SiteFooter/SiteFooter.svelte +1 -0
  49. package/dist/components/SiteFooter/svgs/Facebook.svelte +1 -1
  50. package/dist/components/SiteFooter/svgs/Graphics.svelte +1 -1
  51. package/dist/components/SiteFooter/svgs/Instagram.svelte +1 -1
  52. package/dist/components/SiteFooter/svgs/LinkedIn.svelte +1 -1
  53. package/dist/components/SiteFooter/svgs/Pictures.svelte +1 -1
  54. package/dist/components/SiteFooter/svgs/Twitter.svelte +1 -1
  55. package/dist/components/SiteFooter/svgs/Videos.svelte +1 -1
  56. package/dist/components/SiteFooter/svgs/YouTube.svelte +1 -1
  57. package/dist/components/SiteHeader/MobileMenu/index.svelte +3 -3
  58. package/dist/components/SiteHeader/NavBar/DownArrow.svelte +1 -1
  59. package/dist/components/SiteHeader/NavBar/NavDropdown/MoreDropdown.svelte +2 -2
  60. package/dist/components/SiteHeader/NavBar/NavDropdown/SectionDropdown.svelte +3 -3
  61. package/dist/components/SiteHeader/NavBar/NavDropdown/Spinner/index.svelte +1 -1
  62. package/dist/components/SiteHeader/NavBar/NavDropdown/StoryCard/index.svelte +4 -4
  63. package/dist/components/SiteHeader/NavBar/NavDropdown/index.svelte +5 -5
  64. package/dist/components/SiteHeader/NavBar/index.svelte +6 -6
  65. package/dist/components/SiteHeader/SiteHeader.svelte +2 -1
  66. package/dist/components/SiteHeader/svgs/Close.svelte +1 -1
  67. package/dist/components/SiteHeader/svgs/Menu.svelte +1 -1
  68. package/dist/components/SiteHeadline/SiteHeadline.svelte +44 -97
  69. package/dist/components/Spinner/Spinner.svelte +3 -12
  70. package/dist/components/Table/Pagination.svelte +7 -7
  71. package/dist/components/Table/Select.svelte +4 -4
  72. package/dist/components/Table/SortArrow.svelte +2 -2
  73. package/dist/components/Table/Table.svelte +18 -17
  74. package/dist/components/Theme/themes/common.js +28 -0
  75. package/dist/components/Theme/themes/dark.js +4 -12
  76. package/dist/components/Theme/themes/light.js +4 -11
  77. package/dist/components/ToolsHeader/ToolsHeader.svelte +3 -2
  78. package/dist/components/Video/Video.svelte +15 -48
  79. package/dist/scss/_mixins.scss +6 -6
  80. package/dist/scss/colours/_main.scss +3 -0
  81. package/dist/scss/colours/primary/_amber.scss +13 -0
  82. package/dist/scss/colours/primary/_blue.scss +13 -0
  83. package/dist/scss/colours/primary/_cyan.scss +13 -0
  84. package/dist/scss/colours/primary/_emerald.scss +13 -0
  85. package/dist/scss/colours/primary/_fuchsia.scss +13 -0
  86. package/dist/scss/colours/primary/_green.scss +13 -0
  87. package/dist/scss/colours/primary/_grey.scss +13 -0
  88. package/dist/scss/colours/primary/_indigo.scss +13 -0
  89. package/dist/scss/colours/primary/_lime.scss +13 -0
  90. package/dist/scss/colours/primary/_neutral.scss +13 -0
  91. package/dist/scss/colours/primary/_orange.scss +13 -0
  92. package/dist/scss/colours/primary/_pink.scss +13 -0
  93. package/dist/scss/colours/primary/_purple.scss +13 -0
  94. package/dist/scss/colours/primary/_red.scss +13 -0
  95. package/dist/scss/colours/primary/_rose.scss +13 -0
  96. package/dist/scss/colours/primary/_sky.scss +13 -0
  97. package/dist/scss/colours/primary/_slate.scss +13 -0
  98. package/dist/scss/colours/primary/_stone.scss +13 -0
  99. package/dist/scss/colours/primary/_teal.scss +13 -0
  100. package/dist/scss/colours/primary/_violet.scss +13 -0
  101. package/dist/scss/colours/primary/_yellow.scss +13 -0
  102. package/dist/scss/colours/primary/_zinc.scss +13 -0
  103. package/dist/scss/colours/thematic/_grey.scss +13 -0
  104. package/dist/scss/colours/thematic/_nord.scss +42 -40
  105. package/dist/scss/colours/thematic/_tr.scss +27 -25
  106. package/dist/scss/fonts/_font-faces.scss +194 -66
  107. package/dist/scss/main.scss +15 -16
  108. package/dist/scss/mixins/_main.scss +1 -0
  109. package/dist/scss/reset/_main.scss +12 -0
  110. package/dist/scss/reset/_typography.scss +138 -0
  111. package/dist/scss/token-classes.scss +8 -0
  112. package/dist/scss/tokens/accessibility/_main.scss +1 -0
  113. package/dist/scss/tokens/accessibility/_visibility.scss +5 -0
  114. package/dist/scss/tokens/accessibility/mixins/_main.scss +1 -0
  115. package/dist/scss/{mixins/_visually-hidden.scss → tokens/accessibility/mixins/_visibility.scss} +1 -2
  116. package/dist/scss/tokens/backgrounds/_background-color.scss +26 -0
  117. package/dist/scss/tokens/backgrounds/_main.scss +1 -0
  118. package/dist/scss/tokens/backgrounds/mixins/_background-color.scss +24 -0
  119. package/dist/scss/tokens/backgrounds/mixins/_main.scss +1 -0
  120. package/dist/scss/tokens/borders/_border-color.scss +15 -0
  121. package/dist/scss/tokens/borders/_border-radius.scss +279 -0
  122. package/dist/scss/tokens/borders/_border-style.scss +18 -0
  123. package/dist/scss/tokens/borders/_border-width.scss +115 -0
  124. package/dist/scss/tokens/borders/_main.scss +3 -0
  125. package/dist/scss/tokens/interactivity/_cursor.scss +72 -0
  126. package/dist/scss/tokens/interactivity/_main.scss +2 -0
  127. package/dist/scss/tokens/interactivity/_pointer-events.scss +12 -0
  128. package/dist/scss/tokens/layout/_box-sizing.scss +12 -0
  129. package/dist/scss/tokens/layout/_display.scss +126 -0
  130. package/dist/scss/tokens/layout/_floats.scss +18 -0
  131. package/dist/scss/tokens/layout/_main.scss +8 -0
  132. package/dist/scss/tokens/layout/_object-fit.scss +30 -0
  133. package/dist/scss/tokens/layout/_object-position.scss +54 -0
  134. package/dist/scss/tokens/layout/_overflow.scss +90 -0
  135. package/dist/scss/tokens/layout/_position.scss +30 -0
  136. package/dist/scss/tokens/layout/flex/_align-content.scss +54 -0
  137. package/dist/scss/tokens/layout/flex/_align-items.scss +30 -0
  138. package/dist/scss/tokens/layout/flex/_align-self.scss +36 -0
  139. package/dist/scss/tokens/layout/flex/_flex-direction.scss +24 -0
  140. package/dist/scss/tokens/layout/flex/_flex-grow.scss +12 -0
  141. package/dist/scss/tokens/layout/flex/_flex-shrink.scss +12 -0
  142. package/dist/scss/tokens/layout/flex/_flex-wrap.scss +18 -0
  143. package/dist/scss/tokens/layout/flex/_flex.scss +24 -0
  144. package/dist/scss/tokens/layout/flex/_justify-content.scss +48 -0
  145. package/dist/scss/tokens/layout/flex/_justify-items.scss +24 -0
  146. package/dist/scss/tokens/layout/flex/_justify-self.scss +30 -0
  147. package/dist/scss/tokens/layout/flex/_main.scss +11 -0
  148. package/dist/scss/tokens/sizing/_height.scss +168 -0
  149. package/dist/scss/tokens/sizing/_main.scss +6 -0
  150. package/dist/scss/tokens/sizing/_max-height.scss +12 -0
  151. package/dist/scss/tokens/sizing/_max-width.scss +12 -0
  152. package/dist/scss/tokens/sizing/_min-height.scss +12 -0
  153. package/dist/scss/tokens/sizing/_min-width.scss +6 -0
  154. package/dist/scss/tokens/sizing/_width.scss +176 -0
  155. package/dist/scss/tokens/spacers/_fluid-margin.scss +68 -0
  156. package/dist/scss/tokens/spacers/_fluid-padding.scss +49 -0
  157. package/dist/scss/tokens/spacers/_main.scss +4 -0
  158. package/dist/scss/tokens/spacers/_margin.scss +109 -0
  159. package/dist/scss/tokens/spacers/_padding.scss +86 -0
  160. package/dist/scss/tokens/spacers/mixins/_fluid-margin.scss +85 -0
  161. package/dist/scss/tokens/spacers/mixins/_fluid-padding.scss +85 -0
  162. package/dist/scss/tokens/spacers/mixins/_main.scss +2 -0
  163. package/dist/scss/tokens/text/_color.scss +20 -0
  164. package/dist/scss/tokens/text/_font-family.scss +68 -0
  165. package/dist/scss/tokens/text/_font-size.scss +68 -0
  166. package/dist/scss/tokens/text/_font-style.scss +12 -0
  167. package/dist/scss/tokens/text/_font-weight.scss +56 -0
  168. package/dist/scss/tokens/text/_letter-spacing.scss +38 -0
  169. package/dist/scss/tokens/text/_line-height.scss +38 -0
  170. package/dist/scss/tokens/text/_main.scss +14 -0
  171. package/dist/scss/tokens/text/_text-align.scss +36 -0
  172. package/dist/scss/tokens/text/_text-decoration.scss +24 -0
  173. package/dist/scss/tokens/text/_text-stroke.scss +74 -0
  174. package/dist/scss/{typography/_transform.scss → tokens/text/_text-transform.scss} +7 -2
  175. package/dist/scss/tokens/text/_vertical-align.scss +48 -0
  176. package/dist/scss/tokens/text/_white-space.scss +12 -0
  177. package/dist/scss/tokens/text/_word-break.scss +14 -0
  178. package/dist/scss/tokens/text/mixins/_color.scss +18 -0
  179. package/dist/scss/tokens/text/mixins/_font-family.scss +66 -0
  180. package/dist/scss/tokens/text/mixins/_font-size.scss +66 -0
  181. package/dist/scss/tokens/text/mixins/_font-weight.scss +54 -0
  182. package/dist/scss/tokens/text/mixins/_letter-spacing.scss +36 -0
  183. package/dist/scss/tokens/text/mixins/_line-height.scss +36 -0
  184. package/dist/scss/tokens/text/mixins/_main.scss +7 -0
  185. package/dist/scss/tokens/text/mixins/_text-stroke.scss +8 -0
  186. package/dist/scss/tokens/variables/_main.scss +1 -0
  187. package/dist/scss/tokens/variables/_theme.scss +8 -0
  188. package/package.json +154 -43
  189. package/dist/scss/_variables.scss +0 -2
  190. package/dist/scss/bootstrap/_main.scss +0 -34
  191. package/dist/scss/bootstrap/_variables.scss +0 -10
  192. package/dist/scss/components/_hero-title.scss +0 -118
  193. package/dist/scss/fonts/_mixins.scss +0 -25
  194. package/dist/scss/fonts/_rules.scss +0 -19
  195. package/dist/scss/fonts/_variables.scss +0 -26
  196. package/dist/scss/mixins/_body-text.scss +0 -113
  197. package/dist/scss/mixins/_graphic.scss +0 -66
  198. package/dist/scss/mixins/_note-text.scss +0 -34
  199. package/dist/scss/spacers/_rules.scss +0 -65
  200. package/dist/scss/spacers/_variables.scss +0 -19
  201. package/dist/scss/typography/_box-shadow.scss +0 -11
  202. package/dist/scss/typography/_font-size.scss +0 -81
  203. package/dist/scss/typography/_letter-spacing.scss +0 -15
  204. package/dist/scss/typography/_main.scss +0 -5
  205. package/dist/scss/typography/_mixins.scss +0 -26
  206. package/dist/scss/typography/_rules.scss +0 -83
  207. package/dist/scss/typography/_text-shadow.scss +0 -13
  208. package/dist/scss/typography/_variables.scss +0 -39
@@ -9,117 +9,29 @@ import { marked } from 'marked';
9
9
  import Block from '../Block/Block.svelte';
10
10
  </script>
11
11
 
12
- <Block cls="notes mb-6">
12
+ <Block class="notes mb-24">
13
13
  {#if text}
14
14
  {@html marked.parse(text)}
15
15
  {/if}
16
16
  </Block>
17
17
 
18
18
  <!-- svelte-ignore css-unused-selector -->
19
- <style global>:global(.paragraph-size) {
20
- font-size: 1.3rem;
21
- line-height: 2.1rem;
22
- }
23
- :global(.paragraph-size.font-sans) {
24
- font-size: 1.1rem;
25
- line-height: 1.75rem;
26
- }
27
- @media (max-width: 540px) {
28
- :global(.paragraph-size) {
29
- font-size: 1.1rem;
30
- line-height: 1.8rem;
31
- }
32
- :global(.paragraph-size.font-sans) {
33
- font-size: 1rem;
34
- line-height: 1.6rem;
35
- }
36
- }
37
- :global(.paragraph-size.important) {
38
- font-size: 1.3rem !important;
39
- line-height: 2.1rem !important;
40
- }
41
- :global(.paragraph-size.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) {
47
- font-size: 1.1rem !important;
48
- line-height: 1.8rem !important;
49
- }
50
- :global(.paragraph-size.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) {
78
- font-size: 1.6rem;
79
- line-height: 2.1rem;
80
- }
81
- @media (max-width: 540px) {
82
- :global(.blockquote-size) {
83
- font-size: 1.3rem;
84
- line-height: 1.9rem;
85
- }
86
- }
87
- :global(.blockquote-size.important) {
88
- font-size: 1.6rem !important;
89
- line-height: 2rem !important;
90
- }
91
- @media (max-width: 540px) {
92
- :global(.blockquote-size.important) {
93
- font-size: 1.3rem !important;
94
- line-height: 1.8rem !important;
95
- }
96
- }
97
-
98
- :global(div.article-block.notes) :global(h2),
19
+ <style global>:global(div.article-block.notes) :global(h2),
99
20
  :global(div.article-block.notes) :global(h3),
100
21
  :global(div.article-block.notes) :global(h4),
101
22
  :global(div.article-block.notes) :global(h5),
102
23
  :global(div.article-block.notes) :global(h6) {
103
- font-family: var(--theme-font-family-note, "Knowledge", "Source Sans Pro", Arial, sans-serif);
24
+ margin: var(--theme-font-size-base) 0 0;
25
+ font-size: var(--theme-font-size-sm);
104
26
  color: var(--theme-colour-text-primary);
105
- margin: 1rem 0 0;
106
- font-size: 1rem;
107
- letter-spacing: 0.5px;
27
+ line-height: 1.25;
28
+ letter-spacing: 0em;
29
+ font-weight: 700;
30
+ text-transform: none;
108
31
  }
109
32
  :global(div.article-block.notes) :global(p) {
110
- font-family: var(--theme-font-family-note, "Knowledge", "Source Sans Pro", Arial, sans-serif);
111
- font-size: 1rem;
112
- font-weight: 200;
113
- color: var(--theme-colour-text-primary);
114
- }
115
- :global(div.article-block.notes) :global(p) :global(a) {
116
- color: currentColor;
117
- background-size: 1px 1px;
118
- 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>');
119
- background-position: 0 1.1rem;
120
- background-repeat: repeat-x;
121
- text-decoration: none;
122
- }
123
- :global(div.article-block.notes) :global(p) :global(a:hover) {
124
- text-decoration: none;
33
+ font-family: var(--theme-font-family-note);
34
+ font-weight: 300;
35
+ font-size: var(--theme-font-size-sm);
36
+ line-height: 1.25;
125
37
  }</style>
@@ -4,7 +4,8 @@ export let width = 'wider';
4
4
  /** Add an ID to target with SCSS. */
5
5
  export let id = '';
6
6
  /** Add a class to target with SCSS. */
7
- export let cls = '';
7
+ let cls = '';
8
+ export { cls as class };
8
9
  /**
9
10
  * Array of photos.
10
11
  * @required
@@ -53,8 +54,8 @@ const handleActiveChange = (e) => {
53
54
  };
54
55
  </script>
55
56
 
56
- <Block width="{width}" id="{id}" cls="photo-carousel {cls}">
57
- <div class="carousel-container" bind:clientWidth="{containerWidth}">
57
+ <Block width="{width}" id="{id}" class="photo-carousel {cls}">
58
+ <div class="carousel-container mb-2" bind:clientWidth="{containerWidth}">
58
59
  <Splide
59
60
  hasTrack="{false}"
60
61
  options="{{
@@ -70,9 +71,13 @@ const handleActiveChange = (e) => {
70
71
  <SplideTrack>
71
72
  {#each photos as photo, i}
72
73
  <SplideSlide>
73
- <div class="photo-slide">
74
- <figure style="height: {carouselHeight}px;">
74
+ <div class="photo-slide w-full h-full relative">
75
+ <figure
76
+ class="m-0 w-full relative"
77
+ style="height: {carouselHeight}px;"
78
+ >
75
79
  <img
80
+ class="w-full h-full"
76
81
  data-splide-lazy="{photo.src}"
77
82
  alt="{photo.altText}"
78
83
  style:object-fit="{photo.objectFit ||
@@ -84,7 +89,7 @@ const handleActiveChange = (e) => {
84
89
  <slot name="credit" credit="{photo.credit}" />
85
90
  {:else}
86
91
  <span
87
- class="credit"
92
+ class="credit absolute m-0 leading-tighter font-note text-xxs"
88
93
  class:contain-fit="{photo.objectFit === 'contain' ||
89
94
  defaultImageObjectFit === 'contain'}"
90
95
  >{photo.credit}</span
@@ -105,7 +110,10 @@ const handleActiveChange = (e) => {
105
110
  />
106
111
  {:else}
107
112
  {#key activeImageIndex}
108
- <p class="caption" in:fly|local="{{ x: 20, duration: 175 }}">
113
+ <p
114
+ class="caption font-note text-secondary text-xs mb-0 mx-0 mt-0.5"
115
+ in:fly|local="{{ x: 20, duration: 175 }}"
116
+ >
109
117
  {photos[activeImageIndex].caption}
110
118
  </p>
111
119
  {/key}
@@ -130,33 +138,11 @@ const handleActiveChange = (e) => {
130
138
  </div>
131
139
  </Block>
132
140
 
133
- <style>.carousel-container {
134
- margin-bottom: 10px;
135
- }
136
- .carousel-container .photo-slide {
137
- height: 100%;
138
- width: 100%;
139
- position: relative;
140
- }
141
- .carousel-container .photo-slide figure {
142
- margin: 0;
143
- width: 100%;
144
- position: relative;
145
- }
146
- .carousel-container .photo-slide figure img {
147
- height: 100%;
148
- width: 100%;
149
- }
150
- .carousel-container .photo-slide figure span.credit {
151
- position: absolute;
141
+ <style>.carousel-container .photo-slide figure span.credit {
152
142
  bottom: 4px;
153
143
  left: 10px;
154
- margin: 0;
155
- font-size: 0.7rem;
156
144
  color: white;
157
- letter-spacing: 0.75px;
158
145
  text-shadow: -1px -1px 0 #333, 1px -1px 0 #333, -1px 1px 0 #333, 1px 1px 0 #333;
159
- font-family: var(--theme-font-family-note);
160
146
  }
161
147
  .carousel-container .photo-slide figure span.credit.contain-fit {
162
148
  left: 50%;
@@ -175,7 +161,7 @@ const handleActiveChange = (e) => {
175
161
  }
176
162
  .carousel-container :global(.splide__arrows) :global(button) {
177
163
  display: flex;
178
- font-size: 12px;
164
+ font-size: 14px;
179
165
  height: 30px;
180
166
  width: 30px;
181
167
  padding: 0;
@@ -184,6 +170,7 @@ const handleActiveChange = (e) => {
184
170
  border: 1px solid transparent;
185
171
  border-radius: 50%;
186
172
  background-color: transparent;
173
+ cursor: pointer;
187
174
  color: var(--theme-colour-text-secondary);
188
175
  opacity: 0.4;
189
176
  }
@@ -221,12 +208,4 @@ const handleActiveChange = (e) => {
221
208
  }
222
209
  .carousel-container :global(ul.splide__pagination) :global(li) :global(button.is-active) {
223
210
  opacity: 1;
224
- }
225
- .carousel-container p.caption {
226
- margin: 5px 0 0;
227
- font-family: var(--theme-font-family-note, "Knowledge", "Source Sans Pro", Arial, sans-serif);
228
- color: var(--theme-colour-text-secondary, #666666);
229
- font-size: 0.85rem;
230
- line-height: 1.1rem;
231
- font-weight: 300;
232
211
  }</style>
@@ -26,7 +26,8 @@ export let id = 'photopack-' + random4() + random4();
26
26
  * Add a class to target with SCSS.
27
27
  * @type {string}
28
28
  */
29
- export let cls = '';
29
+ let cls = '';
30
+ export { cls as class };
30
31
  /** Width of the component within the text well. */
31
32
  export let width = 'normal';
32
33
  /**
@@ -67,23 +68,30 @@ l.rows.reduce((a, b) => a + b, 0) === images.length &&
67
68
  $: rows = groupRows(images, layout);
68
69
  </script>
69
70
 
70
- <Block width="{width}" id="{id}" cls="photopack {cls}">
71
- <div class="photopack-container" bind:clientWidth="{containerWidth}">
71
+ <Block width="{width}" id="{id}" class="photopack {cls}">
72
+ <div
73
+ class="photopack-container w-full mb-2"
74
+ bind:clientWidth="{containerWidth}"
75
+ >
72
76
  {#each rows as row, ri}
73
77
  <div
74
- class="photopack-row"
78
+ class="photopack-row flex justify-between"
75
79
  style:gap="0 {gap}px"
76
80
  style:margin-bottom="{gap + 'px'}"
77
81
  >
78
82
  {#each row as img, i}
79
- <figure aria-labelledby="{id}-figure-{ri}-{i}">
83
+ <figure
84
+ class="relative m-0 p-0 flex-1"
85
+ aria-labelledby="{id}-figure-{ri}-{i}"
86
+ >
80
87
  <img
88
+ class="m-0 w-full h-full object-cover"
81
89
  src="{img.src}"
82
90
  alt="{img.altText}"
83
91
  style:max-height="{img.maxHeight ? img.maxHeight + 'px' : ''}"
84
92
  />
85
93
  {#if !img.altText}
86
- <div class="alt-warning">altText</div>
94
+ <div class="alt-warning absolute text-xxs py-1 px-2">altText</div>
87
95
  {/if}
88
96
  </figure>
89
97
  {/each}
@@ -96,7 +104,7 @@ $: rows = groupRows(images, layout);
96
104
  {#each rows as row, ri}
97
105
  {#each row as img, i}
98
106
  {#if img.caption}
99
- <div id="{id}-figure-{ri}-{i}" class="caption">
107
+ <div id="{id}-figure-{ri}-{i}" class="caption mt-0 mx-0 fmb-2">
100
108
  {@html marked(img.caption)}
101
109
  </div>
102
110
  {/if}
@@ -107,51 +115,20 @@ $: rows = groupRows(images, layout);
107
115
  </PaddingReset>
108
116
  </Block>
109
117
 
110
- <style>div.photopack-container {
111
- display: block;
112
- width: 100%;
113
- margin-bottom: 10px;
114
- }
115
- div.photopack-container div.photopack-row {
116
- display: flex;
117
- justify-content: space-between;
118
- }
119
- div.photopack-container div.photopack-row figure {
120
- flex: 1;
121
- margin: 0;
122
- padding: 0;
123
- position: relative;
124
- }
125
- div.photopack-container div.photopack-row figure img {
126
- margin: 0;
127
- width: 100%;
128
- height: 100%;
129
- -o-object-fit: cover;
130
- object-fit: cover;
131
- }
132
- div.photopack-container div.photopack-row figure div.alt-warning {
133
- font-family: "Knowledge", "Source Sans Pro", Arial, sans-serif;
134
- padding: 5px 10px;
118
+ <style>div.photopack-container div.photopack-row figure div.alt-warning {
135
119
  background-color: red;
136
120
  color: white;
137
- position: absolute;
138
121
  top: 0;
139
122
  right: 0;
140
- font-size: 14px;
141
- line-height: 16px;
142
123
  }
143
124
 
144
- div.captions-container div.caption {
145
- margin: 0 0 0.6rem;
146
- }
147
125
  div.captions-container div.caption:last-of-type {
148
126
  margin-bottom: 0;
149
127
  }
150
128
  div.captions-container div.caption :global(p) {
151
- font-size: 0.85rem;
152
- line-height: 1.1rem;
153
- font-family: var(--theme-font-family-note, "Knowledge", "Source Sans Pro", Arial, sans-serif);
154
- color: var(--theme-colour-text-secondary, #666666);
129
+ font-size: var(--theme-font-size-xs);
130
+ line-height: 1.25;
131
+ font-family: var(--theme-font-family-note);
132
+ color: var(--theme-colour-text-secondary);
155
133
  margin: 0;
156
- font-weight: 300;
157
134
  }</style>
@@ -28,7 +28,8 @@ export let width = 'wide';
28
28
  /** Add an ID to target with SCSS. */
29
29
  export let id = '';
30
30
  /** Add a class to target with SCSS. */
31
- export let cls = '';
31
+ let cls = '';
32
+ export { cls as class };
32
33
  import Block from '../Block/Block.svelte';
33
34
  import { referrals } from './stores.js';
34
35
  import { onMount } from 'svelte';
@@ -59,15 +60,20 @@ getTime();
59
60
  </script>
60
61
 
61
62
  {#if $referrals.length === number}
62
- <Block width="{width}" id="{id}" cls="referrals-block {cls}">
63
+ <Block width="{width}" id="{id}" class="referrals-block {cls}">
63
64
  {#if heading}
64
- <h4 class:stacked="{clientWidth && clientWidth < 750}">{heading}</h4>
65
+ <div
66
+ class="heading font-subhed text-secondary underline text-xs font-bold"
67
+ class:stacked="{clientWidth && clientWidth < 750}"
68
+ >
69
+ {heading}
70
+ </div>
65
71
  {/if}
66
72
  <div
67
- class="referral-container"
73
+ class="referral-container inline-flex flex-wrap w-full justify-center"
68
74
  class:stacked="{clientWidth && clientWidth < 750}"
69
75
  class:xs="{clientWidth && clientWidth < 450}"
70
- bind:clientWidth
76
+ bind:clientWidth="{clientWidth}"
71
77
  >
72
78
  {#each $referrals as referral}
73
79
  <div class="referral">
@@ -76,22 +82,37 @@ getTime();
76
82
  target="{linkTarget}"
77
83
  rel="{linkTarget === '_blank' ? 'noreferrer' : null}"
78
84
  >
79
- <div class="referral-pack">
85
+ <div class="referral-pack flex justify-around my-0 mx-auto">
80
86
  <div
81
87
  class="headline"
82
88
  class:xs="{clientWidth && clientWidth < 450}"
83
89
  >
84
- <div class="kicker">{referral.kicker.name}</div>
85
- <div class="title">{referral.title}</div>
86
- <div class="publish-time">
90
+ <div
91
+ class="kicker m-0 font-note text-secondary"
92
+ data-chromatic="ignore"
93
+ >
94
+ {referral.kicker.name}
95
+ </div>
96
+ <div
97
+ class="title m-0 font-subhed font-bold text-primary"
98
+ data-chromatic="ignore"
99
+ >
100
+ {referral.title}
101
+ </div>
102
+ <div
103
+ class="publish-time font-note text-secondary"
104
+ data-chromatic="ignore"
105
+ >
87
106
  {getTime(new Date(referral.display_time))}
88
107
  </div>
89
108
  </div>
90
109
  <div
91
- class="image-container"
110
+ class="image-container block m-0 overflow-hidden relative"
92
111
  class:xs="{clientWidth && clientWidth < 450}"
93
112
  >
94
113
  <img
114
+ class="block object-cover m-0 w-full"
115
+ data-chromatic="ignore"
95
116
  src="{referral.thumbnail.renditions.landscape['240w']}"
96
117
  alt="{referral.thumbnail.caption ||
97
118
  referral.thumbnail.alt_text}"
@@ -105,23 +126,15 @@ getTime();
105
126
  </Block>
106
127
  {/if}
107
128
 
108
- <style>h4 {
109
- font-family: var(--theme-font-family-subhed);
110
- color: var(--theme-colour-text-primary, #404040);
111
- font-size: 1.1rem;
129
+ <style>div.heading {
112
130
  margin: 0 0 5px;
113
- font-weight: bold;
114
131
  }
115
- h4.stacked {
132
+ div.heading.stacked {
116
133
  max-width: 450px;
117
134
  margin: 0 auto 5px;
118
135
  }
119
136
 
120
137
  .referral-container {
121
- width: 100%;
122
- display: inline-flex;
123
- flex-wrap: wrap;
124
- justify-content: center;
125
138
  gap: 10px 40px;
126
139
  }
127
140
  .referral-container a {
@@ -144,12 +157,6 @@ h4.stacked {
144
157
  .referral-container .referral:hover img {
145
158
  filter: brightness(85%);
146
159
  }
147
- .referral-container .referral div.referral-pack {
148
- display: flex;
149
- justify-content: space-around;
150
- max-width: 450px;
151
- margin: 0 auto;
152
- }
153
160
  .referral-container .referral .headline {
154
161
  display: inline-block;
155
162
  width: calc(100% - 140px);
@@ -166,34 +173,19 @@ h4.stacked {
166
173
  line-height: 1.1rem;
167
174
  }
168
175
  .referral-container .referral .headline .kicker {
169
- font-family: var(--theme-font-family-subhed);
170
- color: var(--theme-colour-text-secondary, #666666);
171
176
  font-size: 0.9rem;
172
- margin: 0;
173
- font-weight: 400;
174
177
  }
175
178
  .referral-container .referral .headline .title {
176
- font-family: var(--theme-font-family-subhed);
177
- color: var(--theme-colour-text-primary, #404040);
178
179
  font-size: 0.95rem;
179
180
  line-height: 1.15rem;
180
- font-weight: bold;
181
- margin: 0;
182
181
  }
183
182
  .referral-container .referral .headline .publish-time {
184
- font-family: var(--theme-font-family-subhed);
185
- color: var(--theme-colour-text-secondary, #666666);
186
183
  font-size: 0.75rem;
187
184
  margin: 2px 0 0;
188
- font-weight: 400;
189
185
  }
190
186
  .referral-container .referral .image-container {
191
- margin: 0;
192
- overflow: hidden;
193
187
  border-radius: 10px;
194
- border: 1px solid var(--theme-colour-brand-rules, #d0d0d0);
195
- display: block;
196
- position: relative;
188
+ border: 1px solid var(--theme-colour-brand-rules);
197
189
  width: 140px;
198
190
  height: 90px;
199
191
  }
@@ -203,10 +195,5 @@ h4.stacked {
203
195
  }
204
196
  .referral-container .referral .image-container img {
205
197
  transition: filter 0.1s;
206
- display: block;
207
- width: 100%;
208
198
  height: inherit;
209
- -o-object-fit: cover;
210
- object-fit: cover;
211
- margin: 0;
212
199
  }</style>
@@ -9,7 +9,7 @@ export let stackBackground = true;
9
9
  <!-- Unless stackBackground is true. If so, keep all steps before the current one loaded. -->
10
10
  {#if preload === 0 || (i >= (stackBackground ? 0 : index - preload) && i <= index + preload)}
11
11
  <div
12
- class="step-background step-{i + 1}"
12
+ class="step-background step-{i + 1} w-full absolute"
13
13
  class:visible="{stackBackground ? i <= index : i === index}"
14
14
  class:hidden="{stackBackground ? i > index : i !== index}"
15
15
  >
@@ -22,8 +22,6 @@ export let stackBackground = true;
22
22
  {/each}
23
23
 
24
24
  <style>.step-background {
25
- width: 100%;
26
- position: absolute;
27
25
  transition: 0.5s opacity ease;
28
26
  }
29
27
  .step-background.hidden {
@@ -4,7 +4,7 @@ export let index;
4
4
  import Block from '../../Block/Block.svelte';
5
5
  </script>
6
6
 
7
- <Block width="{backgroundWidth}" cls="background-container step-{index + 1}">
7
+ <Block width="{backgroundWidth}" class="background-container step-{index + 1}">
8
8
  <div class="embedded-background step-{index + 1}" aria-hidden="true">
9
9
  <svelte:component
10
10
  this="{step.background}"