@onsvisual/svelte-components 0.1.105 → 1.0.0-next.2

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 (360) hide show
  1. package/dist/css/main.css +500 -4
  2. package/dist/datavis/BarChart/BarChart.stories.svelte +84 -0
  3. package/dist/datavis/BarChart/BarChart.stories.svelte.d.ts +23 -0
  4. package/dist/datavis/BarChart/docs/component.md +19 -0
  5. package/dist/datavis/Chart/Chart.stories.svelte +128 -0
  6. package/dist/datavis/Chart/Chart.stories.svelte.d.ts +23 -0
  7. package/dist/datavis/Chart/docs/component.md +31 -0
  8. package/dist/datavis/Chart/docs/example.md +28 -0
  9. package/dist/datavis/ColumnChart/ColumnChart.stories.svelte +84 -0
  10. package/dist/datavis/ColumnChart/ColumnChart.stories.svelte.d.ts +23 -0
  11. package/dist/datavis/ColumnChart/docs/component.md +19 -0
  12. package/dist/datavis/DotPlotChart/DotPlotChart.stories.svelte +40 -0
  13. package/dist/datavis/DotPlotChart/DotPlotChart.stories.svelte.d.ts +23 -0
  14. package/dist/datavis/DotPlotChart/docs/component.md +19 -0
  15. package/dist/datavis/LineChart/LineChart.stories.svelte +64 -0
  16. package/dist/datavis/LineChart/LineChart.stories.svelte.d.ts +23 -0
  17. package/dist/datavis/LineChart/docs/component.md +31 -0
  18. package/dist/datavis/ScatterChart/ScatterChart.stories.svelte +55 -0
  19. package/dist/datavis/ScatterChart/ScatterChart.stories.svelte.d.ts +23 -0
  20. package/dist/datavis/ScatterChart/docs/component.md +53 -0
  21. package/dist/datavis/Table/Table.stories.svelte +32 -0
  22. package/dist/{@types/datavis/Table/Table.svelte.d.ts → datavis/Table/Table.stories.svelte.d.ts} +2 -16
  23. package/dist/datavis/Table/Table.svelte +141 -149
  24. package/dist/datavis/Table/Table.svelte.d.ts +35 -0
  25. package/dist/datavis/Table/docs/component.md +20 -0
  26. package/dist/datavis/intro.mdx +22 -0
  27. package/dist/decorators/Blockquote/Blockquote.stories.svelte +25 -0
  28. package/dist/decorators/Blockquote/Blockquote.stories.svelte.d.ts +23 -0
  29. package/dist/decorators/Blockquote/Blockquote.svelte +22 -22
  30. package/dist/{@types/decorators → decorators}/Blockquote/Blockquote.svelte.d.ts +2 -2
  31. package/dist/decorators/Blockquote/docs/component.md +10 -0
  32. package/dist/decorators/Divider/Divider.stories.svelte +29 -0
  33. package/dist/decorators/Divider/Divider.stories.svelte.d.ts +23 -0
  34. package/dist/decorators/Divider/Divider.svelte +40 -59
  35. package/dist/{@types/decorators → decorators}/Divider/Divider.svelte.d.ts +10 -14
  36. package/dist/decorators/Divider/docs/component.md +12 -0
  37. package/dist/decorators/Em/Em.stories.svelte +30 -0
  38. package/dist/{@types/decorators/Em/Em.svelte.d.ts → decorators/Em/Em.stories.svelte.d.ts} +4 -10
  39. package/dist/decorators/Em/Em.svelte +42 -25
  40. package/dist/decorators/Em/Em.svelte.d.ts +33 -0
  41. package/dist/decorators/Em/docs/component.md +12 -0
  42. package/dist/decorators/Indent/Indent.stories.svelte +22 -0
  43. package/dist/decorators/Indent/Indent.stories.svelte.d.ts +23 -0
  44. package/dist/decorators/Indent/Indent.svelte +3 -0
  45. package/dist/decorators/Indent/Indent.svelte.d.ts +27 -0
  46. package/dist/decorators/Indent/docs/component.md +10 -0
  47. package/dist/{@types/index.d.ts → index.d.ts} +10 -10
  48. package/dist/index.js +13 -8
  49. package/dist/inputs/Button/Button.stories.svelte +65 -0
  50. package/dist/inputs/Button/Button.stories.svelte.d.ts +23 -0
  51. package/dist/inputs/Button/Button.svelte +113 -113
  52. package/dist/inputs/Button/Button.svelte.d.ts +51 -0
  53. package/dist/inputs/Button/Icon.svelte +44 -44
  54. package/dist/{@types/inputs → inputs}/Button/Icon.svelte.d.ts +6 -6
  55. package/dist/inputs/Button/docs/component.md +17 -0
  56. package/dist/inputs/Checkbox/Checkbox.stories.svelte +34 -0
  57. package/dist/inputs/Checkbox/Checkbox.stories.svelte.d.ts +23 -0
  58. package/dist/inputs/Checkbox/Checkbox.svelte +145 -152
  59. package/dist/{@types/inputs → inputs}/Checkbox/Checkbox.svelte.d.ts +16 -16
  60. package/dist/inputs/Checkbox/docs/component.md +14 -0
  61. package/dist/inputs/Checkboxes/Checkboxes.stories.svelte +42 -0
  62. package/dist/inputs/Checkboxes/Checkboxes.stories.svelte.d.ts +23 -0
  63. package/dist/inputs/Checkboxes/Checkboxes.svelte +29 -29
  64. package/dist/{@types/inputs → inputs}/Checkboxes/Checkboxes.svelte.d.ts +8 -8
  65. package/dist/inputs/Checkboxes/docs/component.md +20 -0
  66. package/dist/inputs/Checkboxes/docs/example.md +16 -0
  67. package/dist/inputs/Dropdown/Dropdown.stories.svelte +54 -0
  68. package/dist/{@types/inputs/Dropdown/Dropdown.svelte.d.ts → inputs/Dropdown/Dropdown.stories.svelte.d.ts} +2 -16
  69. package/dist/inputs/Dropdown/Dropdown.svelte +49 -55
  70. package/dist/inputs/Dropdown/Dropdown.svelte.d.ts +37 -0
  71. package/dist/inputs/Dropdown/docs/component.md +22 -0
  72. package/dist/inputs/ErrorPanel/ErrorPanel.stories.svelte +25 -0
  73. package/dist/inputs/ErrorPanel/ErrorPanel.stories.svelte.d.ts +23 -0
  74. package/dist/inputs/ErrorPanel/ErrorPanel.svelte +14 -30
  75. package/dist/{@types/inputs → inputs}/ErrorPanel/ErrorPanel.svelte.d.ts +2 -2
  76. package/dist/inputs/ErrorPanel/docs/component.md +14 -0
  77. package/dist/inputs/ErrorSummary/ErrorSummary.stories.svelte +34 -0
  78. package/dist/inputs/ErrorSummary/ErrorSummary.stories.svelte.d.ts +23 -0
  79. package/dist/inputs/ErrorSummary/ErrorSummary.svelte +34 -32
  80. package/dist/{@types/inputs → inputs}/ErrorSummary/ErrorSummary.svelte.d.ts +4 -4
  81. package/dist/inputs/ErrorSummary/docs/component.md +17 -0
  82. package/dist/inputs/ErrorSummary/docs/example.md +12 -0
  83. package/dist/inputs/Input/Input.stories.svelte +73 -0
  84. package/dist/inputs/Input/Input.stories.svelte.d.ts +23 -0
  85. package/dist/inputs/Input/Input.svelte +125 -156
  86. package/dist/inputs/Input/Input.svelte.d.ts +51 -0
  87. package/dist/inputs/Input/docs/component.md +16 -0
  88. package/dist/inputs/Radios/Radio.svelte +68 -102
  89. package/dist/{@types/inputs → inputs}/Radios/Radio.svelte.d.ts +6 -6
  90. package/dist/inputs/Radios/Radios.stories.svelte +51 -0
  91. package/dist/inputs/Radios/Radios.stories.svelte.d.ts +23 -0
  92. package/dist/inputs/Radios/Radios.svelte +38 -38
  93. package/dist/{@types/inputs → inputs}/Radios/Radios.svelte.d.ts +10 -10
  94. package/dist/inputs/Radios/docs/component.md +24 -0
  95. package/dist/inputs/Radios/docs/example.md +21 -0
  96. package/dist/inputs/Select/Select.stories.svelte +61 -0
  97. package/dist/inputs/Select/Select.stories.svelte.d.ts +23 -0
  98. package/dist/inputs/Select/Select.svelte +271 -289
  99. package/dist/inputs/Select/Select.svelte.d.ts +58 -0
  100. package/dist/inputs/Select/docs/component.md +27 -0
  101. package/dist/inputs/Textarea/Textarea.stories.svelte +40 -0
  102. package/dist/{@types/inputs/Textarea/Textarea.svelte.d.ts → inputs/Textarea/Textarea.stories.svelte.d.ts} +2 -16
  103. package/dist/inputs/Textarea/Textarea.svelte +93 -89
  104. package/dist/inputs/Textarea/Textarea.svelte.d.ts +37 -0
  105. package/dist/inputs/Textarea/docs/component.md +16 -0
  106. package/dist/intro.mdx +60 -0
  107. package/dist/js/menuOptions.js +14 -0
  108. package/dist/{@types/js → js}/utils.d.ts +8 -2
  109. package/dist/js/utils.js +61 -44
  110. package/dist/{@types/js → js}/withParams.d.ts +3 -9
  111. package/dist/js/withParams.js +17 -20
  112. package/dist/layout/Accordion/Accordion.stories.svelte +30 -0
  113. package/dist/{@types/layout/Accordion/Accordion.svelte.d.ts → layout/Accordion/Accordion.stories.svelte.d.ts} +4 -8
  114. package/dist/layout/Accordion/Accordion.svelte +49 -29
  115. package/dist/layout/Accordion/Accordion.svelte.d.ts +31 -0
  116. package/dist/layout/Accordion/AccordionItem.svelte +46 -81
  117. package/dist/{@types/layout → layout}/Accordion/AccordionItem.svelte.d.ts +6 -6
  118. package/dist/layout/Accordion/accordion.d.ts +18 -0
  119. package/dist/layout/Accordion/accordion.js +64 -0
  120. package/dist/layout/Accordion/details.d.ts +14 -0
  121. package/dist/layout/Accordion/details.js +83 -0
  122. package/dist/layout/Accordion/docs/component.md +19 -0
  123. package/dist/layout/AnalyticsBanner/AnalyticsBanner.stories.svelte +16 -0
  124. package/dist/{@types/layout/AnalyticsBanner/AnalyticsBanner.svelte.d.ts → layout/AnalyticsBanner/AnalyticsBanner.stories.svelte.d.ts} +2 -13
  125. package/dist/layout/AnalyticsBanner/AnalyticsBanner.svelte +284 -273
  126. package/dist/layout/AnalyticsBanner/AnalyticsBanner.svelte.d.ts +36 -0
  127. package/dist/layout/AnalyticsBanner/docs/component.md +17 -0
  128. package/dist/layout/BackLink/BackLink.stories.svelte +16 -0
  129. package/dist/layout/BackLink/BackLink.stories.svelte.d.ts +23 -0
  130. package/dist/layout/BackLink/BackLink.svelte +30 -0
  131. package/dist/layout/BackLink/BackLink.svelte.d.ts +25 -0
  132. package/dist/layout/BackLink/docs/component.md +12 -0
  133. package/dist/layout/Breadcrumb/Breadcrumb.stories.svelte +31 -0
  134. package/dist/layout/Breadcrumb/Breadcrumb.stories.svelte.d.ts +23 -0
  135. package/dist/layout/Breadcrumb/Breadcrumb.svelte +44 -67
  136. package/dist/{@types/layout → layout}/Breadcrumb/Breadcrumb.svelte.d.ts +6 -12
  137. package/dist/layout/Breadcrumb/docs/component.md +15 -0
  138. package/dist/layout/Card/Card.stories.svelte +39 -0
  139. package/dist/layout/Card/Card.stories.svelte.d.ts +23 -0
  140. package/dist/layout/Card/Card.svelte +120 -0
  141. package/dist/layout/Card/Card.svelte.d.ts +49 -0
  142. package/dist/layout/Card/docs/component.md +14 -0
  143. package/dist/layout/Card/docs/eg-images.md +27 -0
  144. package/dist/layout/Card/docs/eg-links.md +12 -0
  145. package/dist/layout/Card/docs/eg-spans.md +12 -0
  146. package/dist/layout/Contents/Contents.stories.svelte +27 -0
  147. package/dist/{@types/layout/Contents/Contents.svelte.d.ts → layout/Contents/Contents.stories.svelte.d.ts} +2 -8
  148. package/dist/layout/Contents/Contents.svelte +42 -40
  149. package/dist/layout/Contents/Contents.svelte.d.ts +29 -0
  150. package/dist/layout/Contents/docs/component.md +18 -0
  151. package/dist/layout/DescriptionList/DescriptionList.stories.svelte +22 -0
  152. package/dist/layout/DescriptionList/DescriptionList.stories.svelte.d.ts +23 -0
  153. package/dist/layout/DescriptionList/DescriptionList.svelte +48 -0
  154. package/dist/layout/DescriptionList/DescriptionList.svelte.d.ts +27 -0
  155. package/dist/layout/DescriptionList/docs/component.md +18 -0
  156. package/dist/layout/Details/Details.stories.svelte +32 -0
  157. package/dist/layout/Details/Details.stories.svelte.d.ts +23 -0
  158. package/dist/layout/Details/Details.svelte +70 -0
  159. package/dist/layout/Details/Details.svelte.d.ts +35 -0
  160. package/dist/layout/Details/docs/component.md +14 -0
  161. package/dist/layout/DocumentList/Document.svelte +103 -0
  162. package/dist/layout/DocumentList/Document.svelte.d.ts +39 -0
  163. package/dist/layout/DocumentList/DocumentList.stories.svelte +73 -0
  164. package/dist/layout/DocumentList/DocumentList.stories.svelte.d.ts +23 -0
  165. package/dist/layout/DocumentList/DocumentList.svelte +17 -0
  166. package/dist/layout/DocumentList/DocumentList.svelte.d.ts +27 -0
  167. package/dist/layout/DocumentList/docs/component.md +28 -0
  168. package/dist/layout/DocumentList/docs/example.md +23 -0
  169. package/dist/layout/ErrorPage/ErrorPage.stories.svelte +18 -0
  170. package/dist/{@types/layout/ErrorPage/ErrorPage.svelte.d.ts → layout/ErrorPage/ErrorPage.stories.svelte.d.ts} +2 -6
  171. package/dist/layout/ErrorPage/ErrorPage.svelte +45 -40
  172. package/dist/layout/ErrorPage/ErrorPage.svelte.d.ts +29 -0
  173. package/dist/layout/ErrorPage/docs/component.md +13 -0
  174. package/dist/layout/Footer/Footer.stories.svelte +24 -0
  175. package/dist/{@types/layout/Footer/Footer.svelte.d.ts → layout/Footer/Footer.stories.svelte.d.ts} +4 -12
  176. package/dist/layout/Footer/Footer.svelte +372 -257
  177. package/dist/layout/Footer/Footer.svelte.d.ts +27 -0
  178. package/dist/layout/Footer/docs/component.md +10 -0
  179. package/dist/layout/Grid/Grid.stories.svelte +50 -0
  180. package/dist/layout/Grid/Grid.stories.svelte.d.ts +23 -0
  181. package/dist/layout/Grid/Grid.svelte +110 -160
  182. package/dist/layout/Grid/Grid.svelte.d.ts +49 -0
  183. package/dist/layout/Grid/GridCell.svelte +65 -0
  184. package/dist/layout/Grid/GridCell.svelte.d.ts +27 -0
  185. package/dist/layout/Grid/docs/component.md +14 -0
  186. package/dist/layout/Header/Header.stories.svelte +26 -0
  187. package/dist/{@types/layout/Header/Header.svelte.d.ts → layout/Header/Header.stories.svelte.d.ts} +4 -20
  188. package/dist/layout/Header/Header.svelte +842 -612
  189. package/dist/layout/Header/Header.svelte.d.ts +39 -0
  190. package/dist/layout/Header/docs/component.md +11 -0
  191. package/dist/layout/Hero/Hero.stories.svelte +77 -0
  192. package/dist/layout/Hero/Hero.stories.svelte.d.ts +23 -0
  193. package/dist/layout/Hero/Hero.svelte +350 -80
  194. package/dist/layout/Hero/Hero.svelte.d.ts +55 -0
  195. package/dist/layout/Hero/docs/component.md +14 -0
  196. package/dist/layout/Highlight/Highlight.stories.svelte +29 -0
  197. package/dist/layout/Highlight/Highlight.stories.svelte.d.ts +23 -0
  198. package/dist/layout/Highlight/Highlight.svelte +78 -66
  199. package/dist/layout/Highlight/Highlight.svelte.d.ts +45 -0
  200. package/dist/layout/Highlight/docs/component.md +12 -0
  201. package/dist/layout/Image/Image.stories.svelte +23 -0
  202. package/dist/layout/Image/Image.stories.svelte.d.ts +23 -0
  203. package/dist/layout/Image/Image.svelte +24 -0
  204. package/dist/layout/Image/Image.svelte.d.ts +27 -0
  205. package/dist/layout/Image/docs/component.md +15 -0
  206. package/dist/layout/List/Li.svelte +3 -0
  207. package/dist/layout/List/Li.svelte.d.ts +27 -0
  208. package/dist/layout/List/List.stories.svelte +40 -0
  209. package/dist/{@types/layout/List/List.svelte.d.ts → layout/List/List.stories.svelte.d.ts} +4 -8
  210. package/dist/layout/List/List.svelte +34 -25
  211. package/dist/layout/List/List.svelte.d.ts +29 -0
  212. package/dist/layout/List/docs/component.md +14 -0
  213. package/dist/layout/List/docs/example.md +12 -0
  214. package/dist/layout/NavSections/NavSection.svelte +66 -66
  215. package/dist/{@types/layout → layout}/NavSections/NavSection.svelte.d.ts +10 -10
  216. package/dist/layout/NavSections/NavSections.stories.svelte +48 -0
  217. package/dist/layout/NavSections/NavSections.stories.svelte.d.ts +23 -0
  218. package/dist/layout/NavSections/NavSections.svelte +135 -183
  219. package/dist/{@types/layout → layout}/NavSections/NavSections.svelte.d.ts +14 -24
  220. package/dist/layout/NavSections/docs/component.md +27 -0
  221. package/dist/layout/Notice/Notice.stories.svelte +61 -0
  222. package/dist/layout/Notice/Notice.stories.svelte.d.ts +23 -0
  223. package/dist/layout/Notice/Notice.svelte +45 -54
  224. package/dist/{@types/layout → layout}/Notice/Notice.svelte.d.ts +2 -6
  225. package/dist/layout/Notice/docs/component.md +14 -0
  226. package/dist/layout/PhaseBanner/PhaseBanner.stories.svelte +24 -0
  227. package/dist/{@types/layout/PhaseBanner/PhaseBanner.svelte.d.ts → layout/PhaseBanner/PhaseBanner.stories.svelte.d.ts} +2 -4
  228. package/dist/layout/PhaseBanner/PhaseBanner.svelte +56 -35
  229. package/dist/layout/PhaseBanner/PhaseBanner.svelte.d.ts +25 -0
  230. package/dist/layout/PhaseBanner/docs/component.md +14 -0
  231. package/dist/layout/RelatedContent/RelatedContent.stories.svelte +36 -0
  232. package/dist/{@types/layout/RelatedContent/RelatedContent.svelte.d.ts → layout/RelatedContent/RelatedContent.stories.svelte.d.ts} +2 -2
  233. package/dist/layout/RelatedContent/RelatedContent.svelte +44 -54
  234. package/dist/layout/RelatedContent/RelatedContent.svelte.d.ts +31 -0
  235. package/dist/layout/RelatedContent/docs/component.md +16 -0
  236. package/dist/layout/Scroller/Scroller.stories.svelte +61 -0
  237. package/dist/layout/Scroller/Scroller.stories.svelte.d.ts +23 -0
  238. package/dist/layout/Scroller/Scroller.svelte +341 -331
  239. package/dist/{@types/layout → layout}/Scroller/Scroller.svelte.d.ts +22 -20
  240. package/dist/layout/Scroller/ScrollerSection.svelte +54 -73
  241. package/dist/{@types/layout → layout}/Scroller/ScrollerSection.svelte.d.ts +6 -12
  242. package/dist/layout/Scroller/docs/component.md +41 -0
  243. package/dist/layout/Section/Section.stories.svelte +33 -0
  244. package/dist/layout/Section/Section.stories.svelte.d.ts +23 -0
  245. package/dist/layout/Section/Section.svelte +53 -77
  246. package/dist/layout/Section/Section.svelte.d.ts +41 -0
  247. package/dist/layout/Section/docs/component.md +12 -0
  248. package/dist/layout/ShareButtons/ShareButtons.stories.svelte +20 -0
  249. package/dist/layout/ShareButtons/ShareButtons.stories.svelte.d.ts +23 -0
  250. package/dist/layout/ShareButtons/ShareButtons.svelte +118 -175
  251. package/dist/{@types/layout → layout}/ShareButtons/ShareButtons.svelte.d.ts +6 -14
  252. package/dist/layout/ShareButtons/docs/component.md +14 -0
  253. package/dist/layout/SkipLink/SkipLink.stories.svelte +16 -0
  254. package/dist/{@types/layout/SkipLink/SkipLink.svelte.d.ts → layout/SkipLink/SkipLink.stories.svelte.d.ts} +2 -2
  255. package/dist/layout/SkipLink/SkipLink.svelte +6 -6
  256. package/dist/layout/SkipLink/SkipLink.svelte.d.ts +23 -0
  257. package/dist/layout/SkipLink/docs/component.md +11 -0
  258. package/dist/layout/Summary/Summary.stories.svelte +21 -0
  259. package/dist/{@types/layout/Summary/Summary.svelte.d.ts → layout/Summary/Summary.stories.svelte.d.ts} +2 -4
  260. package/dist/layout/Summary/Summary.svelte +50 -46
  261. package/dist/layout/Summary/Summary.svelte.d.ts +31 -0
  262. package/dist/layout/Summary/docs/component.md +17 -0
  263. package/dist/layout/Tabs/Tab.svelte +42 -42
  264. package/dist/{@types/layout → layout}/Tabs/Tab.svelte.d.ts +6 -6
  265. package/dist/layout/Tabs/Tabs.stories.svelte +29 -0
  266. package/dist/layout/Tabs/Tabs.stories.svelte.d.ts +23 -0
  267. package/dist/layout/Tabs/Tabs.svelte +71 -97
  268. package/dist/{@types/layout → layout}/Tabs/Tabs.svelte.d.ts +6 -6
  269. package/dist/layout/Tabs/docs/component.md +16 -0
  270. package/dist/layout/Tabs/tabs.d.ts +43 -0
  271. package/dist/layout/Tabs/tabs.js +302 -0
  272. package/dist/templates/EmbedArticle/EmbedArticle.stories.svelte +72 -0
  273. package/dist/templates/EmbedArticle/EmbedArticle.stories.svelte.d.ts +23 -0
  274. package/dist/templates/EmbedArticle/docs/component.md +56 -0
  275. package/dist/templates/FeatureArticle/FeatureArticle.stories.svelte +151 -0
  276. package/dist/templates/FeatureArticle/FeatureArticle.stories.svelte.d.ts +23 -0
  277. package/dist/templates/FeatureArticle/docs/component.md +125 -0
  278. package/dist/templates/StandardArticle/StandardArticle.stories.svelte +86 -0
  279. package/dist/templates/StandardArticle/StandardArticle.stories.svelte.d.ts +23 -0
  280. package/dist/templates/StandardArticle/docs/component.md +76 -0
  281. package/dist/templates/intro.mdx +19 -0
  282. package/dist/wrappers/Container/Container.stories.svelte +38 -0
  283. package/dist/wrappers/Container/Container.stories.svelte.d.ts +23 -0
  284. package/dist/wrappers/Container/Container.svelte +61 -140
  285. package/dist/wrappers/Container/Container.svelte.d.ts +39 -0
  286. package/dist/wrappers/Container/docs/component.md +10 -0
  287. package/dist/wrappers/Embed/Embed.stories.svelte +24 -0
  288. package/dist/wrappers/Embed/Embed.stories.svelte.d.ts +23 -0
  289. package/dist/wrappers/Embed/Embed.svelte +33 -32
  290. package/dist/{@types/wrappers → wrappers}/Embed/Embed.svelte.d.ts +4 -4
  291. package/dist/wrappers/Embed/docs/component.md +15 -0
  292. package/dist/wrappers/LazyLoad/LazyLoad.stories.svelte +37 -0
  293. package/dist/wrappers/LazyLoad/LazyLoad.stories.svelte.d.ts +23 -0
  294. package/dist/wrappers/LazyLoad/LazyLoad.svelte +34 -35
  295. package/dist/{@types/wrappers → wrappers}/LazyLoad/LazyLoad.svelte.d.ts +6 -6
  296. package/dist/wrappers/LazyLoad/docs/component.md +29 -0
  297. package/dist/wrappers/Main/Main.stories.svelte +24 -0
  298. package/dist/wrappers/Main/Main.stories.svelte.d.ts +23 -0
  299. package/dist/wrappers/Main/Main.svelte +10 -3
  300. package/dist/{@types/wrappers → wrappers}/Main/Main.svelte.d.ts +2 -4
  301. package/dist/wrappers/Main/docs/component.md +16 -0
  302. package/dist/wrappers/Observe/Observe.stories.svelte +29 -0
  303. package/dist/wrappers/Observe/Observe.stories.svelte.d.ts +23 -0
  304. package/dist/wrappers/Observe/Observe.svelte +24 -24
  305. package/dist/{@types/wrappers → wrappers}/Observe/Observe.svelte.d.ts +2 -2
  306. package/dist/wrappers/Observe/docs/component.md +22 -0
  307. package/dist/wrappers/Theme/Theme.stories.svelte +70 -0
  308. package/dist/{@types/wrappers/Theme/Theme.svelte.d.ts → wrappers/Theme/Theme.stories.svelte.d.ts} +4 -20
  309. package/dist/wrappers/Theme/Theme.svelte +64 -101
  310. package/dist/wrappers/Theme/Theme.svelte.d.ts +37 -0
  311. package/dist/wrappers/Theme/docs/component.md +10 -0
  312. package/dist/wrappers/Theme/themes.d.ts +143 -0
  313. package/dist/wrappers/Theme/themes.js +68 -27
  314. package/package.json +82 -195
  315. package/dist/@types/actions/cssVariables/index.d.ts +0 -4
  316. package/dist/@types/actions/resizeObserver/index.d.ts +0 -4
  317. package/dist/@types/inputs/AccessibleSelect/AccessibleSelect.svelte.d.ts +0 -58
  318. package/dist/@types/inputs/Button/Button.svelte.d.ts +0 -51
  319. package/dist/@types/inputs/Input/Input.svelte.d.ts +0 -51
  320. package/dist/@types/inputs/Select/Select.svelte.d.ts +0 -77
  321. package/dist/@types/js/docsPage.d.ts +0 -25
  322. package/dist/@types/layout/Backlink/Backlink.svelte.d.ts +0 -23
  323. package/dist/@types/layout/Cards/Card.svelte.d.ts +0 -49
  324. package/dist/@types/layout/Cards/Cards.svelte.d.ts +0 -51
  325. package/dist/@types/layout/Footer/ONSLogo.svelte.d.ts +0 -29
  326. package/dist/@types/layout/Grid/Grid.svelte.d.ts +0 -53
  327. package/dist/@types/layout/Header/ONSLogo.svelte.d.ts +0 -31
  328. package/dist/@types/layout/Hero/Hero.svelte.d.ts +0 -47
  329. package/dist/@types/layout/Highlight/Highlight.svelte.d.ts +0 -43
  330. package/dist/@types/layout/NavSections/SectionBacklink.svelte.d.ts +0 -23
  331. package/dist/@types/layout/Section/Section.svelte.d.ts +0 -47
  332. package/dist/@types/layout/Survey/Survey.svelte.d.ts +0 -23
  333. package/dist/@types/layout/Survey/init-survey.d.ts +0 -1
  334. package/dist/@types/layout/Titleblock/Meta.svelte.d.ts +0 -23
  335. package/dist/@types/layout/Titleblock/Titleblock.svelte.d.ts +0 -53
  336. package/dist/@types/layout/Twisty/Twisty.svelte.d.ts +0 -33
  337. package/dist/@types/wrappers/Container/Container.svelte.d.ts +0 -45
  338. package/dist/@types/wrappers/Theme/themes.d.ts +0 -29
  339. package/dist/actions/cssVariables/index.js +0 -20
  340. package/dist/actions/resizeObserver/index.js +0 -25
  341. package/dist/globals.d.ts +0 -23
  342. package/dist/inputs/AccessibleSelect/AccessibleSelect.svelte +0 -280
  343. package/dist/inputs/AccessibleSelect/options.js +0 -263
  344. package/dist/js/docsPage.js +0 -13
  345. package/dist/layout/Backlink/Backlink.svelte +0 -32
  346. package/dist/layout/Cards/Card.svelte +0 -99
  347. package/dist/layout/Cards/Cards.svelte +0 -95
  348. package/dist/layout/Footer/ONSLogo.svelte +0 -150
  349. package/dist/layout/Header/ONSLogo.svelte +0 -148
  350. package/dist/layout/NavSections/SectionBacklink.svelte +0 -31
  351. package/dist/layout/Survey/Survey.svelte +0 -96
  352. package/dist/layout/Survey/init-survey.js +0 -230
  353. package/dist/layout/Titleblock/Meta.svelte +0 -26
  354. package/dist/layout/Titleblock/Titleblock.svelte +0 -147
  355. package/dist/layout/Twisty/Twisty.svelte +0 -56
  356. /package/dist/{@types/datavis/shared → datavis/demo-data}/data-scatter.d.ts +0 -0
  357. /package/dist/datavis/{shared → demo-data}/data-scatter.js +0 -0
  358. /package/dist/{@types/datavis/shared → datavis/demo-data}/data.d.ts +0 -0
  359. /package/dist/datavis/{shared → demo-data}/data.js +0 -0
  360. /package/dist/{@types/inputs/AccessibleSelect/options.d.ts → js/menuOptions.d.ts} +0 -0
