@onsvisual/svelte-components 1.0.43 → 1.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/README.md +24 -24
  2. package/dist/css/main.css +513 -2
  3. package/dist/datavis/BarChart/BarChart.stories.svelte +84 -84
  4. package/dist/datavis/BarChart/docs/component.md +19 -19
  5. package/dist/datavis/Chart/Chart.stories.svelte +128 -128
  6. package/dist/datavis/Chart/docs/component.md +31 -31
  7. package/dist/datavis/Chart/docs/example.md +28 -28
  8. package/dist/datavis/ColumnChart/ColumnChart.stories.svelte +84 -84
  9. package/dist/datavis/ColumnChart/docs/component.md +19 -19
  10. package/dist/datavis/DataCard/DataCard.stories.svelte +45 -45
  11. package/dist/datavis/DataCard/DataCard.svelte +70 -70
  12. package/dist/datavis/DataCard/Sparkline.svelte +117 -117
  13. package/dist/datavis/DataCard/docs/component.md +20 -20
  14. package/dist/datavis/DataCard/docs/example.md +25 -25
  15. package/dist/datavis/DotPlotChart/DotPlotChart.stories.svelte +40 -40
  16. package/dist/datavis/DotPlotChart/docs/component.md +19 -19
  17. package/dist/datavis/LineChart/LineChart.stories.svelte +64 -64
  18. package/dist/datavis/LineChart/docs/component.md +31 -31
  19. package/dist/datavis/ScatterChart/ScatterChart.stories.svelte +55 -55
  20. package/dist/datavis/ScatterChart/docs/component.md +53 -53
  21. package/dist/datavis/Table/Table.stories.svelte +48 -48
  22. package/dist/datavis/Table/Table.svelte +161 -161
  23. package/dist/datavis/Table/docs/component.md +20 -20
  24. package/dist/datavis/demo-data/data-scatter.js +40 -40
  25. package/dist/datavis/demo-data/data.js +18 -18
  26. package/dist/datavis/intro.mdx +21 -21
  27. package/dist/decorators/Blockquote/Blockquote.stories.svelte +25 -25
  28. package/dist/decorators/Blockquote/Blockquote.svelte +27 -27
  29. package/dist/decorators/Blockquote/docs/component.md +10 -10
  30. package/dist/decorators/Divider/Divider.stories.svelte +29 -29
  31. package/dist/decorators/Divider/Divider.svelte +52 -52
  32. package/dist/decorators/Divider/docs/component.md +12 -12
  33. package/dist/decorators/Em/Em.stories.svelte +30 -30
  34. package/dist/decorators/Em/Em.svelte +58 -58
  35. package/dist/decorators/Em/docs/component.md +12 -12
  36. package/dist/decorators/Icon/Icon.stories.svelte +27 -27
  37. package/dist/decorators/Icon/Icon.svelte +101 -93
  38. package/dist/decorators/Icon/Icon.svelte.d.ts +2 -2
  39. package/dist/decorators/Icon/docs/component.md +10 -10
  40. package/dist/decorators/Indent/Indent.stories.svelte +22 -22
  41. package/dist/decorators/Indent/Indent.svelte +3 -3
  42. package/dist/decorators/Indent/docs/component.md +10 -10
  43. package/dist/index.js +86 -86
  44. package/dist/inputs/Button/Button.stories.svelte +70 -70
  45. package/dist/inputs/Button/Button.svelte +152 -152
  46. package/dist/inputs/Button/Button.svelte.d.ts +2 -2
  47. package/dist/inputs/Button/docs/component.md +17 -17
  48. package/dist/inputs/ButtonGroup/ButtonGroup.stories.svelte +40 -40
  49. package/dist/inputs/ButtonGroup/ButtonGroup.svelte +57 -57
  50. package/dist/inputs/ButtonGroup/ButtonGroupItem.svelte +101 -101
  51. package/dist/inputs/ButtonGroup/docs/component.md +23 -23
  52. package/dist/inputs/Checkbox/Checkbox.stories.svelte +34 -34
  53. package/dist/inputs/Checkbox/Checkbox.svelte +180 -180
  54. package/dist/inputs/Checkbox/docs/component.md +14 -14
  55. package/dist/inputs/Checkboxes/Checkboxes.stories.svelte +34 -34
  56. package/dist/inputs/Checkboxes/Checkboxes.svelte +62 -62
  57. package/dist/inputs/Checkboxes/docs/component.md +20 -20
  58. package/dist/inputs/Checkboxes/docs/example.md +16 -16
  59. package/dist/inputs/Dropdown/Dropdown.stories.svelte +54 -54
  60. package/dist/inputs/Dropdown/Dropdown.svelte +66 -66
  61. package/dist/inputs/Dropdown/docs/component.md +22 -22
  62. package/dist/inputs/ErrorPanel/ErrorPanel.stories.svelte +25 -25
  63. package/dist/inputs/ErrorPanel/ErrorPanel.svelte +24 -24
  64. package/dist/inputs/ErrorPanel/docs/component.md +14 -14
  65. package/dist/inputs/ErrorSummary/ErrorSummary.stories.svelte +34 -34
  66. package/dist/inputs/ErrorSummary/ErrorSummary.svelte +47 -47
  67. package/dist/inputs/ErrorSummary/docs/component.md +17 -17
  68. package/dist/inputs/ErrorSummary/docs/example.md +12 -12
  69. package/dist/inputs/Input/Input.stories.svelte +73 -73
  70. package/dist/inputs/Input/Input.svelte +151 -151
  71. package/dist/inputs/Input/docs/component.md +16 -16
  72. package/dist/inputs/Radios/Radio.svelte +90 -90
  73. package/dist/inputs/Radios/Radios.stories.svelte +51 -51
  74. package/dist/inputs/Radios/Radios.svelte +62 -62
  75. package/dist/inputs/Radios/docs/component.md +24 -24
  76. package/dist/inputs/Radios/docs/example.md +21 -21
  77. package/dist/inputs/Select/Select.stories.svelte +63 -63
  78. package/dist/inputs/Select/Select.svelte +326 -326
  79. package/dist/inputs/Select/docs/component.md +27 -27
  80. package/dist/inputs/Textarea/Textarea.stories.svelte +40 -40
  81. package/dist/inputs/Textarea/Textarea.svelte +113 -113
  82. package/dist/inputs/Textarea/docs/component.md +16 -16
  83. package/dist/inputs/Toolbar/HelpModal.svelte +234 -234
  84. package/dist/inputs/Toolbar/ToolControl.svelte +23 -23
  85. package/dist/inputs/Toolbar/ToolControls.svelte +9 -9
  86. package/dist/inputs/Toolbar/Toolbar.stories.svelte +148 -148
  87. package/dist/inputs/Toolbar/Toolbar.svelte +70 -70
  88. package/dist/inputs/Toolbar/ToolbarButton.svelte +184 -184
  89. package/dist/inputs/Toolbar/ToolbarDivider.svelte +29 -29
  90. package/dist/inputs/Toolbar/ToolbarIcon.svelte +106 -106
  91. package/dist/inputs/Toolbar/ToolbarsContainer.svelte +69 -69
  92. package/dist/inputs/Toolbar/docs/component.md +101 -101
  93. package/dist/intro.mdx +66 -66
  94. package/dist/js/menuOptions.js +14 -14
  95. package/dist/js/utils.js +133 -133
  96. package/dist/js/withParams.js +43 -43
  97. package/dist/layout/Accordion/Accordion.stories.svelte +30 -30
  98. package/dist/layout/Accordion/Accordion.svelte +55 -55
  99. package/dist/layout/Accordion/AccordionItem.svelte +51 -51
  100. package/dist/layout/Accordion/accordion.js +64 -64
  101. package/dist/layout/Accordion/details.js +83 -83
  102. package/dist/layout/Accordion/docs/component.md +19 -19
  103. package/dist/layout/AnalyticsBanner/AnalyticsBanner.stories.svelte +16 -16
  104. package/dist/layout/AnalyticsBanner/AnalyticsBanner.svelte +314 -314
  105. package/dist/layout/AnalyticsBanner/docs/component.md +44 -44
  106. package/dist/layout/BackLink/BackLink.stories.svelte +16 -16
  107. package/dist/layout/BackLink/BackLink.svelte +30 -30
  108. package/dist/layout/BackLink/docs/component.md +12 -12
  109. package/dist/layout/Breadcrumb/Breadcrumb.stories.svelte +31 -31
  110. package/dist/layout/Breadcrumb/Breadcrumb.svelte +69 -69
  111. package/dist/layout/Breadcrumb/docs/component.md +15 -15
  112. package/dist/layout/Card/Card.stories.svelte +39 -39
  113. package/dist/layout/Card/Card.svelte +127 -127
  114. package/dist/layout/Card/docs/component.md +14 -14
  115. package/dist/layout/Card/docs/eg-images.md +27 -27
  116. package/dist/layout/Card/docs/eg-links.md +12 -12
  117. package/dist/layout/Card/docs/eg-spans.md +12 -12
  118. package/dist/layout/Contents/Contents.stories.svelte +27 -27
  119. package/dist/layout/Contents/Contents.svelte +51 -51
  120. package/dist/layout/Contents/docs/component.md +18 -18
  121. package/dist/layout/DescriptionList/DescriptionList.stories.svelte +22 -22
  122. package/dist/layout/DescriptionList/DescriptionList.svelte +59 -59
  123. package/dist/layout/DescriptionList/docs/component.md +18 -18
  124. package/dist/layout/Details/Details.stories.svelte +32 -32
  125. package/dist/layout/Details/Details.svelte +75 -75
  126. package/dist/layout/Details/docs/component.md +14 -14
  127. package/dist/layout/DocumentList/Document.svelte +103 -103
  128. package/dist/layout/DocumentList/DocumentList.stories.svelte +88 -88
  129. package/dist/layout/DocumentList/DocumentList.svelte +33 -33
  130. package/dist/layout/DocumentList/docs/component.md +28 -28
  131. package/dist/layout/DocumentList/docs/example.md +23 -23
  132. package/dist/layout/ErrorPage/ErrorPage.stories.svelte +18 -18
  133. package/dist/layout/ErrorPage/ErrorPage.svelte +48 -48
  134. package/dist/layout/ErrorPage/docs/component.md +13 -13
  135. package/dist/layout/Footer/Footer.stories.svelte +24 -24
  136. package/dist/layout/Footer/Footer.svelte +366 -366
  137. package/dist/layout/Footer/docs/component.md +10 -10
  138. package/dist/layout/Grid/Grid.stories.svelte +50 -50
  139. package/dist/layout/Grid/Grid.svelte +117 -117
  140. package/dist/layout/Grid/GridCell.svelte +65 -65
  141. package/dist/layout/Grid/docs/component.md +14 -14
  142. package/dist/layout/Header/Header.stories.svelte +26 -26
  143. package/dist/layout/Header/Header.svelte +875 -875
  144. package/dist/layout/Header/docs/component.md +11 -11
  145. package/dist/layout/Hero/Hero.stories.svelte +79 -79
  146. package/dist/layout/Hero/Hero.svelte +364 -364
  147. package/dist/layout/Hero/docs/component.md +14 -14
  148. package/dist/layout/Highlight/Highlight.stories.svelte +29 -29
  149. package/dist/layout/Highlight/Highlight.svelte +77 -77
  150. package/dist/layout/Highlight/docs/component.md +12 -12
  151. package/dist/layout/Image/Image.stories.svelte +23 -23
  152. package/dist/layout/Image/Image.svelte +29 -29
  153. package/dist/layout/Image/docs/component.md +15 -15
  154. package/dist/layout/List/Li.svelte +3 -3
  155. package/dist/layout/List/List.stories.svelte +40 -40
  156. package/dist/layout/List/List.svelte +46 -46
  157. package/dist/layout/List/docs/component.md +14 -14
  158. package/dist/layout/List/docs/example.md +12 -12
  159. package/dist/layout/NavSections/NavSection.svelte +90 -90
  160. package/dist/layout/NavSections/NavSections.stories.svelte +51 -51
  161. package/dist/layout/NavSections/NavSections.svelte +160 -160
  162. package/dist/layout/NavSections/docs/component.md +25 -25
  163. package/dist/layout/Notice/Notice.stories.svelte +61 -61
  164. package/dist/layout/Notice/Notice.svelte +56 -56
  165. package/dist/layout/Notice/docs/component.md +14 -14
  166. package/dist/layout/PhaseBanner/PhaseBanner.stories.svelte +24 -24
  167. package/dist/layout/PhaseBanner/PhaseBanner.svelte +66 -66
  168. package/dist/layout/PhaseBanner/docs/component.md +14 -14
  169. package/dist/layout/RelatedContent/RelatedContent.stories.svelte +36 -36
  170. package/dist/layout/RelatedContent/RelatedContent.svelte +54 -54
  171. package/dist/layout/RelatedContent/docs/component.md +16 -16
  172. package/dist/layout/Scroller/Scroller.stories.svelte +60 -60
  173. package/dist/layout/Scroller/Scroller.svelte +368 -368
  174. package/dist/layout/Scroller/ScrollerSection.svelte +70 -70
  175. package/dist/layout/Scroller/docs/component.md +39 -39
  176. package/dist/layout/Section/Section.stories.svelte +33 -33
  177. package/dist/layout/Section/Section.svelte +60 -60
  178. package/dist/layout/Section/docs/component.md +12 -12
  179. package/dist/layout/ShareButtons/ShareButtons.stories.svelte +20 -20
  180. package/dist/layout/ShareButtons/ShareButtons.svelte +131 -131
  181. package/dist/layout/ShareButtons/docs/component.md +14 -14
  182. package/dist/layout/SkipLink/SkipLink.stories.svelte +16 -16
  183. package/dist/layout/SkipLink/SkipLink.svelte +9 -9
  184. package/dist/layout/SkipLink/docs/component.md +11 -11
  185. package/dist/layout/Summary/Summary.stories.svelte +21 -21
  186. package/dist/layout/Summary/Summary.svelte +60 -60
  187. package/dist/layout/Summary/docs/component.md +17 -17
  188. package/dist/layout/Tabs/Tab.svelte +53 -53
  189. package/dist/layout/Tabs/Tabs.stories.svelte +29 -29
  190. package/dist/layout/Tabs/Tabs.svelte +89 -89
  191. package/dist/layout/Tabs/docs/component.md +16 -16
  192. package/dist/layout/Tabs/tabs.js +302 -302
  193. package/dist/layout/Timeline/Timeline.stories.svelte +44 -44
  194. package/dist/layout/Timeline/Timeline.svelte +17 -17
  195. package/dist/layout/Timeline/TimelineItem.svelte +14 -14
  196. package/dist/layout/Timeline/docs/component.md +27 -27
  197. package/dist/layout/Timeline/docs/example.md +20 -20
  198. package/dist/templates/EmbedArticle/EmbedArticle.stories.svelte +72 -72
  199. package/dist/templates/EmbedArticle/docs/component.md +56 -56
  200. package/dist/templates/FeatureArticle/FeatureArticle.stories.svelte +150 -150
  201. package/dist/templates/FeatureArticle/docs/component.md +125 -125
  202. package/dist/templates/StandardArticle/StandardArticle.stories.svelte +86 -86
  203. package/dist/templates/StandardArticle/docs/component.md +76 -76
  204. package/dist/templates/intro.mdx +18 -18
  205. package/dist/wrappers/Container/Container.stories.svelte +38 -38
  206. package/dist/wrappers/Container/Container.svelte +77 -77
  207. package/dist/wrappers/Container/docs/component.md +12 -12
  208. package/dist/wrappers/Embed/Embed.stories.svelte +24 -24
  209. package/dist/wrappers/Embed/Embed.svelte +44 -44
  210. package/dist/wrappers/Embed/docs/component.md +15 -15
  211. package/dist/wrappers/LazyLoad/LazyLoad.stories.svelte +37 -37
  212. package/dist/wrappers/LazyLoad/LazyLoad.svelte +50 -50
  213. package/dist/wrappers/LazyLoad/docs/component.md +29 -29
  214. package/dist/wrappers/Main/Main.stories.svelte +24 -24
  215. package/dist/wrappers/Main/Main.svelte +11 -11
  216. package/dist/wrappers/Main/docs/component.md +16 -16
  217. package/dist/wrappers/Observe/Observe.stories.svelte +29 -29
  218. package/dist/wrappers/Observe/Observe.svelte +40 -35
  219. package/dist/wrappers/Observe/Observe.svelte.d.ts +2 -0
  220. package/dist/wrappers/Observe/docs/component.md +22 -22
  221. package/dist/wrappers/Theme/Theme.stories.svelte +70 -70
  222. package/dist/wrappers/Theme/Theme.svelte +76 -76
  223. package/dist/wrappers/Theme/docs/component.md +10 -10
  224. package/dist/wrappers/Theme/themes.js +70 -70
  225. package/package.json +88 -88
