@onsvisual/svelte-components 0.1.104 → 1.0.0-next.1

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
@@ -2,21 +2,16 @@
2
2
  /** @typedef {typeof __propDef.events} NavSectionsEvents */
3
3
  /** @typedef {typeof __propDef.slots} NavSectionsSlots */
4
4
  export default class NavSections extends SvelteComponentTyped<{
5
- id?: string;
6
- cls?: string;
7
- theme?: "light" | "dark" | "lightblue";
8
- background?: string;
9
- allowClientOverrides?: boolean;
10
- width?: "narrow" | "medium" | "wide" | "wider" | "full";
11
- marginTop?: boolean;
12
- marginBottom?: boolean;
13
- themeOverrides?: any;
14
- contentsLabel?: string;
15
- noContents?: boolean;
5
+ id?: string | undefined;
6
+ cls?: string | undefined;
7
+ width?: "narrow" | "medium" | "wide" | "wider" | "full" | undefined;
8
+ marginTop?: boolean | undefined;
9
+ marginBottom?: boolean | undefined;
10
+ contentsLabel?: string | undefined;
11
+ noContents?: boolean | undefined;
16
12
  }, {
17
13
  [evt: string]: CustomEvent<any>;
18
14
  }, {
19
- header: {};
20
15
  'before-nav': {};
21
16
  'after-nav': {};
22
17
  before: {};
@@ -31,23 +26,18 @@ export type NavSectionsSlots = typeof __propDef.slots;
31
26
  import { SvelteComponentTyped } from "svelte";
32
27
  declare const __propDef: {
33
28
  props: {
34
- id?: string;
35
- cls?: string;
36
- theme?: "light" | "dark" | "lightblue";
37
- background?: string;
38
- allowClientOverrides?: boolean;
39
- width?: "narrow" | "medium" | "wide" | "wider" | "full";
40
- marginTop?: boolean;
41
- marginBottom?: boolean;
42
- themeOverrides?: object;
43
- contentsLabel?: string;
44
- noContents?: boolean;
29
+ id?: string | undefined;
30
+ cls?: string | undefined;
31
+ width?: "narrow" | "medium" | "wide" | "wider" | "full" | undefined;
32
+ marginTop?: boolean | undefined;
33
+ marginBottom?: boolean | undefined;
34
+ contentsLabel?: string | undefined;
35
+ noContents?: boolean | undefined;
45
36
  };
46
37
  events: {
47
38
  [evt: string]: CustomEvent<any>;
48
39
  };
49
40
  slots: {
50
- header: {};
51
41
  'before-nav': {};
52
42
  'after-nav': {};
53
43
  before: {};
@@ -0,0 +1,27 @@
1
+ Use this layou component to allow users to quickly jump to sections of a long page of content.
2
+
3
+ As the user scrolls down the page, the table of contents will remain accessible at the top of the viewport and will highlight the subheading of the section in view.
4
+
5
+ Note: These examples will not preview correctly in the iframes on this page. You can select the examples from the menu instead.
6
+
7
+ <!-- prettier-ignore -->
8
+ ```html
9
+ <script>
10
+ import { NavSections, NavSection } from "@onsvisual/svelte-components";
11
+ </script>
12
+
13
+ <NavSections>
14
+ <NavSection title="Section one">
15
+ <p>Contents of first section.</p>
16
+ </NavSection>
17
+ <NavSection title="Subsection A" subsection>
18
+ <p>Contents of subsection.</p>
19
+ </NavSection>
20
+ <NavSection title="Subsection B" subsection>
21
+ <p>Contents of subsection.</p>
22
+ </NavSection>
23
+ <NavSection title="Section two">
24
+ <p>Contents of third section.</p>
25
+ </NavSection>
26
+ </NavSections>
27
+ ```
@@ -0,0 +1,61 @@
1
+ <script module>
2
+ import { defineMeta } from "@storybook/addon-svelte-csf";
3
+ import { withComponentDocs } from "../../js/withParams.js";
4
+ import Notice from "./Notice.svelte";
5
+ import componentDocs from "./docs/component.md?raw";
6
+
7
+ const { Story } = defineMeta({
8
+ title: "Layout/Notice",
9
+ component: Notice,
10
+ tags: ["autodocs"],
11
+ argTypes: {
12
+ mode: {
13
+ control: { type: "select" }
14
+ }
15
+ },
16
+ parameters: withComponentDocs(componentDocs)
17
+ });
18
+ </script>
19
+
20
+ {#snippet template(args)}
21
+ <div style:padding="12px">
22
+ <Notice {...args}>
23
+ {@html args.content}
24
+ </Notice>
25
+ </div>
26
+ {/snippet}
27
+
28
+ <Story
29
+ name="Default"
30
+ args={{
31
+ content: "This is some helpful information."
32
+ }}
33
+ {template}
34
+ />
35
+
36
+ <Story
37
+ name="Warning style"
38
+ args={{
39
+ mode: "warning",
40
+ content: "This is some important information you need to know."
41
+ }}
42
+ {template}
43
+ />
44
+
45
+ <Story
46
+ name="Success style"
47
+ args={{
48
+ mode: "success",
49
+ content: "You successfully submitted some information."
50
+ }}
51
+ {template}
52
+ />
53
+
54
+ <Story
55
+ name="Error style"
56
+ args={{
57
+ mode: "error",
58
+ content: "An unexpected error has occurred."
59
+ }}
60
+ {template}
61
+ />
@@ -0,0 +1,23 @@
1
+ /** @typedef {typeof __propDef.props} NoticeProps */
2
+ /** @typedef {typeof __propDef.events} NoticeEvents */
3
+ /** @typedef {typeof __propDef.slots} NoticeSlots */
4
+ export default class Notice extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {}> {
9
+ }
10
+ export type NoticeProps = typeof __propDef.props;
11
+ export type NoticeEvents = typeof __propDef.events;
12
+ export type NoticeSlots = typeof __propDef.slots;
13
+ import { SvelteComponentTyped } from "svelte";
14
+ declare const __propDef: {
15
+ props: {
16
+ [x: string]: never;
17
+ };
18
+ events: {
19
+ [evt: string]: CustomEvent<any>;
20
+ };
21
+ slots: {};
22
+ };
23
+ export {};
@@ -1,60 +1,51 @@
1
1
  <script>
2
- /**
3
- * (Optional) Notice title
4
- * @type {string}
5
- */
6
- export let title = null;
7
- /**
8
- * Sets the mode/colour of the notice
9
- * @type {"info"|"success"|"pending"|"error"|"warning"}
10
- */
11
- export let mode = "info";
12
- /**
13
- * Adds an exclamation mark icon
14
- * @type {boolean}
15
- */
16
- export let important = mode === "warning";
17
-
18
- $: style =
19
- mode === "success"
20
- ? "background: var(--ons-color-success-tint); border-color: var(--ons-color-success);"
21
- : mode === "pending"
22
- ? "background: var(--ons-color-pending-tint); border-color: var(--ons-color-pending);"
23
- : mode === "error"
24
- ? "background: var(--ons-color-errors-tint); border-color: var(--ons-color-errors);"
25
- : null;
2
+ /**
3
+ * Sets the mode/colour of the notice
4
+ * @type {"info"|"success"|"error"|"warning"}
5
+ */
6
+ export let mode = "info";
26
7
  </script>
27
8
 
28
9
  <div
29
- class="ons-panel {mode === 'warning' ? 'ons-panel--warn' : 'ons-panel--info'} ons-panel--no-title"
30
- style="{style}"
10
+ class="ons-panel ons-panel--no-title"
11
+ class:ons-panel--info={mode === "info"}
12
+ class:ons-panel--warn={mode === "warning"}
13
+ class:ons-panel--error={mode === "error"}
14
+ class:ons-panel--success={mode === "success"}
31
15
  >
32
- <div class="ons-u-bg--tr" class:ons-panel--warn="{important && mode !== 'warning'}">
33
- {#if important}<div class="ons-panel__icon" aria-hidden="true">!</div>{/if}
34
- <span class="ons-panel__assistive-text ons-u-vh"
35
- >{mode === "warning" ? "Warning:" : "Important information:"}</span
36
- >
37
- <div class="ons-panel__body">
38
- <div class="default-line-height" class:ons-u-fs-r="{mode !== 'warning'}">
39
- {#if title}<p><strong>{title}</strong></p>{/if}
40
- <slot />
41
- </div>
42
- </div>
43
- </div>
16
+ <div class="ons-u-bg--tr">
17
+ {#if mode === "warning"}<div class="ons-panel__icon" aria-hidden="true">!</div>{/if}
18
+ <span class="ons-panel__assistive-text ons-u-vh"
19
+ >{mode === "warning"
20
+ ? "Warning:"
21
+ : mode === "success"
22
+ ? "Completed:"
23
+ : mode === "error"
24
+ ? "Error:"
25
+ : "Important information:"}</span
26
+ >
27
+ {#if mode === "success"}
28
+ <span class="ons-panel__icon ons-u-fs-r"
29
+ ><svg
30
+ class="ons-icon"
31
+ viewBox="0 0 13 10"
32
+ xmlns="http://www.w3.org/2000/svg"
33
+ focusable="false"
34
+ fill="currentColor"
35
+ role="img"
36
+ title="ons-icon-check"
37
+ >
38
+ <path
39
+ d="M14.35,3.9l-.71-.71a.5.5,0,0,0-.71,0h0L5.79,10.34,3.07,7.61a.51.51,0,0,0-.71,0l-.71.71a.51.51,0,0,0,0,.71l3.78,3.78a.5.5,0,0,0,.71,0h0L14.35,4.6A.5.5,0,0,0,14.35,3.9Z"
40
+ transform="translate(-1.51 -3.04)"
41
+ />
42
+ </svg></span
43
+ >
44
+ {/if}
45
+ <div class="ons-panel__body">
46
+ <div class="default-line-height" class:ons-u-fs-r={mode !== "warning"}>
47
+ <slot />
48
+ </div>
49
+ </div>
50
+ </div>
44
51
  </div>
45
-
46
- <style>
47
- .ons-panel {
48
- color: rgb(34, 34, 34);
49
- }
50
- :global(.ons-panel__body a) {
51
- color: #206095 !important;
52
- }
53
- :global(.ons-panel__body a:hover) {
54
- color: rgb(0, 60, 87) !important;
55
- -webkit-text-decoration: underline solid rgb(0, 60, 87) 2px !important;
56
- text-decoration: underline solid rgb(0, 60, 87) 2px !important;
57
- }
58
- :global(.ons-panel__body p:last-of-type) {
59
- margin-bottom: 0;
60
- }</style>
@@ -2,9 +2,7 @@
2
2
  /** @typedef {typeof __propDef.events} NoticeEvents */
3
3
  /** @typedef {typeof __propDef.slots} NoticeSlots */
4
4
  export default class Notice extends SvelteComponentTyped<{
5
- title?: string;
6
- mode?: "info" | "success" | "pending" | "error" | "warning";
7
- important?: boolean;
5
+ mode?: "error" | "info" | "success" | "warning" | undefined;
8
6
  }, {
9
7
  [evt: string]: CustomEvent<any>;
10
8
  }, {
@@ -17,9 +15,7 @@ export type NoticeSlots = typeof __propDef.slots;
17
15
  import { SvelteComponentTyped } from "svelte";
18
16
  declare const __propDef: {
19
17
  props: {
20
- title?: string;
21
- mode?: "info" | "success" | "pending" | "error" | "warning";
22
- important?: boolean;
18
+ mode?: "error" | "info" | "success" | "warning" | undefined;
23
19
  };
24
20
  events: {
25
21
  [evt: string]: CustomEvent<any>;
@@ -0,0 +1,14 @@
1
+ Container for displaying notices on a page.
2
+
3
+ Based on this [ONS Design System component](https://service-manual.ons.gov.uk/design-system/components/panel).
4
+
5
+ <!-- prettier-ignore -->
6
+ ```html
7
+ <script>
8
+ import { Notice } from "@onsvisual/svelte-components";
9
+ </script>
10
+
11
+ <Notice>
12
+ <p>This is the text of the notice.</p>
13
+ </Notice>
14
+ ```
@@ -0,0 +1,24 @@
1
+ <script module>
2
+ import { defineMeta } from "@storybook/addon-svelte-csf";
3
+ import { withComponentDocs } from "../../js/withParams.js";
4
+ import PhaseBanner from "./PhaseBanner.svelte";
5
+ import componentDocs from "./docs/component.md?raw";
6
+
7
+ const { Story } = defineMeta({
8
+ title: "Layout/PhaseBanner",
9
+ component: PhaseBanner,
10
+ tags: ["autodocs"],
11
+ argTypes: {},
12
+ parameters: withComponentDocs(componentDocs)
13
+ });
14
+ </script>
15
+
16
+ <Story name="Default" args={{}} />
17
+
18
+ <Story
19
+ name="Prototype with custom link"
20
+ args={{
21
+ phase: "Prototype",
22
+ href: "https://example.com"
23
+ }}
24
+ />
@@ -2,8 +2,7 @@
2
2
  /** @typedef {typeof __propDef.events} PhaseBannerEvents */
3
3
  /** @typedef {typeof __propDef.slots} PhaseBannerSlots */
4
4
  export default class PhaseBanner extends SvelteComponentTyped<{
5
- href?: string;
6
- phase?: string;
5
+ [x: string]: never;
7
6
  }, {
8
7
  [evt: string]: CustomEvent<any>;
9
8
  }, {}> {
@@ -14,8 +13,7 @@ export type PhaseBannerSlots = typeof __propDef.slots;
14
13
  import { SvelteComponentTyped } from "svelte";
15
14
  declare const __propDef: {
16
15
  props: {
17
- href?: string;
18
- phase?: string;
16
+ [x: string]: never;
19
17
  };
20
18
  events: {
21
19
  [evt: string]: CustomEvent<any>;
@@ -1,40 +1,61 @@
1
1
  <script>
2
- /**
3
- * Phase of project (alpha, beta, prototype etc.)
4
- * @type {string}
5
- */
6
- export let phase = "Beta";
7
- /**
8
- * URL of feedback form (relative or absolute)
9
- * @type {string}
10
- */
11
- export let href = "/feedback";
2
+ /**
3
+ * Phase of project (alpha, beta, prototype etc.)
4
+ * @type {string}
5
+ */
6
+ export let phase = "Beta";
7
+ /**
8
+ * URL of feedback form (relative or absolute)
9
+ * @type {string}
10
+ */
11
+ export let href = "https://www.ons.gov.uk/feedback";
12
12
  </script>
13
13
 
14
14
  <div class="ons-phase-banner">
15
- <div class="ons-container">
16
- <div class="ons-grid ons-grid--flex ons-grid--gutterless ons-grid--no-wrap">
17
- <div class="ons-grid__col ons-col-auto ons-u-flex-no-grow ons-u-flex-no-shrink">
18
- <strong class="ons-phase-banner__badge">{phase}</strong>
19
- </div>
20
- <div class="ons-col-auto ons-grid--flex ons-grid--no-wrap@l ons-grid--vertical-center">
21
- <span class="ons-u-fs-s ons-u-m-no">
22
- {#if phase.toLowerCase() === "prototype"}
23
- This is a prototype – your <a href="{href}">feedback</a> will help us improve it.
24
- {:else}
25
- This is a new service – your <a href="{href}">feedback</a> will help us improve it.
26
- {/if}
27
- </span>
28
- </div>
29
- </div>
30
- </div>
15
+ <div class="ons-container">
16
+ <div
17
+ class="ons-grid ons-grid-flex ons-grid--gutterless ons-grid-flex--vertical-center ons-grid-flex--no-wrap"
18
+ >
19
+ <div class="ons-grid__col ons-col-auto ons-u-flex-no-grow ons-u-flex-no-shrink">
20
+ <strong class="ons-phase-banner__badge">{phase}</strong>
21
+ </div>
22
+ <div class="ons-grid__col ons-col-auto ons-u-flex-shrink">
23
+ <p class="ons-phase-banner__desc ons-u-fs-s ons-u-mb-no">
24
+ This is a {phase === "Prototype" ? "new service" : "prototype"}.
25
+ {#if href}
26
+ To help us improve it, <a
27
+ {href}
28
+ class="ons-external-link"
29
+ target="_blank"
30
+ rel="noopener"
31
+ >
32
+ <span class="ons-external-link__text">give feedback</span><span
33
+ class="ons-external-link__icon"
34
+ >&nbsp;<svg
35
+ class="ons-icon"
36
+ viewBox="0 0 12 12"
37
+ xmlns="http://www.w3.org/2000/svg"
38
+ focusable="false"
39
+ aria-hidden="true"
40
+ role="img"
41
+ title="ons-icon-external-link"
42
+ >
43
+ <path
44
+ 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"
45
+ transform="translate(-2 -1.99)"
46
+ />
47
+ <path
48
+ 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"
49
+ transform="translate(-2 -1.99)"
50
+ />
51
+ </svg></span
52
+ ><span class="ons-external-link__new-window-description ons-u-vh"
53
+ >(opens in a new tab)</span
54
+ ></a
55
+ >
56
+ {/if}
57
+ </p>
58
+ </div>
59
+ </div>
60
+ </div>
31
61
  </div>
32
-
33
- <style>
34
- .ons-phase-banner {
35
- background: var(--pale, rgb(245, 245, 246)) !important;
36
- }
37
- .ons-phase-banner__badge {
38
- background: var(--text, rgb(34, 34, 34)) !important;
39
- color: var(--background, white) !important;
40
- }</style>
@@ -0,0 +1,25 @@
1
+ /** @typedef {typeof __propDef.props} PhaseBannerProps */
2
+ /** @typedef {typeof __propDef.events} PhaseBannerEvents */
3
+ /** @typedef {typeof __propDef.slots} PhaseBannerSlots */
4
+ export default class PhaseBanner extends SvelteComponentTyped<{
5
+ href?: string | undefined;
6
+ phase?: string | undefined;
7
+ }, {
8
+ [evt: string]: CustomEvent<any>;
9
+ }, {}> {
10
+ }
11
+ export type PhaseBannerProps = typeof __propDef.props;
12
+ export type PhaseBannerEvents = typeof __propDef.events;
13
+ export type PhaseBannerSlots = typeof __propDef.slots;
14
+ import { SvelteComponentTyped } from "svelte";
15
+ declare const __propDef: {
16
+ props: {
17
+ href?: string | undefined;
18
+ phase?: string | undefined;
19
+ };
20
+ events: {
21
+ [evt: string]: CustomEvent<any>;
22
+ };
23
+ slots: {};
24
+ };
25
+ export {};
@@ -0,0 +1,14 @@
1
+ Dispay a phase banner on prototypes, alpha and beta products.
2
+
3
+ Based on this [ONS Design System component](https://service-manual.ons.gov.uk/design-system/components/phase-banner).
4
+
5
+ <!-- prettier-ignore -->
6
+ ```html
7
+ <script>
8
+ import { PhaseBanner } from "@onsvisual/svelte-components";
9
+ </script>
10
+
11
+ <PhaseBanner />
12
+ <!-- page header -->
13
+ <!-- page contents -->
14
+ ```
@@ -0,0 +1,36 @@
1
+ <script module>
2
+ import { defineMeta } from "@storybook/addon-svelte-csf";
3
+ import { withComponentDocs } from "../../js/withParams.js";
4
+ import RelatedContent from "./RelatedContent.svelte";
5
+ import componentDocs from "./docs/component.md?raw";
6
+
7
+ const { Story } = defineMeta({
8
+ title: "Layout/RelatedContent",
9
+ component: RelatedContent,
10
+ tags: ["autodocs"],
11
+ argTypes: {},
12
+ parameters: withComponentDocs(componentDocs)
13
+ });
14
+
15
+ const related = [
16
+ {
17
+ title: "Help with the census",
18
+ links: [
19
+ { title: "I’m moving house", href: "#0" },
20
+ { title: "What if I’m away or abroad on Census Day?", href: "#0" },
21
+ { title: "Get an access code or paper census", href: "#0" }
22
+ ]
23
+ },
24
+ {
25
+ title: "Related content",
26
+ links: [
27
+ { title: "How we will contact or visit you", href: "#0" },
28
+ { title: "Media enquiries", href: "#0" }
29
+ ]
30
+ }
31
+ ];
32
+ </script>
33
+
34
+ <Story name="Single section" args={{ links: related[1].links }} />
35
+
36
+ <Story name="Multiple sections" args={{ related }} />
@@ -2,7 +2,7 @@
2
2
  /** @typedef {typeof __propDef.events} RelatedContentEvents */
3
3
  /** @typedef {typeof __propDef.slots} RelatedContentSlots */
4
4
  export default class RelatedContent extends SvelteComponentTyped<{
5
- title?: string;
5
+ [x: string]: never;
6
6
  }, {
7
7
  [evt: string]: CustomEvent<any>;
8
8
  }, {}> {
@@ -13,7 +13,7 @@ export type RelatedContentSlots = typeof __propDef.slots;
13
13
  import { SvelteComponentTyped } from "svelte";
14
14
  declare const __propDef: {
15
15
  props: {
16
- title?: string;
16
+ [x: string]: never;
17
17
  };
18
18
  events: {
19
19
  [evt: string]: CustomEvent<any>;
@@ -1,59 +1,49 @@
1
1
  <script>
2
- /**
3
- * H2 title
4
- * @type {string}
5
- */
6
- export let title = "Help with the census";
2
+ /**
3
+ * Title for the section
4
+ * @type {string}
5
+ */
6
+ export let title = "Related content";
7
+ /**
8
+ * Links in the form {title, href}
9
+ * @type {object[]|object}
10
+ */
11
+ export let links = [];
12
+ /**
13
+ * Define multiple links sections in the form {title, links: [{title, href}]} (overrides above options)
14
+ * @type {object[]}
15
+ */
16
+ export let related = [{ title, links }];
7
17
  </script>
8
18
 
9
19
  <aside class="ons-related-content" aria-label="Related content">
10
- <div class="ons-related-content__section">
11
- <h2
12
- class="ons-related-content__title ons-u-fs-r--b ons-u-mb-xs"
13
- id="related-help-with-the-census"
14
- >
15
- {title}
16
- </h2>
17
- <div class="ons-related-content__content">
18
- <nav class="ons-related-content__navigation" aria-labelledby="related-help-with-the-census">
19
- <ul class="ons-list ons-list--bare">
20
- <li class="ons-list__item">
21
- <a href="#0" class="ons-list__link">I’m moving house</a>
22
- </li>
23
- <li class="ons-list__item">
24
- <a href="#0" class="ons-list__link">What if I’m away or abroad on Census Day?</a>
25
- </li>
26
- <li class="ons-list__item">
27
- <a href="#0" class="ons-list__link">Get an access code or paper census</a>
28
- </li>
29
- <li class="ons-list__item">
30
- <a href="#0" class="ons-list__link">Find a census support centre</a>
31
- </li>
32
- <li class="ons-list__item">
33
- <a href="#0" class="ons-list__link">Languages</a>
34
- </li>
35
- <li class="ons-list__item">
36
- <a href="#0" class="ons-list__link">Accessibility</a>
37
- </li>
38
- </ul>
39
- </nav>
40
- </div>
41
- </div>
42
- <div class="ons-related-content__section">
43
- <h2 class="ons-related-content__title ons-u-fs-r--b ons-u-mb-xs" id="related-content">
44
- Related content
45
- </h2>
46
- <div class="ons-related-content__content">
47
- <nav class="ons-related-content__navigation" aria-labelledby="related-content">
48
- <ul class="ons-list ons-list--bare">
49
- <li class="ons-list__item">
50
- <a href="#0" class="ons-list__link">How we will contact or visit you</a>
51
- </li>
52
- <li class="ons-list__item">
53
- <a href="#0" class="ons-list__link">Media enquiries</a>
54
- </li>
55
- </ul>
56
- </nav>
57
- </div>
58
- </div>
20
+ <slot />
21
+ {#each related as section}
22
+ <div class="ons-related-content__section">
23
+ {#if section.title}
24
+ <h2
25
+ class="ons-related-content__title ons-u-fs-r--b ons-u-mb-xs"
26
+ id="related-help-with-the-census"
27
+ >
28
+ {section.title}
29
+ </h2>
30
+ {/if}
31
+ {#if Array.isArray(section.links)}
32
+ <div class="ons-related-content__content">
33
+ <nav
34
+ class="ons-related-content__navigation"
35
+ aria-labelledby="related-help-with-the-census"
36
+ >
37
+ <ul class="ons-list ons-list--bare">
38
+ {#each section.links as link}
39
+ <li class="ons-list__item">
40
+ <a href={link.href} class="ons-list__link">{link.title}</a>
41
+ </li>
42
+ {/each}
43
+ </ul>
44
+ </nav>
45
+ </div>
46
+ {/if}
47
+ </div>
48
+ {/each}
59
49
  </aside>