@onsvisual/svelte-components 1.0.40 → 1.0.42

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 (223) hide show
  1. package/README.md +24 -24
  2. package/dist/css/main.css +513 -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 +93 -93
  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/Button.svelte.d.ts +2 -2
  46. package/dist/inputs/Button/docs/component.md +17 -17
  47. package/dist/inputs/ButtonGroup/ButtonGroup.stories.svelte +40 -40
  48. package/dist/inputs/ButtonGroup/ButtonGroup.svelte +57 -57
  49. package/dist/inputs/ButtonGroup/ButtonGroupItem.svelte +101 -101
  50. package/dist/inputs/ButtonGroup/docs/component.md +23 -23
  51. package/dist/inputs/Checkbox/Checkbox.stories.svelte +34 -34
  52. package/dist/inputs/Checkbox/Checkbox.svelte +180 -180
  53. package/dist/inputs/Checkbox/docs/component.md +14 -14
  54. package/dist/inputs/Checkboxes/Checkboxes.stories.svelte +34 -34
  55. package/dist/inputs/Checkboxes/Checkboxes.svelte +62 -62
  56. package/dist/inputs/Checkboxes/docs/component.md +20 -20
  57. package/dist/inputs/Checkboxes/docs/example.md +16 -16
  58. package/dist/inputs/Dropdown/Dropdown.stories.svelte +54 -54
  59. package/dist/inputs/Dropdown/Dropdown.svelte +66 -66
  60. package/dist/inputs/Dropdown/docs/component.md +22 -22
  61. package/dist/inputs/ErrorPanel/ErrorPanel.stories.svelte +25 -25
  62. package/dist/inputs/ErrorPanel/ErrorPanel.svelte +24 -24
  63. package/dist/inputs/ErrorPanel/docs/component.md +14 -14
  64. package/dist/inputs/ErrorSummary/ErrorSummary.stories.svelte +34 -34
  65. package/dist/inputs/ErrorSummary/ErrorSummary.svelte +47 -47
  66. package/dist/inputs/ErrorSummary/docs/component.md +17 -17
  67. package/dist/inputs/ErrorSummary/docs/example.md +12 -12
  68. package/dist/inputs/Input/Input.stories.svelte +73 -73
  69. package/dist/inputs/Input/Input.svelte +151 -151
  70. package/dist/inputs/Input/docs/component.md +16 -16
  71. package/dist/inputs/Radios/Radio.svelte +90 -90
  72. package/dist/inputs/Radios/Radios.stories.svelte +51 -51
  73. package/dist/inputs/Radios/Radios.svelte +62 -62
  74. package/dist/inputs/Radios/docs/component.md +24 -24
  75. package/dist/inputs/Radios/docs/example.md +21 -21
  76. package/dist/inputs/Select/Select.stories.svelte +63 -63
  77. package/dist/inputs/Select/Select.svelte +326 -326
  78. package/dist/inputs/Select/docs/component.md +27 -27
  79. package/dist/inputs/Textarea/Textarea.stories.svelte +40 -40
  80. package/dist/inputs/Textarea/Textarea.svelte +113 -113
  81. package/dist/inputs/Textarea/docs/component.md +16 -16
  82. package/dist/inputs/Toolbar/HelpModal.svelte +234 -234
  83. package/dist/inputs/Toolbar/ToolControl.svelte +23 -23
  84. package/dist/inputs/Toolbar/ToolControls.svelte +9 -9
  85. package/dist/inputs/Toolbar/Toolbar.stories.svelte +148 -148
  86. package/dist/inputs/Toolbar/Toolbar.svelte +70 -70
  87. package/dist/inputs/Toolbar/ToolbarButton.svelte +184 -184
  88. package/dist/inputs/Toolbar/ToolbarDivider.svelte +29 -29
  89. package/dist/inputs/Toolbar/ToolbarIcon.svelte +106 -106
  90. package/dist/inputs/Toolbar/ToolbarsContainer.svelte +69 -69
  91. package/dist/inputs/Toolbar/docs/component.md +101 -101
  92. package/dist/intro.mdx +66 -66
  93. package/dist/js/menuOptions.js +14 -14
  94. package/dist/js/utils.js +133 -133
  95. package/dist/js/withParams.js +43 -43
  96. package/dist/layout/Accordion/Accordion.stories.svelte +30 -30
  97. package/dist/layout/Accordion/Accordion.svelte +55 -55
  98. package/dist/layout/Accordion/AccordionItem.svelte +51 -51
  99. package/dist/layout/Accordion/accordion.js +64 -64
  100. package/dist/layout/Accordion/details.js +83 -83
  101. package/dist/layout/Accordion/docs/component.md +19 -19
  102. package/dist/layout/AnalyticsBanner/AnalyticsBanner.stories.svelte +16 -16
  103. package/dist/layout/AnalyticsBanner/AnalyticsBanner.svelte +314 -314
  104. package/dist/layout/AnalyticsBanner/docs/component.md +44 -44
  105. package/dist/layout/BackLink/BackLink.stories.svelte +16 -16
  106. package/dist/layout/BackLink/BackLink.svelte +30 -30
  107. package/dist/layout/BackLink/docs/component.md +12 -12
  108. package/dist/layout/Breadcrumb/Breadcrumb.stories.svelte +31 -31
  109. package/dist/layout/Breadcrumb/Breadcrumb.svelte +69 -69
  110. package/dist/layout/Breadcrumb/docs/component.md +15 -15
  111. package/dist/layout/Card/Card.stories.svelte +39 -39
  112. package/dist/layout/Card/Card.svelte +127 -127
  113. package/dist/layout/Card/docs/component.md +14 -14
  114. package/dist/layout/Card/docs/eg-images.md +27 -27
  115. package/dist/layout/Card/docs/eg-links.md +12 -12
  116. package/dist/layout/Card/docs/eg-spans.md +12 -12
  117. package/dist/layout/Contents/Contents.stories.svelte +27 -27
  118. package/dist/layout/Contents/Contents.svelte +51 -51
  119. package/dist/layout/Contents/docs/component.md +18 -18
  120. package/dist/layout/DescriptionList/DescriptionList.stories.svelte +22 -22
  121. package/dist/layout/DescriptionList/DescriptionList.svelte +59 -59
  122. package/dist/layout/DescriptionList/docs/component.md +18 -18
  123. package/dist/layout/Details/Details.stories.svelte +32 -32
  124. package/dist/layout/Details/Details.svelte +75 -75
  125. package/dist/layout/Details/docs/component.md +14 -14
  126. package/dist/layout/DocumentList/Document.svelte +103 -103
  127. package/dist/layout/DocumentList/DocumentList.stories.svelte +88 -88
  128. package/dist/layout/DocumentList/DocumentList.svelte +33 -33
  129. package/dist/layout/DocumentList/docs/component.md +28 -28
  130. package/dist/layout/DocumentList/docs/example.md +23 -23
  131. package/dist/layout/ErrorPage/ErrorPage.stories.svelte +18 -18
  132. package/dist/layout/ErrorPage/ErrorPage.svelte +48 -48
  133. package/dist/layout/ErrorPage/docs/component.md +13 -13
  134. package/dist/layout/Footer/Footer.stories.svelte +24 -24
  135. package/dist/layout/Footer/Footer.svelte +366 -366
  136. package/dist/layout/Footer/docs/component.md +10 -10
  137. package/dist/layout/Grid/Grid.stories.svelte +50 -50
  138. package/dist/layout/Grid/Grid.svelte +117 -117
  139. package/dist/layout/Grid/GridCell.svelte +65 -65
  140. package/dist/layout/Grid/docs/component.md +14 -14
  141. package/dist/layout/Header/Header.stories.svelte +26 -26
  142. package/dist/layout/Header/Header.svelte +875 -875
  143. package/dist/layout/Header/docs/component.md +11 -11
  144. package/dist/layout/Hero/Hero.stories.svelte +79 -79
  145. package/dist/layout/Hero/Hero.svelte +364 -364
  146. package/dist/layout/Hero/docs/component.md +14 -14
  147. package/dist/layout/Highlight/Highlight.stories.svelte +29 -29
  148. package/dist/layout/Highlight/Highlight.svelte +77 -77
  149. package/dist/layout/Highlight/docs/component.md +12 -12
  150. package/dist/layout/Image/Image.stories.svelte +23 -23
  151. package/dist/layout/Image/Image.svelte +29 -29
  152. package/dist/layout/Image/docs/component.md +15 -15
  153. package/dist/layout/List/Li.svelte +3 -3
  154. package/dist/layout/List/List.stories.svelte +40 -40
  155. package/dist/layout/List/List.svelte +46 -46
  156. package/dist/layout/List/docs/component.md +14 -14
  157. package/dist/layout/List/docs/example.md +12 -12
  158. package/dist/layout/NavSections/NavSection.svelte +90 -90
  159. package/dist/layout/NavSections/NavSections.stories.svelte +51 -51
  160. package/dist/layout/NavSections/NavSections.svelte +160 -160
  161. package/dist/layout/NavSections/docs/component.md +25 -25
  162. package/dist/layout/Notice/Notice.stories.svelte +61 -61
  163. package/dist/layout/Notice/Notice.svelte +56 -56
  164. package/dist/layout/Notice/docs/component.md +14 -14
  165. package/dist/layout/PhaseBanner/PhaseBanner.stories.svelte +24 -24
  166. package/dist/layout/PhaseBanner/PhaseBanner.svelte +66 -66
  167. package/dist/layout/PhaseBanner/docs/component.md +14 -14
  168. package/dist/layout/RelatedContent/RelatedContent.stories.svelte +36 -36
  169. package/dist/layout/RelatedContent/RelatedContent.svelte +54 -54
  170. package/dist/layout/RelatedContent/docs/component.md +16 -16
  171. package/dist/layout/Scroller/Scroller.stories.svelte +60 -60
  172. package/dist/layout/Scroller/Scroller.svelte +368 -368
  173. package/dist/layout/Scroller/ScrollerSection.svelte +70 -70
  174. package/dist/layout/Scroller/docs/component.md +39 -39
  175. package/dist/layout/Section/Section.stories.svelte +33 -33
  176. package/dist/layout/Section/Section.svelte +60 -60
  177. package/dist/layout/Section/docs/component.md +12 -12
  178. package/dist/layout/ShareButtons/ShareButtons.stories.svelte +20 -20
  179. package/dist/layout/ShareButtons/ShareButtons.svelte +131 -131
  180. package/dist/layout/ShareButtons/docs/component.md +14 -14
  181. package/dist/layout/SkipLink/SkipLink.stories.svelte +16 -16
  182. package/dist/layout/SkipLink/SkipLink.svelte +9 -9
  183. package/dist/layout/SkipLink/docs/component.md +11 -11
  184. package/dist/layout/Summary/Summary.stories.svelte +21 -21
  185. package/dist/layout/Summary/Summary.svelte +60 -60
  186. package/dist/layout/Summary/docs/component.md +17 -17
  187. package/dist/layout/Tabs/Tab.svelte +53 -53
  188. package/dist/layout/Tabs/Tabs.stories.svelte +29 -29
  189. package/dist/layout/Tabs/Tabs.svelte +89 -89
  190. package/dist/layout/Tabs/docs/component.md +16 -16
  191. package/dist/layout/Tabs/tabs.js +302 -302
  192. package/dist/layout/Timeline/Timeline.stories.svelte +44 -44
  193. package/dist/layout/Timeline/Timeline.svelte +17 -17
  194. package/dist/layout/Timeline/TimelineItem.svelte +14 -14
  195. package/dist/layout/Timeline/docs/component.md +27 -27
  196. package/dist/layout/Timeline/docs/example.md +20 -20
  197. package/dist/templates/EmbedArticle/EmbedArticle.stories.svelte +72 -72
  198. package/dist/templates/EmbedArticle/docs/component.md +56 -56
  199. package/dist/templates/FeatureArticle/FeatureArticle.stories.svelte +150 -150
  200. package/dist/templates/FeatureArticle/docs/component.md +125 -125
  201. package/dist/templates/StandardArticle/StandardArticle.stories.svelte +86 -86
  202. package/dist/templates/StandardArticle/docs/component.md +76 -76
  203. package/dist/templates/intro.mdx +18 -18
  204. package/dist/wrappers/Container/Container.stories.svelte +38 -38
  205. package/dist/wrappers/Container/Container.svelte +77 -77
  206. package/dist/wrappers/Container/docs/component.md +12 -12
  207. package/dist/wrappers/Embed/Embed.stories.svelte +24 -24
  208. package/dist/wrappers/Embed/Embed.svelte +44 -44
  209. package/dist/wrappers/Embed/docs/component.md +15 -15
  210. package/dist/wrappers/LazyLoad/LazyLoad.stories.svelte +37 -37
  211. package/dist/wrappers/LazyLoad/LazyLoad.svelte +50 -50
  212. package/dist/wrappers/LazyLoad/docs/component.md +29 -29
  213. package/dist/wrappers/Main/Main.stories.svelte +24 -24
  214. package/dist/wrappers/Main/Main.svelte +11 -11
  215. package/dist/wrappers/Main/docs/component.md +16 -16
  216. package/dist/wrappers/Observe/Observe.stories.svelte +29 -29
  217. package/dist/wrappers/Observe/Observe.svelte +35 -35
  218. package/dist/wrappers/Observe/docs/component.md +22 -22
  219. package/dist/wrappers/Theme/Theme.stories.svelte +70 -70
  220. package/dist/wrappers/Theme/Theme.svelte +76 -76
  221. package/dist/wrappers/Theme/docs/component.md +10 -10
  222. package/dist/wrappers/Theme/themes.js +70 -70
  223. package/package.json +88 -88