@@ -1,303 +1,314 @@
1
1
  <script context="module">
2
- export function analyticsEvent(props) {
3
- if (window?.dataLayer) window.dataLayer.push(props);
4
- }
2
+ export function analyticsEvent(props) {
3
+ if (window?.dataLayer) window.dataLayer.push(props);
4
+ }
5
5
  </script>
6
6
 
7
7
  <script>
8
- import { onMount, getContext } from "svelte";
8
+ import { onMount, getContext } from "svelte";
9
9
 
10
- const page = getContext("page"); // Optional: Set Svelte Kit's page store to the context to track navigation in multi-page apps
10
+ /**
11
+ * Google analytics/tags manager ID
12
+ * @type {string}
13
+ */
14
+ export let analyticsId = "GTM-MBCBVQS";
15
+ /**
16
+ * Optional props to describe the content
17
+ * @type {object}
18
+ */
19
+ export let analyticsProps = {};
20
+ /**
21
+ * Optional: Pass the "page" store from "$app/state" in SvelteKit (gets read from context by default if it exists)
22
+ * @type {any}
23
+ */
24
+ export let page = getContext("page");
25
+ /**
26
+ * Use this to hide the banner (only initialises analytics if cookies already accepted)
27
+ * @type {boolean}
28
+ */
29
+ export let hideBanner = false;
30
+ /**
31
+ * Bind to this value if you need to know if cookies have been accepted
32
+ * @type {boolean}
33
+ */
34
+ export let usageCookies = false;
35
+ /**
36
+ * Set the width of the banner
37
+ * @type {"wide"|"wider"}
38
+ */
39
+ export let width = "wide";
40
+ /**
41
+ * Enable automatic pageView event on route changes
42
+ * @type {boolean}
43
+ */
44
+ export let pageViewEnabled = true;
11
45
 
