@onsvisual/svelte-components 0.1.105 → 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
@@ -0,0 +1,302 @@
1
+ // Tabs component JS
2
+
3
+ // The tab js is based on the GDS tabs component(https://design-system.service.gov.uk/components/tabs/)
4
+ // https://github.com/alphagov/govuk-frontend/blob/master/src/components/tabs/tabs.js
5
+
6
+ import { matchMedia } from "../../js/utils.js";
7
+
8
+ const classTab = "ons-tab";
9
+ const classTabTitle = "ons-tabs__title";
10
+ const classTabList = "ons-tabs__list";
11
+ const classTabListItems = "ons-tab__list-item";
12
+ const classTabsPanel = "ons-tabs__panel";
13
+ const matchMediaUtil = matchMedia;
14
+
15
+ export default class Tabs {
16
+ constructor(component) {
17
+ this.boundTabClick = this.onTabClick.bind(this);
18
+ this.boundTabKeydown = this.onTabKeydown.bind(this);
19
+
20
+ this.component = component;
21
+ this.tabsTitle = component.querySelector(`.${classTabTitle}`);
22
+ this.tabs = [...component.getElementsByClassName(classTab)];
23
+ this.tabList = component.getElementsByClassName(classTabList);
24
+ this.tabListContainer = this.tabList[0].parentElement;
25
+ this.tabListItems = [...component.getElementsByClassName(classTabListItems)];
26
+ this.tabPanels = [...component.getElementsByClassName(classTabsPanel)];
27
+
28
+ this.jsHiddenClass = "ons-tabs__panel--hidden";
29
+ this.jsTabListAsRowClass = "ons-tabs__list--row";
30
+ this.jsTabItemAsRowClass = "ons-tab__list-item--row";
31
+ this.jsTabAsListClass = "ons-tab--row";
32
+
33
+ this.noInitialActiveTab = this.component.getAttribute("data-no-initial-active-tab");
34
+ if (matchMediaUtil.hasMatchMedia()) {
35
+ this.setupViewportChecks();
36
+ } else {
37
+ this.makeTabs();
38
+ }
39
+ }
40
+
41
+ // Set up checks for responsive functionality
42
+ // The tabs will display as tabs up until this.breakpoint is reached
43
+ // Tabs will then display as a table of contents list and show full content for this.breakpoint viewports
44
+ // Aria tags are added only in table of contents view
45
+ setupViewportChecks() {
46
+ const breakpoint = () => {
47
+ let finalBreakpoint = 0;
48
+ this.tabListItems.forEach((tab) => {
49
+ finalBreakpoint += tab.offsetWidth;
50
+ });
51
+ if (finalBreakpoint < 450) {
52
+ return (finalBreakpoint = 450);
53
+ } else {
54
+ return finalBreakpoint;
55
+ }
56
+ };
57
+ this.viewport = matchMediaUtil(`(min-width: ${breakpoint()}px)`);
58
+ this.viewport.addListener(this.checkViewport.bind(this));
59
+ this.checkViewport();
60
+ }
61
+
62
+ checkViewport() {
63
+ if (this.viewport.matches) {
64
+ this.makeTabs();
65
+ } else {
66
+ this.makeList();
67
+ }
68
+ }
69
+
70
+ makeTabs() {
71
+ this.tabList[0].setAttribute("role", "tablist");
72
+ this.tabList[0].classList.add(this.jsTabListAsRowClass);
73
+
74
+ this.tabsTitle.classList.add("ons-u-vh");
75
+ this.tabListContainer.classList.add("ons-tabs__container");
76
+ this.tabPanels.forEach((panel) => {
77
+ panel.setAttribute("tabindex", "0");
78
+ if (panel.querySelector('[id*="content-title"]')) {
79
+ panel.firstElementChild.classList.add("ons-u-vh");
80
+ }
81
+ });
82
+
83
+ this.tabListItems.forEach((item) => {
84
+ item.setAttribute("role", "presentation");
85
+ item.classList.add(this.jsTabItemAsRowClass);
86
+ });
87
+
88
+ this.tabs.forEach((tab) => {
89
+ this.setAttributes(tab);
90
+ tab.classList.add(this.jsTabAsListClass);
91
+
92
+ tab.addEventListener("click", this.boundTabClick, true);
93
+ tab.addEventListener("keydown", this.boundTabKeydown, true);
94
+ this.hideTab(tab);
95
+ });
96
+
97
+ const hashTab = this.getTab(window.location.hash);
98
+ if (!this.noInitialActiveTab || !!hashTab) {
99
+ const activeTab = hashTab || this.tabs[0];
100
+ this.showTab(activeTab);
101
+ }
102
+
103
+ this.ensureTabIndexExists();
104
+
105
+ this.component.boundOnHashChange = this.onHashChange.bind(this);
106
+ window.addEventListener("hashchange", this.component.boundOnHashChange, true);
107
+ }
108
+
109
+ makeList() {
110
+ this.tabList[0].removeAttribute("role");
111
+ this.tabList[0].classList.remove(this.jsTabListAsRowClass);
112
+ this.tabListContainer.classList.remove("ons-tabs__container");
113
+ this.tabsTitle.classList.remove("ons-u-vh");
114
+
115
+ this.tabPanels.forEach((panel) => {
116
+ panel.removeAttribute("tabindex", "0");
117
+ if (panel.firstElementChild.classList.contains("ons-u-vh")) {
118
+ panel.firstElementChild.classList.remove("ons-u-vh");
119
+ }
120
+ });
121
+
122
+ this.tabListItems.forEach((item) => {
123
+ item.removeAttribute("role", "presentation");
124
+ item.classList.remove(this.jsTabItemAsRowClass);
125
+ });
126
+
127
+ this.tabs.forEach((tab) => {
128
+ tab.removeEventListener("click", this.boundTabClick, true);
129
+ tab.removeEventListener("keydown", this.boundTabKeydown, true);
130
+ tab.classList.remove(this.jsTabAsListClass);
131
+ this.unsetAttributes(tab);
132
+ });
133
+
134
+ window.removeEventListener("hashchange", this.component.boundOnHashChange, true);
135
+ }
136
+
137
+ // Handle haschange so that the browser can cycle through the tab history
138
+ onHashChange() {
139
+ const hash = window.location.hash;
140
+ const tabWithHash = this.getTab(hash);
141
+ if (!tabWithHash) {
142
+ return;
143
+ }
144
+
145
+ if (this.changingHash) {
146
+ this.changingHash = false;
147
+ return;
148
+ }
149
+
150
+ const currentTab = this.getCurrentTab();
151
+ if (!!currentTab) {
152
+ this.hideTab(currentTab);
153
+ }
154
+ this.showTab(tabWithHash);
155
+ tabWithHash.focus();
156
+ }
157
+
158
+ hideTab(tab) {
159
+ this.unhighlightTab(tab);
160
+ this.hidePanel(tab);
161
+ }
162
+
163
+ showTab(tab) {
164
+ this.highlightTab(tab);
165
+ this.showPanel(tab);
166
+ }
167
+
168
+ getTab(hash) {
169
+ return this.component.querySelector('.ons-tab[href="' + hash + '"]');
170
+ }
171
+
172
+ // Set aria tags
173
+ setAttributes(tab) {
174
+ const panelId = this.getHref(tab).slice(1);
175
+ tab.setAttribute("id", "tab_" + panelId);
176
+ tab.setAttribute("role", "tab");
177
+ tab.setAttribute("aria-controls", panelId);
178
+ tab.setAttribute("tabindex", "-1");
179
+
180
+ const panel = this.getPanel(tab);
181
+ panel.setAttribute("role", "tabpanel");
182
+ panel.setAttribute("aria-labelledby", tab.id);
183
+ panel.classList.add(this.jsHiddenClass);
184
+ }
185
+
186
+ // Remove aria tags for table of contents view
187
+ unsetAttributes(tab) {
188
+ tab.removeAttribute("id");
189
+ tab.removeAttribute("role");
190
+ tab.removeAttribute("aria-controls");
191
+ tab.removeAttribute("tabindex");
192
+ tab.removeAttribute("aria-selected");
193
+
194
+ const panel = this.getPanel(tab);
195
+ panel.removeAttribute("role");
196
+ panel.removeAttribute("aria-labelledby");
197
+ panel.classList.remove(this.jsHiddenClass);
198
+ }
199
+
200
+ onTabClick(e) {
201
+ e.preventDefault();
202
+ const newTab = e.target;
203
+ const currentTab = this.getCurrentTab();
204
+
205
+ if (!!currentTab) {
206
+ this.hideTab(currentTab);
207
+ }
208
+
209
+ if (!this.noInitialActiveTab || newTab !== currentTab) {
210
+ this.showTab(newTab);
211
+ this.createHash(newTab);
212
+ }
213
+
214
+ this.ensureTabIndexExists();
215
+ }
216
+
217
+ ensureTabIndexExists() {
218
+ // Ensure that at least the first tab has a tab index when all tabs are hidden.
219
+ if (!this.tabs.find((tab) => tab.getAttribute("tabindex") === "0")) {
220
+ this.tabs[0].setAttribute("tabindex", "0");
221
+ }
222
+ }
223
+
224
+ createHash(tab) {
225
+ const panel = this.getPanel(tab);
226
+ const id = panel.id;
227
+ panel.id = "";
228
+ this.changingHash = true;
229
+ window.location.hash = this.getHref(tab).slice(1);
230
+ panel.id = id;
231
+ }
232
+
233
+ onTabKeydown(event) {
234
+ if (event.which === 37) {
235
+ this.focusPreviousTab();
236
+ event.preventDefault();
237
+ } else if (event.which === 39) {
238
+ this.focusNextTab();
239
+ event.preventDefault();
240
+ } else if (event.which === 32) {
241
+ this.onTabClick(event);
242
+ }
243
+ }
244
+
245
+ focusNextTab() {
246
+ const focusedTab = this.getFocusedTab();
247
+ const nextTabListItem = focusedTab.nextElementSibling;
248
+ if (nextTabListItem) {
249
+ nextTabListItem.firstElementChild.focus();
250
+ }
251
+ }
252
+
253
+ focusPreviousTab() {
254
+ const focusedTab = this.getFocusedTab();
255
+ const previousTabListItem = focusedTab.previousElementSibling;
256
+ if (previousTabListItem) {
257
+ previousTabListItem.firstElementChild.focus();
258
+ }
259
+ }
260
+
261
+ getPanel(tab) {
262
+ const panelSelector = this.getHref(tab).replace(/\./g, "\\.");
263
+ const panel = this.component.querySelector(panelSelector);
264
+ return panel;
265
+ }
266
+
267
+ showPanel(tab) {
268
+ const panel = this.getPanel(tab);
269
+ panel.classList.remove(this.jsHiddenClass);
270
+ }
271
+
272
+ hidePanel(tab) {
273
+ const panel = this.getPanel(tab);
274
+ panel.classList.add(this.jsHiddenClass);
275
+ }
276
+
277
+ unhighlightTab(tab) {
278
+ tab.setAttribute("aria-selected", "false");
279
+ tab.classList.remove("ons-tab--selected");
280
+ tab.setAttribute("tabindex", "-1");
281
+ }
282
+
283
+ highlightTab(tab) {
284
+ tab.setAttribute("aria-selected", "true");
285
+ tab.classList.add("ons-tab--selected");
286
+ tab.setAttribute("tabindex", "0");
287
+ }
288
+
289
+ getFocusedTab() {
290
+ return document.activeElement.parentNode;
291
+ }
292
+
293
+ getCurrentTab() {
294
+ return this.component.querySelector(".ons-tab--selected");
295
+ }
296
+
297
+ getHref(tab) {
298
+ const href = tab.getAttribute("href");
299
+ const hash = href.slice(href.indexOf("#"), href.length);
300
+ return hash;
301
+ }
302
+ }
@@ -0,0 +1,72 @@
1
+ <script module>
2
+ import { defineMeta } from "@storybook/addon-svelte-csf";
3
+ import { withComponentDocs } from "../../js/withParams.js";
4
+ import componentDocs from "./docs/component.md?raw";
5
+ import Embed from "../../wrappers/Embed/Embed.svelte";
6
+ import Highlight from "../../layout/Highlight/Highlight.svelte";
7
+ import Section from "../../layout/Section/Section.svelte";
8
+ import Grid from "../../layout/Grid/Grid.svelte";
9
+ import Select from "../../inputs/Select/Select.svelte";
10
+
11
+ const { Story } = defineMeta({
12
+ title: "Templates/Embedded article",
13
+ component: Embed,
14
+ tags: ["autodocs"],
15
+ argTypes: {},
16
+ parameters: { ...withComponentDocs(componentDocs), layout: "fullscreen" }
17
+ });
18
+ </script>
19
+
20
+ <Story name="Default" args={{}} asChild>
21
+ <Embed>
22
+ <Highlight bigText={false} marginBottom={false}>
23
+ <div style:padding="0 12px">
24
+ <h2>This is a sub-headline</h2>
25
+ <p>This is a description of the embedded interactive.</p>
26
+ <Select label="Select your area" />
27
+ </div>
28
+ </Highlight>
29
+
30
+ <Section title="Section title" marginTop={true}>
31
+ <p>
32
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
33
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
34
+ laboris nisi ut aliquip ex ea commodo consequat..
35
+ </p>
36
+ <p>
37
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
38
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt
39
+ mollit anim id est laborum.
40
+ </p>
41
+ </Section>
42
+
43
+ <Grid width="medium" caption="This is a caption text">
44
+ <div class="grid-cell"></div>
45
+ </Grid>
46
+
47
+ <Section title="Another section title">
48
+ <p>
49
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
50
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
51
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
52
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur.
53
+ </p>
54
+ </Section>
55
+
56
+ <Section title="Yet another section title">
57
+ <p>
58
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
59
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
60
+ laboris nisi ut aliquip ex ea commodo consequat.
61
+ </p>
62
+ </Section>
63
+ </Embed>
64
+ </Story>
65
+
66
+ <style>
67
+ .grid-cell {
68
+ background: var(--ons-color-grey-10);
69
+ min-height: 200px;
70
+ width: 100%;
71
+ }
72
+ </style>
@@ -0,0 +1,23 @@
1
+ /** @typedef {typeof __propDef.props} EmbedArticleProps */
2
+ /** @typedef {typeof __propDef.events} EmbedArticleEvents */
3
+ /** @typedef {typeof __propDef.slots} EmbedArticleSlots */
4
+ export default class EmbedArticle extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {}> {
9
+ }
10
+ export type EmbedArticleProps = typeof __propDef.props;
11
+ export type EmbedArticleEvents = typeof __propDef.events;
12
+ export type EmbedArticleSlots = 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 {};
@@ -0,0 +1,56 @@
1
+ A full page article template with compact header and footer, suitable for scrollytelling and other feature articles.
2
+
3
+ (Note: The scroller in this example will not preview correctly in the iframe on this page. You can select the example from the menu instead.)
4
+
5
+ <!-- prettier-ignore -->
6
+ ```html
7
+ <!-- +page.svelte -->
8
+ <script>
9
+ import "@onsvisual/svelte-components/css/main.css"; // This is more typically imported in the global +layout.svelte
10
+ import { Embed, Highlight, Select, Section, Grid } from "@onsvisual/svelte-components";
11
+ </script>
12
+
13
+ <Embed>
14
+ <Highlight bigText={false} marginBottom={false}>
15
+ <div style:padding="0 12px">
16
+ <h2>This is a sub-headline</h2>
17
+ <p>This is a description of the embedded interactive.</p>
18
+ <Select label="Select your area" />
19
+ </div>
20
+ </Highlight>
21
+
22
+ <Section title="Section title" marginTop={true}>
23
+ <p>
24
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
25
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
26
+ laboris nisi ut aliquip ex ea commodo consequat..
27
+ </p>
28
+ <p>
29
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
30
+ pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt
31
+ mollit anim id est laborum.
32
+ </p>
33
+ </Section>
34
+
35
+ <Grid width="medium" caption="This is a caption text">
36
+ <div class="grid-cell"></div>
37
+ </Grid>
38
+
39
+ <Section title="Another section title">
40
+ <p>
41
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
42
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
43
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
44
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur.
45
+ </p>
46
+ </Section>
47
+
48
+ <Section title="Yet another section title">
49
+ <p>
50
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
51
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
52
+ laboris nisi ut aliquip ex ea commodo consequat.
53
+ </p>
54
+ </Section>
55
+ </Embed>
56
+ ```
@@ -0,0 +1,151 @@
1
+ <script module>
2
+ import { defineMeta } from "@storybook/addon-svelte-csf";
3
+ import { withComponentDocs } from "../../js/withParams.js";
4
+ import componentDocs from "./docs/component.md?raw";
5
+
6
+ import Main from "../../wrappers/Main/Main.svelte";
7
+ import Header from "../../layout/Header/Header.svelte";
8
+ import Hero from "../../layout/Hero/Hero.svelte";
9
+ import Container from "../../wrappers/Container/Container.svelte";
10
+ import Highlight from "../../layout/Highlight/Highlight.svelte";
11
+ import Section from "../../layout/Section/Section.svelte";
12
+ import Grid from "../../layout/Grid/Grid.svelte";
13
+ import GridCell from "../../layout/Grid/GridCell.svelte";
14
+ import Blockquote from "../../decorators/Blockquote/Blockquote.svelte";
15
+ import Em from "../../decorators/Em/Em.svelte";
16
+ import Divider from "../../decorators/Divider/Divider.svelte";
17
+ import Scroller from "../../layout/Scroller/Scroller.svelte";
18
+ import ScrollerSection from "../../layout/Scroller/ScrollerSection.svelte";
19
+ import Footer from "../../layout/Footer/Footer.svelte";
20
+
21
+ const { Story } = defineMeta({
22
+ title: "Templates/Feature article",
23
+ component: Header,
24
+ tags: ["autodocs"],
25
+ argTypes: {},
26
+ parameters: {
27
+ ...withComponentDocs(componentDocs),
28
+ layout: "fullscreen",
29
+ docs: { story: { inline: false, iframeHeight: 600 } }
30
+ }
31
+ });
32
+ </script>
33
+
34
+ <script>
35
+ const scrollerColors = ["#ddd", "#777", "#222"];
36
+ let scrollerColor = scrollerColors[0];
37
+ </script>
38
+
39
+ <Story name="Default" args={{}} asChild>
40
+ <Header compact />
41
+ <Main>
42
+ <Hero
43
+ theme="blue"
44
+ title="This is an article title"
45
+ lede="This is a short, introductory sentence"
46
+ height={400}
47
+ >
48
+ 1 January 2025
49
+ </Hero>
50
+
51
+ <Highlight height={400} marginBottom={false}>
52
+ <p>This is a test paragraph.</p>
53
+ <p>This is another test paragraph.</p>
54
+ </Highlight>
55
+
56
+ <Section title="Section title" marginTop={true}>
57
+ <p>
58
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
59
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
60
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
61
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
62
+ cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
63
+ </p>
64
+ <Blockquote attribution="A. Person"
65
+ >This is a blockquote, white comprises of a large block of inset text.</Blockquote
66
+ >
67
+ <p>
68
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
69
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
70
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
71
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
72
+ cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
73
+ </p>
74
+ </Section>
75
+
76
+ <Grid colWidth="medium" caption="This is a caption text">
77
+ <GridCell><div class="placeholder"></div></GridCell>
78
+ <GridCell><div class="placeholder"></div></GridCell>
79
+ <GridCell><div class="placeholder"></div></GridCell>
80
+ </Grid>
81
+
82
+ <Divider />
83
+
84
+ <Section title="Another section title">
85
+ <p>
86
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
87
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
88
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
89
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
90
+ cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
91
+ </p>
92
+ </Section>
93
+
94
+ <Scroller
95
+ id="scroller"
96
+ splitscreen
97
+ on:change={(e) => {
98
+ scrollerColor = scrollerColors[e.detail.index];
99
+ console.debug("change", e);
100
+ }}
101
+ on:enter={(e) => console.debug("enter", e)}
102
+ on:exit={(e) => console.debug("exit", e)}
103
+ >
104
+ <div slot="background">
105
+ <Container width="full" height="full" background={scrollerColor} />
106
+ </div>
107
+ <div slot="foreground">
108
+ <ScrollerSection>
109
+ <p>
110
+ When this first caption is visible, the background will appear <Em
111
+ color={scrollerColors[0]}>light grey</Em
112
+ >.
113
+ </p>
114
+ </ScrollerSection>
115
+ <ScrollerSection>
116
+ <p>
117
+ When this section caption is visible, the background will appear <Em
118
+ color={scrollerColors[1]}>dark grey</Em
119
+ >.
120
+ </p>
121
+ </ScrollerSection>
122
+ <ScrollerSection>
123
+ <p>
124
+ When this third caption is visible, the background will appear <Em
125
+ color={scrollerColors[2]}>black</Em
126
+ >.
127
+ </p>
128
+ </ScrollerSection>
129
+ </div>
130
+ </Scroller>
131
+
132
+ <Section title="Yet another section title">
133
+ <p>
134
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
135
+ labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
136
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
137
+ voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
138
+ cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
139
+ </p>
140
+ </Section>
141
+ </Main>
142
+ <Footer compact />
143
+ </Story>
144
+
145
+ <style>
146
+ .placeholder {
147
+ background: var(--ons-color-grey-10);
148
+ padding: 12px;
149
+ height: 200px;
150
+ }
151
+ </style>
@@ -0,0 +1,23 @@
1
+ /** @typedef {typeof __propDef.props} FeatureArticleProps */
2
+ /** @typedef {typeof __propDef.events} FeatureArticleEvents */
3
+ /** @typedef {typeof __propDef.slots} FeatureArticleSlots */
4
+ export default class FeatureArticle extends SvelteComponentTyped<{
5
+ [x: string]: never;
6
+ }, {
7
+ [evt: string]: CustomEvent<any>;
8
+ }, {}> {
9
+ }
10
+ export type FeatureArticleProps = typeof __propDef.props;
11
+ export type FeatureArticleEvents = typeof __propDef.events;
12
+ export type FeatureArticleSlots = 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 {};