@onsvisual/svelte-components 1.0.47 → 1.0.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/README.md +24 -24
  2. package/dist/css/main.css +2 -513
  3. package/dist/datavis/BarChart/BarChart.stories.svelte +84 -84
  4. package/dist/datavis/BarChart/docs/component.md +19 -19
  5. package/dist/datavis/Chart/Chart.stories.svelte +128 -128
  6. package/dist/datavis/Chart/docs/component.md +31 -31
  7. package/dist/datavis/Chart/docs/example.md +28 -28
  8. package/dist/datavis/ColumnChart/ColumnChart.stories.svelte +84 -84
  9. package/dist/datavis/ColumnChart/docs/component.md +19 -19
  10. package/dist/datavis/DataCard/DataCard.stories.svelte +45 -45
  11. package/dist/datavis/DataCard/DataCard.svelte +70 -70
  12. package/dist/datavis/DataCard/Sparkline.svelte +117 -117
  13. package/dist/datavis/DataCard/docs/component.md +20 -20
  14. package/dist/datavis/DataCard/docs/example.md +25 -25
  15. package/dist/datavis/DotPlotChart/DotPlotChart.stories.svelte +40 -40
  16. package/dist/datavis/DotPlotChart/docs/component.md +19 -19
  17. package/dist/datavis/LineChart/LineChart.stories.svelte +64 -64
  18. package/dist/datavis/LineChart/docs/component.md +31 -31
  19. package/dist/datavis/ScatterChart/ScatterChart.stories.svelte +55 -55
  20. package/dist/datavis/ScatterChart/docs/component.md +53 -53
  21. package/dist/datavis/Table/Table.stories.svelte +48 -48
  22. package/dist/datavis/Table/Table.svelte +161 -161
  23. package/dist/datavis/Table/docs/component.md +20 -20
  24. package/dist/datavis/demo-data/data-scatter.js +40 -40
  25. package/dist/datavis/demo-data/data.js +18 -18
  26. package/dist/datavis/intro.mdx +21 -21
  27. package/dist/decorators/Blockquote/Blockquote.stories.svelte +25 -25
  28. package/dist/decorators/Blockquote/Blockquote.svelte +27 -27
  29. package/dist/decorators/Blockquote/docs/component.md +10 -10
  30. package/dist/decorators/Divider/Divider.stories.svelte +29 -29
  31. package/dist/decorators/Divider/Divider.svelte +52 -52
  32. package/dist/decorators/Divider/docs/component.md +12 -12
  33. package/dist/decorators/Em/Em.stories.svelte +30 -30
  34. package/dist/decorators/Em/Em.svelte +58 -58
  35. package/dist/decorators/Em/docs/component.md +12 -12
  36. package/dist/decorators/Icon/Icon.stories.svelte +27 -27
  37. package/dist/decorators/Icon/Icon.svelte +101 -101
  38. package/dist/decorators/Icon/docs/component.md +10 -10
  39. package/dist/decorators/Indent/Indent.stories.svelte +22 -22
  40. package/dist/decorators/Indent/Indent.svelte +3 -3
  41. package/dist/decorators/Indent/docs/component.md +10 -10
  42. package/dist/index.js +86 -86
  43. package/dist/inputs/Button/Button.stories.svelte +70 -70
  44. package/dist/inputs/Button/Button.svelte +152 -152
  45. package/dist/inputs/Button/docs/component.md +17 -17
  46. package/dist/inputs/ButtonGroup/ButtonGroup.stories.svelte +40 -40
  47. package/dist/inputs/ButtonGroup/ButtonGroup.svelte +57 -57
  48. package/dist/inputs/ButtonGroup/ButtonGroupItem.svelte +101 -101
  49. package/dist/inputs/ButtonGroup/docs/component.md +23 -23
  50. package/dist/inputs/Checkbox/Checkbox.stories.svelte +34 -34
  51. package/dist/inputs/Checkbox/Checkbox.svelte +180 -180
  52. package/dist/inputs/Checkbox/docs/component.md +14 -14
  53. package/dist/inputs/Checkboxes/Checkboxes.stories.svelte +34 -34
  54. package/dist/inputs/Checkboxes/Checkboxes.svelte +62 -62
  55. package/dist/inputs/Checkboxes/docs/component.md +20 -20
  56. package/dist/inputs/Checkboxes/docs/example.md +16 -16
  57. package/dist/inputs/Dropdown/Dropdown.stories.svelte +54 -54
  58. package/dist/inputs/Dropdown/Dropdown.svelte +66 -66
  59. package/dist/inputs/Dropdown/docs/component.md +22 -22
  60. package/dist/inputs/ErrorPanel/ErrorPanel.stories.svelte +25 -25
  61. package/dist/inputs/ErrorPanel/ErrorPanel.svelte +24 -24
  62. package/dist/inputs/ErrorPanel/docs/component.md +14 -14
  63. package/dist/inputs/ErrorSummary/ErrorSummary.stories.svelte +34 -34
  64. package/dist/inputs/ErrorSummary/ErrorSummary.svelte +47 -47
  65. package/dist/inputs/ErrorSummary/docs/component.md +17 -17
  66. package/dist/inputs/ErrorSummary/docs/example.md +12 -12
  67. package/dist/inputs/Input/Input.stories.svelte +73 -73
  68. package/dist/inputs/Input/Input.svelte +151 -151
  69. package/dist/inputs/Input/docs/component.md +16 -16
  70. package/dist/inputs/Radios/Radio.svelte +90 -90
  71. package/dist/inputs/Radios/Radios.stories.svelte +51 -51
  72. package/dist/inputs/Radios/Radios.svelte +62 -62
  73. package/dist/inputs/Radios/docs/component.md +24 -24
  74. package/dist/inputs/Radios/docs/example.md +21 -21
  75. package/dist/inputs/Select/Select.stories.svelte +63 -63
  76. package/dist/inputs/Select/Select.svelte +326 -326
  77. package/dist/inputs/Select/docs/component.md +27 -27
  78. package/dist/inputs/Textarea/Textarea.stories.svelte +40 -40
  79. package/dist/inputs/Textarea/Textarea.svelte +113 -113
  80. package/dist/inputs/Textarea/docs/component.md +16 -16
  81. package/dist/inputs/Toolbar/HelpModal.svelte +234 -234
  82. package/dist/inputs/Toolbar/ToolControl.svelte +23 -23
  83. package/dist/inputs/Toolbar/ToolControls.svelte +9 -9
  84. package/dist/inputs/Toolbar/Toolbar.stories.svelte +148 -148
  85. package/dist/inputs/Toolbar/Toolbar.svelte +70 -70
  86. package/dist/inputs/Toolbar/ToolbarButton.svelte +184 -184
  87. package/dist/inputs/Toolbar/ToolbarDivider.svelte +29 -29
  88. package/dist/inputs/Toolbar/ToolbarIcon.svelte +106 -106
  89. package/dist/inputs/Toolbar/ToolbarsContainer.svelte +69 -69
  90. package/dist/inputs/Toolbar/docs/component.md +101 -101
  91. package/dist/intro.mdx +66 -66
  92. package/dist/js/menuOptions.js +14 -14
  93. package/dist/js/utils.js +133 -133
  94. package/dist/js/withParams.js +43 -43
  95. package/dist/layout/Accordion/Accordion.stories.svelte +30 -30
  96. package/dist/layout/Accordion/Accordion.svelte +55 -55
  97. package/dist/layout/Accordion/AccordionItem.svelte +51 -51
  98. package/dist/layout/Accordion/accordion.js +64 -64
  99. package/dist/layout/Accordion/details.js +83 -83
  100. package/dist/layout/Accordion/docs/component.md +19 -19
  101. package/dist/layout/AnalyticsBanner/AnalyticsBanner.stories.svelte +16 -16
  102. package/dist/layout/AnalyticsBanner/AnalyticsBanner.svelte +314 -314
  103. package/dist/layout/AnalyticsBanner/docs/component.md +44 -44
  104. package/dist/layout/BackLink/BackLink.stories.svelte +16 -16
  105. package/dist/layout/BackLink/BackLink.svelte +30 -30
  106. package/dist/layout/BackLink/docs/component.md +12 -12
  107. package/dist/layout/Breadcrumb/Breadcrumb.stories.svelte +31 -31
  108. package/dist/layout/Breadcrumb/Breadcrumb.svelte +69 -69
  109. package/dist/layout/Breadcrumb/docs/component.md +15 -15
  110. package/dist/layout/Card/Card.stories.svelte +39 -39
  111. package/dist/layout/Card/Card.svelte +127 -127
  112. package/dist/layout/Card/docs/component.md +14 -14
  113. package/dist/layout/Card/docs/eg-images.md +27 -27
  114. package/dist/layout/Card/docs/eg-links.md +12 -12
  115. package/dist/layout/Card/docs/eg-spans.md +12 -12
  116. package/dist/layout/Contents/Contents.stories.svelte +27 -27
  117. package/dist/layout/Contents/Contents.svelte +51 -51
  118. package/dist/layout/Contents/docs/component.md +18 -18
  119. package/dist/layout/DescriptionList/DescriptionList.stories.svelte +22 -22
  120. package/dist/layout/DescriptionList/DescriptionList.svelte +59 -59
  121. package/dist/layout/DescriptionList/docs/component.md +18 -18
  122. package/dist/layout/Details/Details.stories.svelte +32 -32
  123. package/dist/layout/Details/Details.svelte +75 -75
  124. package/dist/layout/Details/docs/component.md +14 -14
  125. package/dist/layout/DocumentList/Document.svelte +103 -103
  126. package/dist/layout/DocumentList/DocumentList.stories.svelte +88 -88
  127. package/dist/layout/DocumentList/DocumentList.svelte +33 -33
  128. package/dist/layout/DocumentList/docs/component.md +28 -28
  129. package/dist/layout/DocumentList/docs/example.md +23 -23
  130. package/dist/layout/ErrorPage/ErrorPage.stories.svelte +18 -18
  131. package/dist/layout/ErrorPage/ErrorPage.svelte +48 -48
  132. package/dist/layout/ErrorPage/docs/component.md +13 -13
  133. package/dist/layout/Footer/Footer.stories.svelte +24 -24
  134. package/dist/layout/Footer/Footer.svelte +366 -366
  135. package/dist/layout/Footer/docs/component.md +10 -10
  136. package/dist/layout/Grid/Grid.stories.svelte +50 -50
  137. package/dist/layout/Grid/Grid.svelte +117 -117
  138. package/dist/layout/Grid/GridCell.svelte +65 -65
  139. package/dist/layout/Grid/docs/component.md +14 -14
  140. package/dist/layout/Header/Header.stories.svelte +26 -26
  141. package/dist/layout/Header/Header.svelte +875 -875
  142. package/dist/layout/Header/docs/component.md +11 -11
  143. package/dist/layout/Hero/Hero.stories.svelte +79 -79
  144. package/dist/layout/Hero/Hero.svelte +364 -364
  145. package/dist/layout/Hero/docs/component.md +14 -14
  146. package/dist/layout/Highlight/Highlight.stories.svelte +29 -29
  147. package/dist/layout/Highlight/Highlight.svelte +77 -77
  148. package/dist/layout/Highlight/docs/component.md +12 -12
  149. package/dist/layout/Image/Image.stories.svelte +23 -23
  150. package/dist/layout/Image/Image.svelte +29 -29
  151. package/dist/layout/Image/docs/component.md +15 -15
  152. package/dist/layout/List/Li.svelte +3 -3
  153. package/dist/layout/List/List.stories.svelte +40 -40
  154. package/dist/layout/List/List.svelte +46 -46
  155. package/dist/layout/List/docs/component.md +14 -14
  156. package/dist/layout/List/docs/example.md +12 -12
  157. package/dist/layout/NavSections/NavSection.svelte +90 -90
  158. package/dist/layout/NavSections/NavSections.stories.svelte +51 -51
  159. package/dist/layout/NavSections/NavSections.svelte +160 -160
  160. package/dist/layout/NavSections/docs/component.md +25 -25
  161. package/dist/layout/Notice/Notice.stories.svelte +61 -61
  162. package/dist/layout/Notice/Notice.svelte +56 -56
  163. package/dist/layout/Notice/docs/component.md +14 -14
  164. package/dist/layout/PhaseBanner/PhaseBanner.stories.svelte +24 -24
  165. package/dist/layout/PhaseBanner/PhaseBanner.svelte +66 -66
  166. package/dist/layout/PhaseBanner/docs/component.md +14 -14
  167. package/dist/layout/RelatedContent/RelatedContent.stories.svelte +36 -36
  168. package/dist/layout/RelatedContent/RelatedContent.svelte +54 -54
  169. package/dist/layout/RelatedContent/docs/component.md +16 -16
  170. package/dist/layout/Scroller/Scroller.stories.svelte +60 -60
  171. package/dist/layout/Scroller/Scroller.svelte +368 -368
  172. package/dist/layout/Scroller/ScrollerSection.svelte +70 -70
  173. package/dist/layout/Scroller/docs/component.md +39 -39
  174. package/dist/layout/Section/Section.stories.svelte +33 -33
  175. package/dist/layout/Section/Section.svelte +60 -60
  176. package/dist/layout/Section/docs/component.md +12 -12
  177. package/dist/layout/ShareButtons/ShareButtons.stories.svelte +20 -20
  178. package/dist/layout/ShareButtons/ShareButtons.svelte +131 -131
  179. package/dist/layout/ShareButtons/docs/component.md +14 -14
  180. package/dist/layout/SkipLink/SkipLink.stories.svelte +16 -16
  181. package/dist/layout/SkipLink/SkipLink.svelte +9 -9
  182. package/dist/layout/SkipLink/docs/component.md +11 -11
  183. package/dist/layout/Summary/Summary.stories.svelte +21 -21
  184. package/dist/layout/Summary/Summary.svelte +60 -60
  185. package/dist/layout/Summary/docs/component.md +17 -17
  186. package/dist/layout/Tabs/Tab.svelte +53 -53
  187. package/dist/layout/Tabs/Tabs.stories.svelte +29 -29
  188. package/dist/layout/Tabs/Tabs.svelte +89 -89
  189. package/dist/layout/Tabs/docs/component.md +16 -16
  190. package/dist/layout/Tabs/tabs.js +302 -302
  191. package/dist/layout/Timeline/Timeline.stories.svelte +44 -44
  192. package/dist/layout/Timeline/Timeline.svelte +17 -17
  193. package/dist/layout/Timeline/TimelineItem.svelte +14 -14
  194. package/dist/layout/Timeline/docs/component.md +27 -27
  195. package/dist/layout/Timeline/docs/example.md +20 -20
  196. package/dist/templates/EmbedArticle/EmbedArticle.stories.svelte +72 -72
  197. package/dist/templates/EmbedArticle/docs/component.md +56 -56
  198. package/dist/templates/FeatureArticle/FeatureArticle.stories.svelte +150 -150
  199. package/dist/templates/FeatureArticle/docs/component.md +125 -125
  200. package/dist/templates/StandardArticle/StandardArticle.stories.svelte +86 -86
  201. package/dist/templates/StandardArticle/docs/component.md +76 -76
  202. package/dist/templates/intro.mdx +18 -18
  203. package/dist/wrappers/Container/Container.stories.svelte +38 -38
  204. package/dist/wrappers/Container/Container.svelte +77 -77
  205. package/dist/wrappers/Container/docs/component.md +12 -12
  206. package/dist/wrappers/Embed/Embed.stories.svelte +24 -24
  207. package/dist/wrappers/Embed/Embed.svelte +44 -44
  208. package/dist/wrappers/Embed/docs/component.md +15 -15
  209. package/dist/wrappers/LazyLoad/LazyLoad.stories.svelte +37 -37
  210. package/dist/wrappers/LazyLoad/LazyLoad.svelte +50 -50
  211. package/dist/wrappers/LazyLoad/docs/component.md +29 -29
  212. package/dist/wrappers/Main/Main.stories.svelte +24 -24
  213. package/dist/wrappers/Main/Main.svelte +11 -11
  214. package/dist/wrappers/Main/docs/component.md +16 -16
  215. package/dist/wrappers/Observe/Observe.stories.svelte +29 -29
  216. package/dist/wrappers/Observe/Observe.svelte +45 -45
  217. package/dist/wrappers/Observe/docs/component.md +22 -22
  218. package/dist/wrappers/Theme/Theme.stories.svelte +70 -70
  219. package/dist/wrappers/Theme/Theme.svelte +76 -76
  220. package/dist/wrappers/Theme/docs/component.md +10 -10
  221. package/dist/wrappers/Theme/themes.js +70 -70
  222. 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" }} />