@onsvisual/svelte-components 1.0.44 → 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.
- package/README.md +24 -24
- package/dist/css/main.css +513 -2
- 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 -20
- 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 +101 -93
- package/dist/decorators/Icon/Icon.svelte.d.ts +2 -2
- 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 +152 -152
- 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 -23
- 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/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/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/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 -101
- 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 +40 -40
- 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 +88 -88
|
@@ -1,54 +1,54 @@
|
|
|
1
|
-
<script module>
|
|
2
|
-
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
-
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
-
import Dropdown from "./Dropdown.svelte";
|
|
5
|
-
import componentDocs from "./docs/component.md?raw";
|
|
6
|
-
import options from "../../js/menuOptions.js";
|
|
7
|
-
|
|
8
|
-
const { Story } = defineMeta({
|
|
9
|
-
title: "Inputs/Dropdown",
|
|
10
|
-
component: Dropdown,
|
|
11
|
-
tags: ["autodocs"],
|
|
12
|
-
argTypes: {},
|
|
13
|
-
parameters: withComponentDocs(componentDocs)
|
|
14
|
-
});
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
{#snippet template(args)}
|
|
18
|
-
<div style:padding="12px">
|
|
19
|
-
<Dropdown {...args} />
|
|
20
|
-
</div>
|
|
21
|
-
{/snippet}
|
|
22
|
-
|
|
23
|
-
<Story
|
|
24
|
-
name="Default"
|
|
25
|
-
args={{
|
|
26
|
-
id: "topic",
|
|
27
|
-
label: "Question topic",
|
|
28
|
-
options
|
|
29
|
-
}}
|
|
30
|
-
{template}
|
|
31
|
-
/>
|
|
32
|
-
|
|
33
|
-
<Story
|
|
34
|
-
name="Hidden label"
|
|
35
|
-
args={{
|
|
36
|
-
id: "topic",
|
|
37
|
-
label: "Question topic",
|
|
38
|
-
hideLabel: true,
|
|
39
|
-
options
|
|
40
|
-
}}
|
|
41
|
-
{template}
|
|
42
|
-
/>
|
|
43
|
-
|
|
44
|
-
<Story
|
|
45
|
-
name="Custom placeholder text"
|
|
46
|
-
args={{
|
|
47
|
-
id: "topic",
|
|
48
|
-
label: "Question topic",
|
|
49
|
-
hideLabel: true,
|
|
50
|
-
placeholder: "Some custom text",
|
|
51
|
-
options
|
|
52
|
-
}}
|
|
53
|
-
{template}
|
|
54
|
-
/>
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
+
import Dropdown from "./Dropdown.svelte";
|
|
5
|
+
import componentDocs from "./docs/component.md?raw";
|
|
6
|
+
import options from "../../js/menuOptions.js";
|
|
7
|
+
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
title: "Inputs/Dropdown",
|
|
10
|
+
component: Dropdown,
|
|
11
|
+
tags: ["autodocs"],
|
|
12
|
+
argTypes: {},
|
|
13
|
+
parameters: withComponentDocs(componentDocs)
|
|
14
|
+
});
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
{#snippet template(args)}
|
|
18
|
+
<div style:padding="12px">
|
|
19
|
+
<Dropdown {...args} />
|
|
20
|
+
</div>
|
|
21
|
+
{/snippet}
|
|
22
|
+
|
|
23
|
+
<Story
|
|
24
|
+
name="Default"
|
|
25
|
+
args={{
|
|
26
|
+
id: "topic",
|
|
27
|
+
label: "Question topic",
|
|
28
|
+
options
|
|
29
|
+
}}
|
|
30
|
+
{template}
|
|
31
|
+
/>
|
|
32
|
+
|
|
33
|
+
<Story
|
|
34
|
+
name="Hidden label"
|
|
35
|
+
args={{
|
|
36
|
+
id: "topic",
|
|
37
|
+
label: "Question topic",
|
|
38
|
+
hideLabel: true,
|
|
39
|
+
options
|
|
40
|
+
}}
|
|
41
|
+
{template}
|
|
42
|
+
/>
|
|
43
|
+
|
|
44
|
+
<Story
|
|
45
|
+
name="Custom placeholder text"
|
|
46
|
+
args={{
|
|
47
|
+
id: "topic",
|
|
48
|
+
label: "Question topic",
|
|
49
|
+
hideLabel: true,
|
|
50
|
+
placeholder: "Some custom text",
|
|
51
|
+
options
|
|
52
|
+
}}
|
|
53
|
+
{template}
|
|
54
|
+
/>
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { createEventDispatcher } from "svelte";
|
|
3
|
-
|
|
4
|
-
const dispatch = createEventDispatcher();
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Unique id for the <select> element
|
|
8
|
-
* @type {string|null}
|
|
9
|
-
*/
|
|
10
|
-
export let id = null;
|
|
11
|
-
/**
|
|
12
|
-
* Name for the <select> element
|
|
13
|
-
* @type {string|null}
|
|
14
|
-
*/
|
|
15
|
-
export let name = id;
|
|
16
|
-
/**
|
|
17
|
-
* A label to describe the <select> element (expected for accessibility)
|
|
18
|
-
* @type {string|null}
|
|
19
|
-
*/
|
|
20
|
-
export let label = null;
|
|
21
|
-
/**
|
|
22
|
-
* Visually hide the label
|
|
23
|
-
* @type {boolean}
|
|
24
|
-
*/
|
|
25
|
-
export let hideLabel = false;
|
|
26
|
-
/**
|
|
27
|
-
* An optional placeholder text
|
|
28
|
-
* @type {string}
|
|
29
|
-
*/
|
|
30
|
-
export let placeholder = "Select an option";
|
|
31
|
-
/**
|
|
32
|
-
* A prop to bind to for the selected value
|
|
33
|
-
* @type {object|null}
|
|
34
|
-
*/
|
|
35
|
-
export let value = null;
|
|
36
|
-
/**
|
|
37
|
-
* An array of options, formatted {id, label}
|
|
38
|
-
* @type {object[]}
|
|
39
|
-
*/
|
|
40
|
-
export let options = [];
|
|
41
|
-
/**
|
|
42
|
-
* Optional: Set an additional CSS class for the component
|
|
43
|
-
* @type {string|null}
|
|
44
|
-
*/
|
|
45
|
-
export let cls = null;
|
|
46
|
-
</script>
|
|
47
|
-
|
|
48
|
-
<div class="ons-field {cls}">
|
|
49
|
-
{#if label}
|
|
50
|
-
<label class="ons-label" for={id} class:ons-u-vh={hideLabel}>{label}</label>
|
|
51
|
-
{/if}
|
|
52
|
-
<select
|
|
53
|
-
{id}
|
|
54
|
-
{name}
|
|
55
|
-
class="ons-input ons-input--select"
|
|
56
|
-
bind:value
|
|
57
|
-
on:change={(e) => dispatch("change", e)}
|
|
58
|
-
>
|
|
59
|
-
{#if placeholder}
|
|
60
|
-
<option value={null} selected disabled>{placeholder}</option>
|
|
61
|
-
{/if}
|
|
62
|
-
{#each options as option}
|
|
63
|
-
<option value={option}>{option?.label || option}</option>
|
|
64
|
-
{/each}
|
|
65
|
-
</select>
|
|
66
|
-
</div>
|
|
1
|
+
<script>
|
|
2
|
+
import { createEventDispatcher } from "svelte";
|
|
3
|
+
|
|
4
|
+
const dispatch = createEventDispatcher();
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Unique id for the <select> element
|
|
8
|
+
* @type {string|null}
|
|
9
|
+
*/
|
|
10
|
+
export let id = null;
|
|
11
|
+
/**
|
|
12
|
+
* Name for the <select> element
|
|
13
|
+
* @type {string|null}
|
|
14
|
+
*/
|
|
15
|
+
export let name = id;
|
|
16
|
+
/**
|
|
17
|
+
* A label to describe the <select> element (expected for accessibility)
|
|
18
|
+
* @type {string|null}
|
|
19
|
+
*/
|
|
20
|
+
export let label = null;
|
|
21
|
+
/**
|
|
22
|
+
* Visually hide the label
|
|
23
|
+
* @type {boolean}
|
|
24
|
+
*/
|
|
25
|
+
export let hideLabel = false;
|
|
26
|
+
/**
|
|
27
|
+
* An optional placeholder text
|
|
28
|
+
* @type {string}
|
|
29
|
+
*/
|
|
30
|
+
export let placeholder = "Select an option";
|
|
31
|
+
/**
|
|
32
|
+
* A prop to bind to for the selected value
|
|
33
|
+
* @type {object|null}
|
|
34
|
+
*/
|
|
35
|
+
export let value = null;
|
|
36
|
+
/**
|
|
37
|
+
* An array of options, formatted {id, label}
|
|
38
|
+
* @type {object[]}
|
|
39
|
+
*/
|
|
40
|
+
export let options = [];
|
|
41
|
+
/**
|
|
42
|
+
* Optional: Set an additional CSS class for the component
|
|
43
|
+
* @type {string|null}
|
|
44
|
+
*/
|
|
45
|
+
export let cls = null;
|
|
46
|
+
</script>
|
|
47
|
+
|
|
48
|
+
<div class="ons-field {cls}">
|
|
49
|
+
{#if label}
|
|
50
|
+
<label class="ons-label" for={id} class:ons-u-vh={hideLabel}>{label}</label>
|
|
51
|
+
{/if}
|
|
52
|
+
<select
|
|
53
|
+
{id}
|
|
54
|
+
{name}
|
|
55
|
+
class="ons-input ons-input--select"
|
|
56
|
+
bind:value
|
|
57
|
+
on:change={(e) => dispatch("change", e)}
|
|
58
|
+
>
|
|
59
|
+
{#if placeholder}
|
|
60
|
+
<option value={null} selected disabled>{placeholder}</option>
|
|
61
|
+
{/if}
|
|
62
|
+
{#each options as option}
|
|
63
|
+
<option value={option}>{option?.label || option}</option>
|
|
64
|
+
{/each}
|
|
65
|
+
</select>
|
|
66
|
+
</div>
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
A standard `<select>` component with Svelte bindings and events.
|
|
2
|
-
|
|
3
|
-
<!-- prettier-ignore -->
|
|
4
|
-
```html
|
|
5
|
-
<script>
|
|
6
|
-
import { Dropdown } from "@onsvisual/svelte-components";
|
|
7
|
-
|
|
8
|
-
const values = [
|
|
9
|
-
{ id: "1", label: "one" },
|
|
10
|
-
{ id: "2", label: "two" },
|
|
11
|
-
{ id: "3", label: "three" },
|
|
12
|
-
];
|
|
13
|
-
|
|
14
|
-
// Bind the <select> value to a variable (reactive)
|
|
15
|
-
let value;
|
|
16
|
-
|
|
17
|
-
// Define your own function on change
|
|
18
|
-
const handleChange = (e) => console.log(e);
|
|
19
|
-
</script>
|
|
20
|
-
|
|
21
|
-
<Dropdown {options} bind:value on:change="{handleChange}" />
|
|
22
|
-
```
|
|
1
|
+
A standard `<select>` component with Svelte bindings and events.
|
|
2
|
+
|
|
3
|
+
<!-- prettier-ignore -->
|
|
4
|
+
```html
|
|
5
|
+
<script>
|
|
6
|
+
import { Dropdown } from "@onsvisual/svelte-components";
|
|
7
|
+
|
|
8
|
+
const values = [
|
|
9
|
+
{ id: "1", label: "one" },
|
|
10
|
+
{ id: "2", label: "two" },
|
|
11
|
+
{ id: "3", label: "three" },
|
|
12
|
+
];
|
|
13
|
+
|
|
14
|
+
// Bind the <select> value to a variable (reactive)
|
|
15
|
+
let value;
|
|
16
|
+
|
|
17
|
+
// Define your own function on change
|
|
18
|
+
const handleChange = (e) => console.log(e);
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<Dropdown {options} bind:value on:change="{handleChange}" />
|
|
22
|
+
```
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
<script module>
|
|
2
|
-
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
-
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
-
import ErrorPanel from "./ErrorPanel.svelte";
|
|
5
|
-
import Input from "../Input/Input.svelte";
|
|
6
|
-
import componentDocs from "./docs/component.md?raw";
|
|
7
|
-
|
|
8
|
-
const { Story } = defineMeta({
|
|
9
|
-
title: "Inputs/ErrorPanel",
|
|
10
|
-
component: ErrorPanel,
|
|
11
|
-
tags: ["autodocs"],
|
|
12
|
-
argTypes: {},
|
|
13
|
-
parameters: withComponentDocs(componentDocs)
|
|
14
|
-
});
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
{#snippet template(args)}
|
|
18
|
-
<div style:padding="12px">
|
|
19
|
-
<ErrorPanel {...args}>
|
|
20
|
-
<Input />
|
|
21
|
-
</ErrorPanel>
|
|
22
|
-
</div>
|
|
23
|
-
{/snippet}
|
|
24
|
-
|
|
25
|
-
<Story name="Default" args={{ message: "You entered the wrong text" }} {template} />
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
+
import ErrorPanel from "./ErrorPanel.svelte";
|
|
5
|
+
import Input from "../Input/Input.svelte";
|
|
6
|
+
import componentDocs from "./docs/component.md?raw";
|
|
7
|
+
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
title: "Inputs/ErrorPanel",
|
|
10
|
+
component: ErrorPanel,
|
|
11
|
+
tags: ["autodocs"],
|
|
12
|
+
argTypes: {},
|
|
13
|
+
parameters: withComponentDocs(componentDocs)
|
|
14
|
+
});
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
{#snippet template(args)}
|
|
18
|
+
<div style:padding="12px">
|
|
19
|
+
<ErrorPanel {...args}>
|
|
20
|
+
<Input />
|
|
21
|
+
</ErrorPanel>
|
|
22
|
+
</div>
|
|
23
|
+
{/snippet}
|
|
24
|
+
|
|
25
|
+
<Story name="Default" args={{ message: "You entered the wrong text" }} {template} />
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
/**
|
|
3
|
-
* Set an error message
|
|
4
|
-
* @type {string|null}
|
|
5
|
-
*/
|
|
6
|
-
export let message = null;
|
|
7
|
-
/**
|
|
8
|
-
* Optional: Set an additional CSS class for the component
|
|
9
|
-
* @type {string|null}
|
|
10
|
-
*/
|
|
11
|
-
export let cls = null;
|
|
12
|
-
</script>
|
|
13
|
-
|
|
14
|
-
<div class="ons-panel ons-panel--error ons-panel--no-title {cls}" id="number-of-employees-error">
|
|
15
|
-
<span class="ons-panel__assistive-text ons-u-vh">Error: </span>
|
|
16
|
-
<div class="ons-panel__body">
|
|
17
|
-
{#if message}
|
|
18
|
-
<p class="ons-panel__error">
|
|
19
|
-
<strong>{message}</strong>
|
|
20
|
-
</p>
|
|
21
|
-
{/if}
|
|
22
|
-
<slot />
|
|
23
|
-
</div>
|
|
24
|
-
</div>
|
|
1
|
+
<script>
|
|
2
|
+
/**
|
|
3
|
+
* Set an error message
|
|
4
|
+
* @type {string|null}
|
|
5
|
+
*/
|
|
6
|
+
export let message = null;
|
|
7
|
+
/**
|
|
8
|
+
* Optional: Set an additional CSS class for the component
|
|
9
|
+
* @type {string|null}
|
|
10
|
+
*/
|
|
11
|
+
export let cls = null;
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<div class="ons-panel ons-panel--error ons-panel--no-title {cls}" id="number-of-employees-error">
|
|
15
|
+
<span class="ons-panel__assistive-text ons-u-vh">Error: </span>
|
|
16
|
+
<div class="ons-panel__body">
|
|
17
|
+
{#if message}
|
|
18
|
+
<p class="ons-panel__error">
|
|
19
|
+
<strong>{message}</strong>
|
|
20
|
+
</p>
|
|
21
|
+
{/if}
|
|
22
|
+
<slot />
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
Use this component to show validation errors by wrapping form inputs and fieldsets.
|
|
2
|
-
|
|
3
|
-
Based on [this ONS Design System component](https://service-manual.ons.gov.uk/design-system/components/error).
|
|
4
|
-
|
|
5
|
-
<!-- prettier-ignore -->
|
|
6
|
-
```html
|
|
7
|
-
<script>
|
|
8
|
-
import { ErrorPanel, Input } from "@onsvisual/svelte-components";
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
<ErrorPanel message="You enterered the wrong text">
|
|
12
|
-
<Input/>
|
|
13
|
-
</ErrorPanel>
|
|
14
|
-
```
|
|
1
|
+
Use this component to show validation errors by wrapping form inputs and fieldsets.
|
|
2
|
+
|
|
3
|
+
Based on [this ONS Design System component](https://service-manual.ons.gov.uk/design-system/components/error).
|
|
4
|
+
|
|
5
|
+
<!-- prettier-ignore -->
|
|
6
|
+
```html
|
|
7
|
+
<script>
|
|
8
|
+
import { ErrorPanel, Input } from "@onsvisual/svelte-components";
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<ErrorPanel message="You enterered the wrong text">
|
|
12
|
+
<Input/>
|
|
13
|
+
</ErrorPanel>
|
|
14
|
+
```
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
<script module>
|
|
2
|
-
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
-
import { withComponentDocs, withStoryDocs } from "../../js/withParams.js";
|
|
4
|
-
import ErrorSummary from "./ErrorSummary.svelte";
|
|
5
|
-
import componentDocs from "./docs/component.md?raw";
|
|
6
|
-
import exampleDocs from "./docs/example.md?raw";
|
|
7
|
-
|
|
8
|
-
const { Story } = defineMeta({
|
|
9
|
-
title: "Inputs/ErrorSummary",
|
|
10
|
-
component: ErrorSummary,
|
|
11
|
-
tags: ["autodocs"],
|
|
12
|
-
argTypes: {},
|
|
13
|
-
parameters: withComponentDocs(componentDocs)
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
const items = [
|
|
17
|
-
{ label: "First issue description.", href: "#0" },
|
|
18
|
-
{ label: "Second issue description." }
|
|
19
|
-
];
|
|
20
|
-
</script>
|
|
21
|
-
|
|
22
|
-
{#snippet template(args)}
|
|
23
|
-
<div style:padding="12px">
|
|
24
|
-
<ErrorSummary {...args} />
|
|
25
|
-
</div>
|
|
26
|
-
{/snippet}
|
|
27
|
-
|
|
28
|
-
<Story name="Default" args={{ title: "There are 2 problems with your answer", items }} {template} />
|
|
29
|
-
|
|
30
|
-
<Story name="Error defined as text" asChild parameters={withStoryDocs(exampleDocs)}>
|
|
31
|
-
<div style:padding="12px">
|
|
32
|
-
<ErrorSummary title="There was an error">This is a text to describe the error.</ErrorSummary>
|
|
33
|
-
</div>
|
|
34
|
-
</Story>
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import { withComponentDocs, withStoryDocs } from "../../js/withParams.js";
|
|
4
|
+
import ErrorSummary from "./ErrorSummary.svelte";
|
|
5
|
+
import componentDocs from "./docs/component.md?raw";
|
|
6
|
+
import exampleDocs from "./docs/example.md?raw";
|
|
7
|
+
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
title: "Inputs/ErrorSummary",
|
|
10
|
+
component: ErrorSummary,
|
|
11
|
+
tags: ["autodocs"],
|
|
12
|
+
argTypes: {},
|
|
13
|
+
parameters: withComponentDocs(componentDocs)
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
const items = [
|
|
17
|
+
{ label: "First issue description.", href: "#0" },
|
|
18
|
+
{ label: "Second issue description." }
|
|
19
|
+
];
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
{#snippet template(args)}
|
|
23
|
+
<div style:padding="12px">
|
|
24
|
+
<ErrorSummary {...args} />
|
|
25
|
+
</div>
|
|
26
|
+
{/snippet}
|
|
27
|
+
|
|
28
|
+
<Story name="Default" args={{ title: "There are 2 problems with your answer", items }} {template} />
|
|
29
|
+
|
|
30
|
+
<Story name="Error defined as text" asChild parameters={withStoryDocs(exampleDocs)}>
|
|
31
|
+
<div style:padding="12px">
|
|
32
|
+
<ErrorSummary title="There was an error">This is a text to describe the error.</ErrorSummary>
|
|
33
|
+
</div>
|
|
34
|
+
</Story>
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import List from "../../layout/List/List.svelte";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Defines the title of the error
|
|
6
|
-
* @type {string|null}
|
|
7
|
-
*/
|
|
8
|
-
export let title = null;
|
|
9
|
-
/**
|
|
10
|
-
* Define an array of errors/issues in the format {label, href?}
|
|
11
|
-
* @type {object[]}
|
|
12
|
-
*/
|
|
13
|
-
export let items = [];
|
|
14
|
-
/**
|
|
15
|
-
* Optional: Set an additional CSS class for the component
|
|
16
|
-
* @type {string|null}
|
|
17
|
-
*/
|
|
18
|
-
export let cls = null;
|
|
19
|
-
</script>
|
|
20
|
-
|
|
21
|
-
<div aria-labelledby="alert" role="alert" tabindex="-1" class="ons-panel ons-panel--error {cls}">
|
|
22
|
-
<div class="ons-panel__header">
|
|
23
|
-
<h2 id="alert" data-qa="error-header" class="ons-panel__title ons-u-fs-r--b">{title}</h2>
|
|
24
|
-
</div>
|
|
25
|
-
<div class="ons-panel__body">
|
|
26
|
-
{#if Array.isArray(items)}
|
|
27
|
-
<List mode="number">
|
|
28
|
-
{#each items as item}
|
|
29
|
-
<li>
|
|
30
|
-
{#if item.href}
|
|
31
|
-
<a href={item.href}>{item.label}</a>
|
|
32
|
-
{:else}
|
|
33
|
-
{item.label}
|
|
34
|
-
{/if}
|
|
35
|
-
</li>
|
|
36
|
-
{/each}
|
|
37
|
-
</List>
|
|
38
|
-
{/if}
|
|
39
|
-
<slot />
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
|
|
43
|
-
<style>
|
|
44
|
-
.ons-panel {
|
|
45
|
-
color: rgb(34, 34, 34);
|
|
46
|
-
}
|
|
47
|
-
</style>
|
|
1
|
+
<script>
|
|
2
|
+
import List from "../../layout/List/List.svelte";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Defines the title of the error
|
|
6
|
+
* @type {string|null}
|
|
7
|
+
*/
|
|
8
|
+
export let title = null;
|
|
9
|
+
/**
|
|
10
|
+
* Define an array of errors/issues in the format {label, href?}
|
|
11
|
+
* @type {object[]}
|
|
12
|
+
*/
|
|
13
|
+
export let items = [];
|
|
14
|
+
/**
|
|
15
|
+
* Optional: Set an additional CSS class for the component
|
|
16
|
+
* @type {string|null}
|
|
17
|
+
*/
|
|
18
|
+
export let cls = null;
|
|
19
|
+
</script>
|
|
20
|
+
|
|
21
|
+
<div aria-labelledby="alert" role="alert" tabindex="-1" class="ons-panel ons-panel--error {cls}">
|
|
22
|
+
<div class="ons-panel__header">
|
|
23
|
+
<h2 id="alert" data-qa="error-header" class="ons-panel__title ons-u-fs-r--b">{title}</h2>
|
|
24
|
+
</div>
|
|
25
|
+
<div class="ons-panel__body">
|
|
26
|
+
{#if Array.isArray(items)}
|
|
27
|
+
<List mode="number">
|
|
28
|
+
{#each items as item}
|
|
29
|
+
<li>
|
|
30
|
+
{#if item.href}
|
|
31
|
+
<a href={item.href}>{item.label}</a>
|
|
32
|
+
{:else}
|
|
33
|
+
{item.label}
|
|
34
|
+
{/if}
|
|
35
|
+
</li>
|
|
36
|
+
{/each}
|
|
37
|
+
</List>
|
|
38
|
+
{/if}
|
|
39
|
+
<slot />
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<style>
|
|
44
|
+
.ons-panel {
|
|
45
|
+
color: rgb(34, 34, 34);
|
|
46
|
+
}
|
|
47
|
+
</style>
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
A panel to summarise errors on a form/input. The errors can be defined in an `items` array, or as plain text/html within the component.
|
|
2
|
-
|
|
3
|
-
Based on [this ONS Design System pattern](https://service-manual.ons.gov.uk/design-system/patterns/error-status-pages).
|
|
4
|
-
|
|
5
|
-
<!-- prettier-ignore -->
|
|
6
|
-
```html
|
|
7
|
-
<script>
|
|
8
|
-
import { ErrorSummary } from "@onsvisual/svelte-components";
|
|
9
|
-
|
|
10
|
-
const items = [
|
|
11
|
-
{ label: "First issue description.", href: "#0" },
|
|
12
|
-
{ label: "Second issue description." },
|
|
13
|
-
];
|
|
14
|
-
</script>
|
|
15
|
-
|
|
16
|
-
<ErrorSummary title="There are 2 problems with your answer" {items} />
|
|
17
|
-
```
|
|
1
|
+
A panel to summarise errors on a form/input. The errors can be defined in an `items` array, or as plain text/html within the component.
|
|
2
|
+
|
|
3
|
+
Based on [this ONS Design System pattern](https://service-manual.ons.gov.uk/design-system/patterns/error-status-pages).
|
|
4
|
+
|
|
5
|
+
<!-- prettier-ignore -->
|
|
6
|
+
```html
|
|
7
|
+
<script>
|
|
8
|
+
import { ErrorSummary } from "@onsvisual/svelte-components";
|
|
9
|
+
|
|
10
|
+
const items = [
|
|
11
|
+
{ label: "First issue description.", href: "#0" },
|
|
12
|
+
{ label: "Second issue description." },
|
|
13
|
+
];
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<ErrorSummary title="There are 2 problems with your answer" {items} />
|
|
17
|
+
```
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
In this example, the `items` array is not used, and the error is described using text/html.
|
|
2
|
-
|
|
3
|
-
<!-- prettier-ignore -->
|
|
4
|
-
```html
|
|
5
|
-
<script>
|
|
6
|
-
import { ErrorSummary } from "@onsvisual/svelte-components";
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<ErrorSummary title="There was an error">
|
|
10
|
-
This is a text to describe the error.
|
|
11
|
-
</ErrorSummary>
|
|
12
|
-
```
|
|
1
|
+
In this example, the `items` array is not used, and the error is described using text/html.
|
|
2
|
+
|
|
3
|
+
<!-- prettier-ignore -->
|
|
4
|
+
```html
|
|
5
|
+
<script>
|
|
6
|
+
import { ErrorSummary } from "@onsvisual/svelte-components";
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<ErrorSummary title="There was an error">
|
|
10
|
+
This is a text to describe the error.
|
|
11
|
+
</ErrorSummary>
|
|
12
|
+
```
|