12
- /**
13
- * Google analytics/tags manager ID
14
- * @type {string}
15
- */
16
- export let analyticsId = "GTM-MBCBVQS";
17
- /**
18
- * Optional props to describe the content
19
- * @type {object}
20
- */
21
- export let analyticsProps = {};
22
- /**
23
- * Use this to hide the banner (only initialises analytics if cookies already accepted)
24
- * @type {boolean}
25
- */
26
- export let hideBanner = false;
27
- /**
28
- * Bind to this value if you need to know if cookies have been accepted
29
- * @type {boolean}
30
- */
31
- export let usageCookies = false;
32
- /**
33
- * Set the width of the banner
34
- * @type {"wide"|"wider"}
35
- */
36
- export let width = "wide";
37
- /**
38
- * Enable automatic pageView event on route changes
39
- * @type {boolean}
40
- */
41
- export let pageViewEnabled = true;
46
+ let live; // Don't run analytics unless page is live on ONS site (re-set in the onMount function)
47
+ let showBanner = false;
48
+ let showConfirm = false;
49
+ let message = "";
50
+ let lang = "en";
51
+ let baseurl = "https://www.ons.gov.uk";
52
+ let location = null; // For keeping track of navigation multi-page apps
42
53
 
43
- let live; // Don't run analytics unless page is live on ONS site (re-set in the onMount function)
44
- let showBanner = false;
45
- let showConfirm = false;
46
- let message = "";
47
- let lang = $page && $page.url.host.startsWith("cy") ? "cy" : "en";
48
- let location = null; // For keeping track of navigation multi-page apps
49
- let baseurl = "//www.ons.gov.uk";
54
+ function setPaths() {
55
+ const url = page?.url || document.location;
56
+ lang = url.host.startsWith("cy") ? "cy" : "en";
57
+ baseurl = lang === "cy" ? "https://cy.ons.gov.uk" : "https://www.ons.gov.uk";
58
+ }
50
59
 
