@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,22 +1,22 @@
|
|
|
1
|
-
A wrapper component that uses IntersectionObserver to monitor whether the elements in contains are within the current viewport.
|
|
2
|
-
|
|
3
|
-
This component can be useful for triggering actions such as lazy loading of data/images or scroll-driven interactions.
|
|
4
|
-
|
|
5
|
-
This component has **enter** and **exit** events, triggered when it enters or leaves the viewport. It also has a **visible** binding which has a value of **true** when it is within the viewport.
|
|
6
|
-
|
|
7
|
-
<!-- prettier-ignore -->
|
|
8
|
-
```html
|
|
9
|
-
<script>
|
|
10
|
-
import { Observe } from "@onsvisual/svelte-components";
|
|
11
|
-
|
|
12
|
-
const colors = ["yellow", "green", "blue", "purple", "red", "orange"];
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
{#each colors as color}
|
|
16
|
-
<Observe
|
|
17
|
-
on:enter={() => console.log(`${color} entered`)}
|
|
18
|
-
on:exit={() => console.log(`${color} exited`)}>
|
|
19
|
-
<div class="section" style:background={color} style:height="400px"/>
|
|
20
|
-
</Observe>
|
|
21
|
-
{/each}
|
|
22
|
-
```
|
|
1
|
+
A wrapper component that uses IntersectionObserver to monitor whether the elements in contains are within the current viewport.
|
|
2
|
+
|
|
3
|
+
This component can be useful for triggering actions such as lazy loading of data/images or scroll-driven interactions.
|
|
4
|
+
|
|
5
|
+
This component has **enter** and **exit** events, triggered when it enters or leaves the viewport. It also has a **visible** binding which has a value of **true** when it is within the viewport.
|
|
6
|
+
|
|
7
|
+
<!-- prettier-ignore -->
|
|
8
|
+
```html
|
|
9
|
+
<script>
|
|
10
|
+
import { Observe } from "@onsvisual/svelte-components";
|
|
11
|
+
|
|
12
|
+
const colors = ["yellow", "green", "blue", "purple", "red", "orange"];
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
{#each colors as color}
|
|
16
|
+
<Observe
|
|
17
|
+
on:enter={() => console.log(`${color} entered`)}
|
|
18
|
+
on:exit={() => console.log(`${color} exited`)}>
|
|
19
|
+
<div class="section" style:background={color} style:height="400px"/>
|
|
20
|
+
</Observe>
|
|
21
|
+
{/each}
|
|
22
|
+
```
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
<script module>
|
|
2
|
-
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
-
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
-
import Theme from "./Theme.svelte";
|
|
5
|
-
import componentDocs from "./docs/component.md?raw";
|
|
6
|
-
|
|
7
|
-
const { Story } = defineMeta({
|
|
8
|
-
title: "Wrappers/Theme",
|
|
9
|
-
component: Theme,
|
|
10
|
-
tags: ["autodocs"],
|
|
11
|
-
argTypes: {
|
|
12
|
-
theme: {
|
|
13
|
-
control: { type: "select" }
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
parameters: withComponentDocs(componentDocs)
|
|
17
|
-
});
|
|
18
|
-
</script>
|
|
19
|
-
|
|
20
|
-
{#snippet template(args)}
|
|
21
|
-
<Theme {...args}>
|
|
22
|
-
<div style:padding="12px">
|
|
23
|
-
<h2>Title</h2>
|
|
24
|
-
<p>Text with a <a href="#0">hyperlink</a>.</p>
|
|
25
|
-
</div>
|
|
26
|
-
</Theme>
|
|
27
|
-
{/snippet}
|
|
28
|
-
|
|
29
|
-
<Story name="Default light theme" args={{}} {template} />
|
|
30
|
-
|
|
31
|
-
<Story
|
|
32
|
-
name="Dark theme"
|
|
33
|
-
args={{
|
|
34
|
-
theme: "dark"
|
|
35
|
-
}}
|
|
36
|
-
{template}
|
|
37
|
-
/>
|
|
38
|
-
|
|
39
|
-
<Story
|
|
40
|
-
name="Pale blue theme"
|
|
41
|
-
args={{
|
|
42
|
-
theme: "paleblue"
|
|
43
|
-
}}
|
|
44
|
-
{template}
|
|
45
|
-
/>
|
|
46
|
-
|
|
47
|
-
<Story
|
|
48
|
-
name="Blue theme"
|
|
49
|
-
args={{
|
|
50
|
-
theme: "blue"
|
|
51
|
-
}}
|
|
52
|
-
{template}
|
|
53
|
-
/>
|
|
54
|
-
|
|
55
|
-
<Story
|
|
56
|
-
name="Navy blue theme"
|
|
57
|
-
args={{
|
|
58
|
-
theme: "navyblue"
|
|
59
|
-
}}
|
|
60
|
-
{template}
|
|
61
|
-
/>
|
|
62
|
-
|
|
63
|
-
<Story
|
|
64
|
-
name="Dark with background override"
|
|
65
|
-
args={{
|
|
66
|
-
theme: "dark",
|
|
67
|
-
background: "var(--ons-color-aqua-teal)"
|
|
68
|
-
}}
|
|
69
|
-
{template}
|
|
70
|
-
/>
|
|
1
|
+
<script module>
|
|
2
|
+
import { defineMeta } from "@storybook/addon-svelte-csf";
|
|
3
|
+
import { withComponentDocs } from "../../js/withParams.js";
|
|
4
|
+
import Theme from "./Theme.svelte";
|
|
5
|
+
import componentDocs from "./docs/component.md?raw";
|
|
6
|
+
|
|
7
|
+
const { Story } = defineMeta({
|
|
8
|
+
title: "Wrappers/Theme",
|
|
9
|
+
component: Theme,
|
|
10
|
+
tags: ["autodocs"],
|
|
11
|
+
argTypes: {
|
|
12
|
+
theme: {
|
|
13
|
+
control: { type: "select" }
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
parameters: withComponentDocs(componentDocs)
|
|
17
|
+
});
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
{#snippet template(args)}
|
|
21
|
+
<Theme {...args}>
|
|
22
|
+
<div style:padding="12px">
|
|
23
|
+
<h2>Title</h2>
|
|
24
|
+
<p>Text with a <a href="#0">hyperlink</a>.</p>
|
|
25
|
+
</div>
|
|
26
|
+
</Theme>
|
|
27
|
+
{/snippet}
|
|
28
|
+
|
|
29
|
+
<Story name="Default light theme" args={{}} {template} />
|
|
30
|
+
|
|
31
|
+
<Story
|
|
32
|
+
name="Dark theme"
|
|
33
|
+
args={{
|
|
34
|
+
theme: "dark"
|
|
35
|
+
}}
|
|
36
|
+
{template}
|
|
37
|
+
/>
|
|
38
|
+
|
|
39
|
+
<Story
|
|
40
|
+
name="Pale blue theme"
|
|
41
|
+
args={{
|
|
42
|
+
theme: "paleblue"
|
|
43
|
+
}}
|
|
44
|
+
{template}
|
|
45
|
+
/>
|
|
46
|
+
|
|
47
|
+
<Story
|
|
48
|
+
name="Blue theme"
|
|
49
|
+
args={{
|
|
50
|
+
theme: "blue"
|
|
51
|
+
}}
|
|
52
|
+
{template}
|
|
53
|
+
/>
|
|
54
|
+
|
|
55
|
+
<Story
|
|
56
|
+
name="Navy blue theme"
|
|
57
|
+
args={{
|
|
58
|
+
theme: "navyblue"
|
|
59
|
+
}}
|
|
60
|
+
{template}
|
|
61
|
+
/>
|
|
62
|
+
|
|
63
|
+
<Story
|
|
64
|
+
name="Dark with background override"
|
|
65
|
+
args={{
|
|
66
|
+
theme: "dark",
|
|
67
|
+
background: "var(--ons-color-aqua-teal)"
|
|
68
|
+
}}
|
|
69
|
+
{template}
|
|
70
|
+
/>
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import themes from "./themes.js";
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Sets a base theme ("light", "dark" or null for no theme)
|
|
6
|
-
* @type {"light"|"dark"|"paleblue"|"blue"|"navyblue"|"grey"|null}
|
|
7
|
-
*/
|
|
8
|
-
export let theme = null;
|
|
9
|
-
/**
|
|
10
|
-
* Define additional props to override the base theme
|
|
11
|
-
* @type {object}
|
|
12
|
-
*/
|
|
13
|
-
export let overrides = {};
|
|
14
|
-
/**
|
|
15
|
-
* Overrides the base theme background (accepts any valid CSS background value)
|
|
16
|
-
* @type {string|null}
|
|
17
|
-
*/
|
|
18
|
-
export let background = null;
|
|
19
|
-
/**
|
|
20
|
-
* Sets the theme at html body level (only use this at the top level)
|
|
21
|
-
* @type {boolean}
|
|
22
|
-
*/
|
|
23
|
-
export let global = false;
|
|
24
|
-
/**
|
|
25
|
-
* Allows client imported CSS for embeddable content
|
|
26
|
-
* @type {boolean}
|
|
27
|
-
*/
|
|
28
|
-
export let allowClientOverrides = false;
|
|
29
|
-
/**
|
|
30
|
-
* Optional: Set an additional CSS class for the theme container
|
|
31
|
-
* @type {string|null}
|
|
32
|
-
*/
|
|
33
|
-
export let cls = null;
|
|
34
|
-
|
|
35
|
-
function makeStyle(theme, overrides) {
|
|
36
|
-
if (theme) {
|
|
37
|
-
const _theme = { ...themes[theme], ...overrides };
|
|
38
|
-
return Object.keys(_theme)
|
|
39
|
-
.map(
|
|
40
|
-
(key) => `${key}:${_theme[key].startsWith("--") ? `var(${_theme[key]})` : _theme[key]};`
|
|
41
|
-
)
|
|
42
|
-
.join("");
|
|
43
|
-
}
|
|
44
|
-
return "";
|
|
45
|
-
}
|
|
46
|
-
$: style = makeStyle(theme, overrides);
|
|
47
|
-
</script>
|
|
48
|
-
|
|
49
|
-
<svelte:head>
|
|
50
|
-
{#if global && (style || background)}
|
|
51
|
-
{@html "<st" +
|
|
52
|
-
`yle>:root{${style}background:${background || "var(--ons-color-page-light)"};color:var(--ons-color-text);</st` +
|
|
53
|
-
"yle>"}
|
|
54
|
-
{/if}
|
|
55
|
-
</svelte:head>
|
|
56
|
-
|
|
57
|
-
{#if global || !(theme || background)}
|
|
58
|
-
<slot />
|
|
59
|
-
{:else}
|
|
60
|
-
<div class="ons-svelte-theme-wrapper {cls}" {style} style:background>
|
|
61
|
-
{#if allowClientOverrides}
|
|
62
|
-
<div class="client-css-override" style:display="contents">
|
|
63
|
-
<slot />
|
|
64
|
-
</div>
|
|
65
|
-
{:else}
|
|
66
|
-
<slot />
|
|
67
|
-
{/if}
|
|
68
|
-
</div>
|
|
69
|
-
{/if}
|
|
70
|
-
|
|
71
|
-
<style>
|
|
72
|
-
.ons-svelte-theme-wrapper {
|
|
73
|
-
background: var(--ons-color-page-light);
|
|
74
|
-
color: var(--ons-color-text);
|
|
75
|
-
}
|
|
76
|
-
</style>
|
|
1
|
+
<script>
|
|
2
|
+
import themes from "./themes.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Sets a base theme ("light", "dark" or null for no theme)
|
|
6
|
+
* @type {"light"|"dark"|"paleblue"|"blue"|"navyblue"|"grey"|null}
|
|
7
|
+
*/
|
|
8
|
+
export let theme = null;
|
|
9
|
+
/**
|
|
10
|
+
* Define additional props to override the base theme
|
|
11
|
+
* @type {object}
|
|
12
|
+
*/
|
|
13
|
+
export let overrides = {};
|
|
14
|
+
/**
|
|
15
|
+
* Overrides the base theme background (accepts any valid CSS background value)
|
|
16
|
+
* @type {string|null}
|
|
17
|
+
*/
|
|
18
|
+
export let background = null;
|
|
19
|
+
/**
|
|
20
|
+
* Sets the theme at html body level (only use this at the top level)
|
|
21
|
+
* @type {boolean}
|
|
22
|
+
*/
|
|
23
|
+
export let global = false;
|
|
24
|
+
/**
|
|
25
|
+
* Allows client imported CSS for embeddable content
|
|
26
|
+
* @type {boolean}
|
|
27
|
+
*/
|
|
28
|
+
export let allowClientOverrides = false;
|
|
29
|
+
/**
|
|
30
|
+
* Optional: Set an additional CSS class for the theme container
|
|
31
|
+
* @type {string|null}
|
|
32
|
+
*/
|
|
33
|
+
export let cls = null;
|
|
34
|
+
|
|
35
|
+
function makeStyle(theme, overrides) {
|
|
36
|
+
if (theme) {
|
|
37
|
+
const _theme = { ...themes[theme], ...overrides };
|
|
38
|
+
return Object.keys(_theme)
|
|
39
|
+
.map(
|
|
40
|
+
(key) => `${key}:${_theme[key].startsWith("--") ? `var(${_theme[key]})` : _theme[key]};`
|
|
41
|
+
)
|
|
42
|
+
.join("");
|
|
43
|
+
}
|
|
44
|
+
return "";
|
|
45
|
+
}
|
|
46
|
+
$: style = makeStyle(theme, overrides);
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<svelte:head>
|
|
50
|
+
{#if global && (style || background)}
|
|
51
|
+
{@html "<st" +
|
|
52
|
+
`yle>:root{${style}background:${background || "var(--ons-color-page-light)"};color:var(--ons-color-text);</st` +
|
|
53
|
+
"yle>"}
|
|
54
|
+
{/if}
|
|
55
|
+
</svelte:head>
|
|
56
|
+
|
|
57
|
+
{#if global || !(theme || background)}
|
|
58
|
+
<slot />
|
|
59
|
+
{:else}
|
|
60
|
+
<div class="ons-svelte-theme-wrapper {cls}" {style} style:background>
|
|
61
|
+
{#if allowClientOverrides}
|
|
62
|
+
<div class="client-css-override" style:display="contents">
|
|
63
|
+
<slot />
|
|
64
|
+
</div>
|
|
65
|
+
{:else}
|
|
66
|
+
<slot />
|
|
67
|
+
{/if}
|
|
68
|
+
</div>
|
|
69
|
+
{/if}
|
|
70
|
+
|
|
71
|
+
<style>
|
|
72
|
+
.ons-svelte-theme-wrapper {
|
|
73
|
+
background: var(--ons-color-page-light);
|
|
74
|
+
color: var(--ons-color-text);
|
|
75
|
+
}
|
|
76
|
+
</style>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
A component that sets the colour scheme of its child components using CSS variables.
|
|
2
|
-
|
|
3
|
-
<!-- prettier-ignore -->
|
|
4
|
-
```html
|
|
5
|
-
<script>
|
|
6
|
-
import { Theme } from "@onsvisual/svelte-components";
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<Theme theme="{light|dark|paleblue|blue|navyblue|grey}"> {child_components} </Theme>
|
|
10
|
-
```
|
|
1
|
+
A component that sets the colour scheme of its child components using CSS variables.
|
|
2
|
+
|
|
3
|
+
<!-- prettier-ignore -->
|
|
4
|
+
```html
|
|
5
|
+
<script>
|
|
6
|
+
import { Theme } from "@onsvisual/svelte-components";
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<Theme theme="{light|dark|paleblue|blue|navyblue|grey}"> {child_components} </Theme>
|
|
10
|
+
```
|
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
const light = {
|
|
2
|
-
// Text
|
|
3
|
-
"--ons-color-text": "--ons-color-black",
|
|
4
|
-
"--ons-color-text-light": "--ons-color-grey-75",
|
|
5
|
-
"--ons-color-text-link": "--ons-color-ocean-blue",
|
|
6
|
-
"--ons-color-text-link-hover": "--ons-color-night-blue",
|
|
7
|
-
"--ons-color-text-link-active": "--ons-color-night-blue",
|
|
8
|
-
"--ons-color-text-link-focus": "--ons-color-black",
|
|
9
|
-
"--ons-color-text-inverse": "--ons-color-white",
|
|
10
|
-
"--ons-color-text-inverse-link": "--ons-color-white",
|
|
11
|
-
"--ons-color-text-inverse-link-hover": "--ons-color-grey-5",
|
|
12
|
-
"--ons-color-text-banner-link": "--ons-color-grey-100",
|
|
13
|
-
"--ons-color-text-banner-link-hover": "--ons-color-black",
|
|
14
|
-
"--ons-color-text-metadata": "--ons-color-black",
|
|
15
|
-
|
|
16
|
-
// Background
|
|
17
|
-
"--ons-color-page-light": "--ons-color-white",
|
|
18
|
-
"--ons-color-input-bg": "--ons-color-white",
|
|
19
|
-
"--ons-color-hero-bg": "--ons-color-branded-tint",
|
|
20
|
-
"--ons-color-hero-bg-dark": "--ons-color-branded",
|
|
21
|
-
"--ons-color-banner-bg": "--ons-color-grey-5",
|
|
22
|
-
"--ons-color-banner-bg-dark": "--ons-color-grey-15",
|
|
23
|
-
"--ons-color-banner-browser-bg:": "--ons-color-black",
|
|
24
|
-
|
|
25
|
-
// Other
|
|
26
|
-
"--ons-color-focus": "--ons-color-sun-yellow",
|
|
27
|
-
"--ons-color-focus-dark": "--ons-color-sun-yellow-dark",
|
|
28
|
-
"--ons-color-highlight": "--ons-color-neon-yellow",
|
|
29
|
-
"--ons-color-borders": "--ons-color-grey-35",
|
|
30
|
-
"--ons-color-borders-indent": "--ons-color-grey-35",
|
|
31
|
-
"--ons-color-borders-light": "--ons-color-grey-35"
|
|
32
|
-
};
|
|
33
|
-
const dark = {
|
|
34
|
-
// Text
|
|
35
|
-
"--ons-color-text": "--ons-color-white",
|
|
36
|
-
"--ons-color-text-light": "--ons-color-grey-35",
|
|
37
|
-
"--ons-color-text-link": "--ons-color-white",
|
|
38
|
-
"--ons-color-text-link-hover": "--ons-color-grey-5",
|
|
39
|
-
"--ons-color-text-link-active": "--ons-color-grey-5",
|
|
40
|
-
"--ons-color-text-link-focus": "--ons-color-black",
|
|
41
|
-
"--ons-color-text-inverse": "--ons-color-white",
|
|
42
|
-
"--ons-color-text-inverse-link": "--ons-color-white",
|
|
43
|
-
"--ons-color-text-inverse-link-hover": "--ons-color-grey-5",
|
|
44
|
-
"--ons-color-text-banner-link": "--ons-color-grey-5",
|
|
45
|
-
"--ons-color-text-banner-link-hover": "--ons-color-white",
|
|
46
|
-
"--ons-color-text-metadata": "--ons-color-white",
|
|
47
|
-
|
|
48
|
-
// Background
|
|
49
|
-
"--ons-color-page-light": "--ons-color-black",
|
|
50
|
-
"--ons-color-input-bg": "--ons-color-white",
|
|
51
|
-
"--ons-color-hero-bg": "--ons-color-branded-tint",
|
|
52
|
-
"--ons-color-hero-bg-dark": "--ons-color-branded",
|
|
53
|
-
"--ons-color-banner-bg": "--ons-color-grey-100",
|
|
54
|
-
"--ons-color-banner-bg-dark": "--ons-color-grey-75",
|
|
55
|
-
"--ons-color-banner-browser-bg:": "--ons-color-white",
|
|
56
|
-
|
|
57
|
-
// Other
|
|
58
|
-
"--ons-color-focus": "--ons-color-sun-yellow",
|
|
59
|
-
"--ons-color-focus-dark": "--ons-color-sun-yellow-dark",
|
|
60
|
-
"--ons-color-highlight": "--ons-color-neon-yellow",
|
|
61
|
-
"--ons-color-borders": "--ons-color-grey-75",
|
|
62
|
-
"--ons-color-borders-indent": "--ons-color-grey-75",
|
|
63
|
-
"--ons-color-borders-light": "--ons-color-grey-75"
|
|
64
|
-
};
|
|
65
|
-
const paleblue = { ...light, "--ons-color-page-light": "--ons-color-ocean-blue-tint" };
|
|
66
|
-
const blue = { ...dark, "--ons-color-page-light": "--ons-color-ocean-blue" };
|
|
67
|
-
const navyblue = { ...dark, "--ons-color-page-light": "--ons-color-night-blue" };
|
|
68
|
-
const grey = { ...light, "--ons-color-page-light": "--ons-color-grey-5" };
|
|
69
|
-
|
|
70
|
-
export default { light, dark, paleblue, blue, navyblue, grey };
|
|
1
|
+
const light = {
|
|
2
|
+
// Text
|
|
3
|
+
"--ons-color-text": "--ons-color-black",
|
|
4
|
+
"--ons-color-text-light": "--ons-color-grey-75",
|
|
5
|
+
"--ons-color-text-link": "--ons-color-ocean-blue",
|
|
6
|
+
"--ons-color-text-link-hover": "--ons-color-night-blue",
|
|
7
|
+
"--ons-color-text-link-active": "--ons-color-night-blue",
|
|
8
|
+
"--ons-color-text-link-focus": "--ons-color-black",
|
|
9
|
+
"--ons-color-text-inverse": "--ons-color-white",
|
|
10
|
+
"--ons-color-text-inverse-link": "--ons-color-white",
|
|
11
|
+
"--ons-color-text-inverse-link-hover": "--ons-color-grey-5",
|
|
12
|
+
"--ons-color-text-banner-link": "--ons-color-grey-100",
|
|
13
|
+
"--ons-color-text-banner-link-hover": "--ons-color-black",
|
|
14
|
+
"--ons-color-text-metadata": "--ons-color-black",
|
|
15
|
+
|
|
16
|
+
// Background
|
|
17
|
+
"--ons-color-page-light": "--ons-color-white",
|
|
18
|
+
"--ons-color-input-bg": "--ons-color-white",
|
|
19
|
+
"--ons-color-hero-bg": "--ons-color-branded-tint",
|
|
20
|
+
"--ons-color-hero-bg-dark": "--ons-color-branded",
|
|
21
|
+
"--ons-color-banner-bg": "--ons-color-grey-5",
|
|
22
|
+
"--ons-color-banner-bg-dark": "--ons-color-grey-15",
|
|
23
|
+
"--ons-color-banner-browser-bg:": "--ons-color-black",
|
|
24
|
+
|
|
25
|
+
// Other
|
|
26
|
+
"--ons-color-focus": "--ons-color-sun-yellow",
|
|
27
|
+
"--ons-color-focus-dark": "--ons-color-sun-yellow-dark",
|
|
28
|
+
"--ons-color-highlight": "--ons-color-neon-yellow",
|
|
29
|
+
"--ons-color-borders": "--ons-color-grey-35",
|
|
30
|
+
"--ons-color-borders-indent": "--ons-color-grey-35",
|
|
31
|
+
"--ons-color-borders-light": "--ons-color-grey-35"
|
|
32
|
+
};
|
|
33
|
+
const dark = {
|
|
34
|
+
// Text
|
|
35
|
+
"--ons-color-text": "--ons-color-white",
|
|
36
|
+
"--ons-color-text-light": "--ons-color-grey-35",
|
|
37
|
+
"--ons-color-text-link": "--ons-color-white",
|
|
38
|
+
"--ons-color-text-link-hover": "--ons-color-grey-5",
|
|
39
|
+
"--ons-color-text-link-active": "--ons-color-grey-5",
|
|
40
|
+
"--ons-color-text-link-focus": "--ons-color-black",
|
|
41
|
+
"--ons-color-text-inverse": "--ons-color-white",
|
|
42
|
+
"--ons-color-text-inverse-link": "--ons-color-white",
|
|
43
|
+
"--ons-color-text-inverse-link-hover": "--ons-color-grey-5",
|
|
44
|
+
"--ons-color-text-banner-link": "--ons-color-grey-5",
|
|
45
|
+
"--ons-color-text-banner-link-hover": "--ons-color-white",
|
|
46
|
+
"--ons-color-text-metadata": "--ons-color-white",
|
|
47
|
+
|
|
48
|
+
// Background
|
|
49
|
+
"--ons-color-page-light": "--ons-color-black",
|
|
50
|
+
"--ons-color-input-bg": "--ons-color-white",
|
|
51
|
+
"--ons-color-hero-bg": "--ons-color-branded-tint",
|
|
52
|
+
"--ons-color-hero-bg-dark": "--ons-color-branded",
|
|
53
|
+
"--ons-color-banner-bg": "--ons-color-grey-100",
|
|
54
|
+
"--ons-color-banner-bg-dark": "--ons-color-grey-75",
|
|
55
|
+
"--ons-color-banner-browser-bg:": "--ons-color-white",
|
|
56
|
+
|
|
57
|
+
// Other
|
|
58
|
+
"--ons-color-focus": "--ons-color-sun-yellow",
|
|
59
|
+
"--ons-color-focus-dark": "--ons-color-sun-yellow-dark",
|
|
60
|
+
"--ons-color-highlight": "--ons-color-neon-yellow",
|
|
61
|
+
"--ons-color-borders": "--ons-color-grey-75",
|
|
62
|
+
"--ons-color-borders-indent": "--ons-color-grey-75",
|
|
63
|
+
"--ons-color-borders-light": "--ons-color-grey-75"
|
|
64
|
+
};
|
|
65
|
+
const paleblue = { ...light, "--ons-color-page-light": "--ons-color-ocean-blue-tint" };
|
|
66
|
+
const blue = { ...dark, "--ons-color-page-light": "--ons-color-ocean-blue" };
|
|
67
|
+
const navyblue = { ...dark, "--ons-color-page-light": "--ons-color-night-blue" };
|
|
68
|
+
const grey = { ...light, "--ons-color-page-light": "--ons-color-grey-5" };
|
|
69
|
+
|
|
70
|
+
export default { light, dark, paleblue, blue, navyblue, grey };
|