@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,10 +1,10 @@
|
|
|
1
|
-
A footer component with compact mode and theming options.
|
|
2
|
-
|
|
3
|
-
<!-- prettier-ignore -->
|
|
4
|
-
```html
|
|
5
|
-
<script>
|
|
6
|
-
import { Footer } from "@onsvisual/svelte-components";
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<Footer />
|
|
10
|
-
```
|
|
1
|
+
A footer component with compact mode and theming options.
|
|
2
|
+
|
|
3
|
+
<!-- prettier-ignore -->
|
|
4
|
+
```html
|
|
5
|
+
<script>
|
|
6
|
+
import { Footer } from "@onsvisual/svelte-components";
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<Footer />
|
|
10
|
+
```
|
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
<script module>
|
|
2
|
-
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
-
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
-
import Grid from "./Grid.svelte";
|
|
5
|
-
import GridCell from "./GridCell.svelte";
|
|
6
|
-
import componentDocs from "./docs/component.md?raw";
|
|
7
|
-
|
|
8
|
-
const { Story } = defineMeta({
|
|
9
|
-
title: "Layout/Grid",
|
|
10
|
-
component: Grid,
|
|
11
|
-
tags: ["autodocs"],
|
|
12
|
-
argTypes: {
|
|
13
|
-
width: {
|
|
14
|
-
control: { type: "select" }
|
|
15
|
-
},
|
|
16
|
-
colWidth: {
|
|
17
|
-
control: { type: "select" }
|
|
18
|
-
},
|
|
19
|
-
gridGap: {
|
|
20
|
-
control: { type: "select" }
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
parameters: withComponentDocs(componentDocs)
|
|
24
|
-
});
|
|
25
|
-
</script>
|
|
26
|
-
|
|
27
|
-
{#snippet template(args)}
|
|
28
|
-
<Grid {...args}>
|
|
29
|
-
<GridCell><div class="grid-cell">Grid cell one</div></GridCell>
|
|
30
|
-
<GridCell><div class="grid-cell">Grid cell two</div></GridCell>
|
|
31
|
-
<GridCell><div class="grid-cell">Grid cell three</div></GridCell>
|
|
32
|
-
<GridCell><div class="grid-cell">Grid cell four</div></GridCell>
|
|
33
|
-
</Grid>
|
|
34
|
-
{/snippet}
|
|
35
|
-
|
|
36
|
-
<Story name="Default" args={{}} {template} />
|
|
37
|
-
|
|
38
|
-
<Story name="Wide columns" args={{ colWidth: "wide" }} {template} />
|
|
39
|
-
|
|
40
|
-
<Story name="Narrow columns" args={{ colWidth: "narrow" }} {template} />
|
|
41
|
-
|
|
42
|
-
<Story name="Full width columns" args={{ colWidth: "full" }} {template} />
|
|
43
|
-
|
|
44
|
-
<style>
|
|
45
|
-
.grid-cell {
|
|
46
|
-
background: var(--ons-color-grey-10);
|
|
47
|
-
padding: 12px;
|
|
48
|
-
height: 100px;
|
|
49
|
-
}
|
|
50
|
-
</style>
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
+
import Grid from "./Grid.svelte";
|
|
5
|
+
import GridCell from "./GridCell.svelte";
|
|
6
|
+
import componentDocs from "./docs/component.md?raw";
|
|
7
|
+
|
|
8
|
+
const { Story } = defineMeta({
|
|
9
|
+
title: "Layout/Grid",
|
|
10
|
+
component: Grid,
|
|
11
|
+
tags: ["autodocs"],
|
|
12
|
+
argTypes: {
|
|
13
|
+
width: {
|
|
14
|
+
control: { type: "select" }
|
|
15
|
+
},
|
|
16
|
+
colWidth: {
|
|
17
|
+
control: { type: "select" }
|
|
18
|
+
},
|
|
19
|
+
gridGap: {
|
|
20
|
+
control: { type: "select" }
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
parameters: withComponentDocs(componentDocs)
|
|
24
|
+
});
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
{#snippet template(args)}
|
|
28
|
+
<Grid {...args}>
|
|
29
|
+
<GridCell><div class="grid-cell">Grid cell one</div></GridCell>
|
|
30
|
+
<GridCell><div class="grid-cell">Grid cell two</div></GridCell>
|
|
31
|
+
<GridCell><div class="grid-cell">Grid cell three</div></GridCell>
|
|
32
|
+
<GridCell><div class="grid-cell">Grid cell four</div></GridCell>
|
|
33
|
+
</Grid>
|
|
34
|
+
{/snippet}
|
|
35
|
+
|
|
36
|
+
<Story name="Default" args={{}} {template} />
|
|
37
|
+
|
|
38
|
+
<Story name="Wide columns" args={{ colWidth: "wide" }} {template} />
|
|
39
|
+
|
|
40
|
+
<Story name="Narrow columns" args={{ colWidth: "narrow" }} {template} />
|
|
41
|
+
|
|
42
|
+
<Story name="Full width columns" args={{ colWidth: "full" }} {template} />
|
|
43
|
+
|
|
44
|
+
<style>
|
|
45
|
+
.grid-cell {
|
|
46
|
+
background: var(--ons-color-grey-10);
|
|
47
|
+
padding: 12px;
|
|
48
|
+
height: 100px;
|
|
49
|
+
}
|
|
50
|
+
</style>
|
|
@@ -1,117 +1,117 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { setContext } from "svelte";
|
|
3
|
-
import Container from "../../wrappers/Container/Container.svelte";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Optional: Sets the unique ID of the section
|
|
7
|
-
* @type {string|null}
|
|
8
|
-
*/
|
|
9
|
-
export let id = null;
|
|
10
|
-
/**
|
|
11
|
-
* Optional: Set an additional CSS class for the component
|
|
12
|
-
* @type {string|null}
|
|
13
|
-
*/
|
|
14
|
-
export let cls = null;
|
|
15
|
-
/**
|
|
16
|
-
* Sets the width of the section
|
|
17
|
-
* @type {"narrow"|"medium"|"wide"|"wider"|"full"}
|
|
18
|
-
*/
|
|
19
|
-
export let width = "wide";
|
|
20
|
-
/**
|
|
21
|
-
* Sets the title of the section
|
|
22
|
-
* @type {string|null}
|
|
23
|
-
*/
|
|
24
|
-
export let title = null;
|
|
25
|
-
/**
|
|
26
|
-
* Allows the h2 title tag for the section to be visually hidden
|
|
27
|
-
* @type {boolean}
|
|
28
|
-
*/
|
|
29
|
-
export let hideTitle = false;
|
|
30
|
-
/**
|
|
31
|
-
* Optional: Caption for the grid (if used as a media container, eg. for an image)
|
|
32
|
-
* @type {string|null}
|
|
33
|
-
*/
|
|
34
|
-
export let caption = null;
|
|
35
|
-
/**
|
|
36
|
-
* Adds margin above section
|
|
37
|
-
* @type {boolean}
|
|
38
|
-
*/
|
|
39
|
-
export let marginTop = false;
|
|
40
|
-
/**
|
|
41
|
-
* Adds margin below section
|
|
42
|
-
* @type {boolean}
|
|
43
|
-
*/
|
|
44
|
-
export let marginBottom = true;
|
|
45
|
-
/**
|
|
46
|
-
* Sets the width of the columns
|
|
47
|
-
* @type {"narrow"|"medium"|"wide"|"full"}
|
|
48
|
-
*/
|
|
49
|
-
export let colWidth = "medium";
|
|
50
|
-
/**
|
|
51
|
-
* Set the minimum height of a grid row (can be a number in pixels, or a valid CSS height)
|
|
52
|
-
* @type {number|string|null}
|
|
53
|
-
*/
|
|
54
|
-
export let rowHeight = null;
|
|
55
|
-
/**
|
|
56
|
-
* Stretch the height of grid cells to match their siblings
|
|
57
|
-
* @type {boolean}
|
|
58
|
-
*/
|
|
59
|
-
export let rowStretch = true;
|
|
60
|
-
/**
|
|
61
|
-
* Set the grid gap, in pixels
|
|
62
|
-
* @type {"narrow"|"medium"|"wide"|"none"}
|
|
63
|
-
*/
|
|
64
|
-
export let gridGap = "medium";
|
|
65
|
-
|
|
66
|
-
setContext("width", width);
|
|
67
|
-
setContext("colWidth", colWidth);
|
|
68
|
-
setContext("rowHeight", rowHeight);
|
|
69
|
-
setContext("gridGap", gridGap);
|
|
70
|
-
</script>
|
|
71
|
-
|
|
72
|
-
<Container {id} {cls} {width} {marginTop} {marginBottom}>
|
|
73
|
-
{#if title}
|
|
74
|
-
<h2 class="section-title" class:ons-u-vh={hideTitle}>{title}</h2>
|
|
75
|
-
{/if}
|
|
76
|
-
{#if caption}
|
|
77
|
-
<figure class="ons-svelte-grid-container">
|
|
78
|
-
<div
|
|
79
|
-
class="ons-grid ons-grid--spaced"
|
|
80
|
-
class:ons-grid--gutterless={gridGap === "none"}
|
|
81
|
-
class:ons-grid--tight={gridGap === "narrow"}
|
|
82
|
-
class:ons-grid--loose={gridGap === "wide"}
|
|
83
|
-
class:ons-grid--stretch={rowStretch}
|
|
84
|
-
>
|
|
85
|
-
<slot />
|
|
86
|
-
</div>
|
|
87
|
-
<figcaption class="ons-image__caption">{caption}</figcaption>
|
|
88
|
-
</figure>
|
|
89
|
-
{:else}
|
|
90
|
-
<div
|
|
91
|
-
class="ons-grid ons-grid--spaced"
|
|
92
|
-
class:ons-grid--gutterless={gridGap === "none"}
|
|
93
|
-
class:ons-grid--tight={gridGap === "narrow"}
|
|
94
|
-
class:ons-grid--loose={gridGap === "wide"}
|
|
95
|
-
class:ons-grid--stretch={rowStretch}
|
|
96
|
-
>
|
|
97
|
-
<slot />
|
|
98
|
-
</div>
|
|
99
|
-
{/if}
|
|
100
|
-
</Container>
|
|
101
|
-
|
|
102
|
-
<style>
|
|
103
|
-
/* This removes the default margins of the <figure> element */
|
|
104
|
-
.ons-svelte-grid-container {
|
|
105
|
-
margin: 0;
|
|
106
|
-
}
|
|
107
|
-
/* This is to allow this flex property without ons-grid--flex which breaks other things */
|
|
108
|
-
.ons-grid--stretch {
|
|
109
|
-
display: flex;
|
|
110
|
-
flex-wrap: wrap;
|
|
111
|
-
align-items: stretch;
|
|
112
|
-
}
|
|
113
|
-
/* This allows the grid to be used as a media container without any columns */
|
|
114
|
-
.ons-grid > :global(*:not(.ons-grid__col)) {
|
|
115
|
-
margin-left: 1rem;
|
|
116
|
-
}
|
|
117
|
-
</style>
|
|
1
|
+
<script>
|
|
2
|
+
import { setContext } from "svelte";
|
|
3
|
+
import Container from "../../wrappers/Container/Container.svelte";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Optional: Sets the unique ID of the section
|
|
7
|
+
* @type {string|null}
|
|
8
|
+
*/
|
|
9
|
+
export let id = null;
|
|
10
|
+
/**
|
|
11
|
+
* Optional: Set an additional CSS class for the component
|
|
12
|
+
* @type {string|null}
|
|
13
|
+
*/
|
|
14
|
+
export let cls = null;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the width of the section
|
|
17
|
+
* @type {"narrow"|"medium"|"wide"|"wider"|"full"}
|
|
18
|
+
*/
|
|
19
|
+
export let width = "wide";
|
|
20
|
+
/**
|
|
21
|
+
* Sets the title of the section
|
|
22
|
+
* @type {string|null}
|
|
23
|
+
*/
|
|
24
|
+
export let title = null;
|
|
25
|
+
/**
|
|
26
|
+
* Allows the h2 title tag for the section to be visually hidden
|
|
27
|
+
* @type {boolean}
|
|
28
|
+
*/
|
|
29
|
+
export let hideTitle = false;
|
|
30
|
+
/**
|
|
31
|
+
* Optional: Caption for the grid (if used as a media container, eg. for an image)
|
|
32
|
+
* @type {string|null}
|
|
33
|
+
*/
|
|
34
|
+
export let caption = null;
|
|
35
|
+
/**
|
|
36
|
+
* Adds margin above section
|
|
37
|
+
* @type {boolean}
|
|
38
|
+
*/
|
|
39
|
+
export let marginTop = false;
|
|
40
|
+
/**
|
|
41
|
+
* Adds margin below section
|
|
42
|
+
* @type {boolean}
|
|
43
|
+
*/
|
|
44
|
+
export let marginBottom = true;
|
|
45
|
+
/**
|
|
46
|
+
* Sets the width of the columns
|
|
47
|
+
* @type {"narrow"|"medium"|"wide"|"full"}
|
|
48
|
+
*/
|
|
49
|
+
export let colWidth = "medium";
|
|
50
|
+
/**
|
|
51
|
+
* Set the minimum height of a grid row (can be a number in pixels, or a valid CSS height)
|
|
52
|
+
* @type {number|string|null}
|
|
53
|
+
*/
|
|
54
|
+
export let rowHeight = null;
|
|
55
|
+
/**
|
|
56
|
+
* Stretch the height of grid cells to match their siblings
|
|
57
|
+
* @type {boolean}
|
|
58
|
+
*/
|
|
59
|
+
export let rowStretch = true;
|
|
60
|
+
/**
|
|
61
|
+
* Set the grid gap, in pixels
|
|
62
|
+
* @type {"narrow"|"medium"|"wide"|"none"}
|
|
63
|
+
*/
|
|
64
|
+
export let gridGap = "medium";
|
|
65
|
+
|
|
66
|
+
setContext("width", width);
|
|
67
|
+
setContext("colWidth", colWidth);
|
|
68
|
+
setContext("rowHeight", rowHeight);
|
|
69
|
+
setContext("gridGap", gridGap);
|
|
70
|
+
</script>
|
|
71
|
+
|
|
72
|
+
<Container {id} {cls} {width} {marginTop} {marginBottom}>
|
|
73
|
+
{#if title}
|
|
74
|
+
<h2 class="section-title" class:ons-u-vh={hideTitle}>{title}</h2>
|
|
75
|
+
{/if}
|
|
76
|
+
{#if caption}
|
|
77
|
+
<figure class="ons-svelte-grid-container">
|
|
78
|
+
<div
|
|
79
|
+
class="ons-grid ons-grid--spaced"
|
|
80
|
+
class:ons-grid--gutterless={gridGap === "none"}
|
|
81
|
+
class:ons-grid--tight={gridGap === "narrow"}
|
|
82
|
+
class:ons-grid--loose={gridGap === "wide"}
|
|
83
|
+
class:ons-grid--stretch={rowStretch}
|
|
84
|
+
>
|
|
85
|
+
<slot />
|
|
86
|
+
</div>
|
|
87
|
+
<figcaption class="ons-image__caption">{caption}</figcaption>
|
|
88
|
+
</figure>
|
|
89
|
+
{:else}
|
|
90
|
+
<div
|
|
91
|
+
class="ons-grid ons-grid--spaced"
|
|
92
|
+
class:ons-grid--gutterless={gridGap === "none"}
|
|
93
|
+
class:ons-grid--tight={gridGap === "narrow"}
|
|
94
|
+
class:ons-grid--loose={gridGap === "wide"}
|
|
95
|
+
class:ons-grid--stretch={rowStretch}
|
|
96
|
+
>
|
|
97
|
+
<slot />
|
|
98
|
+
</div>
|
|
99
|
+
{/if}
|
|
100
|
+
</Container>
|
|
101
|
+
|
|
102
|
+
<style>
|
|
103
|
+
/* This removes the default margins of the <figure> element */
|
|
104
|
+
.ons-svelte-grid-container {
|
|
105
|
+
margin: 0;
|
|
106
|
+
}
|
|
107
|
+
/* This is to allow this flex property without ons-grid--flex which breaks other things */
|
|
108
|
+
.ons-grid--stretch {
|
|
109
|
+
display: flex;
|
|
110
|
+
flex-wrap: wrap;
|
|
111
|
+
align-items: stretch;
|
|
112
|
+
}
|
|
113
|
+
/* This allows the grid to be used as a media container without any columns */
|
|
114
|
+
.ons-grid > :global(*:not(.ons-grid__col)) {
|
|
115
|
+
margin-left: 1rem;
|
|
116
|
+
}
|
|
117
|
+
</style>
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { getContext } from "svelte";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* (If used in grid) How many columns the card should span across
|
|
6
|
-
* @type {number}
|
|
7
|
-
*/
|
|
8
|
-
export let colspan = 1;
|
|
9
|
-
|
|
10
|
-
const classes = {
|
|
11
|
-
narrow: {
|
|
12
|
-
narrow: ["6@xs", "4@l"],
|
|
13
|
-
medium: ["6@l"],
|
|
14
|
-
wide: []
|
|
15
|
-
},
|
|
16
|
-
medium: {
|
|
17
|
-
narrow: ["6@xs", "4@m", "3@l"],
|
|
18
|
-
medium: ["6@m"],
|
|
19
|
-
wide: ["6@xl"]
|
|
20
|
-
},
|
|
21
|
-
wide: {
|
|
22
|
-
narrow: ["6@xs", "3@m"],
|
|
23
|
-
medium: ["6@m", "4@l"],
|
|
24
|
-
wide: ["6@l"]
|
|
25
|
-
},
|
|
26
|
-
wider: {
|
|
27
|
-
narrow: ["6@xs", "3@m", "2@xl"],
|
|
28
|
-
medium: ["6@m", "4@l", "3@xl"],
|
|
29
|
-
wide: ["6@l", "4@xl"]
|
|
30
|
-
},
|
|
31
|
-
full: {
|
|
32
|
-
narrow: ["6@xs", "3@m", "2@xl"],
|
|
33
|
-
medium: ["6@m", "4@l", "3@xl"],
|
|
34
|
-
wide: ["6@l", "4@xl", "3@xxl"]
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
function calcSpans(cls, colspan) {
|
|
39
|
-
if (colspan === 1 || !Number.isInteger(colspan)) return cls;
|
|
40
|
-
return cls
|
|
41
|
-
.map((c) => [+c.slice(0, 1) * colspan, c.slice(1)])
|
|
42
|
-
.filter((c) => c[0] < 12)
|
|
43
|
-
.map((c) => `${c[0]}${c[1]}`);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const width = getContext("width") || "wide";
|
|
47
|
-
const colWidth = getContext("colWidth") || null;
|
|
48
|
-
const rowHeight = getContext("rowHeight") || null;
|
|
49
|
-
const colClass = colWidth
|
|
50
|
-
? calcSpans(classes?.[width]?.[colWidth] || [], colspan)
|
|
51
|
-
.map((c) => `ons-col-${c}`)
|
|
52
|
-
.join(" ")
|
|
53
|
-
: "";
|
|
54
|
-
</script>
|
|
55
|
-
|
|
56
|
-
{#if colWidth}
|
|
57
|
-
<div
|
|
58
|
-
class="ons-grid__col {colClass}"
|
|
59
|
-
style:height={typeof rowHeight === "number" ? `${rowHeight}px` : rowHeight}
|
|
60
|
-
>
|
|
61
|
-
<slot />
|
|
62
|
-
</div>
|
|
63
|
-
{:else}
|
|
64
|
-
<slot />
|
|
65
|
-
{/if}
|
|
1
|
+
<script>
|
|
2
|
+
import { getContext } from "svelte";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* (If used in grid) How many columns the card should span across
|
|
6
|
+
* @type {number}
|
|
7
|
+
*/
|
|
8
|
+
export let colspan = 1;
|
|
9
|
+
|
|
10
|
+
const classes = {
|
|
11
|
+
narrow: {
|
|
12
|
+
narrow: ["6@xs", "4@l"],
|
|
13
|
+
medium: ["6@l"],
|
|
14
|
+
wide: []
|
|
15
|
+
},
|
|
16
|
+
medium: {
|
|
17
|
+
narrow: ["6@xs", "4@m", "3@l"],
|
|
18
|
+
medium: ["6@m"],
|
|
19
|
+
wide: ["6@xl"]
|
|
20
|
+
},
|
|
21
|
+
wide: {
|
|
22
|
+
narrow: ["6@xs", "3@m"],
|
|
23
|
+
medium: ["6@m", "4@l"],
|
|
24
|
+
wide: ["6@l"]
|
|
25
|
+
},
|
|
26
|
+
wider: {
|
|
27
|
+
narrow: ["6@xs", "3@m", "2@xl"],
|
|
28
|
+
medium: ["6@m", "4@l", "3@xl"],
|
|
29
|
+
wide: ["6@l", "4@xl"]
|
|
30
|
+
},
|
|
31
|
+
full: {
|
|
32
|
+
narrow: ["6@xs", "3@m", "2@xl"],
|
|
33
|
+
medium: ["6@m", "4@l", "3@xl"],
|
|
34
|
+
wide: ["6@l", "4@xl", "3@xxl"]
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
function calcSpans(cls, colspan) {
|
|
39
|
+
if (colspan === 1 || !Number.isInteger(colspan)) return cls;
|
|
40
|
+
return cls
|
|
41
|
+
.map((c) => [+c.slice(0, 1) * colspan, c.slice(1)])
|
|
42
|
+
.filter((c) => c[0] < 12)
|
|
43
|
+
.map((c) => `${c[0]}${c[1]}`);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const width = getContext("width") || "wide";
|
|
47
|
+
const colWidth = getContext("colWidth") || null;
|
|
48
|
+
const rowHeight = getContext("rowHeight") || null;
|
|
49
|
+
const colClass = colWidth
|
|
50
|
+
? calcSpans(classes?.[width]?.[colWidth] || [], colspan)
|
|
51
|
+
.map((c) => `ons-col-${c}`)
|
|
52
|
+
.join(" ")
|
|
53
|
+
: "";
|
|
54
|
+
</script>
|
|
55
|
+
|
|
56
|
+
{#if colWidth}
|
|
57
|
+
<div
|
|
58
|
+
class="ons-grid__col {colClass}"
|
|
59
|
+
style:height={typeof rowHeight === "number" ? `${rowHeight}px` : rowHeight}
|
|
60
|
+
>
|
|
61
|
+
<slot />
|
|
62
|
+
</div>
|
|
63
|
+
{:else}
|
|
64
|
+
<slot />
|
|
65
|
+
{/if}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
A media grid component, useful for images and small multiple charts. Setting `colwidth` to **full** allows for a single cell/image/chart with an optional caption.
|
|
2
|
-
|
|
3
|
-
<!-- prettier-ignore -->
|
|
4
|
-
```html
|
|
5
|
-
<script>
|
|
6
|
-
import { Grid, GridCell } from "@onsvisual/svelte-components";
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<Grid>
|
|
10
|
-
<GridCell>{grid_cell_content}</GridCell>
|
|
11
|
-
<GridCell>{grid_cell_content}</GridCell>
|
|
12
|
-
<GridCell>{grid_cell_content}</GridCell>
|
|
13
|
-
</Grid>
|
|
14
|
-
```
|
|
1
|
+
A media grid component, useful for images and small multiple charts. Setting `colwidth` to **full** allows for a single cell/image/chart with an optional caption.
|
|
2
|
+
|
|
3
|
+
<!-- prettier-ignore -->
|
|
4
|
+
```html
|
|
5
|
+
<script>
|
|
6
|
+
import { Grid, GridCell } from "@onsvisual/svelte-components";
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<Grid>
|
|
10
|
+
<GridCell>{grid_cell_content}</GridCell>
|
|
11
|
+
<GridCell>{grid_cell_content}</GridCell>
|
|
12
|
+
<GridCell>{grid_cell_content}</GridCell>
|
|
13
|
+
</Grid>
|
|
14
|
+
```
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
<script module>
|
|
2
|
-
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
-
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
-
import Header from "./Header.svelte";
|
|
5
|
-
import componentDocs from "./docs/component.md?raw";
|
|
6
|
-
|
|
7
|
-
const { Story } = defineMeta({
|
|
8
|
-
title: "Layout/Header",
|
|
9
|
-
component: Header,
|
|
10
|
-
tags: ["autodocs"],
|
|
11
|
-
argTypes: {
|
|
12
|
-
theme: {
|
|
13
|
-
control: { type: "select" }
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
parameters: { ...withComponentDocs(componentDocs), layout: "fullscreen" }
|
|
17
|
-
});
|
|
18
|
-
</script>
|
|
19
|
-
|
|
20
|
-
<Story name="Default" args={{}} />
|
|
21
|
-
|
|
22
|
-
<Story name="Compact" args={{ compact: true }} />
|
|
23
|
-
|
|
24
|
-
<Story name="Compact with page title" args={{ compact: true, title: "Page title" }} />
|
|
25
|
-
|
|
26
|
-
<Story name="Compact dark theme" args={{ compact: true, title: "Page title", theme: "dark" }} />
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
+
import Header from "./Header.svelte";
|
|
5
|
+
import componentDocs from "./docs/component.md?raw";
|
|
6
|
+
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
title: "Layout/Header",
|
|
9
|
+
component: Header,
|
|
10
|
+
tags: ["autodocs"],
|
|
11
|
+
argTypes: {
|
|
12
|
+
theme: {
|
|
13
|
+
control: { type: "select" }
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
parameters: { ...withComponentDocs(componentDocs), layout: "fullscreen" }
|
|
17
|
+
});
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<Story name="Default" args={{}} />
|
|
21
|
+
|
|
22
|
+
<Story name="Compact" args={{ compact: true }} />
|
|
23
|
+
|
|
24
|
+
<Story name="Compact with page title" args={{ compact: true, title: "Page title" }} />
|
|
25
|
+
|
|
26
|
+
<Story name="Compact dark theme" args={{ compact: true, title: "Page title", theme: "dark" }} />
|