@onsvisual/svelte-components 1.0.37 → 1.0.38
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.
- package/README.md +24 -24
- package/dist/css/main.css +513 -513
- package/dist/datavis/BarChart/BarChart.stories.svelte +84 -84
- package/dist/datavis/BarChart/docs/component.md +19 -19
- package/dist/datavis/Chart/Chart.stories.svelte +128 -128
- package/dist/datavis/Chart/docs/component.md +31 -31
- package/dist/datavis/Chart/docs/example.md +28 -28
- package/dist/datavis/ColumnChart/ColumnChart.stories.svelte +84 -84
- package/dist/datavis/ColumnChart/docs/component.md +19 -19
- package/dist/datavis/DataCard/DataCard.stories.svelte +45 -45
- package/dist/datavis/DataCard/DataCard.svelte +70 -70
- package/dist/datavis/DataCard/Sparkline.svelte +117 -117
- package/dist/datavis/DataCard/docs/component.md +20 -18
- package/dist/datavis/DataCard/docs/example.md +25 -25
- package/dist/datavis/DotPlotChart/DotPlotChart.stories.svelte +40 -40
- package/dist/datavis/DotPlotChart/docs/component.md +19 -19
- package/dist/datavis/LineChart/LineChart.stories.svelte +64 -64
- package/dist/datavis/LineChart/docs/component.md +31 -31
- package/dist/datavis/ScatterChart/ScatterChart.stories.svelte +55 -55
- package/dist/datavis/ScatterChart/docs/component.md +53 -53
- package/dist/datavis/Table/Table.stories.svelte +48 -48
- package/dist/datavis/Table/Table.svelte +161 -161
- package/dist/datavis/Table/docs/component.md +20 -20
- package/dist/datavis/demo-data/data-scatter.js +40 -40
- package/dist/datavis/demo-data/data.js +18 -18
- package/dist/datavis/intro.mdx +21 -21
- package/dist/decorators/Blockquote/Blockquote.stories.svelte +25 -25
- package/dist/decorators/Blockquote/Blockquote.svelte +27 -27
- package/dist/decorators/Blockquote/docs/component.md +10 -10
- package/dist/decorators/Divider/Divider.stories.svelte +29 -29
- package/dist/decorators/Divider/Divider.svelte +52 -52
- package/dist/decorators/Divider/docs/component.md +12 -12
- package/dist/decorators/Em/Em.stories.svelte +30 -30
- package/dist/decorators/Em/Em.svelte +58 -58
- package/dist/decorators/Em/docs/component.md +12 -12
- package/dist/decorators/Icon/Icon.stories.svelte +27 -27
- package/dist/decorators/Icon/Icon.svelte +93 -93
- package/dist/decorators/Icon/docs/component.md +10 -10
- package/dist/decorators/Indent/Indent.stories.svelte +22 -22
- package/dist/decorators/Indent/Indent.svelte +3 -3
- package/dist/decorators/Indent/docs/component.md +10 -10
- package/dist/index.js +86 -86
- package/dist/inputs/Button/Button.stories.svelte +70 -70
- package/dist/inputs/Button/Button.svelte +147 -147
- package/dist/inputs/Button/Button.svelte.d.ts +2 -2
- package/dist/inputs/Button/docs/component.md +17 -17
- package/dist/inputs/ButtonGroup/ButtonGroup.stories.svelte +40 -40
- package/dist/inputs/ButtonGroup/ButtonGroup.svelte +57 -57
- package/dist/inputs/ButtonGroup/ButtonGroupItem.svelte +101 -101
- package/dist/inputs/ButtonGroup/docs/component.md +23 -21
- package/dist/inputs/Checkbox/Checkbox.stories.svelte +34 -34
- package/dist/inputs/Checkbox/Checkbox.svelte +180 -180
- package/dist/inputs/Checkbox/docs/component.md +14 -14
- package/dist/inputs/Checkboxes/Checkboxes.stories.svelte +34 -34
- package/dist/inputs/Checkboxes/Checkboxes.svelte +62 -62
- package/dist/inputs/Checkboxes/docs/component.md +20 -20
- package/dist/inputs/Checkboxes/docs/example.md +16 -16
- package/dist/inputs/Dropdown/Dropdown.stories.svelte +54 -54
- package/dist/inputs/Dropdown/Dropdown.svelte +66 -66
- package/dist/inputs/Dropdown/docs/component.md +22 -22
- package/dist/inputs/ErrorPanel/ErrorPanel.stories.svelte +25 -25
- package/dist/inputs/ErrorPanel/ErrorPanel.svelte +24 -24
- package/dist/inputs/ErrorPanel/docs/component.md +14 -14
- package/dist/inputs/ErrorSummary/ErrorSummary.stories.svelte +34 -34
- package/dist/inputs/ErrorSummary/ErrorSummary.svelte +47 -47
- package/dist/inputs/ErrorSummary/docs/component.md +17 -17
- package/dist/inputs/ErrorSummary/docs/example.md +12 -12
- package/dist/inputs/Input/Input.stories.svelte +73 -73
- package/dist/inputs/Input/Input.svelte +151 -151
- package/dist/inputs/Input/Input.svelte.d.ts +2 -2
- package/dist/inputs/Input/docs/component.md +16 -16
- package/dist/inputs/Radios/Radio.svelte +90 -90
- package/dist/inputs/Radios/Radios.stories.svelte +51 -51
- package/dist/inputs/Radios/Radios.svelte +62 -62
- package/dist/inputs/Radios/docs/component.md +24 -24
- package/dist/inputs/Radios/docs/example.md +21 -21
- package/dist/inputs/Select/Select.stories.svelte +63 -63
- package/dist/inputs/Select/Select.svelte +326 -326
- package/dist/inputs/Select/Select.svelte.d.ts +2 -2
- package/dist/inputs/Select/docs/component.md +27 -27
- package/dist/inputs/Textarea/Textarea.stories.svelte +40 -40
- package/dist/inputs/Textarea/Textarea.svelte +113 -113
- package/dist/inputs/Textarea/Textarea.svelte.d.ts +2 -2
- package/dist/inputs/Textarea/docs/component.md +16 -16
- package/dist/inputs/Toolbar/HelpModal.svelte +234 -234
- package/dist/inputs/Toolbar/ToolControl.svelte +23 -23
- package/dist/inputs/Toolbar/ToolControls.svelte +9 -9
- package/dist/inputs/Toolbar/Toolbar.stories.svelte +148 -148
- package/dist/inputs/Toolbar/Toolbar.svelte +70 -70
- package/dist/inputs/Toolbar/ToolbarButton.svelte +184 -184
- package/dist/inputs/Toolbar/ToolbarDivider.svelte +29 -29
- package/dist/inputs/Toolbar/ToolbarIcon.svelte +106 -106
- package/dist/inputs/Toolbar/ToolbarsContainer.svelte +69 -69
- package/dist/inputs/Toolbar/docs/component.md +101 -99
- package/dist/intro.mdx +66 -66
- package/dist/js/menuOptions.js +14 -14
- package/dist/js/utils.js +133 -133
- package/dist/js/withParams.js +43 -43
- package/dist/layout/Accordion/Accordion.stories.svelte +30 -30
- package/dist/layout/Accordion/Accordion.svelte +55 -55
- package/dist/layout/Accordion/AccordionItem.svelte +51 -51
- package/dist/layout/Accordion/accordion.js +64 -64
- package/dist/layout/Accordion/details.js +83 -83
- package/dist/layout/Accordion/docs/component.md +19 -19
- package/dist/layout/AnalyticsBanner/AnalyticsBanner.stories.svelte +16 -16
- package/dist/layout/AnalyticsBanner/AnalyticsBanner.svelte +314 -314
- package/dist/layout/AnalyticsBanner/docs/component.md +44 -44
- package/dist/layout/BackLink/BackLink.stories.svelte +16 -16
- package/dist/layout/BackLink/BackLink.svelte +30 -30
- package/dist/layout/BackLink/docs/component.md +12 -12
- package/dist/layout/Breadcrumb/Breadcrumb.stories.svelte +31 -31
- package/dist/layout/Breadcrumb/Breadcrumb.svelte +69 -69
- package/dist/layout/Breadcrumb/docs/component.md +15 -15
- package/dist/layout/Card/Card.stories.svelte +39 -39
- package/dist/layout/Card/Card.svelte +127 -127
- package/dist/layout/Card/docs/component.md +14 -14
- package/dist/layout/Card/docs/eg-images.md +27 -27
- package/dist/layout/Card/docs/eg-links.md +12 -12
- package/dist/layout/Card/docs/eg-spans.md +12 -12
- package/dist/layout/Contents/Contents.stories.svelte +27 -27
- package/dist/layout/Contents/Contents.svelte +51 -51
- package/dist/layout/Contents/docs/component.md +18 -18
- package/dist/layout/DescriptionList/DescriptionList.stories.svelte +22 -22
- package/dist/layout/DescriptionList/DescriptionList.svelte +59 -59
- package/dist/layout/DescriptionList/docs/component.md +18 -18
- package/dist/layout/Details/Details.stories.svelte +32 -32
- package/dist/layout/Details/Details.svelte +75 -75
- package/dist/layout/Details/docs/component.md +14 -14
- package/dist/layout/DocumentList/Document.svelte +103 -103
- package/dist/layout/DocumentList/DocumentList.stories.svelte +88 -88
- package/dist/layout/DocumentList/DocumentList.svelte +33 -33
- package/dist/layout/DocumentList/docs/component.md +28 -28
- package/dist/layout/DocumentList/docs/example.md +23 -23
- package/dist/layout/ErrorPage/ErrorPage.stories.svelte +18 -18
- package/dist/layout/ErrorPage/ErrorPage.svelte +48 -48
- package/dist/layout/ErrorPage/docs/component.md +13 -13
- package/dist/layout/Footer/Footer.stories.svelte +24 -24
- package/dist/layout/Footer/Footer.svelte +366 -366
- package/dist/layout/Footer/docs/component.md +10 -10
- package/dist/layout/Grid/Grid.stories.svelte +50 -50
- package/dist/layout/Grid/Grid.svelte +117 -117
- package/dist/layout/Grid/GridCell.svelte +65 -65
- package/dist/layout/Grid/docs/component.md +14 -14
- package/dist/layout/Header/Header.stories.svelte +26 -26
- package/dist/layout/Header/Header.svelte +875 -875
- package/dist/layout/Header/docs/component.md +11 -11
- package/dist/layout/Hero/Hero.stories.svelte +79 -79
- package/dist/layout/Hero/Hero.svelte +364 -364
- package/dist/layout/Hero/docs/component.md +14 -14
- package/dist/layout/Highlight/Highlight.stories.svelte +29 -29
- package/dist/layout/Highlight/Highlight.svelte +77 -77
- package/dist/layout/Highlight/docs/component.md +12 -12
- package/dist/layout/Image/Image.stories.svelte +23 -23
- package/dist/layout/Image/Image.svelte +29 -29
- package/dist/layout/Image/docs/component.md +15 -15
- package/dist/layout/List/Li.svelte +3 -3
- package/dist/layout/List/List.stories.svelte +40 -40
- package/dist/layout/List/List.svelte +46 -46
- package/dist/layout/List/docs/component.md +14 -14
- package/dist/layout/List/docs/example.md +12 -12
- package/dist/layout/NavSections/NavSection.svelte +90 -90
- package/dist/layout/NavSections/NavSections.stories.svelte +51 -51
- package/dist/layout/NavSections/NavSections.svelte +160 -160
- package/dist/layout/NavSections/docs/component.md +25 -25
- package/dist/layout/Notice/Notice.stories.svelte +61 -61
- package/dist/layout/Notice/Notice.svelte +56 -56
- package/dist/layout/Notice/docs/component.md +14 -14
- package/dist/layout/PhaseBanner/PhaseBanner.stories.svelte +24 -24
- package/dist/layout/PhaseBanner/PhaseBanner.svelte +66 -66
- package/dist/layout/PhaseBanner/docs/component.md +14 -14
- package/dist/layout/RelatedContent/RelatedContent.stories.svelte +36 -36
- package/dist/layout/RelatedContent/RelatedContent.svelte +54 -54
- package/dist/layout/RelatedContent/docs/component.md +16 -16
- package/dist/layout/Scroller/Scroller.stories.svelte +60 -60
- package/dist/layout/Scroller/Scroller.svelte +368 -368
- package/dist/layout/Scroller/ScrollerSection.svelte +70 -70
- package/dist/layout/Scroller/docs/component.md +39 -39
- package/dist/layout/Section/Section.stories.svelte +33 -33
- package/dist/layout/Section/Section.svelte +60 -60
- package/dist/layout/Section/docs/component.md +12 -12
- package/dist/layout/ShareButtons/ShareButtons.stories.svelte +20 -20
- package/dist/layout/ShareButtons/ShareButtons.svelte +131 -131
- package/dist/layout/ShareButtons/docs/component.md +14 -14
- package/dist/layout/SkipLink/SkipLink.stories.svelte +16 -16
- package/dist/layout/SkipLink/SkipLink.svelte +9 -9
- package/dist/layout/SkipLink/docs/component.md +11 -11
- package/dist/layout/Summary/Summary.stories.svelte +21 -21
- package/dist/layout/Summary/Summary.svelte +60 -60
- package/dist/layout/Summary/docs/component.md +17 -17
- package/dist/layout/Tabs/Tab.svelte +53 -53
- package/dist/layout/Tabs/Tabs.stories.svelte +29 -29
- package/dist/layout/Tabs/Tabs.svelte +89 -89
- package/dist/layout/Tabs/docs/component.md +16 -16
- package/dist/layout/Tabs/tabs.js +302 -302
- package/dist/layout/Timeline/Timeline.stories.svelte +44 -44
- package/dist/layout/Timeline/Timeline.svelte +17 -17
- package/dist/layout/Timeline/TimelineItem.svelte +14 -14
- package/dist/layout/Timeline/docs/component.md +27 -27
- package/dist/layout/Timeline/docs/example.md +20 -20
- package/dist/templates/EmbedArticle/EmbedArticle.stories.svelte +72 -72
- package/dist/templates/EmbedArticle/docs/component.md +56 -56
- package/dist/templates/FeatureArticle/FeatureArticle.stories.svelte +150 -150
- package/dist/templates/FeatureArticle/docs/component.md +125 -125
- package/dist/templates/StandardArticle/StandardArticle.stories.svelte +86 -86
- package/dist/templates/StandardArticle/docs/component.md +76 -76
- package/dist/templates/intro.mdx +18 -18
- package/dist/wrappers/Container/Container.stories.svelte +38 -38
- package/dist/wrappers/Container/Container.svelte +77 -77
- package/dist/wrappers/Container/docs/component.md +12 -12
- package/dist/wrappers/Embed/Embed.stories.svelte +24 -24
- package/dist/wrappers/Embed/Embed.svelte +44 -44
- package/dist/wrappers/Embed/docs/component.md +15 -15
- package/dist/wrappers/LazyLoad/LazyLoad.stories.svelte +37 -37
- package/dist/wrappers/LazyLoad/LazyLoad.svelte +50 -50
- package/dist/wrappers/LazyLoad/docs/component.md +29 -29
- package/dist/wrappers/Main/Main.stories.svelte +24 -24
- package/dist/wrappers/Main/Main.svelte +11 -11
- package/dist/wrappers/Main/docs/component.md +16 -16
- package/dist/wrappers/Observe/Observe.stories.svelte +29 -29
- package/dist/wrappers/Observe/Observe.svelte +35 -35
- package/dist/wrappers/Observe/docs/component.md +22 -22
- package/dist/wrappers/Theme/Theme.stories.svelte +70 -70
- package/dist/wrappers/Theme/Theme.svelte +76 -76
- package/dist/wrappers/Theme/docs/component.md +10 -10
- package/dist/wrappers/Theme/themes.js +70 -70
- package/package.json +89 -89
|
@@ -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
|
+
/>
|