@@ -1,51 +1,51 @@
1
- <script module>
2
- import { defineMeta } from "@storybook/addon-svelte-csf";
3
- import { withComponentDocs, withStoryDocs } from "../../js/withParams.js";
4
- import Radio from "./Radio.svelte";
5
- import Radios from "./Radios.svelte";
6
- import componentDocs from "./docs/component.md?raw";
7
- import exampleDocs from "./docs/example.md?raw";
8
-
9
- const { Story } = defineMeta({
10
- title: "Inputs/Radios",
11
- component: Radios,
12
- tags: ["autodocs"],
13
- argTypes: {},
14
- parameters: withComponentDocs(componentDocs)
15
- });
16
-
17
- let items = [
18
- {
19
- id: "house",
20
- label: "House or bungalow",
21
- description: "Includes terraced, semi-detached and detached homes."
22
- },
23
- { id: "flat", label: "Flat, maisonette or apartment" },
24
- { id: "mobile", label: "Caravan or other mobile or temporary structure" }
25
- ];
26
- </script>
27
-
28
- {#snippet template(args)}
29
- <div style:padding="12px">
30
- <Radios {...args} />
31
- </div>
32
- {/snippet}
33
-
34
- <Story name="Default" args={{ label: "Select one", id: "radios", items }} {template} />
35
-
36
- <Story name="Compact without label" args={{ id: "radios", items, compact: true }} {template} />
37
-
38
- <Story name="Individually defined radios" asChild parameters={withStoryDocs(exampleDocs)}>
39
- <div style:padding="12px">
40
- <Radios label="Select one">
41
- <Radio
42
- groupId="radios"
43
- id="house"
44
- label="House or bungalow"
45
- description="Includes terraced, semi-detached and detached homes."
46
- />
47
- <Radio groupId="radios" id="flat" label="Flat, maisonette or apartment" />
48
- <Radio groupId="radios" id="mobile" label="Caravan or other mobile or temporary structure" />
49
- </Radios>
50
- </div>
51
- </Story>
1
+ <script module>
2
+ import { defineMeta } from "@storybook/addon-svelte-csf";
3
+ import { withComponentDocs, withStoryDocs } from "../../js/withParams.js";
4
+ import Radio from "./Radio.svelte";
5
+ import Radios from "./Radios.svelte";
6
+ import componentDocs from "./docs/component.md?raw";
7
+ import exampleDocs from "./docs/example.md?raw";
8
+
9
+ const { Story } = defineMeta({
10
+ title: "Inputs/Radios",
11
+ component: Radios,
12
+ tags: ["autodocs"],
13
+ argTypes: {},
14
+ parameters: withComponentDocs(componentDocs)
15
+ });
16
+
17
+ let items = [
18
+ {
19
+ id: "house",
20
+ label: "House or bungalow",
21
+ description: "Includes terraced, semi-detached and detached homes."
22
+ },
23
+ { id: "flat", label: "Flat, maisonette or apartment" },
24
+ { id: "mobile", label: "Caravan or other mobile or temporary structure" }
25
+ ];
26
+ </script>
27
+
28
+ {#snippet template(args)}
29
+ <div style:padding="12px">
30
+ <Radios {...args} />
31
+ </div>
32
+ {/snippet}
33
+
34
+ <Story name="Default" args={{ label: "Select one", id: "radios", items }} {template} />
35
+
36
+ <Story name="Compact without label" args={{ id: "radios", items, compact: true }} {template} />
37
+
38
+ <Story name="Individually defined radios" asChild parameters={withStoryDocs(exampleDocs)}>
39
+ <div style:padding="12px">
40
+ <Radios label="Select one">
41
+ <Radio
42
+ groupId="radios"
43
+ id="house"
44
+ label="House or bungalow"
45
+ description="Includes terraced, semi-detached and detached homes."
46
+ />
47
+ <Radio groupId="radios" id="flat" label="Flat, maisonette or apartment" />
48
+ <Radio groupId="radios" id="mobile" label="Caravan or other mobile or temporary structure" />
49
+ </Radios>
50
+ </div>
51
+ </Story>
@@ -1,62 +1,62 @@
1
- <script>
2
- import Radio from "./Radio.svelte";
3
-
4
- /**
5
- * Title/legend for parent <fieldset>
6
- * @type {string|null}
7
- */
8
- export let title = null;
9
- /**
10
- * Visually hide the title/legend
11
- * @type {boolean}
12
- */
13
- export let hideTitle = false;
14
- /**
15
- * Unique ID/name for radio group (required)
16
- * @type {string}
17
- */
18
- export let id = "radios";
19
- /**
20
- * Descriptive "how to" label for inputs
21
- * @type {string|null}
22
- */
23
- export let label = null;
24
- /**
25
- * Binding for ID of selected option
26
- * @type {object|null}
27
- */
28
- export let value = null;
29
- /** Optional: Define the radios as an array of {id, label, description?}
30
- * @type {object[]}
31
- */
32
- export let items = [];
33
- /**
34
- * Compact mode (no border)
35
- * @type {boolean}
36
- */
37
- export let compact = false;
38
- /**
39
- * Optional: Set an additional CSS class for the component
40
- * @type {string|null}
41
- */
42
- export let cls = null;
43
- </script>
44
-
45
- <fieldset class="ons-fieldset {cls}">
46
- {#if title}
47
- <legend class="ons-fieldset__legend ons-u-mb-no">
48
- <span class="ons-fieldset__legend-title ons-u-pb-no" class:ons-u-vh={hideTitle}>{title}</span>
49
- </legend>
50
- {/if}
51
- <div class="ons-input-items">
52
- {#if label}
53
- <p class="ons-radios__label">{label}</p>
54
- {/if}
55
- <div class="ons-radios__items">
56
- <slot />
57
- {#each items as item}
58
- <Radio {item} groupId={id} {compact} bind:value on:change />
59
- {/each}
60
- </div>
61
- </div>
62
- </fieldset>
1
+ <script>
2
+ import Radio from "./Radio.svelte";
3
+
4
+ /**
5
+ * Title/legend for parent <fieldset>
6
+ * @type {string|null}
7
+ */
8
+ export let title = null;
9
+ /**
10
+ * Visually hide the title/legend
11
+ * @type {boolean}
12
+ */
13
+ export let hideTitle = false;
14
+ /**
15
+ * Unique ID/name for radio group (required)
16
+ * @type {string}
17
+ */
18
+ export let id = "radios";
19
+ /**
20
+ * Descriptive "how to" label for inputs
21
+ * @type {string|null}
22
+ */
23
+ export let label = null;
24
+ /**
25
+ * Binding for ID of selected option
26
+ * @type {object|null}
27
+ */
28
+ export let value = null;
29
+ /** Optional: Define the radios as an array of {id, label, description?}
30
+ * @type {object[]}
31
+ */
32
+ export let items = [];
33
+ /**
34
+ * Compact mode (no border)
35
+ * @type {boolean}
36
+ */
37
+ export let compact = false;
38
+ /**
39
+ * Optional: Set an additional CSS class for the component
40
+ * @type {string|null}
41
+ */
42
+ export let cls = null;
43
+ </script>
44
+
45
+ <fieldset class="ons-fieldset {cls}">
46
+ {#if title}
47
+ <legend class="ons-fieldset__legend ons-u-mb-no">
48
+ <span class="ons-fieldset__legend-title ons-u-pb-no" class:ons-u-vh={hideTitle}>{title}</span>
49
+ </legend>
50
+ {/if}
51
+ <div class="ons-input-items">
52
+ {#if label}
53
+ <p class="ons-radios__label">{label}</p>
54
+ {/if}
55
+ <div class="ons-radios__items">
56
+ <slot />
57
+ {#each items as item}
58
+ <Radio {item} groupId={id} {compact} bind:value on:change />
59
+ {/each}
60
+ </div>
61
+ </div>
62
+ </fieldset>
@@ -1,24 +1,24 @@
1
- A component for defining a group of radio inputs, where the selected item id can be bound to a Svelte variable.
2
-
3
- Based on [this ONS Design System component](https://service-manual.ons.gov.uk/design-system/components/radios). (Note: In some use cases, it may be preferable to use raw HTML `<input type="radio">` components and style these using CSS.)
4
-
5
- <!-- prettier-ignore -->
6
- ```html
7
- <script>
8
- import { Radios } from "@onsvisual/svelte-components";
9
-
10
- let items = [
11
- {
12
- id: "house",
13
- label: "House or bungalow",
14
- description: "Includes terraced, semi-detached and detached homes.",
15
- },
16
- { id: "flat", label: "Flat, maisonette or apartment" },
17
- { id: "mobile", label: "Caravan or other mobile or temporary structure" },
18
- ];
19
-
20
- let selected; // A binding for the selected item
21
- </script>
22
-
23
- <Radios {items} bind:value={selected} label="Select one">
24
- ```
1
+ A component for defining a group of radio inputs, where the selected item id can be bound to a Svelte variable.
2
+
3
+ Based on [this ONS Design System component](https://service-manual.ons.gov.uk/design-system/components/radios). (Note: In some use cases, it may be preferable to use raw HTML `<input type="radio">` components and style these using CSS.)
4
+
5
+ <!-- prettier-ignore -->
6
+ ```html
7
+ <script>
8
+ import { Radios } from "@onsvisual/svelte-components";
9
+
10
+ let items = [
11
+ {
12
+ id: "house",
13
+ label: "House or bungalow",
14
+ description: "Includes terraced, semi-detached and detached homes.",
15
+ },
16
+ { id: "flat", label: "Flat, maisonette or apartment" },
17
+ { id: "mobile", label: "Caravan or other mobile or temporary structure" },
18
+ ];
19
+
20
+ let selected; // A binding for the selected item
21
+ </script>
22
+
23
+ <Radios {items} bind:value={selected} label="Select one">
24
+ ```
@@ -1,21 +1,21 @@
1
- In this example, the radios are defined explicitly rather than via an array.
2
-
3
- <!-- prettier-ignore -->
4
- ```html
5
- <script>
6
- import { Radio, Radios } from "@onsvisual/svelte-components";
7
-
8
- let selected; // A binding for the selected item ID
9
- </script>
10
-
11
- <Radios label="Select one">
12
- <Radio
13
- groupId="radios"
14
- id="house"
15
- label="House or bungalow"
16
- description="Includes terraced, semi-detached and detached homes."
17
- />
18
- <Radio groupId="radios" id="flat" label="Flat, maisonette or apartment" />
19
- <Radio groupId="radios" id="mobile" label="Caravan or other mobile or temporary structure" />
20
- </Radios>
21
- ```
1
+ In this example, the radios are defined explicitly rather than via an array.
2
+
3
+ <!-- prettier-ignore -->
4
+ ```html
5
+ <script>
6
+ import { Radio, Radios } from "@onsvisual/svelte-components";
7
+
8
+ let selected; // A binding for the selected item ID
9
+ </script>
10
+
11
+ <Radios label="Select one">
12
+ <Radio
13
+ groupId="radios"
14
+ id="house"
15
+ label="House or bungalow"
16
+ description="Includes terraced, semi-detached and detached homes."
17
+ />
18
+ <Radio groupId="radios" id="flat" label="Flat, maisonette or apartment" />
19
+ <Radio groupId="radios" id="mobile" label="Caravan or other mobile or temporary structure" />
20
+ </Radios>
21
+ ```
@@ -1,63 +1,63 @@
1
- <script module>
2
- // @ts-ignore
3
- import { defineMeta } from "@storybook/addon-svelte-csf";
4
- import { withComponentDocs } from "../../js/withParams.js";
5
- import Select from "./Select.svelte";
6
- import componentDocs from "./docs/component.md?raw";
7
- import options from "../../js/menuOptions.js";
8
-
9
- const { Story } = defineMeta({
10
- title: "Inputs/Select",
11
- component: Select,
12
- tags: ["autodocs"],
13
- argTypes: {
14
- mode: {
15
- options: ["search", "dropdown"],
16
- control: { type: "select" }
17
- }
18
- },
19
- parameters: withComponentDocs(componentDocs)
20
- });
21
- </script>
22
-
23
- {#snippet template(args)}
24
- <div style:padding="0 0 200px">
25
- <Select {...args} />
26
- </div>
27
- {/snippet}
28
-
29
- <Story name="Default" args={{ id: "default", label: "Select an option", options }} {template} />
30
-
31
- <Story
32
- name="Pre-selected value"
33
- args={{ id: "default", value: options[0], label: "Select an option", options }}
34
- {template}
35
- />
36
-
37
- <Story
38
- name="Hidden label"
39
- args={{ id: "hidden-label", label: "Select an option", hideLabel: true, options }}
40
- {template}
41
- />
42
-
43
- <Story
44
- name="Search mode"
45
- args={{
46
- id: "search",
47
- mode: "search",
48
- label: "Type to select",
49
- options
50
- }}
51
- {template}
52
- />
53
-
54
- <Story
55
- name="Options with group as suffix"
56
- args={{
57
- id: "group-suffix",
58
- label: "Select an option",
59
- groupKey: "group",
60
- options
61
- }}
62
- {template}
63
- />
1
+ <script module>
2
+ // @ts-ignore
3
+ import { defineMeta } from "@storybook/addon-svelte-csf";
4
+ import { withComponentDocs } from "../../js/withParams.js";
5
+ import Select from "./Select.svelte";
6
+ import componentDocs from "./docs/component.md?raw";
7
+ import options from "../../js/menuOptions.js";
8
+
9
+ const { Story } = defineMeta({
10
+ title: "Inputs/Select",
11
+ component: Select,
12
+ tags: ["autodocs"],
13
+ argTypes: {
14
+ mode: {
15
+ options: ["search", "dropdown"],
16
+ control: { type: "select" }
17
+ }
18
+ },
19
+ parameters: withComponentDocs(componentDocs)
20
+ });
21
+ </script>
22
+
23
+ {#snippet template(args)}
24
+ <div style:padding="0 0 200px">
25
+ <Select {...args} />
26
+ </div>
27
+ {/snippet}
28
+
29
+ <Story name="Default" args={{ id: "default", label: "Select an option", options }} {template} />
30
+
31
+ <Story
32
+ name="Pre-selected value"
33
+ args={{ id: "default", value: options[0], label: "Select an option", options }}
34
+ {template}
35
+ />
36
+
37
+ <Story
38
+ name="Hidden label"
39
+ args={{ id: "hidden-label", label: "Select an option", hideLabel: true, options }}
40
+ {template}
41
+ />
42
+
43
+ <Story
44
+ name="Search mode"
45
+ args={{
46
+ id: "search",
47
+ mode: "search",
48
+ label: "Type to select",
49
+ options
50
+ }}
51
+ {template}
52
+ />
53
+
54
+ <Story
55
+ name="Options with group as suffix"
56
+ args={{
57
+ id: "group-suffix",
58
+ label: "Select an option",
59
+ groupKey: "group",
60
+ options
61
+ }}
62
+ {template}
63
+ />