51
- function hasCookiesPreferencesSet() {
52
- return -1 < document.cookie.indexOf("ons_cookie_message_displayed=true");
53
- }
60
+ function hasCookiesPreferencesSet() {
61
+ return -1 < document.cookie.indexOf("ons_cookie_message_displayed=true");
62
+ }
54
63
 
55
- // extractValue extracts the value from a undecodeable json cookie string
56
- function extractValue(key, extractionString) {
57
- const extractionRegex = new RegExp(`'${key}':(.*?)[,}]`);
58
- const match = extractionString.match(extractionRegex);
59
- if (match) {
60
- return match[1];
61
- }
64
+ // extractValue extracts the value from a undecodeable json cookie string
65
+ function extractValue(key, extractionString) {
66
+ const extractionRegex = new RegExp(`'${key}':(.*?)[,}]`);
67
+ const match = extractionString.match(extractionRegex);
68
+ if (match) {
69
+ return match[1];
70
+ }
62
71
 
63
- return null;
64
- }
72
+ return null;
73
+ }
65
74
 
66
- // Check if usage cookies are allowed (for Google Analytics + Hotjar)
67
- // note: this ported function returns the inverse truth value to the dp-renderer code that it's based on
68
- // ----------------------
69
- // getUsageCookieValue reads the legacy cookies_policy and ons_cookie_policy to determine the user's usage preference.
70
- // The legacy policy takes precedence over the new policy. When no policy is found, the user is opted out by default.
71
- function getUsageCookieValue() {
72
- // TODO: this is the legacy cookie (cookies_policy) handling and will be removed in due course
73
- var legacyPolicyCookie = document.cookie.match(
74
- new RegExp("(^|;) ?cookies_policy=([^;]*)(;|$)")
75
- );
76
- if (legacyPolicyCookie) {
77
- console.debug("legacy cookies_policy found");
78
- var decodedCookie = decodeURIComponent(legacyPolicyCookie[2]);
79
- var cookieValue = JSON.parse(decodedCookie);
80
- console.debug("usage is", cookieValue.usage);
81
- return cookieValue.usage;
82
- }
75
+ // Check if usage cookies are allowed (for Google Analytics + Hotjar)
76
+ // note: this ported function returns the inverse truth value to the dp-renderer code that it's based on
77
+ // ----------------------
78
+ // getUsageCookieValue reads the legacy cookies_policy and ons_cookie_policy to determine the user's usage preference.
79
+ // The legacy policy takes precedence over the new policy. When no policy is found, the user is opted out by default.
80
+ function getUsageCookieValue() {
81
+ // TODO: this is the legacy cookie (cookies_policy) handling and will be removed in due course
82
+ var legacyPolicyCookie = document.cookie.match(
83
+ new RegExp("(^|;) ?cookies_policy=([^;]*)(;|$)")
84
+ );
85
+ if (legacyPolicyCookie) {
86
+ console.debug("legacy cookies_policy found");
87
+ var decodedCookie = decodeURIComponent(legacyPolicyCookie[2]);
88
+ var cookieValue = JSON.parse(decodedCookie);
89
+ console.debug("usage is", cookieValue.usage);
90
+ return cookieValue.usage;
91
+ }
83
92
 
84
- // ons_cookie_policy handler
85
- var policyCookie = document.cookie.match("(?:^|; )ons_cookie_policy=({.*?})");
86
- if (policyCookie) {
87
- console.debug("ons_cookie_policy found");
93
+ // ons_cookie_policy handler
94
+ var policyCookie = document.cookie.match("(?:^|; )ons_cookie_policy=({.*?})");
95
+ if (policyCookie) {
96
+ console.debug("ons_cookie_policy found");
88
97
 
89
- var usageValue = extractValue("usage", policyCookie[1]);
90
- console.debug("usage is", usageValue);
98
+ var usageValue = extractValue("usage", policyCookie[1]);
99
+ console.debug("usage is", usageValue);
91
100
 
92
- return usageValue === "true";
93
- }
94
- console.debug("no cookie found - opting out");
95
- return false;
96
- }
101
+ return usageValue === "true";
102
+ }
103
+ console.debug("no cookie found - opting out");
104
+ return false;
105
+ }
97
106
 
