@onsvisual/svelte-components 1.0.44 → 1.0.45

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 (224) hide show
  1. package/README.md +24 -24
  2. package/dist/css/main.css +513 -2
  3. package/dist/datavis/BarChart/BarChart.stories.svelte +84 -84
  4. package/dist/datavis/BarChart/docs/component.md +19 -19
  5. package/dist/datavis/Chart/Chart.stories.svelte +128 -128
  6. package/dist/datavis/Chart/docs/component.md +31 -31
  7. package/dist/datavis/Chart/docs/example.md +28 -28
  8. package/dist/datavis/ColumnChart/ColumnChart.stories.svelte +84 -84
  9. package/dist/datavis/ColumnChart/docs/component.md +19 -19
  10. package/dist/datavis/DataCard/DataCard.stories.svelte +45 -45
  11. package/dist/datavis/DataCard/DataCard.svelte +70 -70
  12. package/dist/datavis/DataCard/Sparkline.svelte +117 -117
  13. package/dist/datavis/DataCard/docs/component.md +20 -20
  14. package/dist/datavis/DataCard/docs/example.md +25 -25
  15. package/dist/datavis/DotPlotChart/DotPlotChart.stories.svelte +40 -40
  16. package/dist/datavis/DotPlotChart/docs/component.md +19 -19
  17. package/dist/datavis/LineChart/LineChart.stories.svelte +64 -64
  18. package/dist/datavis/LineChart/docs/component.md +31 -31
  19. package/dist/datavis/ScatterChart/ScatterChart.stories.svelte +55 -55
  20. package/dist/datavis/ScatterChart/docs/component.md +53 -53
  21. package/dist/datavis/Table/Table.stories.svelte +48 -48
  22. package/dist/datavis/Table/Table.svelte +161 -161
  23. package/dist/datavis/Table/docs/component.md +20 -20
  24. package/dist/datavis/demo-data/data-scatter.js +40 -40
  25. package/dist/datavis/demo-data/data.js +18 -18
  26. package/dist/datavis/intro.mdx +21 -21
  27. package/dist/decorators/Blockquote/Blockquote.stories.svelte +25 -25
  28. package/dist/decorators/Blockquote/Blockquote.svelte +27 -27
  29. package/dist/decorators/Blockquote/docs/component.md +10 -10
  30. package/dist/decorators/Divider/Divider.stories.svelte +29 -29
  31. package/dist/decorators/Divider/Divider.svelte +52 -52
  32. package/dist/decorators/Divider/docs/component.md +12 -12
  33. package/dist/decorators/Em/Em.stories.svelte +30 -30
  34. package/dist/decorators/Em/Em.svelte +58 -58
  35. package/dist/decorators/Em/docs/component.md +12 -12
  36. package/dist/decorators/Icon/Icon.stories.svelte +27 -27
  37. package/dist/decorators/Icon/Icon.svelte +101 -93
  38. package/dist/decorators/Icon/Icon.svelte.d.ts +2 -2
  39. package/dist/decorators/Icon/docs/component.md +10 -10
  40. package/dist/decorators/Indent/Indent.stories.svelte +22 -22
  41. package/dist/decorators/Indent/Indent.svelte +3 -3
  42. package/dist/decorators/Indent/docs/component.md +10 -10
  43. package/dist/index.js +86 -86
  44. package/dist/inputs/Button/Button.stories.svelte +70 -70
  45. package/dist/inputs/Button/Button.svelte +152 -152
  46. package/dist/inputs/Button/Button.svelte.d.ts +2 -2
  47. package/dist/inputs/Button/docs/component.md +17 -17
  48. package/dist/inputs/ButtonGroup/ButtonGroup.stories.svelte +40 -40
  49. package/dist/inputs/ButtonGroup/ButtonGroup.svelte +57 -57
  50. package/dist/inputs/ButtonGroup/ButtonGroupItem.svelte +101 -101
  51. package/dist/inputs/ButtonGroup/docs/component.md +23 -23
  52. package/dist/inputs/Checkbox/Checkbox.stories.svelte +34 -34
  53. package/dist/inputs/Checkbox/Checkbox.svelte +180 -180
  54. package/dist/inputs/Checkbox/docs/component.md +14 -14
  55. package/dist/inputs/Checkboxes/Checkboxes.stories.svelte +34 -34
  56. package/dist/inputs/Checkboxes/Checkboxes.svelte +62 -62
  57. package/dist/inputs/Checkboxes/docs/component.md +20 -20
  58. package/dist/inputs/Checkboxes/docs/example.md +16 -16
  59. package/dist/inputs/Dropdown/Dropdown.stories.svelte +54 -54
  60. package/dist/inputs/Dropdown/Dropdown.svelte +66 -66
  61. package/dist/inputs/Dropdown/docs/component.md +22 -22
  62. package/dist/inputs/ErrorPanel/ErrorPanel.stories.svelte +25 -25
  63. package/dist/inputs/ErrorPanel/ErrorPanel.svelte +24 -24
  64. package/dist/inputs/ErrorPanel/docs/component.md +14 -14
  65. package/dist/inputs/ErrorSummary/ErrorSummary.stories.svelte +34 -34
  66. package/dist/inputs/ErrorSummary/ErrorSummary.svelte +47 -47
  67. package/dist/inputs/ErrorSummary/docs/component.md +17 -17
  68. package/dist/inputs/ErrorSummary/docs/example.md +12 -12
  69. package/dist/inputs/Input/Input.stories.svelte +73 -73
  70. package/dist/inputs/Input/Input.svelte +151 -151
  71. package/dist/inputs/Input/docs/component.md +16 -16
  72. package/dist/inputs/Radios/Radio.svelte +90 -90
  73. package/dist/inputs/Radios/Radios.stories.svelte +51 -51
  74. package/dist/inputs/Radios/Radios.svelte +62 -62
  75. package/dist/inputs/Radios/docs/component.md +24 -24
  76. package/dist/inputs/Radios/docs/example.md +21 -21
  77. package/dist/inputs/Select/Select.stories.svelte +63 -63
  78. package/dist/inputs/Select/Select.svelte +326 -326
  79. package/dist/inputs/Select/docs/component.md +27 -27
  80. package/dist/inputs/Textarea/Textarea.stories.svelte +40 -40
  81. package/dist/inputs/Textarea/Textarea.svelte +113 -113
  82. package/dist/inputs/Textarea/docs/component.md +16 -16
  83. package/dist/inputs/Toolbar/HelpModal.svelte +234 -234
  84. package/dist/inputs/Toolbar/ToolControl.svelte +23 -23
  85. package/dist/inputs/Toolbar/ToolControls.svelte +9 -9
  86. package/dist/inputs/Toolbar/Toolbar.stories.svelte +148 -148
  87. package/dist/inputs/Toolbar/Toolbar.svelte +70 -70
  88. package/dist/inputs/Toolbar/ToolbarButton.svelte +184 -184
  89. package/dist/inputs/Toolbar/ToolbarDivider.svelte +29 -29
  90. package/dist/inputs/Toolbar/ToolbarIcon.svelte +106 -106
  91. package/dist/inputs/Toolbar/ToolbarsContainer.svelte +69 -69
  92. package/dist/inputs/Toolbar/docs/component.md +101 -101
  93. package/dist/intro.mdx +66 -66
  94. package/dist/js/menuOptions.js +14 -14
  95. package/dist/js/utils.js +133 -133
  96. package/dist/js/withParams.js +43 -43
  97. package/dist/layout/Accordion/Accordion.stories.svelte +30 -30
  98. package/dist/layout/Accordion/Accordion.svelte +55 -55
  99. package/dist/layout/Accordion/AccordionItem.svelte +51 -51
  100. package/dist/layout/Accordion/accordion.js +64 -64
  101. package/dist/layout/Accordion/details.js +83 -83
  102. package/dist/layout/Accordion/docs/component.md +19 -19
  103. package/dist/layout/AnalyticsBanner/AnalyticsBanner.stories.svelte +16 -16
  104. package/dist/layout/AnalyticsBanner/AnalyticsBanner.svelte +314 -314
  105. package/dist/layout/AnalyticsBanner/docs/component.md +44 -44
  106. package/dist/layout/BackLink/BackLink.stories.svelte +16 -16
  107. package/dist/layout/BackLink/BackLink.svelte +30 -30
  108. package/dist/layout/BackLink/docs/component.md +12 -12
  109. package/dist/layout/Breadcrumb/Breadcrumb.stories.svelte +31 -31
  110. package/dist/layout/Breadcrumb/Breadcrumb.svelte +69 -69
  111. package/dist/layout/Breadcrumb/docs/component.md +15 -15
  112. package/dist/layout/Card/Card.stories.svelte +39 -39
  113. package/dist/layout/Card/Card.svelte +127 -127
  114. package/dist/layout/Card/docs/component.md +14 -14
  115. package/dist/layout/Card/docs/eg-images.md +27 -27
  116. package/dist/layout/Card/docs/eg-links.md +12 -12
  117. package/dist/layout/Card/docs/eg-spans.md +12 -12
  118. package/dist/layout/Contents/Contents.stories.svelte +27 -27
  119. package/dist/layout/Contents/Contents.svelte +51 -51
  120. package/dist/layout/Contents/docs/component.md +18 -18
  121. package/dist/layout/DescriptionList/DescriptionList.stories.svelte +22 -22
  122. package/dist/layout/DescriptionList/DescriptionList.svelte +59 -59
  123. package/dist/layout/DescriptionList/docs/component.md +18 -18
  124. package/dist/layout/Details/Details.stories.svelte +32 -32
  125. package/dist/layout/Details/Details.svelte +75 -75
  126. package/dist/layout/Details/docs/component.md +14 -14
  127. package/dist/layout/DocumentList/Document.svelte +103 -103
  128. package/dist/layout/DocumentList/DocumentList.stories.svelte +88 -88
  129. package/dist/layout/DocumentList/DocumentList.svelte +33 -33
  130. package/dist/layout/DocumentList/docs/component.md +28 -28
  131. package/dist/layout/DocumentList/docs/example.md +23 -23
  132. package/dist/layout/ErrorPage/ErrorPage.stories.svelte +18 -18
  133. package/dist/layout/ErrorPage/ErrorPage.svelte +48 -48
  134. package/dist/layout/ErrorPage/docs/component.md +13 -13
  135. package/dist/layout/Footer/Footer.stories.svelte +24 -24
  136. package/dist/layout/Footer/Footer.svelte +366 -366
  137. package/dist/layout/Footer/docs/component.md +10 -10
  138. package/dist/layout/Grid/Grid.stories.svelte +50 -50
  139. package/dist/layout/Grid/Grid.svelte +117 -117
  140. package/dist/layout/Grid/GridCell.svelte +65 -65
  141. package/dist/layout/Grid/docs/component.md +14 -14
  142. package/dist/layout/Header/Header.stories.svelte +26 -26
  143. package/dist/layout/Header/Header.svelte +875 -875
  144. package/dist/layout/Header/docs/component.md +11 -11
  145. package/dist/layout/Hero/Hero.stories.svelte +79 -79
  146. package/dist/layout/Hero/Hero.svelte +364 -364
  147. package/dist/layout/Hero/docs/component.md +14 -14
  148. package/dist/layout/Highlight/Highlight.stories.svelte +29 -29
  149. package/dist/layout/Highlight/Highlight.svelte +77 -77
  150. package/dist/layout/Highlight/docs/component.md +12 -12
  151. package/dist/layout/Image/Image.stories.svelte +23 -23
  152. package/dist/layout/Image/Image.svelte +29 -29
  153. package/dist/layout/Image/docs/component.md +15 -15
  154. package/dist/layout/List/Li.svelte +3 -3
  155. package/dist/layout/List/List.stories.svelte +40 -40
  156. package/dist/layout/List/List.svelte +46 -46
  157. package/dist/layout/List/docs/component.md +14 -14
  158. package/dist/layout/List/docs/example.md +12 -12
  159. package/dist/layout/NavSections/NavSection.svelte +90 -90
  160. package/dist/layout/NavSections/NavSections.stories.svelte +51 -51
  161. package/dist/layout/NavSections/NavSections.svelte +160 -160
  162. package/dist/layout/NavSections/docs/component.md +25 -25
  163. package/dist/layout/Notice/Notice.stories.svelte +61 -61
  164. package/dist/layout/Notice/Notice.svelte +56 -56
  165. package/dist/layout/Notice/docs/component.md +14 -14
  166. package/dist/layout/PhaseBanner/PhaseBanner.stories.svelte +24 -24
  167. package/dist/layout/PhaseBanner/PhaseBanner.svelte +66 -66
  168. package/dist/layout/PhaseBanner/docs/component.md +14 -14
  169. package/dist/layout/RelatedContent/RelatedContent.stories.svelte +36 -36
  170. package/dist/layout/RelatedContent/RelatedContent.svelte +54 -54
  171. package/dist/layout/RelatedContent/docs/component.md +16 -16
  172. package/dist/layout/Scroller/Scroller.stories.svelte +60 -60
  173. package/dist/layout/Scroller/Scroller.svelte +368 -368
  174. package/dist/layout/Scroller/ScrollerSection.svelte +70 -70
  175. package/dist/layout/Scroller/docs/component.md +39 -39
  176. package/dist/layout/Section/Section.stories.svelte +33 -33
  177. package/dist/layout/Section/Section.svelte +60 -60
  178. package/dist/layout/Section/docs/component.md +12 -12
  179. package/dist/layout/ShareButtons/ShareButtons.stories.svelte +20 -20
  180. package/dist/layout/ShareButtons/ShareButtons.svelte +131 -131
  181. package/dist/layout/ShareButtons/docs/component.md +14 -14
  182. package/dist/layout/SkipLink/SkipLink.stories.svelte +16 -16
  183. package/dist/layout/SkipLink/SkipLink.svelte +9 -9
  184. package/dist/layout/SkipLink/docs/component.md +11 -11
  185. package/dist/layout/Summary/Summary.stories.svelte +21 -21
  186. package/dist/layout/Summary/Summary.svelte +60 -60
  187. package/dist/layout/Summary/docs/component.md +17 -17
  188. package/dist/layout/Tabs/Tab.svelte +53 -53
  189. package/dist/layout/Tabs/Tabs.stories.svelte +29 -29
  190. package/dist/layout/Tabs/Tabs.svelte +89 -89
  191. package/dist/layout/Tabs/docs/component.md +16 -16
  192. package/dist/layout/Tabs/tabs.js +302 -302
  193. package/dist/layout/Timeline/Timeline.stories.svelte +44 -44
  194. package/dist/layout/Timeline/Timeline.svelte +17 -17
  195. package/dist/layout/Timeline/TimelineItem.svelte +14 -14
  196. package/dist/layout/Timeline/docs/component.md +27 -27
  197. package/dist/layout/Timeline/docs/example.md +20 -20
  198. package/dist/templates/EmbedArticle/EmbedArticle.stories.svelte +72 -72
  199. package/dist/templates/EmbedArticle/docs/component.md +56 -56
  200. package/dist/templates/FeatureArticle/FeatureArticle.stories.svelte +150 -150
  201. package/dist/templates/FeatureArticle/docs/component.md +125 -125
  202. package/dist/templates/StandardArticle/StandardArticle.stories.svelte +86 -86
  203. package/dist/templates/StandardArticle/docs/component.md +76 -76
  204. package/dist/templates/intro.mdx +18 -18
  205. package/dist/wrappers/Container/Container.stories.svelte +38 -38
  206. package/dist/wrappers/Container/Container.svelte +77 -77
  207. package/dist/wrappers/Container/docs/component.md +12 -12
  208. package/dist/wrappers/Embed/Embed.stories.svelte +24 -24
  209. package/dist/wrappers/Embed/Embed.svelte +44 -44
  210. package/dist/wrappers/Embed/docs/component.md +15 -15
  211. package/dist/wrappers/LazyLoad/LazyLoad.stories.svelte +37 -37
  212. package/dist/wrappers/LazyLoad/LazyLoad.svelte +50 -50
  213. package/dist/wrappers/LazyLoad/docs/component.md +29 -29
  214. package/dist/wrappers/Main/Main.stories.svelte +24 -24
  215. package/dist/wrappers/Main/Main.svelte +11 -11
  216. package/dist/wrappers/Main/docs/component.md +16 -16
  217. package/dist/wrappers/Observe/Observe.stories.svelte +29 -29
  218. package/dist/wrappers/Observe/Observe.svelte +40 -40
  219. package/dist/wrappers/Observe/docs/component.md +22 -22
  220. package/dist/wrappers/Theme/Theme.stories.svelte +70 -70
  221. package/dist/wrappers/Theme/Theme.svelte +76 -76
  222. package/dist/wrappers/Theme/docs/component.md +10 -10
  223. package/dist/wrappers/Theme/themes.js +70 -70
  224. package/package.json +88 -88