@@ -1,151 +1,151 @@
1
- <script>
2
- import { createEventDispatcher } from "svelte";
3
-
4
- const dispatch = createEventDispatcher();
5
-
6
- /**
7
- * ID for &lt;input&gt; element
8
- * @type {string|null}
9
- */
10
- export let id = null;
11
- /**
12
- * Name attribute for &lt;input&gt; element
13
- * @type {string|null}
14
- */
15
- export let name = id;
16
- /**
17
- * A prop to bind to for the entered value
18
- * @type {string|null}
19
- */
20
- export let value = null;
21
- /**
22
- * A label to describe the &lt;input&gt; element (expected for accessibility)
23
- * @type {string|null}
24
- */
25
- export let label = null;
26
- /**
27
- * Visually hide the label
28
- * @type {boolean}
29
- */
30
- export let hideLabel = false;
31
- /**
32
- * An optional description to help users know what to enter
33
- * @type {string|null}
34
- */
35
- export let description = null;
36
- /**
37
- * The maximum number of characters that can be entered (optional)
38
- * @type {number}
39
- */
40
- export let charLimit = null;
41
- /**
42
- * The width of the &lt;input&gt; in characters
43
- * @type {number}
44
- */
45
- export let width = null;
46
- /**
47
- * An optional prefix (eg. £) to appear on the left of the input
48
- * @type {string|null}
49
- */
50
- export let prefix = null;
51
- /**
52
- * An optional suffix (eg. %) to appear on the right of the input
53
- * @type {string|null}
54
- */
55
- export let suffix = null;
56
- /**
57
- * An optional hidden description of the prefix (for accessibility)
58
- * @type {string}
59
- */
60
- export let unitLabel = prefix || suffix || "";
61
- /**
62
- * An optional regex pattern foto limit the input (not currently used)
63
- * @type {string|null}
64
- */
65
- export let pattern = null;
66
- /**
67
- * Set to `true` if the value should be a number
68
- * @type {boolean}
69
- */
70
- export let numeric = false;
71
- /**
72
- * Set to `true` to give the input a disabled state
73
- * @type {boolean}
74
- */
75
- export let disabled = false;
76
- /**
77
- * Set to `true` to highlight border in red
78
- * @type {boolean}
79
- */
80
- export let error = false;
81
- /**
82
- * Optional: Set an additional CSS class for the component
83
- * @type {string|null}
84
- */
85
- export let cls = null;
86
- </script>
87
-
88
- <div class="ons-field {cls}">
89
- {#if label}
90
- <label
91
- class="ons-label"
92
- class:ons-label--with-description={description}
93
- class:ons-u-vh={hideLabel}
94
- aria-describedby={description ? `${id}-description-hint` : null}
95
- for={id}
96
- >
97
- {label}
98
- </label>
99
- {/if}
100
- {#if description}
101
- <span id="{id}-description-hint" class="ons-label__description ons-input--with-description">
102
- {description}
103
- </span>
104
- {/if}
105
- {#if prefix || suffix}
106
- <span class="ons-input-type" class:ons-input-type--prefix={prefix}>
107
- <span class="ons-input-type__inner">
108
- <input
109
- type="text"
110
- {id}
111
- {name}
112
- bind:value
113
- maxlength={charLimit}
114
- pattern={pattern ? pattern : numeric ? "[0-9]*" : null}
115
- inputmode={numeric ? "numeric" : null}
116
- class="ons-input ons-input--text ons-input-type__input {Number.isInteger(width)
117
- ? `ons-input--w-${width}`
118
- : ''}"
119
- class:ons-input--error={error}
120
- aria-labelledby="{id} {id}-unit"
121
- aria-describedby={description ? `${id}-description-hint` : null}
122
- {disabled}
123
- on:change={(e) => dispatch("change", e)}
124
- />
125
- <abbr
126
- id="{id}-unit"
127
- class="ons-input-type__type ons-js-input-abbr"
128
- aria-label={unitLabel}
129
- role="figure"
130
- title={unitLabel}>{prefix || suffix}</abbr
131
- >
132
- </span>
133
- </span>
134
- {:else}
135
- <input
136
- type="text"
137
- {id}
138
- {name}
139
- bind:value
140
- pattern={pattern ? pattern : numeric ? "[0-9]*" : null}
141
- inputmode={numeric ? "numeric" : null}
142
- class="ons-input ons-input--text ons-input-type__input {Number.isInteger(width)
143
- ? `ons-input--w-${width}`
144
- : ''}"
145
- class:ons-input--error={error}
146
- aria-describedby={description ? `${id}-description-hint` : null}
147
- {disabled}
148
- on:change={(e) => dispatch("change", e)}
149
- />
150
- {/if}
151
- </div>
1
+ <script>
2
+ import { createEventDispatcher } from "svelte";
3
+
4
+ const dispatch = createEventDispatcher();
5
+
6
+ /**
7
+ * ID for &lt;input&gt; element
8
+ * @type {string|null}
9
+ */
10
+ export let id = null;
11
+ /**
12
+ * Name attribute for &lt;input&gt; element
13
+ * @type {string|null}
14
+ */
15
+ export let name = id;
16
+ /**
17
+ * A prop to bind to for the entered value
18
+ * @type {string|null}
19
+ */
20
+ export let value = null;
21
+ /**
22
+ * A label to describe the &lt;input&gt; element (expected for accessibility)
23
+ * @type {string|null}
24
+ */
25
+ export let label = null;
26
+ /**
27
+ * Visually hide the label
28
+ * @type {boolean}
29
+ */
30
+ export let hideLabel = false;
31
+ /**
32
+ * An optional description to help users know what to enter
33
+ * @type {string|null}
34
+ */
35
+ export let description = null;
36
+ /**
37
+ * The maximum number of characters that can be entered (optional)
38
+ * @type {number}
39
+ */
40
+ export let charLimit = null;
41
+ /**
42
+ * The width of the &lt;input&gt; in characters
43
+ * @type {number}
44
+ */
45
+ export let width = null;
46
+ /**
47
+ * An optional prefix (eg. £) to appear on the left of the input
48
+ * @type {string|null}
49
+ */
50
+ export let prefix = null;
51
+ /**
52
+ * An optional suffix (eg. %) to appear on the right of the input
53
+ * @type {string|null}
54
+ */
55
+ export let suffix = null;
56
+ /**
57
+ * An optional hidden description of the prefix (for accessibility)
58
+ * @type {string}
59
+ */
60
+ export let unitLabel = prefix || suffix || "";
61
+ /**
62
+ * An optional regex pattern foto limit the input (not currently used)
63
+ * @type {string|null}
64
+ */
65
+ export let pattern = null;
66
+ /**
67
+ * Set to `true` if the value should be a number
68
+ * @type {boolean}
69
+ */
70
+ export let numeric = false;
71
+ /**
72
+ * Set to `true` to give the input a disabled state
73
+ * @type {boolean}
74
+ */
75
+ export let disabled = false;
76
+ /**
77
+ * Set to `true` to highlight border in red
78
+ * @type {boolean}
79
+ */
80
+ export let error = false;
81
+ /**
82
+ * Optional: Set an additional CSS class for the component
83
+ * @type {string|null}
84
+ */
85
+ export let cls = null;
86
+ </script>
87
+
88
+ <div class="ons-field {cls}">
89
+ {#if label}
90
+ <label
91
+ class="ons-label"
92
+ class:ons-label--with-description={description}
93
+ class:ons-u-vh={hideLabel}
94
+ aria-describedby={description ? `${id}-description-hint` : null}
95
+ for={id}
96
+ >
97
+ {label}
98
+ </label>
99
+ {/if}
100
+ {#if description}
101
+ <span id="{id}-description-hint" class="ons-label__description ons-input--with-description">
102
+ {description}
103
+ </span>
104
+ {/if}
105
+ {#if prefix || suffix}
106
+ <span class="ons-input-type" class:ons-input-type--prefix={prefix}>
107
+ <span class="ons-input-type__inner">
108
+ <input
109
+ type="text"
110
+ {id}
111
+ {name}
112
+ bind:value
113
+ maxlength={charLimit}
114
+ pattern={pattern ? pattern : numeric ? "[0-9]*" : null}
115
+ inputmode={numeric ? "numeric" : null}
116
+ class="ons-input ons-input--text ons-input-type__input {Number.isInteger(width)
117
+ ? `ons-input--w-${width}`
118
+ : ''}"
119
+ class:ons-input--error={error}
120
+ aria-labelledby="{id} {id}-unit"
121
+ aria-describedby={description ? `${id}-description-hint` : null}
122
+ {disabled}
123
+ on:change={(e) => dispatch("change", e)}
124
+ />
125
+ <abbr
126
+ id="{id}-unit"
127
+ class="ons-input-type__type ons-js-input-abbr"
128
+ aria-label={unitLabel}
129
+ role="figure"
130
+ title={unitLabel}>{prefix || suffix}</abbr
131
+ >
132
+ </span>
133
+ </span>
134
+ {:else}
135
+ <input
136
+ type="text"
137
+ {id}
138
+ {name}
139
+ bind:value
140
+ pattern={pattern ? pattern : numeric ? "[0-9]*" : null}
141
+ inputmode={numeric ? "numeric" : null}
142
+ class="ons-input ons-input--text ons-input-type__input {Number.isInteger(width)
143
+ ? `ons-input--w-${width}`
144
+ : ''}"
145
+ class:ons-input--error={error}
146
+ aria-describedby={description ? `${id}-description-hint` : null}
147
+ {disabled}
148
+ on:change={(e) => dispatch("change", e)}
149
+ />
150
+ {/if}
151
+ </div>
@@ -1,16 +1,16 @@
1
- A standard `<input>` element with Svelte bindings and events.
2
-
3
- <!-- prettier-ignore -->
4
- ```html
5
- <script>
6
- import { Input } from "@onsvisual/svelte-components";
7
-
8
- // Bind the <input> value to a variable (reactive)
9
- let value;
10
-
11
- // Define your own function on change
12
- const handleChange = (e) => console.log(e);
13
- </script>
14
-
15
- <Input bind:value on:change="{handleChange}" />
16
- ```
1
+ A standard `<input>` element with Svelte bindings and events.
2
+
3
+ <!-- prettier-ignore -->
4
+ ```html
5
+ <script>
6
+ import { Input } from "@onsvisual/svelte-components";
7
+
8
+ // Bind the <input> value to a variable (reactive)
9
+ let value;
10
+
11
+ // Define your own function on change
12
+ const handleChange = (e) => console.log(e);
13
+ </script>
14
+
15
+ <Input bind:value on:change="{handleChange}" />
16
+ ```
@@ -1,90 +1,90 @@
1
- <script>
2
- import { onMount, createEventDispatcher } from "svelte";
3
-
4
- const dispatch = createEventDispatcher();
5
-
6
- /**
7
- * Unique ID input
8
- * @type {string|null}
9
- */
10
- export let id = null;
11
- /**
12
- * Label for input
13
- * @type {string|null}
14
- */
15
- export let label = null;
16
- /**
17
- * Optional: Extended description for element
18
- * @type {string|null}
19
- */
20
- export let description = null;
21
- /**
22
- * Optional: Define the item as an object in the form {id, label, description?}
23
- * @type {object}
24
- */
25
- export let item = { id, label, description };
26
- /**
27
- * ID/name for radio group (required)
28
- * @type {string}
29
- */
30
- export let groupId;
31
- /**
32
- * Binding selected option
33
- * @type {object|null}
34
- */
35
- export let value = null;
36
- /**
37
- * Compact mode (no border)
38
- * @type {boolean}
39
- */
40
- export let compact = false;
41
-
42
- let el;
43
-
44
- onMount(() => {
45
- if (value?.id === item.id) el.checked = true;
46
- });
47
- </script>
48
-
49
- <span class="ons-radios__item" class:ons-radios__item--no-border={compact}>
50
- <span class="ons-radio" class:ons-radio--no-border={compact}>
51
- <input
52
- type="radio"
53
- id={item.id}
54
- value={item}
55
- name={groupId}
56
- class="ons-radio__input ons-js-radio"
57
- on:change={(e) => {
58
- if (e?.target?.checked) {
59
- value = item;
60
- dispatch("change", { value, e });
61
- }
62
- }}
63
- bind:this={el}
64
- />
65
- <label
66
- class="ons-radio__label"
67
- class:ons-label--with-description={description}
68
- for={item.id}
69
- id="{item.id}-label"
70
- aria-describedby={item.description ? `${item.id}-label-description-hint` : null}
71
- >
72
- {item.label}
73
- {#if item.description}
74
- <span class="ons-label__aria-hidden-description" aria-hidden="true"
75
- ><span class="ons-label__description ons-radio__label--with-description">
76
- {item.description}
77
- </span></span
78
- >
79
- {/if}
80
- </label>
81
- {#if item.description}
82
- <span
83
- class="ons-label__visually-hidden-description ons-u-vh"
84
- id="{id}-label-description-hint"
85
- >
86
- {item.description}
87
- </span>
88
- {/if}
89
- </span>
90
- </span>
1
+ <script>
2
+ import { onMount, createEventDispatcher } from "svelte";
3
+
4
+ const dispatch = createEventDispatcher();
5
+
6
+ /**
7
+ * Unique ID input
8
+ * @type {string|null}
9
+ */
10
+ export let id = null;
11
+ /**
12
+ * Label for input
13
+ * @type {string|null}
14
+ */
15
+ export let label = null;
16
+ /**
17
+ * Optional: Extended description for element
18
+ * @type {string|null}
19
+ */
20
+ export let description = null;
21
+ /**
22
+ * Optional: Define the item as an object in the form {id, label, description?}
23
+ * @type {object}
24
+ */
25
+ export let item = { id, label, description };
26
+ /**
27
+ * ID/name for radio group (required)
28
+ * @type {string}
29
+ */
30
+ export let groupId;
31
+ /**
32
+ * Binding selected option
33
+ * @type {object|null}
34
+ */
35
+ export let value = null;
36
+ /**
37
+ * Compact mode (no border)
38
+ * @type {boolean}
39
+ */
40
+ export let compact = false;
41
+
42
+ let el;
43
+
44
+ onMount(() => {
45
+ if (value?.id === item.id) el.checked = true;
46
+ });
47
+ </script>
48
+
49
+ <span class="ons-radios__item" class:ons-radios__item--no-border={compact}>
50
+ <span class="ons-radio" class:ons-radio--no-border={compact}>
51
+ <input
52
+ type="radio"
53
+ id={item.id}
54
+ value={item}
55
+ name={groupId}
56
+ class="ons-radio__input ons-js-radio"
57
+ on:change={(e) => {
58
+ if (e?.target?.checked) {
59
+ value = item;
60
+ dispatch("change", { value, e });
61
+ }
62
+ }}
63
+ bind:this={el}
64
+ />
65
+ <label
66
+ class="ons-radio__label"
67
+ class:ons-label--with-description={description}
68
+ for={item.id}
69
+ id="{item.id}-label"
70
+ aria-describedby={item.description ? `${item.id}-label-description-hint` : null}
71
+ >
72
+ {item.label}
73
+ {#if item.description}
74
+ <span class="ons-label__aria-hidden-description" aria-hidden="true"
75
+ ><span class="ons-label__description ons-radio__label--with-description">
76
+ {item.description}
77
+ </span></span
78
+ >
79
+ {/if}
80
+ </label>
81
+ {#if item.description}
82
+ <span
83
+ class="ons-label__visually-hidden-description ons-u-vh"
84
+ id="{id}-label-description-hint"
85
+ >
86
+ {item.description}
87
+ </span>
88
+ {/if}
89
+ </span>
90
+ </span>
@@ -1,51 +1,51 @@
1
- <script module>
2
- import { defineMeta } from "@storybook/addon-svelte-csf";
3
- import { withComponentDocs, withStoryDocs } from "../../js/withParams.js";
4
- import Radio from "./Radio.svelte";
5
- import Radios from "./Radios.svelte";
6
- import componentDocs from "./docs/component.md?raw";
7
- import exampleDocs from "./docs/example.md?raw";
8
-
9
- const { Story } = defineMeta({
10
- title: "Inputs/Radios",
11
- component: Radios,
12
- tags: ["autodocs"],
13
- argTypes: {},
14
- parameters: withComponentDocs(componentDocs)
15
- });
16
-
17
- let items = [
18
- {
19
- id: "house",
20
- label: "House or bungalow",
21
- description: "Includes terraced, semi-detached and detached homes."
22
- },
23
- { id: "flat", label: "Flat, maisonette or apartment" },
24
- { id: "mobile", label: "Caravan or other mobile or temporary structure" }
25
- ];
26
- </script>
27
-
28
- {#snippet template(args)}
29
- <div style:padding="12px">
30
- <Radios {...args} />
31
- </div>
32
- {/snippet}
33
-
34
- <Story name="Default" args={{ label: "Select one", id: "radios", items }} {template} />
35
-
36
- <Story name="Compact without label" args={{ id: "radios", items, compact: true }} {template} />
37
-
38
- <Story name="Individually defined radios" asChild parameters={withStoryDocs(exampleDocs)}>
39
- <div style:padding="12px">
40
- <Radios label="Select one">
41
- <Radio
42
- groupId="radios"
43
- id="house"
44
- label="House or bungalow"
45
- description="Includes terraced, semi-detached and detached homes."
46
- />
47
- <Radio groupId="radios" id="flat" label="Flat, maisonette or apartment" />
48
- <Radio groupId="radios" id="mobile" label="Caravan or other mobile or temporary structure" />
49
- </Radios>
50
- </div>
51
- </Story>
1
+ <script module>
2
+ import { defineMeta } from "@storybook/addon-svelte-csf";
3
+ import { withComponentDocs, withStoryDocs } from "../../js/withParams.js";
4
+ import Radio from "./Radio.svelte";
5
+ import Radios from "./Radios.svelte";
6
+ import componentDocs from "./docs/component.md?raw";
7
+ import exampleDocs from "./docs/example.md?raw";
8
+
9
+ const { Story } = defineMeta({
10
+ title: "Inputs/Radios",
11
+ component: Radios,
12
+ tags: ["autodocs"],
13
+ argTypes: {},
14
+ parameters: withComponentDocs(componentDocs)
15
+ });
16
+
17
+ let items = [
18
+ {
19
+ id: "house",
20
+ label: "House or bungalow",
21
+ description: "Includes terraced, semi-detached and detached homes."
22
+ },
23
+ { id: "flat", label: "Flat, maisonette or apartment" },
24
+ { id: "mobile", label: "Caravan or other mobile or temporary structure" }
25
+ ];
26
+ </script>
27
+
28
+ {#snippet template(args)}
29
+ <div style:padding="12px">
30
+ <Radios {...args} />
31
+ </div>
32
+ {/snippet}
33
+
34
+ <Story name="Default" args={{ label: "Select one", id: "radios", items }} {template} />
35
+
36
+ <Story name="Compact without label" args={{ id: "radios", items, compact: true }} {template} />
37
+
38
+ <Story name="Individually defined radios" asChild parameters={withStoryDocs(exampleDocs)}>
39
+ <div style:padding="12px">
40
+ <Radios label="Select one">
41
+ <Radio
42
+ groupId="radios"
43
+ id="house"
44
+ label="House or bungalow"
45
+ description="Includes terraced, semi-detached and detached homes."
46
+ />
47
+ <Radio groupId="radios" id="flat" label="Flat, maisonette or apartment" />
48
+ <Radio groupId="radios" id="mobile" label="Caravan or other mobile or temporary structure" />
49
+ </Radios>
50
+ </div>
51
+ </Story>