98
- // Set site cookie with 'all' or 'essential' cookies
99
- function setCookie(option) {
100
- let oneYearInSeconds = 60 * 60 * 24 * 365;
101
- let cookiesDomain = window.location.hostname;
102
- let cookiesPreference = !0;
103
- let acceptAllCookiesPolicy = `{'essential':true,'settings':true,'usage':true,'campaigns':true}`;
104
- let rejectAllCookiesPolicy = `{'essential':true,'settings':false,'usage':false,'campaigns':false}`;
105
- let cookiesPolicy = option == "all" ? acceptAllCookiesPolicy : rejectAllCookiesPolicy;
106
- let cookiesPath = "/";
107
+ // Set site cookie with 'all' or 'essential' cookies
108
+ function setCookie(option) {
109
+ let oneYearInSeconds = 60 * 60 * 24 * 365;
110
+ let cookiesDomain = window.location.hostname;
111
+ let cookiesPreference = !0;
112
+ let acceptAllCookiesPolicy = `{'essential':true,'settings':true,'usage':true,'campaigns':true}`;
113
+ let rejectAllCookiesPolicy = `{'essential':true,'settings':false,'usage':false,'campaigns':false}`;
114
+ let cookiesPolicy = option == "all" ? acceptAllCookiesPolicy : rejectAllCookiesPolicy;
115
+ let cookiesPath = "/";
107
116
 
108
- document.cookie = `ons_cookie_message_displayed=${cookiesPreference};max-age=${oneYearInSeconds};domain=${cookiesDomain};path=${cookiesPath};`;
109
- document.cookie = `ons_cookie_policy=${cookiesPolicy};max-age=${oneYearInSeconds};domain=${cookiesDomain};path=${cookiesPath};`;
117
+ document.cookie = `ons_cookie_message_displayed=${cookiesPreference};max-age=${oneYearInSeconds};domain=${cookiesDomain};path=${cookiesPath};`;
118
+ document.cookie = `ons_cookie_policy=${cookiesPolicy};max-age=${oneYearInSeconds};domain=${cookiesDomain};path=${cookiesPath};`;
110
119
 
111
- message = `You have ${option == "all" ? "accepted" : "rejected"} all additional cookies.`;
112
- if (option == "all") usageCookies = true;
113
- showConfirm = true;
120
+ message = `You have ${option == "all" ? "accepted" : "rejected"} all additional cookies.`;
121
+ if (option == "all") usageCookies = true;
122
+ showConfirm = true;
114
123
 
115
- if (option == "all") initAnalytics();
116
- }
124
+ if (option == "all") initAnalytics();
125
+ }
117
126
 