@@ -1,366 +1,366 @@
1
- <script>
2
- import { onMount, getContext } from "svelte";
3
- import Theme from "../../wrappers/Theme/Theme.svelte";
4
-
5
- const page = getContext("page");
6
-
7
- /**
8
- * Display compact header without menus
9
- * @type {boolean}
10
- */
11
- export let compact = false;
12
- /**
13
- * Sets a predefined theme
14
- * @type {"light"|"dark"|"paleblue"|"blue"|"navyblue"|"grey"|null}
15
- */
16
- export let theme = null;
17
- /**
18
- * Define additional props to override the base theme
19
- * @type {object}
20
- */
21
- export let themeOverrides = {};
22
-
23
- let lang = "en";
24
- let baseurl = "https://www.ons.gov.uk";
25
- let path = "";
26
-
27
- const texts = {
28
- "Footer links": "",
29
- Help: "Cymorth",
30
- Accessibility: "Hygyrchedd",
31
- Cookies: "Cwcis",
32
- Privacy: "Preifatrwydd",
33
- "Terms and conditions": "Telerau ac amodau",
34
- "About ONS": "Ynglŷn ag SYG",
35
- "What we do": "Beth rydym yn ei wneud",
36
- Careers: "Gyrfaoedd",
37
- "Contact us": "Cysylltu â ni",
38
- News: "Newyddion",
39
- "Freedom of Information": "Rhyddid Gwybodaeth",
40
- "Connect with us": "Cysylltu â ni",
41
- Consultations: "Ymgynghoriadau",
42
- "Discussion forums": "Fforymau trafod",
43
- "Email alerts": "Rhybuddion ebost",
44
- "All content is available under the": "Mae'r holl gynnwys ar gael o dan delerau'r",
45
- "Open Government Licence v3.0": "Drwydded Llywodraeth Agored v3.0",
46
- "except where otherwise stated": "ac eithrio lle y nodir fel arall"
47
- };
48
-
49
- $: i18n = (text) => (lang === "cy" && texts[text] ? texts[text] : text);
50
-
51
- function setPaths() {
52
- const url = page?.url || document.location;
53
- lang = url.host.startsWith("cy") ? "cy" : "en";
54
- baseurl = lang === "cy" ? "https://cy.ons.gov.uk" : "https://www.ons.gov.uk";
55
- path = url.pathname;
56
- }
57
- onMount(setPaths);
58
- </script>
59
-
60
- <Theme {theme} overrides={themeOverrides}>
61
- <footer class="ons-footer">
62
- <div class="ons-footer__body" data-analytics="footer">
63
- <div class="ons-container">
64
- {#if !compact}
65
- <div class="ons-grid">
66
- <div class="ons-grid__col ons-col-4@m">
67
- <h2 class="ons-footer__heading ons-u-fs-r--b">{i18n("Help")}</h2>
68
- <ul class="ons-list ons-u-mb-no ons-list--bare">
69
- <li class="ons-list__item">
70
- <a href="{baseurl}/help/accessibility" class="ons-list__link"
71
- >{i18n("Accessibility")}</a
72
- >
73
- </li>
74
- <li class="ons-list__item">
75
- <a href="{baseurl}/manage-cookie-settings/" class="ons-list__link"
76
- >{i18n("Cookies")}</a
77
- >
78
- </li>
79
- <li class="ons-list__item">
80
- <a href="{baseurl}/help/privacynotice" class="ons-list__link">{i18n("Privacy")}</a
81
- >
82
- </li>
83
- <li class="ons-list__item">
84
- <a href="{baseurl}/help/termsandconditions" class="ons-list__link"
85
- >{i18n("Terms and conditions")}</a
86
- >
87
- </li>
88
- </ul>
89
- </div>
90
- <!-- Full footer columns -->
91
- <div class="ons-grid__col ons-col-4@m ons-u-mt-l@2xs@m">
92
- <h2 class="ons-footer__heading ons-u-fs-r--b">{i18n("About ONS")}</h2>
93
- <ul class="ons-list ons-u-mb-no ons-list--bare">
94
- <li class="ons-list__item">
95
- <a href="{baseurl}/aboutus/whatwedo" class="ons-list__link"
96
- >{i18n("What we do")}</a
97
- >
98
- </li>
99
- <li class="ons-list__item">
100
- <a href="https://careers.ons.gov.uk" class="ons-list__link">{i18n("Careers")}</a>
101
- </li>
102
- <li class="ons-list__item">
103
- <a href="{baseurl}/aboutus/contactus" class="ons-list__link"
104
- >{i18n("Contact us")}</a
105
- >
106
- </li>
107
- <li class="ons-list__item">
108
- <a href="{baseurl}/news" class="ons-list__link">{i18n("News")}</a>
109
- </li>
110
- <li class="ons-list__item">
111
- <a
112
- href="{baseurl}/aboutus/transparencyandgovernance/freedomofinformationfoi"
113
- class="ons-list__link">{i18n("Freedom of information")}</a
114
- >
115
- </li>
116
- </ul>
117
- </div>
118
- <!-- Full footer columns -->
119
- <div class="ons-grid__col ons-col-4@m ons-u-mt-l@2xs@m">
120
- <h2 class="ons-footer__heading ons-u-fs-r--b">{i18n("Connect with us")}</h2>
121
- <ul class="ons-list ons-u-mb-no ons-list--bare">
122
- <li class="ons-list__item">
123
- <a href="https://x.com/ONS" class="ons-list__link">{i18n("X")}</a>
124
- </li>
125
- <li class="ons-list__item">
126
- <a
127
- href="https://www.instagram.com/officefornationalstatistics/"
128
- class="ons-list__link">{i18n("Instagram")}</a
129
- >
130
- </li>
131
- <li class="ons-list__item">
132
- <a href="https://www.facebook.com/ONS" class="ons-list__link"
133
- >{i18n("Facebook")}</a
134
- >
135
- </li>
136
- <li class="ons-list__item">
137
- <a
138
- href="https://www.linkedin.com/company/office-for-national-statistics"
139
- class="ons-list__link">{i18n("Linkedin")}</a
140
- >
141
- </li>
142
- <li class="ons-list__item">
143
- <a href="https://consultations.ons.gov.uk/" class="ons-list__link"
144
- >{i18n("Consultations")}</a
145
- >
146
- </li>
147
- <li class="ons-list__item">
148
- <a href="https://www.statsusernetwork.ons.gov.uk/" class="ons-list__link"
149
- >{i18n("Discussion forums")}</a
150
- >
151
- </li>
152
- <li class="ons-list__item">
153
- <a
154
- href="https://public.govdelivery.com/accounts/UKONS/subscribers/new"
155
- class="ons-list__link">{i18n("Email alerts")}</a
156
- >
157
- </li>
158
- </ul>
159
- </div>
160
- <div class="ons-grid__col ons-u-mb-l">
161
- <hr class="ons-footer__hr" />
162
- </div>
163
- </div>
164
- {/if}
165
- <div class="ons-grid ons-grid-flex--vertical-top ons-grid-flex--between">
166
- <div class="ons-grid__col">
167
- {#if compact}
168
- <!-- Legal -->
169
- <ul class="ons-list ons-u-mb-s ons-footer--rows ons-list--bare ons-list--inline">
170
- <li class="ons-list__item">
171
- <a href="{baseurl}/help/accessibility" class="ons-list__link"
172
- >{i18n("Accessibility")}</a
173
- >
174
- </li>
175
- <li class="ons-list__item">
176
- <a href="{baseurl}/cookies" class="ons-list__link">{i18n("Cookies")}</a>
177
- </li>
178
- <li class="ons-list__item">
179
- <a href="{baseurl}/help/privacynotice" class="ons-list__link">{i18n("Privacy")}</a
180
- >
181
- </li>
182
- <li class="ons-list__item">
183
- <a href="{baseurl}/help/termsandconditions" class="ons-list__link"
184
- >{i18n("Terms and conditions")}</a
185
- >
186
- </li>
187
- </ul>
188
- {/if}
189
- <!-- OGL -->
190
- <div class="ons-footer__license ons-u-mb-l">
191
- <svg
192
- class="ons-footer__ogl-img"
193
- xmlns="http://www.w3.org/2000/svg"
194
- width="50px"
195
- height="20px"
196
- viewBox="0 0 60 24"
197
- focusable="false"
198
- aria-hidden="true"
199
- role="img"
200
- >
201
- <title>Open Government License logo</title>
202
- <path
203
- d="M51.7,17.5V0l-6.2,4v19.8h13.8v-6.2H51.7z M36.7,16.3c-1,0.9-2.4,1.4-3.8,1.4c-3.2,0-5.8-2.6-5.8-5.8s2.6-5.8,5.8-5.8c2,0,3.9,1.1,4.9,2.7L43,5.6C40.9,2.2,37.1,0,32.9,0c-4.5,0-8.4,2.5-10.4,6.1C20.4,2.5,16.5,0,12,0C5.4,0,0,5.4,0,12s5.4,12,12,12c4.5,0,8.4-2.5,10.4-6.1c2.1,3.6,6,6.1,10.4,6.1c3,0,5.8-1.1,7.9-3l2.4,2.7h0.4V13h-9.8L36.7,16.3zM12,17.8c-3.2,0-5.8-2.6-5.8-5.8S8.8,6.2,12,6.2s5.8,2.6,5.8,5.8S15.2,17.8,12,17.8"
204
- fill="var(--ons-color-text-light)"
205
- ></path>
206
- </svg>
207
- {i18n("All content is available under the")}
208
- <a
209
- href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
210
- class="ons-external-link"
211
- target="_blank"
212
- rel="noopener"
213
- >
214
- <span class="ons-external-link__text">{i18n("Open Government Licence v3.0")}</span
215
- ><span class="ons-external-link__icon"
216
- >&nbsp;<svg
217
- class="ons-icon"
218
- viewBox="0 0 12 12"
219
- xmlns="http://www.w3.org/2000/svg"
220
- focusable="false"
221
- aria-hidden="true"
222
- role="img"
223
- title="ons-icon-external-link"
224
- >
225
- <path
226
- d="M13.5,9H13a.5.5,0,0,0-.5.5v3h-9v-9h3A.5.5,0,0,0,7,3V2.5A.5.5,0,0,0,6.5,2h-4a.5.5,0,0,0-.5.5v11a.5.5,0,0,0,.5.5h11a.5.5,0,0,0,.5-.5v-4A.5.5,0,0,0,13.5,9Z"
227
- transform="translate(-2 -1.99)"
228
- ></path>
229
- <path
230
- d="M8.83,7.88a.51.51,0,0,0,.71,0l2.31-2.32,1.28,1.28A.51.51,0,0,0,14,6.49v-4a.52.52,0,0,0-.5-.5h-4A.51.51,0,0,0,9,2.52a.58.58,0,0,0,.14.33l1.28,1.28L8.12,6.46a.51.51,0,0,0,0,.71Z"
231
- transform="translate(-2 -1.99)"
232
- ></path>
233
- </svg></span
234
- ><span class="ons-external-link__new-window-description ons-u-vh"
235
- >({i18n("opens in a new tab")})</span
236
- ></a
237
- >
238
- , {i18n("except where otherwise stated")}
239
- </div>
240
-
241
- <div
242
- class="ons-footer__logo-container ons-u-mb-l ons-grid-flex ons-grid-flex--vertical-top"
243
- >
244
- <a class="ons-footer__logo-link" href={baseurl}>
245
- <svg
246
- class="ons-icon--logo"
247
- xmlns="http://www.w3.org/2000/svg"
248
- width="250"
249
- height="24"
250
- viewBox="33 2 552 60"
251
- aria-labelledby="ons-logo-en-footer-alt"
252
- role="img"
253
- >
254
- <title id="ons-logo-en-footer-alt">
255
- {i18n("Office for National Statistics")}
256
- </title>
257
- <g class="ons-icon--logo__group ons-icon--logo__group--secondary" fill="#a8bd3a">
258
- <path
259
- d="M0,34.6c.8-1.69,1.39-3,2.32-4.6A38.28,38.28,0,0,1,0,23.4V34.6M5,3S0,3,0,9.25v1A62.12,62.12,0,0,0,4.2,27a43.77,43.77,0,0,1,9.42-10.79C21.69,9.21,31.16,5.13,45.9,3Z"
260
- ></path>
261
- </g>
262
- <g class="ons-icon--logo__group ons-icon--logo__group--primary" fill="#003c57">
263
- <path
264
- d="M53.06,6.42C36.2,8,24.68,12.92,16.43,20.07A41.46,41.46,0,0,0,6.4,32.2C12.87,44.93,28.88,57,46.6,57H47s6.32.21,6.32-6.91V6.36a1.22,1.22,0,0,1-.26.06M9.72,42.67a44.25,44.25,0,0,1-5-7.42A80.59,80.59,0,0,0,0,46.38V56.91L31.06,57c-9.83-3-15.74-7.64-21.34-14.3"
265
- ></path>
266
- </g>
267
- <g class="ons-icon--logo__group ons-icon--logo__group--text" fill="#003c57">
268
- <path
269
- d="M82,47.49c-9.07,0-13.13-7.51-13.13-16.77S72.91,14,82,14s13.1,7.61,13.1,16.77S91.1,47.54,82,47.54m0-30.91c-6.69,0-9.07,7.33-9.07,14.05s2.16,13.9,9.07,13.9,9-7.28,9-13.9-2.34-14-9-14"
270
- ></path>
271
- <path
272
- d="M106.36,23.81V46.88h-3.67V23.81H98.93V21.56h3.76V17.9c0-4.61,2.72-7.95,8.08-7.95.38,0,.86.05.86.05v2.35h-.43c-2.55,0-4.84,1.64-4.84,5.12v4.09h5.27v2.25Z"
273
- ></path>
274
- <path
275
- d="M121.53,23.81V46.88h-3.67V23.81H114.1V21.56h3.76V17.9c0-4.61,2.72-7.95,8.08-7.95.38,0,.86.05.86.05v2.35h-.43c-2.55,0-4.84,1.64-4.84,5.12v4.09h5.27v2.25Z"
276
- ></path>
277
- <path
278
- d="M132.85,16.72a2.28,2.28,0,0,1-2.33-2.23v0a2.34,2.34,0,0,1,4.67,0,2.28,2.28,0,0,1-2.3,2.26h0M131,21.56h3.71V46.88H131Z"
279
- ></path>
280
- <path
281
- d="M150.53,47.49c-6,0-10.63-5.16-10.63-13.29S144.52,21,150.66,21a9.76,9.76,0,0,1,6.17,1.74l-1,2.25a7.53,7.53,0,0,0-4.4-1.36c-5.15,0-7.78,4.46-7.78,10.48,0,6.2,3,10.62,7.65,10.62a8,8,0,0,0,4.49-1.37l1,2.45a10.21,10.21,0,0,1-6.3,1.73"
282
- ></path>
283
- <path
284
- d="M162.84,35.75c.48,6,3.76,9,8.9,9a14.66,14.66,0,0,0,6.88-1.55l1.08,2.59a18,18,0,0,1-8.22,1.73c-7.12,0-12.18-4.23-12.18-13.34,0-8.69,4.67-13.2,11-13.2s10.37,3.95,10.37,12.4Zm7.35-12.41c-4.1,0-7.56,3.2-7.52,10.29l14.39-2c0-5.87-2.81-8.32-6.87-8.32"
285
- ></path>
286
- <path
287
- d="M198.57,23.81V46.88H194.9V23.81h-3.76V21.56h3.76V17.9c0-4.61,2.72-7.95,8.08-7.95.39,0,.87.05.87.05v2.35h-.44c-2.54,0-4.84,1.64-4.84,5.12v4.09h5.28v2.25Z"
288
- ></path>
289
- <path
290
- d="M217.28,47.49c-7.47,0-10.89-5.78-10.89-13.24S209.81,21,217.28,21s10.85,5.82,10.85,13.3-3.37,13.24-10.85,13.24m0-24c-5.53,0-7.13,5.59-7.13,10.81s1.73,10.56,7.13,10.56,7.13-5.35,7.13-10.56-1.6-10.81-7.13-10.81"
291
- ></path>
292
- <path
293
- d="M244.08,23.91c-2.34-.61-5.75-.52-7.35.47v22.5H233V22.69c2.67-1.13,5.36-1.74,10.11-1.74H245Z"
294
- ></path>
295
- <path
296
- d="M277.42,47.13,263.07,25a32.2,32.2,0,0,1-1.85-3.29h-.09s.13,1.88.13,3.85V47.13h-4.71V14.8h5.31l13.61,20.82A28.76,28.76,0,0,1,277.38,39h.08s-.17-1.84-.17-3.77V14.8H282V47.13Z"
297
- ></path>
298
- <path
299
- d="M297.52,47.79c-7.43,0-10.93-3-10.93-7.81,0-6.8,7.12-8.64,15.59-9.39V29.13c0-3.47-2.37-4.51-5.83-4.51a18,18,0,0,0-6.87,1.46L288.23,23a24,24,0,0,1,9.12-1.83c5.61,0,9.93,2.3,9.93,8.78V46a22.71,22.71,0,0,1-9.76,1.83m4.66-14.67c-6.26.67-10.45,1.84-10.45,6.73,0,3.42,2.42,4.88,6.22,4.88a10.09,10.09,0,0,0,4.23-.84Z"
300
- ></path>
301
- <path
302
- d="M322,47.69c-5.31,0-7.34-3.43-7.34-6.86V25.09h-3.55V21.81h3.55V16.12l5.4-1.5v7.19H325v3.28h-5V40.55a3.26,3.26,0,0,0,3,3.52h.5a5.5,5.5,0,0,0,1.46-.23v3.33a7.69,7.69,0,0,1-3,.52"
303
- ></path>
304
- <path
305
- d="M331.91,17.43a3,3,0,0,1-3.15-2.81,3.17,3.17,0,0,1,6.31,0,3,3,0,0,1-3.16,2.81m-2.72,4.38h5.44V47.13h-5.44Z"
306
- ></path>
307
- <path
308
- d="M350.88,47.79c-7.73,0-11.57-5.74-11.57-13.3s3.84-13.34,11.57-13.34,11.54,5.78,11.54,13.34-3.8,13.3-11.54,13.3m0-23.17c-4.66,0-6.05,4.89-6.05,9.82s1.47,9.63,6.05,9.63,6.05-4.7,6.05-9.63-1.38-9.82-6.05-9.82"
309
- ></path>
310
- <path
311
- d="M382.52,47.13V29c0-3.24-2.77-4.47-5.88-4.47a12.3,12.3,0,0,0-4.37.76v21.8h-5.39V23a26.81,26.81,0,0,1,10.06-1.83c6.61,0,11,2.25,11,7.8V47.13Z"
312
- ></path>
313
- <path
314
- d="M403.18,47.79c-7.43,0-10.94-3-10.94-7.81,0-6.8,7.13-8.64,15.6-9.39V29.13c0-3.47-2.37-4.51-5.83-4.51a18,18,0,0,0-6.87,1.46L393.89,23A24,24,0,0,1,403,21.15c5.62,0,9.94,2.3,9.94,8.78V46a22.71,22.71,0,0,1-9.76,1.83m4.66-14.67c-6.27.67-10.46,1.84-10.46,6.73,0,3.42,2.43,4.88,6.23,4.88a10.09,10.09,0,0,0,4.23-.84Z"
315
- ></path>
316
- <polygon
317
- points="418.52 47.13 418.52 34.91 418.52 10.25 423.92 10.25 423.92 22.76 423.92 47.13 418.52 47.13"
318
- ></polygon>
319
- <path
320
- d="M445.39,47.79A19.11,19.11,0,0,1,436.58,46l1.51-4a13.48,13.48,0,0,0,6.22,1.55c3.76,0,6.44-2.21,6.44-5.41,0-7.09-13.44-4.36-13.44-14.42,0-5.13,4.15-9.59,10.72-9.59A15.82,15.82,0,0,1,455.8,16l-1.38,3.52a11.93,11.93,0,0,0-5.66-1.5c-3.5,0-5.79,2.11-5.79,5.12,0,7,13.74,3.94,13.74,14.65,0,5.74-4.71,10-11.32,10"
321
- ></path>
322
- <path
323
- d="M470.41,47.69c-5.31,0-7.34-3.43-7.34-6.86V25.09h-3.54V21.81h3.54V16.12l5.4-1.5v7.19h4.92v3.28h-4.92V40.55a3.27,3.27,0,0,0,3,3.52h.48a5.12,5.12,0,0,0,1.46-.23v3.33a7.69,7.69,0,0,1-3,.52"
324
- ></path>
325
- <path
326
- d="M487.27,47.79c-7.44,0-10.93-3-10.93-7.81,0-6.8,7.13-8.64,15.6-9.39V29.13c0-3.47-2.38-4.51-5.84-4.51a18,18,0,0,0-6.87,1.46L478,23a23.94,23.94,0,0,1,9.11-1.83c5.62,0,9.94,2.3,9.94,8.78V46a22.71,22.71,0,0,1-9.76,1.83M492,33.16c-6.27.67-10.46,1.84-10.46,6.73,0,3.42,2.42,4.88,6.22,4.88a10,10,0,0,0,4.24-.84Z"
327
- ></path>
328
- <path
329
- d="M511.73,47.69c-5.32,0-7.35-3.43-7.35-6.86V25.09h-3.54V21.81h3.54V16.12l5.4-1.5v7.19h4.92v3.28h-4.92V40.55a3.26,3.26,0,0,0,3,3.52h.5a5.5,5.5,0,0,0,1.46-.23v3.33a7.69,7.69,0,0,1-3,.52"
330
- ></path>
331
- <path
332
- d="M521.66,17.43a3,3,0,0,1-3.15-2.81,3.17,3.17,0,0,1,6.31,0,3,3,0,0,1-3.16,2.81m-2.72,4.38h5.45V47.13h-5.45Z"
333
- ></path>
334
- <path
335
- d="M536.19,47.79A15.9,15.9,0,0,1,528.54,46L530,42.48a10.53,10.53,0,0,0,5.52,1.5c2.77,0,5-1.78,5-3.94,0-6-11.1-3.2-11.1-11.47,0-3.76,3.37-7.42,8.86-7.42A13.56,13.56,0,0,1,545.34,23l-1.42,3.14a8.47,8.47,0,0,0-4.62-1.45c-2.81,0-4.54,1.69-4.54,3.62,0,5.64,11.32,3.14,11.32,11.6,0,4-3.85,7.9-9.89,7.9"
336
- ></path>
337
- <path
338
- d="M559.83,47.69c-5.31,0-7.35-3.43-7.35-6.86V25.09h-3.54V21.81h3.54V16.12l5.4-1.5v7.19h4.93v3.28h-4.93V40.55a3.27,3.27,0,0,0,3,3.52h.48a5.64,5.64,0,0,0,1.47-.23v3.33a7.72,7.72,0,0,1-3,.52"
339
- ></path>
340
- <path
341
- d="M569.77,17.43a3,3,0,0,1-3.15-2.81,3.17,3.17,0,0,1,6.31,0,3,3,0,0,1-3.16,2.81m-2.72,4.38h5.44V47.13h-5.44Z"
342
- ></path>
343
- <path
344
- d="M588.14,47.79c-6.23,0-11-5.08-11-13.35s4.88-13.29,11-13.29A10.51,10.51,0,0,1,594.66,23l-1.21,3a6.87,6.87,0,0,0-4-1.22c-4.4,0-6.69,3.81-6.69,9.49s2.63,9.59,6.61,9.59a6.74,6.74,0,0,0,4-1.28L594.7,46c-1.12.94-3.33,1.84-6.56,1.84"
345
- ></path>
346
- <path
347
- d="M605.1,47.79A15.9,15.9,0,0,1,597.45,46l1.42-3.47A10.54,10.54,0,0,0,604.4,44c2.77,0,5-1.78,5-3.94,0-6-11.1-3.2-11.1-11.47,0-3.76,3.37-7.42,8.85-7.42a13.49,13.49,0,0,1,7.1,1.83l-1.42,3.14a8.42,8.42,0,0,0-4.63-1.45c-2.8,0-4.53,1.69-4.53,3.62,0,5.64,11.32,3.14,11.32,11.6,0,4-3.85,7.9-9.89,7.9"
348
- ></path>
349
- </g>
350
- </svg>
351
- </a>
352
- </div>
353
- </div>
354
- </div>
355
- </div>
356
- </div>
357
- </footer>
358
- </Theme>
359
-
360
- <style>
361
- /* Reassignment of variables for theming */
362
- .ons-footer .ons-icon,
363
- .ons-footer .ons-icon--logo__group {
364
- fill: var(--ons-color-text) !important;
365
- }
366
- </style>
1
+ <script>
2
+ import { onMount, getContext } from "svelte";
3
+ import Theme from "../../wrappers/Theme/Theme.svelte";
4
+
5
+ const page = getContext("page");
6
+
7
+ /**
8
+ * Display compact header without menus
9
+ * @type {boolean}
10
+ */
11
+ export let compact = false;
12
+ /**
13
+ * Sets a predefined theme
14
+ * @type {"light"|"dark"|"paleblue"|"blue"|"navyblue"|"grey"|null}
15
+ */
16
+ export let theme = null;
17
+ /**
18
+ * Define additional props to override the base theme
19
+ * @type {object}
20
+ */
21
+ export let themeOverrides = {};
22
+
23
+ let lang = "en";
24
+ let baseurl = "https://www.ons.gov.uk";
25
+ let path = "";
26
+
27
+ const texts = {
28
+ "Footer links": "",
29
+ Help: "Cymorth",
30
+ Accessibility: "Hygyrchedd",
31
+ Cookies: "Cwcis",
32
+ Privacy: "Preifatrwydd",
33
+ "Terms and conditions": "Telerau ac amodau",
34
+ "About ONS": "Ynglŷn ag SYG",
35
+ "What we do": "Beth rydym yn ei wneud",
36
+ Careers: "Gyrfaoedd",
37
+ "Contact us": "Cysylltu â ni",
38
+ News: "Newyddion",
39
+ "Freedom of Information": "Rhyddid Gwybodaeth",
40
+ "Connect with us": "Cysylltu â ni",
41
+ Consultations: "Ymgynghoriadau",
42
+ "Discussion forums": "Fforymau trafod",
43
+ "Email alerts": "Rhybuddion ebost",
44
+ "All content is available under the": "Mae'r holl gynnwys ar gael o dan delerau'r",
45
+ "Open Government Licence v3.0": "Drwydded Llywodraeth Agored v3.0",
46
+ "except where otherwise stated": "ac eithrio lle y nodir fel arall"
47
+ };
48
+
49
+ $: i18n = (text) => (lang === "cy" && texts[text] ? texts[text] : text);
50
+
51
+ function setPaths() {
52
+ const url = page?.url || document.location;
53
+ lang = url.host.startsWith("cy") ? "cy" : "en";
54
+ baseurl = lang === "cy" ? "https://cy.ons.gov.uk" : "https://www.ons.gov.uk";
55
+ path = url.pathname;
56
+ }
57
+ onMount(setPaths);
58
+ </script>
59
+
60
+ <Theme {theme} overrides={themeOverrides}>
61
+ <footer class="ons-footer">
62
+ <div class="ons-footer__body" data-analytics="footer">
63
+ <div class="ons-container">
64
+ {#if !compact}
65
+ <div class="ons-grid">
66
+ <div class="ons-grid__col ons-col-4@m">
67
+ <h2 class="ons-footer__heading ons-u-fs-r--b">{i18n("Help")}</h2>
68
+ <ul class="ons-list ons-u-mb-no ons-list--bare">
69
+ <li class="ons-list__item">
70
+ <a href="{baseurl}/help/accessibility" class="ons-list__link"
71
+ >{i18n("Accessibility")}</a
72
+ >
73
+ </li>
74
+ <li class="ons-list__item">
75
+ <a href="{baseurl}/manage-cookie-settings/" class="ons-list__link"
76
+ >{i18n("Cookies")}</a
77
+ >
78
+ </li>
79
+ <li class="ons-list__item">
80
+ <a href="{baseurl}/help/privacynotice" class="ons-list__link">{i18n("Privacy")}</a
81
+ >
82
+ </li>
83
+ <li class="ons-list__item">
84
+ <a href="{baseurl}/help/termsandconditions" class="ons-list__link"
85
+ >{i18n("Terms and conditions")}</a
86
+ >
87
+ </li>
88
+ </ul>
89
+ </div>
90
+ <!-- Full footer columns -->
91
+ <div class="ons-grid__col ons-col-4@m ons-u-mt-l@2xs@m">
92
+ <h2 class="ons-footer__heading ons-u-fs-r--b">{i18n("About ONS")}</h2>
93
+ <ul class="ons-list ons-u-mb-no ons-list--bare">
94
+ <li class="ons-list__item">
95
+ <a href="{baseurl}/aboutus/whatwedo" class="ons-list__link"
96
+ >{i18n("What we do")}</a
97
+ >
98
+ </li>
99
+ <li class="ons-list__item">
100
+ <a href="https://careers.ons.gov.uk" class="ons-list__link">{i18n("Careers")}</a>
101
+ </li>
102
+ <li class="ons-list__item">
103
+ <a href="{baseurl}/aboutus/contactus" class="ons-list__link"
104
+ >{i18n("Contact us")}</a
105
+ >
106
+ </li>
107
+ <li class="ons-list__item">
108
+ <a href="{baseurl}/news" class="ons-list__link">{i18n("News")}</a>
109
+ </li>
110
+ <li class="ons-list__item">
111
+ <a
112
+ href="{baseurl}/aboutus/transparencyandgovernance/freedomofinformationfoi"
113
+ class="ons-list__link">{i18n("Freedom of information")}</a
114
+ >
115
+ </li>
116
+ </ul>
117
+ </div>
118
+ <!-- Full footer columns -->
119
+ <div class="ons-grid__col ons-col-4@m ons-u-mt-l@2xs@m">
120
+ <h2 class="ons-footer__heading ons-u-fs-r--b">{i18n("Connect with us")}</h2>
121
+ <ul class="ons-list ons-u-mb-no ons-list--bare">
122
+ <li class="ons-list__item">
123
+ <a href="https://x.com/ONS" class="ons-list__link">{i18n("X")}</a>
124
+ </li>
125
+ <li class="ons-list__item">
126
+ <a
127
+ href="https://www.instagram.com/officefornationalstatistics/"
128
+ class="ons-list__link">{i18n("Instagram")}</a
129
+ >
130
+ </li>
131
+ <li class="ons-list__item">
132
+ <a href="https://www.facebook.com/ONS" class="ons-list__link"
133
+ >{i18n("Facebook")}</a
134
+ >
135
+ </li>
136
+ <li class="ons-list__item">
137
+ <a
138
+ href="https://www.linkedin.com/company/office-for-national-statistics"
139
+ class="ons-list__link">{i18n("Linkedin")}</a
140
+ >
141
+ </li>
142
+ <li class="ons-list__item">
143
+ <a href="https://consultations.ons.gov.uk/" class="ons-list__link"
144
+ >{i18n("Consultations")}</a
145
+ >
146
+ </li>
147
+ <li class="ons-list__item">
148
+ <a href="https://www.statsusernetwork.ons.gov.uk/" class="ons-list__link"
149
+ >{i18n("Discussion forums")}</a
150
+ >
151
+ </li>
152
+ <li class="ons-list__item">
153
+ <a
154
+ href="https://public.govdelivery.com/accounts/UKONS/subscribers/new"
155
+ class="ons-list__link">{i18n("Email alerts")}</a
156
+ >
157
+ </li>
158
+ </ul>
159
+ </div>
160
+ <div class="ons-grid__col ons-u-mb-l">
161
+ <hr class="ons-footer__hr" />
162
+ </div>
163
+ </div>
164
+ {/if}
165
+ <div class="ons-grid ons-grid-flex--vertical-top ons-grid-flex--between">
166
+ <div class="ons-grid__col">
167
+ {#if compact}
168
+ <!-- Legal -->
169
+ <ul class="ons-list ons-u-mb-s ons-footer--rows ons-list--bare ons-list--inline">
170
+ <li class="ons-list__item">
171
+ <a href="{baseurl}/help/accessibility" class="ons-list__link"
172
+ >{i18n("Accessibility")}</a
173
+ >
174
+ </li>
175
+ <li class="ons-list__item">
176
+ <a href="{baseurl}/cookies" class="ons-list__link">{i18n("Cookies")}</a>
177
+ </li>
178
+ <li class="ons-list__item">
179
+ <a href="{baseurl}/help/privacynotice" class="ons-list__link">{i18n("Privacy")}</a
180
+ >
181
+ </li>
182
+ <li class="ons-list__item">
183
+ <a href="{baseurl}/help/termsandconditions" class="ons-list__link"
184
+ >{i18n("Terms and conditions")}</a
185
+ >
186
+ </li>
187
+ </ul>
188
+ {/if}
189
+ <!-- OGL -->
190
+ <div class="ons-footer__license ons-u-mb-l">
191
+ <svg
192
+ class="ons-footer__ogl-img"
193
+ xmlns="http://www.w3.org/2000/svg"
194
+ width="50px"
195
+ height="20px"
196
+ viewBox="0 0 60 24"
197
+ focusable="false"
198
+ aria-hidden="true"
199
+ role="img"
200
+ >
201
+ <title>Open Government License logo</title>
202
+ <path
203
+ d="M51.7,17.5V0l-6.2,4v19.8h13.8v-6.2H51.7z M36.7,16.3c-1,0.9-2.4,1.4-3.8,1.4c-3.2,0-5.8-2.6-5.8-5.8s2.6-5.8,5.8-5.8c2,0,3.9,1.1,4.9,2.7L43,5.6C40.9,2.2,37.1,0,32.9,0c-4.5,0-8.4,2.5-10.4,6.1C20.4,2.5,16.5,0,12,0C5.4,0,0,5.4,0,12s5.4,12,12,12c4.5,0,8.4-2.5,10.4-6.1c2.1,3.6,6,6.1,10.4,6.1c3,0,5.8-1.1,7.9-3l2.4,2.7h0.4V13h-9.8L36.7,16.3zM12,17.8c-3.2,0-5.8-2.6-5.8-5.8S8.8,6.2,12,6.2s5.8,2.6,5.8,5.8S15.2,17.8,12,17.8"
204
+ fill="var(--ons-color-text-light)"
205
+ ></path>
206
+ </svg>
207
+ {i18n("All content is available under the")}
208
+ <a
209
+ href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
210
+ class="ons-external-link"
211
+ target="_blank"
212
+ rel="noopener"
213
+ >
214
+ <span class="ons-external-link__text">{i18n("Open Government Licence v3.0")}</span
215
+ ><span class="ons-external-link__icon"
216
+ >&nbsp;<svg
217
+ class="ons-icon"
218
+ viewBox="0 0 12 12"
219
+ xmlns="http://www.w3.org/2000/svg"
220
+ focusable="false"
221
+ aria-hidden="true"
222
+ role="img"
223
+ title="ons-icon-external-link"
224
+ >
225
+ <path
226
+ d="M13.5,9H13a.5.5,0,0,0-.5.5v3h-9v-9h3A.5.5,0,0,0,7,3V2.5A.5.5,0,0,0,6.5,2h-4a.5.5,0,0,0-.5.5v11a.5.5,0,0,0,.5.5h11a.5.5,0,0,0,.5-.5v-4A.5.5,0,0,0,13.5,9Z"
227
+ transform="translate(-2 -1.99)"
228
+ ></path>
229
+ <path
230
+ d="M8.83,7.88a.51.51,0,0,0,.71,0l2.31-2.32,1.28,1.28A.51.51,0,0,0,14,6.49v-4a.52.52,0,0,0-.5-.5h-4A.51.51,0,0,0,9,2.52a.58.58,0,0,0,.14.33l1.28,1.28L8.12,6.46a.51.51,0,0,0,0,.71Z"
231
+ transform="translate(-2 -1.99)"
232
+ ></path>
233
+ </svg></span
234
+ ><span class="ons-external-link__new-window-description ons-u-vh"
235
+ >({i18n("opens in a new tab")})</span
236
+ ></a
237
+ >
238
+ , {i18n("except where otherwise stated")}
239
+ </div>
240
+
241
+ <div
242
+ class="ons-footer__logo-container ons-u-mb-l ons-grid-flex ons-grid-flex--vertical-top"
243
+ >
244
+ <a class="ons-footer__logo-link" href={baseurl}>
245
+ <svg
246
+ class="ons-icon--logo"
247
+ xmlns="http://www.w3.org/2000/svg"
248
+ width="250"
249
+ height="24"
250
+ viewBox="33 2 552 60"
251
+ aria-labelledby="ons-logo-en-footer-alt"
252
+ role="img"
253
+ >
254
+ <title id="ons-logo-en-footer-alt">
255
+ {i18n("Office for National Statistics")}
256
+ </title>
257
+ <g class="ons-icon--logo__group ons-icon--logo__group--secondary" fill="#a8bd3a">
258
+ <path
259
+ d="M0,34.6c.8-1.69,1.39-3,2.32-4.6A38.28,38.28,0,0,1,0,23.4V34.6M5,3S0,3,0,9.25v1A62.12,62.12,0,0,0,4.2,27a43.77,43.77,0,0,1,9.42-10.79C21.69,9.21,31.16,5.13,45.9,3Z"
260
+ ></path>
261
+ </g>
262
+ <g class="ons-icon--logo__group ons-icon--logo__group--primary" fill="#003c57">
263
+ <path
264
+ d="M53.06,6.42C36.2,8,24.68,12.92,16.43,20.07A41.46,41.46,0,0,0,6.4,32.2C12.87,44.93,28.88,57,46.6,57H47s6.32.21,6.32-6.91V6.36a1.22,1.22,0,0,1-.26.06M9.72,42.67a44.25,44.25,0,0,1-5-7.42A80.59,80.59,0,0,0,0,46.38V56.91L31.06,57c-9.83-3-15.74-7.64-21.34-14.3"
265
+ ></path>
266
+ </g>
267
+ <g class="ons-icon--logo__group ons-icon--logo__group--text" fill="#003c57">
268
+ <path
269
+ d="M82,47.49c-9.07,0-13.13-7.51-13.13-16.77S72.91,14,82,14s13.1,7.61,13.1,16.77S91.1,47.54,82,47.54m0-30.91c-6.69,0-9.07,7.33-9.07,14.05s2.16,13.9,9.07,13.9,9-7.28,9-13.9-2.34-14-9-14"
270
+ ></path>
271
+ <path
272
+ d="M106.36,23.81V46.88h-3.67V23.81H98.93V21.56h3.76V17.9c0-4.61,2.72-7.95,8.08-7.95.38,0,.86.05.86.05v2.35h-.43c-2.55,0-4.84,1.64-4.84,5.12v4.09h5.27v2.25Z"
273
+ ></path>
274
+ <path
275
+ d="M121.53,23.81V46.88h-3.67V23.81H114.1V21.56h3.76V17.9c0-4.61,2.72-7.95,8.08-7.95.38,0,.86.05.86.05v2.35h-.43c-2.55,0-4.84,1.64-4.84,5.12v4.09h5.27v2.25Z"
276
+ ></path>
277
+ <path
278
+ d="M132.85,16.72a2.28,2.28,0,0,1-2.33-2.23v0a2.34,2.34,0,0,1,4.67,0,2.28,2.28,0,0,1-2.3,2.26h0M131,21.56h3.71V46.88H131Z"
279
+ ></path>
280
+ <path
281
+ d="M150.53,47.49c-6,0-10.63-5.16-10.63-13.29S144.52,21,150.66,21a9.76,9.76,0,0,1,6.17,1.74l-1,2.25a7.53,7.53,0,0,0-4.4-1.36c-5.15,0-7.78,4.46-7.78,10.48,0,6.2,3,10.62,7.65,10.62a8,8,0,0,0,4.49-1.37l1,2.45a10.21,10.21,0,0,1-6.3,1.73"
282
+ ></path>
283
+ <path
284
+ d="M162.84,35.75c.48,6,3.76,9,8.9,9a14.66,14.66,0,0,0,6.88-1.55l1.08,2.59a18,18,0,0,1-8.22,1.73c-7.12,0-12.18-4.23-12.18-13.34,0-8.69,4.67-13.2,11-13.2s10.37,3.95,10.37,12.4Zm7.35-12.41c-4.1,0-7.56,3.2-7.52,10.29l14.39-2c0-5.87-2.81-8.32-6.87-8.32"
285
+ ></path>
286
+ <path
287
+ d="M198.57,23.81V46.88H194.9V23.81h-3.76V21.56h3.76V17.9c0-4.61,2.72-7.95,8.08-7.95.39,0,.87.05.87.05v2.35h-.44c-2.54,0-4.84,1.64-4.84,5.12v4.09h5.28v2.25Z"
288
+ ></path>
289
+ <path
290
+ d="M217.28,47.49c-7.47,0-10.89-5.78-10.89-13.24S209.81,21,217.28,21s10.85,5.82,10.85,13.3-3.37,13.24-10.85,13.24m0-24c-5.53,0-7.13,5.59-7.13,10.81s1.73,10.56,7.13,10.56,7.13-5.35,7.13-10.56-1.6-10.81-7.13-10.81"
291
+ ></path>
292
+ <path
293
+ d="M244.08,23.91c-2.34-.61-5.75-.52-7.35.47v22.5H233V22.69c2.67-1.13,5.36-1.74,10.11-1.74H245Z"
294
+ ></path>
295
+ <path
296
+ d="M277.42,47.13,263.07,25a32.2,32.2,0,0,1-1.85-3.29h-.09s.13,1.88.13,3.85V47.13h-4.71V14.8h5.31l13.61,20.82A28.76,28.76,0,0,1,277.38,39h.08s-.17-1.84-.17-3.77V14.8H282V47.13Z"
297
+ ></path>
298
+ <path
299
+ d="M297.52,47.79c-7.43,0-10.93-3-10.93-7.81,0-6.8,7.12-8.64,15.59-9.39V29.13c0-3.47-2.37-4.51-5.83-4.51a18,18,0,0,0-6.87,1.46L288.23,23a24,24,0,0,1,9.12-1.83c5.61,0,9.93,2.3,9.93,8.78V46a22.71,22.71,0,0,1-9.76,1.83m4.66-14.67c-6.26.67-10.45,1.84-10.45,6.73,0,3.42,2.42,4.88,6.22,4.88a10.09,10.09,0,0,0,4.23-.84Z"
300
+ ></path>
301
+ <path
302
+ d="M322,47.69c-5.31,0-7.34-3.43-7.34-6.86V25.09h-3.55V21.81h3.55V16.12l5.4-1.5v7.19H325v3.28h-5V40.55a3.26,3.26,0,0,0,3,3.52h.5a5.5,5.5,0,0,0,1.46-.23v3.33a7.69,7.69,0,0,1-3,.52"
303
+ ></path>
304
+ <path
305
+ d="M331.91,17.43a3,3,0,0,1-3.15-2.81,3.17,3.17,0,0,1,6.31,0,3,3,0,0,1-3.16,2.81m-2.72,4.38h5.44V47.13h-5.44Z"
306
+ ></path>
307
+ <path
308
+ d="M350.88,47.79c-7.73,0-11.57-5.74-11.57-13.3s3.84-13.34,11.57-13.34,11.54,5.78,11.54,13.34-3.8,13.3-11.54,13.3m0-23.17c-4.66,0-6.05,4.89-6.05,9.82s1.47,9.63,6.05,9.63,6.05-4.7,6.05-9.63-1.38-9.82-6.05-9.82"
309
+ ></path>
310
+ <path
311
+ d="M382.52,47.13V29c0-3.24-2.77-4.47-5.88-4.47a12.3,12.3,0,0,0-4.37.76v21.8h-5.39V23a26.81,26.81,0,0,1,10.06-1.83c6.61,0,11,2.25,11,7.8V47.13Z"
312
+ ></path>
313
+ <path
314
+ d="M403.18,47.79c-7.43,0-10.94-3-10.94-7.81,0-6.8,7.13-8.64,15.6-9.39V29.13c0-3.47-2.37-4.51-5.83-4.51a18,18,0,0,0-6.87,1.46L393.89,23A24,24,0,0,1,403,21.15c5.62,0,9.94,2.3,9.94,8.78V46a22.71,22.71,0,0,1-9.76,1.83m4.66-14.67c-6.27.67-10.46,1.84-10.46,6.73,0,3.42,2.43,4.88,6.23,4.88a10.09,10.09,0,0,0,4.23-.84Z"
315
+ ></path>
316
+ <polygon
317
+ points="418.52 47.13 418.52 34.91 418.52 10.25 423.92 10.25 423.92 22.76 423.92 47.13 418.52 47.13"
318
+ ></polygon>
319
+ <path
320
+ d="M445.39,47.79A19.11,19.11,0,0,1,436.58,46l1.51-4a13.48,13.48,0,0,0,6.22,1.55c3.76,0,6.44-2.21,6.44-5.41,0-7.09-13.44-4.36-13.44-14.42,0-5.13,4.15-9.59,10.72-9.59A15.82,15.82,0,0,1,455.8,16l-1.38,3.52a11.93,11.93,0,0,0-5.66-1.5c-3.5,0-5.79,2.11-5.79,5.12,0,7,13.74,3.94,13.74,14.65,0,5.74-4.71,10-11.32,10"
321
+ ></path>
322
+ <path
323
+ d="M470.41,47.69c-5.31,0-7.34-3.43-7.34-6.86V25.09h-3.54V21.81h3.54V16.12l5.4-1.5v7.19h4.92v3.28h-4.92V40.55a3.27,3.27,0,0,0,3,3.52h.48a5.12,5.12,0,0,0,1.46-.23v3.33a7.69,7.69,0,0,1-3,.52"
324
+ ></path>
325
+ <path
326
+ d="M487.27,47.79c-7.44,0-10.93-3-10.93-7.81,0-6.8,7.13-8.64,15.6-9.39V29.13c0-3.47-2.38-4.51-5.84-4.51a18,18,0,0,0-6.87,1.46L478,23a23.94,23.94,0,0,1,9.11-1.83c5.62,0,9.94,2.3,9.94,8.78V46a22.71,22.71,0,0,1-9.76,1.83M492,33.16c-6.27.67-10.46,1.84-10.46,6.73,0,3.42,2.42,4.88,6.22,4.88a10,10,0,0,0,4.24-.84Z"
327
+ ></path>
328
+ <path
329
+ d="M511.73,47.69c-5.32,0-7.35-3.43-7.35-6.86V25.09h-3.54V21.81h3.54V16.12l5.4-1.5v7.19h4.92v3.28h-4.92V40.55a3.26,3.26,0,0,0,3,3.52h.5a5.5,5.5,0,0,0,1.46-.23v3.33a7.69,7.69,0,0,1-3,.52"
330
+ ></path>
331
+ <path
332
+ d="M521.66,17.43a3,3,0,0,1-3.15-2.81,3.17,3.17,0,0,1,6.31,0,3,3,0,0,1-3.16,2.81m-2.72,4.38h5.45V47.13h-5.45Z"
333
+ ></path>
334
+ <path
335
+ d="M536.19,47.79A15.9,15.9,0,0,1,528.54,46L530,42.48a10.53,10.53,0,0,0,5.52,1.5c2.77,0,5-1.78,5-3.94,0-6-11.1-3.2-11.1-11.47,0-3.76,3.37-7.42,8.86-7.42A13.56,13.56,0,0,1,545.34,23l-1.42,3.14a8.47,8.47,0,0,0-4.62-1.45c-2.81,0-4.54,1.69-4.54,3.62,0,5.64,11.32,3.14,11.32,11.6,0,4-3.85,7.9-9.89,7.9"
336
+ ></path>
337
+ <path
338
+ d="M559.83,47.69c-5.31,0-7.35-3.43-7.35-6.86V25.09h-3.54V21.81h3.54V16.12l5.4-1.5v7.19h4.93v3.28h-4.93V40.55a3.27,3.27,0,0,0,3,3.52h.48a5.64,5.64,0,0,0,1.47-.23v3.33a7.72,7.72,0,0,1-3,.52"
339
+ ></path>
340
+ <path
341
+ d="M569.77,17.43a3,3,0,0,1-3.15-2.81,3.17,3.17,0,0,1,6.31,0,3,3,0,0,1-3.16,2.81m-2.72,4.38h5.44V47.13h-5.44Z"
342
+ ></path>
343
+ <path
344
+ d="M588.14,47.79c-6.23,0-11-5.08-11-13.35s4.88-13.29,11-13.29A10.51,10.51,0,0,1,594.66,23l-1.21,3a6.87,6.87,0,0,0-4-1.22c-4.4,0-6.69,3.81-6.69,9.49s2.63,9.59,6.61,9.59a6.74,6.74,0,0,0,4-1.28L594.7,46c-1.12.94-3.33,1.84-6.56,1.84"
345
+ ></path>
346
+ <path
347
+ d="M605.1,47.79A15.9,15.9,0,0,1,597.45,46l1.42-3.47A10.54,10.54,0,0,0,604.4,44c2.77,0,5-1.78,5-3.94,0-6-11.1-3.2-11.1-11.47,0-3.76,3.37-7.42,8.85-7.42a13.49,13.49,0,0,1,7.1,1.83l-1.42,3.14a8.42,8.42,0,0,0-4.63-1.45c-2.8,0-4.53,1.69-4.53,3.62,0,5.64,11.32,3.14,11.32,11.6,0,4-3.85,7.9-9.89,7.9"
348
+ ></path>
349
+ </g>
350
+ </svg>
351
+ </a>
352
+ </div>
353
+ </div>
354
+ </div>
355
+ </div>
356
+ </div>
357
+ </footer>
358
+ </Theme>
359
+
360
+ <style>
361
+ /* Reassignment of variables for theming */
362
+ .ons-footer .ons-icon,
363
+ .ons-footer .ons-icon--logo__group {
364
+ fill: var(--ons-color-text) !important;
365
+ }
366
+ </style>