@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
@@ -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,12 +60,17 @@ 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
76
  bind:clientWidth="{clientWidth}"
@@ -76,26 +82,36 @@ 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" data-chromatic="ignore">
90
+ <div
91
+ class="kicker m-0 font-note text-secondary"
92
+ data-chromatic="ignore"
93
+ >
85
94
  {referral.kicker.name}
86
95
  </div>
87
- <div class="title" data-chromatic="ignore">
96
+ <div
97
+ class="title m-0 font-subhed font-bold text-primary"
98
+ data-chromatic="ignore"
99
+ >
88
100
  {referral.title}
89
101
  </div>
90
- <div class="publish-time" data-chromatic="ignore">
102
+ <div
103
+ class="publish-time font-note text-secondary"
104
+ data-chromatic="ignore"
105
+ >
91
106
  {getTime(new Date(referral.display_time))}
92
107
  </div>
93
108
  </div>
94
109
  <div
95
- class="image-container"
110
+ class="image-container block m-0 overflow-hidden relative"
96
111
  class:xs="{clientWidth && clientWidth < 450}"
97
112
  >
98
113
  <img
114
+ class="block object-cover m-0 w-full"
99
115
  data-chromatic="ignore"
100
116
  src="{referral.thumbnail.renditions.landscape['240w']}"
101
117
  alt="{referral.thumbnail.caption ||
@@ -110,23 +126,15 @@ getTime();
110
126
  </Block>
111
127
  {/if}
112
128
 
113
- <style>h4 {
114
- font-family: var(--theme-font-family-subhed);
115
- color: var(--theme-colour-text-primary, #404040);
116
- font-size: 1.1rem;
129
+ <style>div.heading {
117
130
  margin: 0 0 5px;
118
- font-weight: bold;
119
131
  }
120
- h4.stacked {
132
+ div.heading.stacked {
121
133
  max-width: 450px;
122
134
  margin: 0 auto 5px;
123
135
  }
124
136
 
125
137
  .referral-container {
126
- width: 100%;
127
- display: inline-flex;
128
- flex-wrap: wrap;
129
- justify-content: center;
130
138
  gap: 10px 40px;
131
139
  }
132
140
  .referral-container a {
@@ -149,12 +157,6 @@ h4.stacked {
149
157
  .referral-container .referral:hover img {
150
158
  filter: brightness(85%);
151
159
  }
152
- .referral-container .referral div.referral-pack {
153
- display: flex;
154
- justify-content: space-around;
155
- max-width: 450px;
156
- margin: 0 auto;
157
- }
158
160
  .referral-container .referral .headline {
159
161
  display: inline-block;
160
162
  width: calc(100% - 140px);
@@ -171,34 +173,19 @@ h4.stacked {
171
173
  line-height: 1.1rem;
172
174
  }
173
175
  .referral-container .referral .headline .kicker {
174
- font-family: var(--theme-font-family-subhed);
175
- color: var(--theme-colour-text-secondary, #666666);
176
176
  font-size: 0.9rem;
177
- margin: 0;
178
- font-weight: 400;
179
177
  }
180
178
  .referral-container .referral .headline .title {
181
- font-family: var(--theme-font-family-subhed);
182
- color: var(--theme-colour-text-primary, #404040);
183
179
  font-size: 0.95rem;
184
180
  line-height: 1.15rem;
185
- font-weight: bold;
186
- margin: 0;
187
181
  }
188
182
  .referral-container .referral .headline .publish-time {
189
- font-family: var(--theme-font-family-subhed);
190
- color: var(--theme-colour-text-secondary, #666666);
191
183
  font-size: 0.75rem;
192
184
  margin: 2px 0 0;
193
- font-weight: 400;
194
185
  }
195
186
  .referral-container .referral .image-container {
196
- margin: 0;
197
- overflow: hidden;
198
187
  border-radius: 10px;
199
- border: 1px solid var(--theme-colour-brand-rules, #d0d0d0);
200
- display: block;
201
- position: relative;
188
+ border: 1px solid var(--theme-colour-brand-rules);
202
189
  width: 140px;
203
190
  height: 90px;
204
191
  }
@@ -208,10 +195,5 @@ h4.stacked {
208
195
  }
209
196
  .referral-container .referral .image-container img {
210
197
  transition: filter 0.1s;
211
- display: block;
212
- width: 100%;
213
198
  height: inherit;
214
- -o-object-fit: cover;
215
- object-fit: cover;
216
- margin: 0;
217
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}"