118
- // Initialise analytics and 'window.dataLayer' (which can be used throughout the app)
119
- function initAnalytics() {
120
- console.log("initialising analytics");
121
- window.dataLayer = [
122
- {
123
- analyticsOptOut: false,
124
- "gtm.whitelist": ["google", "hjtc", "lcl"],
125
- "gtm.blacklist": ["customScripts", "sp", "adm", "awct", "k", "d", "j"],
126
- ...analyticsProps,
127
- },
128
- ];
127
+ // Initialise analytics and 'window.dataLayer' (which can be used throughout the app)
128
+ function initAnalytics() {
129
+ console.log("initialising analytics");
130
+ window.dataLayer = [
131
+ {
132
+ analyticsOptOut: false,
133
+ "gtm.whitelist": ["google", "hjtc", "lcl"],
134
+ "gtm.blacklist": ["customScripts", "sp", "adm", "awct", "k", "d", "j"],
135
+ ...analyticsProps
136
+ }
137
+ ];
129
138
 
130
- (function (w, d, s, l, i) {
131
- w[l] = w[l] || [];
132
- w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
133
- var f = d.head,
134
- j = d.createElement(s),
135
- dl = l != "dataLayer" ? "&l=" + l : "";
136
- j.async = true;
137
- j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl;
138
- f.appendChild(j);
139
- })(window, document, "script", "dataLayer", analyticsId);
139
+ (function (w, d, s, l, i) {
140
+ w[l] = w[l] || [];
141
+ w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" });
142
+ var f = d.head,
143
+ j = d.createElement(s),
144
+ dl = l != "dataLayer" ? "&l=" + l : "";
145
+ j.async = true;
146
+ j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl;
147
+ f.appendChild(j);
148
+ })(window, document, "script", "dataLayer", analyticsId);
140
149
 
141
- if ($page) location = `${$page.url.href}`.replace($page.url.hash, "");
142
- }
150
+ if ($page) location = `${$page.url.href}`.replace($page.url.hash, "");
151
+ }
143
152
 
144
- // This code is only relevant for multi-page Svelte Kit apps. It sends an analytics event when the URL changes
145
- function onPageChange(page) {
146
- if (page && location) {
147
- const newlocation = `${page.url.href}`.replace(page.url.hash, "");
148
- if (newlocation !== location) {
149
- location = newlocation;
150
- analyticsEvent({
151
- event: "pageView",
152
- pageURL: location,
153
- ...analyticsProps,
154
- });
155
- }
156
- }
157
- }
158
- $: if (pageViewEnabled) onPageChange($page);
153
+ // This code is only relevant for multi-page Svelte Kit apps. It sends an analytics event when the URL changes
154
+ function onPageChange(page) {
155
+ if (page && location) {
156
+ const newlocation = `${page.url.href}`.replace(page.url.hash, "");
157
+ if (newlocation !== location) {
158
+ location = newlocation;
159
+ analyticsEvent({
160
+ event: "pageView",
161
+ pageURL: location,
162
+ ...analyticsProps
163
+ });
164
+ }
165
+ }
166
+ }
167
+ $: if (pageViewEnabled) onPageChange($page);
159
168
 
160
- onMount(() => {
161
- live = true;
162
- //live = document.location.hostname == "www.ons.gov.uk" || document.location.hostname == "cy.ons.gov.uk";
163
- if (!page) lang = document.location.host.startsWith("cy") ? "cy" : "en";
164
- showBanner = !hasCookiesPreferencesSet();
165
- usageCookies = getUsageCookieValue();
166
- if (usageCookies && live) initAnalytics();
167
- });
169
+ onMount(() => {
170
+ setPaths();
171
+ live = true;
172
+ //live = document.location.hostname == "www.ons.gov.uk" || document.location.hostname == "cy.ons.gov.uk";
173
+ if (!page) lang = document.location.host.startsWith("cy") ? "cy" : "en";
174
+ showBanner = !hasCookiesPreferencesSet();
175
+ usageCookies = getUsageCookieValue();
176
+ if (usageCookies && live) initAnalytics();
177
+ });
168
178
 
169
- const texts = {
170
- "Cookies on ons.gov.uk": "Cwcis ar ons.gov.uk",
171
- "Cookies are small files stored on your device when you visit a website. We use some essential cookies to make this website work.":
172
- "Ffeiliau bach a gaiff eu storio ar eich dyfais pan fyddwch yn mynd ar wefan yw cwcis. Rydym ni’n defnyddio rhai cwcis hanfodol i wneud i’r wefan hon weithio.",
173
- "We would like to set": "Hoffem osod",
174
- "additional cookies": "cwcis ychwanegol",
175
- "to remember your settings and understand how you use the site. This helps us to improve our services.":
176
- "er mwyn cofio eich gosodiadau a deall sut rydych chi’n defnyddio’r wefan. Mae hyn yn ein helpu ni i wella ein gwasanaethau.",
177
- "Accept additional cookies": "Derbyn cwcis ychwanegol",
178
- "Reject additional cookies": "Gwrthod cwcis ychwanegol",
179
- "View cookies": "Gweld cwcis",
180
- "You have accepted all additional cookies.": "Rydych chi wedi derbyn yr holl gwcis ychwanegol.",
181
- "You have rejected all additional cookies.":
182
- "Rydych chi wedi gwrthod yr holl gwcis ychwanegol.",
183
- "You can": "Gallwch chi",
184
- "change your cookie preferences": "newid eich dewisiadau o ran cwcis",
185
- "at any time.": "ar unrhyw adeg.",
186
- Hide: "Cuddio",
187
- "Hide this message": "Cuddiwch y neges yma",
188
- };
189
- const i18n = (text) => (lang == "cy" && texts[text] ? texts[text] : text);
179
+ const texts = {
180
+ "Cookies on ons.gov.uk": "Cwcis ar ons.gov.uk",
181
+ "Cookies are small files stored on your device when you visit a website. We use some essential cookies to make this website work.":
182
+ "Ffeiliau bach a gaiff eu storio ar eich dyfais pan fyddwch yn mynd ar wefan yw cwcis. Rydym ni’n defnyddio rhai cwcis hanfodol i wneud i’r wefan hon weithio.",
183
+ "We would like to set": "Hoffem osod",
184
+ "additional cookies": "cwcis ychwanegol",
185
+ "to remember your settings and understand how you use the site. This helps us to improve our services.":
186
+ "er mwyn cofio eich gosodiadau a deall sut rydych chi’n defnyddio’r wefan. Mae hyn yn ein helpu ni i wella ein gwasanaethau.",
187
+ "Accept additional cookies": "Derbyn cwcis ychwanegol",
188
+ "Reject additional cookies": "Gwrthod cwcis ychwanegol",
189
+ "View cookies": "Gweld cwcis",
190
+ "You have accepted all additional cookies.": "Rydych chi wedi derbyn yr holl gwcis ychwanegol.",
191
+ "You have rejected all additional cookies.":
192
+ "Rydych chi wedi gwrthod yr holl gwcis ychwanegol.",
193
+ "You can": "Gallwch chi",
194
+ "change your cookie preferences": "newid eich dewisiadau o ran cwcis",
195
+ "at any time.": "ar unrhyw adeg.",
196
+ Hide: "Cuddio",
197
+ "Hide this message": "Cuddiwch y neges yma"
198
+ };
199
+ $: i18n = (text) => (lang === "cy" && texts[text] ? texts[text] : text);
190
200
  </script>
191
201
 
192
202
  {#if showBanner && !hideBanner}
193
- <div
194
- class="ons-cookies-banner"
195
- role="region"
196
- aria-label="Cookies banner"
197
- style:display="{showBanner ? "block" : null}"
198
- >
199
- {#if !showConfirm}
200
- <form
201
- action="{baseurl + '/cookies/accept-all'}"
202
- method="GET"
203
- id="global-cookie-message"
204
- aria-label="cookie banner"
205
- >
206
- <div
207
- class="ons-container ons-cookies-banner__primary"
208
- class:ons-page__container--wider="{width === 'wider'}"
209
- >
210
- <div class="ons-grid">
211
- <div class="ons-grid__col ons-col-8@m">
212
- <h2 class="ons-cookies-banner__title ons-u-mb-xs">{i18n("Cookies on ons.gov.uk")}</h2>
213
- <div class="ons-cookies-banner__statement">
214
- <p>
215
- {i18n(
216
- "Cookies are small files stored on your device when you visit a website. We use some essential cookies to make this website work."
217
- )}
218
- </p>
219
- <p>
220
- {i18n("We would like to set")}
221
- <a href="{baseurl + '/cookies'}">{i18n("additional cookies")}</a>
222
- {i18n(
223
- "to remember your settings and understand how you use the site. This helps us to improve our services."
224
- )}
225
- </p>
226
- </div>
227
- </div>
228
- </div>
229
- <div class="ons-grid ons-grid--flex ons-u-mt-s">
230
- <div class="ons-grid__col">
231
- <button
232
- type="submit"
233
- class="ons-btn ons-btn--small ons-js-accept-cookies ons-cookies-banner__btn"
234
- data-button="accept"
235
- on:click|preventDefault="{() => setCookie('all')}"
236
- >
237
- <span class="ons-btn__inner"
238
- ><span class="ons-btn__text">{i18n("Accept additional cookies")}</span>
239
- </span>
240
- </button>
241
- </div>
242
- <div class="ons-grid__col">
243
- <button
244
- type="button"
245
- class="ons-btn ons-btn--small ons-js-reject-cookies ons-cookies-banner__btn"
246
- data-button="reject"
247
- on:click|preventDefault="{() => setCookie('reject')}"
248
- >
249
- <span class="ons-btn__inner"
250
- ><span class="ons-btn__text">{i18n("Reject additional cookies")}</span>
251
- </span>
252
- </button>
253
- </div>
254
- <div class="ons-grid__col">
255
- <a class="ons-cookies-banner__link" href="{baseurl + '/cookies'}"
256
- >{i18n("View cookies")}</a
257
- >
258
- </div>
259
- </div>
260
- </div>
261
- </form>
262
- {:else}
263
- <div
264
- class="ons-container ons-cookies-banner__confirmation"
265
- class:ons-page__container--wider="{width === 'wider'}"
266
- >
267
- <div
268
- class="ons-grid ons-grid--flex ons-grid--between ons-grid--gutterless ons-grid--no-wrap@s ons-grid--vertical-center"
269
- >
270
- <div class="ons-grid__col ons-grid__col--flex ons-col-auto ons-u-flex-shrink@s">
271
- <p class="ons-cookies-banner__desc ons-u-mb-no@s ons-u-mr-s@s">
272
- <span>{i18n(message)}</span>
273
- <span class="ons-cookies-banner__preferences-text"
274
- >{i18n("You can")}
275
- <a href="{baseurl + '/cookies'}">{i18n("change your cookie preferences")}</a>
276
- {i18n("at any time")}.</span
277
- >
278
- </p>
279
- </div>
280
- <div class="ons-grid__col">
281
- <button
282
- type="button"
283
- class="ons-btn ons-btn--secondary ons-btn--small ons-js-hide-button"
284
- aria-label="{i18n('Hide this message')}"
285
- on:click="{() => (showBanner = false)}"
286
- >
287
- <span class="ons-btn__inner"><span class="ons-btn__text">{i18n("Hide")}</span> </span>
288
- </button>
289
- </div>
290
- </div>
291
- </div>
292
- {/if}
293
- </div>
203
+ <div
204
+ class="ons-cookies-banner"
205
+ role="region"
206
+ aria-label="Cookies banner"
207
+ style:display={showBanner ? "block" : null}
208
+ >
209
+ {#if !showConfirm}
210
+ <form
211
+ action={baseurl + "/cookies/accept-all"}
212
+ method="GET"
213
+ id="global-cookie-message"
214
+ aria-label="cookie banner"
215
+ >
216
+ <div
217
+ class="ons-container ons-cookies-banner__primary"
218
+ class:ons-page__container--wider={width === "wider"}
219
+ >
220
+ <div class="ons-grid">
221
+ <div class="ons-grid__col ons-col-8@m">
222
+ <h2 class="ons-cookies-banner__title ons-u-mb-xs">{i18n("Cookies on ons.gov.uk")}</h2>
223
+ <div class="ons-cookies-banner__statement">
224
+ <p>
225
+ {i18n(
226
+ "Cookies are small files stored on your device when you visit a website. We use some essential cookies to make this website work."
227
+ )}
228
+ </p>
229
+ <p>
230
+ {i18n("We would like to set")}
231
+ <a href={baseurl + "/cookies"}>{i18n("additional cookies")}</a>
232
+ {i18n(
233
+ "to remember your settings and understand how you use the site. This helps us to improve our services."
234
+ )}
235
+ </p>
236
+ </div>
237
+ </div>
238
+ </div>
239
+ <div class="ons-grid ons-grid--flex ons-u-mt-s">
240
+ <div class="ons-grid__col">
241
+ <button
242
+ type="submit"
243
+ class="ons-btn ons-btn--small ons-js-accept-cookies ons-cookies-banner__btn"
244
+ data-button="accept"
245
+ on:click|preventDefault={() => setCookie("all")}
246
+ >
247
+ <span class="ons-btn__inner"
248
+ ><span class="ons-btn__text">{i18n("Accept additional cookies")}</span>
249
+ </span>
250
+ </button>
251
+ </div>
252
+ <div class="ons-grid__col">
253
+ <button
254
+ type="button"
255
+ class="ons-btn ons-btn--small ons-js-reject-cookies ons-cookies-banner__btn"
256
+ data-button="reject"
257
+ on:click|preventDefault={() => setCookie("reject")}
258
+ >
259
+ <span class="ons-btn__inner"
260
+ ><span class="ons-btn__text">{i18n("Reject additional cookies")}</span>
261
+ </span>
262
+ </button>
263
+ </div>
264
+ <div class="ons-grid__col">
265
+ <a class="ons-cookies-banner__link" href={baseurl + "/cookies"}
266
+ >{i18n("View cookies")}</a
267
+ >
268
+ </div>
269
+ </div>
270
+ </div>
271
+ </form>
272
+ {:else}
273
+ <div
274
+ class="ons-container ons-cookies-banner__confirmation"
275
+ class:ons-page__container--wider={width === "wider"}
276
+ >
277
+ <div
278
+ class="ons-grid ons-grid--flex ons-grid--between ons-grid--gutterless ons-grid--no-wrap@s ons-grid--vertical-center"
279
+ >
280
+ <div class="ons-grid__col ons-grid__col--flex ons-col-auto ons-u-flex-shrink@s">
281
+ <p class="ons-cookies-banner__desc ons-u-mb-no@s ons-u-mr-s@s">
282
+ <span>{i18n(message)}</span>
283
+ <span class="ons-cookies-banner__preferences-text"
284
+ >{i18n("You can")}
285
+ <a href={baseurl + "/cookies"}>{i18n("change your cookie preferences")}</a>
286
+ {i18n("at any time")}.</span
287
+ >
288
+ </p>
289
+ </div>
290
+ <div class="ons-grid__col">
291
+ <button
292
+ type="button"
293
+ class="ons-btn ons-btn--secondary ons-btn--small ons-js-hide-button"
294
+ aria-label={i18n("Hide this message")}
295
+ on:click={() => (showBanner = false)}
296
+ >
297
+ <span class="ons-btn__inner"><span class="ons-btn__text">{i18n("Hide")}</span> </span>
298
+ </button>
299
+ </div>
300
+ </div>
301
+ </div>
302
+ {/if}
303
+ </div>
294
304
  {/if}
295
305
 
296
306
  <style>
297
- .ons-cookies-banner {
298
- /* padding: 0; */
299
- background: var(--pale, #f0f0f0) !important;
300
- }
301
- .ons-page__container--wider {
302
- max-width: 1240px;
303
- }</style>
307
+ .ons-cookies-banner {
308
+ /* padding: 0; */
309
+ background: var(--pale, #f0f0f0) !important;
310
+ }
311
+ .ons-page__container--wider {
312
+ max-width: 1240px;
313
+ }
314
+ </style>
@@ -0,0 +1,36 @@
1
+ export function analyticsEvent(props: any): void;
2
+ /** @typedef {typeof __propDef.props} AnalyticsBannerProps */
3
+ /** @typedef {typeof __propDef.events} AnalyticsBannerEvents */
4
+ /** @typedef {typeof __propDef.slots} AnalyticsBannerSlots */
5
+ export default class AnalyticsBanner extends SvelteComponentTyped<{
6
+ width?: "wide" | "wider" | undefined;
7
+ page?: any;
8
+ analyticsId?: string | undefined;
9
+ analyticsProps?: object | undefined;
10
+ hideBanner?: boolean | undefined;
11
+ usageCookies?: boolean | undefined;
12
+ pageViewEnabled?: boolean | undefined;
13
+ }, {
14
+ [evt: string]: CustomEvent<any>;
15
+ }, {}> {
16
+ }
17
+ export type AnalyticsBannerProps = typeof __propDef.props;
18
+ export type AnalyticsBannerEvents = typeof __propDef.events;
19
+ export type AnalyticsBannerSlots = typeof __propDef.slots;
20
+ import { SvelteComponentTyped } from "svelte";
21
+ declare const __propDef: {
22
+ props: {
23
+ width?: "wide" | "wider" | undefined;
24
+ page?: any;
25
+ analyticsId?: string | undefined;
26
+ analyticsProps?: object | undefined;
27
+ hideBanner?: boolean | undefined;
28
+ usageCookies?: boolean | undefined;
29
+ pageViewEnabled?: boolean | undefined;
30
+ };
31
+ events: {
32
+ [evt: string]: CustomEvent<any>;
33
+ };
34
+ slots: {};
35
+ };
36
+ export {};
@@ -0,0 +1,17 @@
1
+ This component will display a cookie banner and export a function that allows you to push events to the Google Analytics dataLayer array.
2
+
3
+ <!-- prettier-ignore -->
4
+ ```html
5
+ <script>
6
+ import { AnalyticsBanner, AnalyticsEvent } from "@onsvisual/svelte-components";
7
+
8
+ // Example of an analytics event triggered by another event "e"
9
+ function doAnalyticsEvent(e) {
10
+ // Assumes that e.detail is in the form {key1: "value1", key2: "value2", etc}
11
+ AnalyticsEvent({event: "eventName", ...e.detail});
12
+ }
13
+ </script>
14
+
15
+ <AnalyticsBanner analyticsId="{id_string}" />
16
+ <!-- Rest of page content -->
17
+ ```