@ukic/web-components 2.35.0 → 2.35.1

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 (68) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  3. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-toast.cjs.entry.js +2 -2
  5. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  6. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +635 -0
  7. package/dist/collection/components/ic-alert/ic-alert.stories.js +257 -0
  8. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +162 -0
  9. package/dist/collection/components/ic-badge/ic-badge.stories.js +1082 -0
  10. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.stories.js +502 -0
  11. package/dist/collection/components/ic-button/ic-button.stories.js +2218 -0
  12. package/dist/collection/components/ic-card/ic-card.stories.js +1034 -0
  13. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +687 -0
  14. package/dist/collection/components/ic-chip/ic-chip.stories.js +670 -0
  15. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +131 -0
  16. package/dist/collection/components/ic-data-entity/ic-data-entity.stories.js +487 -0
  17. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +1256 -0
  18. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +397 -0
  19. package/dist/collection/components/ic-footer/ic-footer.stories.js +383 -0
  20. package/dist/collection/components/ic-hero/ic-hero.stories.js +489 -0
  21. package/dist/collection/components/ic-link/ic-link.stories.js +114 -0
  22. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +416 -0
  23. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +7 -35
  24. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +557 -0
  25. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +125 -0
  26. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +486 -0
  27. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +450 -0
  28. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +591 -0
  29. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +62 -0
  30. package/dist/collection/components/ic-select/ic-select-searchable.stories.js +953 -0
  31. package/dist/collection/components/ic-select/ic-select-single.stories.js +780 -0
  32. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +2526 -0
  33. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +141 -0
  34. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +161 -0
  35. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +327 -0
  36. package/dist/collection/components/ic-switch/ic-switch.stories.js +171 -0
  37. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +388 -0
  38. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +1083 -0
  39. package/dist/collection/components/ic-theme/ic-theme.stories.js +171 -0
  40. package/dist/collection/components/ic-toast/ic-toast.js +2 -2
  41. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  42. package/dist/collection/components/ic-toast/ic-toast.stories.js +413 -0
  43. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +3 -3
  44. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  45. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +537 -0
  46. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +610 -0
  47. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +356 -0
  48. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +1083 -0
  49. package/dist/collection/components/ic-typography/ic-typography.stories.js +437 -0
  50. package/dist/collection/patterns/top-nav-content-footer.stories.js +109 -0
  51. package/dist/collection/patterns/z-index.stories.js +474 -0
  52. package/dist/components/ic-navigation-item.js +1 -1
  53. package/dist/components/ic-navigation-item.js.map +1 -1
  54. package/dist/components/ic-toast.js +2 -2
  55. package/dist/components/ic-toast.js.map +1 -1
  56. package/dist/core/core.esm.js +1 -1
  57. package/dist/core/p-3e8023ff.entry.js +2 -0
  58. package/dist/core/p-3e8023ff.entry.js.map +1 -0
  59. package/dist/core/{p-7e8a4abd.entry.js → p-bfaa257c.entry.js} +2 -2
  60. package/dist/core/{p-7e8a4abd.entry.js.map → p-bfaa257c.entry.js.map} +1 -1
  61. package/dist/esm/ic-navigation-item.entry.js +1 -1
  62. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  63. package/dist/esm/ic-toast.entry.js +2 -2
  64. package/dist/esm/ic-toast.entry.js.map +1 -1
  65. package/hydrate/index.js +3 -3
  66. package/package.json +15 -11
  67. package/dist/core/p-dfb3e76e.entry.js +0 -2
  68. package/dist/core/p-dfb3e76e.entry.js.map +0 -1
@@ -0,0 +1,610 @@
1
+ import { html } from "lit-html";
2
+
3
+ const defaultArgs = {
4
+ accessibleLabel: "",
5
+ appearance: "default",
6
+ disabled: false,
7
+ fullWidth: false,
8
+ iconPlacement: "left",
9
+ loading: false,
10
+ selectMethod: "manual",
11
+ selectType: "single",
12
+ size: "default",
13
+ variant: "default",
14
+ toggleAccessibleLabel: "",
15
+ toggleAppearance: "default",
16
+ toggleDisabled: false,
17
+ toggleFullWidth: false,
18
+ toggleIconPlacement: "left",
19
+ label: "Toggle",
20
+ toggleLoading: false,
21
+ toggleSize: "default",
22
+ toggleChecked: false,
23
+ toggleVariant: "default",
24
+ };
25
+
26
+ export default {
27
+ title: "Web Components/Toggle Button Group",
28
+ component: "Toggle Button Group",
29
+ };
30
+
31
+ export const SelectType = {
32
+ render: (args) => html`
33
+ <span>Single and manual</span>
34
+ <ic-toggle-button-group
35
+ select-type="single"
36
+ accessible-label="Single and manual select toggle group"
37
+ >
38
+ <ic-toggle-button label="First toggle"></ic-toggle-button>
39
+ <ic-toggle-button label="Second toggle"></ic-toggle-button>
40
+ <ic-toggle-button label="Third toggle"></ic-toggle-button>
41
+ </ic-toggle-button-group>
42
+ <br />
43
+ <span>Single and auto</span>
44
+ <ic-toggle-button-group
45
+ select-method="auto"
46
+ accessible-label="Single and auto select toggle group"
47
+ >
48
+ <ic-toggle-button label="First toggle"></ic-toggle-button>
49
+ <ic-toggle-button label="Second toggle"></ic-toggle-button>
50
+ <ic-toggle-button label="Third toggle"></ic-toggle-button>
51
+ </ic-toggle-button-group>
52
+ <br />
53
+ <span>Multi and manual</span>
54
+ <ic-toggle-button-group
55
+ select-type="multi"
56
+ accessible-label="Multi and manual select toggle group"
57
+ >
58
+ <ic-toggle-button label="First toggle"></ic-toggle-button>
59
+ <ic-toggle-button label="Second toggle"></ic-toggle-button>
60
+ <ic-toggle-button label="Third toggle"></ic-toggle-button>
61
+ </ic-toggle-button-group>
62
+ `,
63
+
64
+ name: "Select type",
65
+ };
66
+
67
+ export const Sizes = {
68
+ render: (args) => html`
69
+ <span>Default</span>
70
+ <ic-toggle-button-group
71
+ label="Label for single and manual"
72
+ accessible-label="Single and manual select toggle group"
73
+ >
74
+ <ic-toggle-button label="First toggle"></ic-toggle-button>
75
+ <ic-toggle-button label="Second toggle"></ic-toggle-button>
76
+ <ic-toggle-button label="Third toggle"></ic-toggle-button>
77
+ </ic-toggle-button-group>
78
+ <br />
79
+ <span>Small</span>
80
+ <ic-toggle-button-group
81
+ size="small"
82
+ accessible-label="Single and manual select toggle group"
83
+ >
84
+ <ic-toggle-button label="First toggle" size="small"></ic-toggle-button>
85
+ <ic-toggle-button label="Second toggle" size="small"></ic-toggle-button>
86
+ <ic-toggle-button label="Third toggle" size="small"></ic-toggle-button>
87
+ </ic-toggle-button-group>
88
+ <br />
89
+ <span>Large</span>
90
+ <ic-toggle-button-group
91
+ size="large"
92
+ accessible-label="Single and manual select toggle group"
93
+ >
94
+ <ic-toggle-button label="First toggle" size="large"></ic-toggle-button>
95
+ <ic-toggle-button label="Second toggle" size="large"></ic-toggle-button>
96
+ <ic-toggle-button label="Third toggle" size="large"></ic-toggle-button>
97
+ </ic-toggle-button-group>
98
+ <br />
99
+ <span>Full width</span>
100
+ <ic-toggle-button-group
101
+ full-width="true"
102
+ accessible-label="Single and manual select toggle group"
103
+ >
104
+ <ic-toggle-button
105
+ label="First toggle"
106
+ full-width="true"
107
+ ></ic-toggle-button>
108
+ <ic-toggle-button
109
+ label="Second toggle"
110
+ full-width="true"
111
+ ></ic-toggle-button>
112
+ <ic-toggle-button
113
+ label="Third toggle"
114
+ full-width="true"
115
+ ></ic-toggle-button>
116
+ </ic-toggle-button-group>
117
+ <br />
118
+ <span>Custom width</span>
119
+ <ic-toggle-button-group
120
+ style="width: 75%;"
121
+ label="Label for single and manual"
122
+ accessible-label="Single and manual select toggle group"
123
+ >
124
+ <ic-toggle-button
125
+ label="First toggle"
126
+ class="expand-toggle-group-child"
127
+ ></ic-toggle-button>
128
+ <ic-toggle-button label="Second toggle"></ic-toggle-button>
129
+ <ic-toggle-button label="Third toggle"></ic-toggle-button>
130
+ </ic-toggle-button-group>
131
+ <br />
132
+ <span>Large label</span>
133
+ <ic-toggle-button-group
134
+ style="width: 40%;"
135
+ accessible-label="Single and manual select toggle group"
136
+ >
137
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
138
+ <ic-toggle-button
139
+ label="Toggle with a very very long label"
140
+ ></ic-toggle-button>
141
+ </ic-toggle-button-group>
142
+ `,
143
+
144
+ name: "Sizes",
145
+ };
146
+
147
+ export const Appearance = {
148
+ render: (args) =>
149
+ html`<span>Light</span>
150
+ <div
151
+ style="background-color:#2c2f34; padding:6px 10px; width:fit-content"
152
+ >
153
+ <ic-toggle-button-group
154
+ appearance="light"
155
+ accessible-label="Single and manual select toggle group"
156
+ >
157
+ <ic-toggle-button
158
+ label="First toggle"
159
+ appearance="light"
160
+ ></ic-toggle-button>
161
+ <ic-toggle-button
162
+ label="Second toggle"
163
+ appearance="light"
164
+ ></ic-toggle-button>
165
+ <ic-toggle-button
166
+ label="Third toggle"
167
+ appearance="light"
168
+ ></ic-toggle-button>
169
+ </ic-toggle-button-group>
170
+ </div>
171
+ <br />
172
+ <span>Dark</span>
173
+ <ic-toggle-button-group
174
+ appearance="dark"
175
+ accessible-label="Single and manual select toggle group"
176
+ >
177
+ <ic-toggle-button
178
+ label="First toggle"
179
+ appearance="dark"
180
+ ></ic-toggle-button>
181
+ <ic-toggle-button
182
+ label="Second toggle"
183
+ appearance="dark"
184
+ ></ic-toggle-button>
185
+ <ic-toggle-button
186
+ label="Third toggle"
187
+ appearance="dark"
188
+ ></ic-toggle-button>
189
+ </ic-toggle-button-group> `,
190
+
191
+ name: "Appearance",
192
+ };
193
+
194
+ export const Disabled = {
195
+ render: (args) =>
196
+ html`<span>Disabled</span>
197
+ <ic-toggle-button-group
198
+ disabled="true"
199
+ accessible-label="Single and manual select toggle group"
200
+ >
201
+ <ic-toggle-button
202
+ label="First toggle"
203
+ disabled="true"
204
+ ></ic-toggle-button>
205
+ <ic-toggle-button
206
+ label="Second toggle"
207
+ disabled="true"
208
+ ></ic-toggle-button>
209
+ <ic-toggle-button
210
+ label="Third toggle"
211
+ disabled="true"
212
+ ></ic-toggle-button>
213
+ </ic-toggle-button-group>`,
214
+
215
+ name: "Disabled",
216
+ };
217
+
218
+ export const Loading = {
219
+ render: (args) =>
220
+ html`<span>Loading default</span>
221
+ <ic-toggle-button-group
222
+ loading="true"
223
+ accessible-label="Single and manual select toggle group"
224
+ >
225
+ <ic-toggle-button
226
+ label="First toggle"
227
+ loading="true"
228
+ ></ic-toggle-button>
229
+ <ic-toggle-button
230
+ label="Second toggle"
231
+ loading="true"
232
+ ></ic-toggle-button>
233
+ <ic-toggle-button
234
+ label="Third toggle"
235
+ loading="true"
236
+ ></ic-toggle-button>
237
+ </ic-toggle-button-group>
238
+ <br />
239
+ <span>Loading light</span>
240
+ <div
241
+ style="background-color:#2c2f34; padding:6px 10px; width:fit-content"
242
+ >
243
+ <ic-toggle-button-group
244
+ loading="true"
245
+ appearance="light"
246
+ accessible-label="Single and manual select toggle group"
247
+ >
248
+ <ic-toggle-button
249
+ label="First toggle"
250
+ loading="true"
251
+ appearance="light"
252
+ ></ic-toggle-button>
253
+ <ic-toggle-button
254
+ label="Second toggle"
255
+ loading="true"
256
+ appearance="light"
257
+ ></ic-toggle-button>
258
+ <ic-toggle-button
259
+ label="Third toggle"
260
+ loading="true"
261
+ appearance="light"
262
+ ></ic-toggle-button>
263
+ </ic-toggle-button-group>
264
+ </div>
265
+ <br />
266
+ <span>Loading dark</span>
267
+ <ic-toggle-button-group
268
+ loading="true"
269
+ appearance="dark"
270
+ accessible-label="Single and manual select toggle group"
271
+ >
272
+ <ic-toggle-button
273
+ label="First toggle"
274
+ loading="true"
275
+ appearance="dark"
276
+ ></ic-toggle-button>
277
+ <ic-toggle-button
278
+ label="Second toggle"
279
+ loading="true"
280
+ appearance="dark"
281
+ ></ic-toggle-button>
282
+ <ic-toggle-button
283
+ label="Third toggle"
284
+ loading="true"
285
+ appearance="dark"
286
+ ></ic-toggle-button>
287
+ </ic-toggle-button-group> `,
288
+
289
+ name: "Loading",
290
+ };
291
+
292
+ export const WithIcons = {
293
+ render: (args) =>
294
+ html`<span>Icon only</span>
295
+ <ic-toggle-button-group
296
+ variant="icon"
297
+ accessible-label="A group of buttons"
298
+ >
299
+ <ic-toggle-button variant="icon" accessible-label="refresh">
300
+ <svg
301
+ xmlns="http://www.w3.org/2000/svg"
302
+ height="24px"
303
+ viewBox="0 0 24 24"
304
+ width="24px"
305
+ fill="#000000"
306
+ >
307
+ <path d="M0 0h24v24H0V0z" fill="none" />
308
+ <path
309
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
310
+ />
311
+ </svg>
312
+ </ic-toggle-button>
313
+ <ic-toggle-button variant="icon" accessible-label="refresh">
314
+ <svg
315
+ xmlns="http://www.w3.org/2000/svg"
316
+ height="24px"
317
+ viewBox="0 0 24 24"
318
+ width="24px"
319
+ fill="#000000"
320
+ >
321
+ <path d="M0 0h24v24H0V0z" fill="none" />
322
+ <path
323
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
324
+ />
325
+ </svg>
326
+ </ic-toggle-button>
327
+ </ic-toggle-button-group>
328
+ <br />
329
+ <span>Tooltip placement</span>
330
+ <ic-toggle-button-group
331
+ variant="icon"
332
+ accessible-label="A group of buttons"
333
+ tooltip-placement="right"
334
+ >
335
+ <ic-toggle-button variant="icon" accessible-label="refresh">
336
+ <svg
337
+ xmlns="http://www.w3.org/2000/svg"
338
+ height="24px"
339
+ viewBox="0 0 24 24"
340
+ width="24px"
341
+ fill="#000000"
342
+ >
343
+ <path d="M0 0h24v24H0V0z" fill="none" />
344
+ <path
345
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
346
+ />
347
+ </svg>
348
+ </ic-toggle-button>
349
+ <ic-toggle-button variant="icon" accessible-label="refresh">
350
+ <svg
351
+ xmlns="http://www.w3.org/2000/svg"
352
+ height="24px"
353
+ viewBox="0 0 24 24"
354
+ width="24px"
355
+ fill="#000000"
356
+ >
357
+ <path d="M0 0h24v24H0V0z" fill="none" />
358
+ <path
359
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
360
+ />
361
+ </svg>
362
+ </ic-toggle-button>
363
+ </ic-toggle-button-group>
364
+ <br />
365
+ <span>Icon right</span>
366
+ <ic-toggle-button-group
367
+ icon-placement="right"
368
+ accessible-label="Single and manual select toggle group"
369
+ >
370
+ <ic-toggle-button label="Toggle">
371
+ <svg
372
+ slot="icon"
373
+ xmlns="http://www.w3.org/2000/svg"
374
+ height="24px"
375
+ viewBox="0 0 24 24"
376
+ width="24px"
377
+ fill="#000000"
378
+ >
379
+ <path d="M0 0h24v24H0V0z" fill="none" />
380
+ <path
381
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
382
+ />
383
+ </svg>
384
+ </ic-toggle-button>
385
+ <ic-toggle-button label="Toggle">
386
+ <svg
387
+ slot="icon"
388
+ xmlns="http://www.w3.org/2000/svg"
389
+ height="24px"
390
+ viewBox="0 0 24 24"
391
+ width="24px"
392
+ fill="#000000"
393
+ >
394
+ <path d="M0 0h24v24H0V0z" fill="none" />
395
+ <path
396
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
397
+ />
398
+ </svg>
399
+ </ic-toggle-button>
400
+ </ic-toggle-button-group>
401
+ <br />
402
+ <span>Icon top</span>
403
+ <ic-toggle-button-group
404
+ icon-placement="top"
405
+ accessible-label="Single and manual select toggle group"
406
+ >
407
+ <ic-toggle-button label="Toggle">
408
+ <svg
409
+ slot="icon"
410
+ xmlns="http://www.w3.org/2000/svg"
411
+ height="24px"
412
+ viewBox="0 0 24 24"
413
+ width="24px"
414
+ fill="#000000"
415
+ >
416
+ <path d="M0 0h24v24H0V0z" fill="none" />
417
+ <path
418
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
419
+ />
420
+ </svg>
421
+ </ic-toggle-button>
422
+ <ic-toggle-button label="Toggle">
423
+ <svg
424
+ slot="icon"
425
+ xmlns="http://www.w3.org/2000/svg"
426
+ height="24px"
427
+ viewBox="0 0 24 24"
428
+ width="24px"
429
+ fill="#000000"
430
+ >
431
+ <path d="M0 0h24v24H0V0z" fill="none" />
432
+ <path
433
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
434
+ />
435
+ </svg>
436
+ </ic-toggle-button>
437
+ </ic-toggle-button-group>
438
+ <br />
439
+ <span>Icon left</span>
440
+ <ic-toggle-button-group
441
+ icon-placement="left"
442
+ accessible-label="Single and manual select toggle group"
443
+ >
444
+ <ic-toggle-button label="Toggle">
445
+ <svg
446
+ slot="icon"
447
+ xmlns="http://www.w3.org/2000/svg"
448
+ height="24px"
449
+ viewBox="0 0 24 24"
450
+ width="24px"
451
+ fill="#000000"
452
+ >
453
+ <path d="M0 0h24v24H0V0z" fill="none" />
454
+ <path
455
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
456
+ />
457
+ </svg>
458
+ </ic-toggle-button>
459
+ <ic-toggle-button label="Toggle">
460
+ <svg
461
+ slot="icon"
462
+ xmlns="http://www.w3.org/2000/svg"
463
+ height="24px"
464
+ viewBox="0 0 24 24"
465
+ width="24px"
466
+ fill="#000000"
467
+ >
468
+ <path d="M0 0h24v24H0V0z" fill="none" />
469
+ <path
470
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
471
+ />
472
+ </svg>
473
+ </ic-toggle-button>
474
+ </ic-toggle-button-group> `,
475
+
476
+ name: "With icons",
477
+ };
478
+
479
+ const inlineRadioSelector = "inline-radio";
480
+
481
+ export const Playground = {
482
+ render: (args) =>
483
+ html`<ic-toggle-button-group
484
+ accessible-label=${args.accessibleLabel}
485
+ appearance=${args.appearance}
486
+ disabled=${args.disabled}
487
+ full-width=${args.fullWidth}
488
+ icon-placement=${args.iconPlacement}
489
+ loading=${args.loading}
490
+ select-method=${args.selectMethod}
491
+ select-type=${args.selectType}
492
+ size=${args.size}
493
+ variant=${args.variant}
494
+ >
495
+ <ic-toggle-button
496
+ accessible-label=${args.toggleAccessibleLabel}
497
+ appearance=${args.toggleAppearance}
498
+ disabled=${args.toggleDisabled}
499
+ full-width=${args.toggleFullWidth}
500
+ icon-placement=${args.toggleIconPlacement}
501
+ loading=${args.toggleLoading}
502
+ size=${args.toggleSize}
503
+ toggle-checked=${args.toggleChecked}
504
+ variant=${args.toggleVariant}
505
+ label=${args.label}
506
+ >
507
+ <svg
508
+ xmlns="http://www.w3.org/2000/svg"
509
+ height="24px"
510
+ viewBox="0 0 24 24"
511
+ width="24px"
512
+ fill="#000000"
513
+ slot="icon"
514
+ >
515
+ <path d="M0 0h24v24H0V0z" fill="none" />
516
+ <path
517
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
518
+ />
519
+ </svg>
520
+ </ic-toggle-button>
521
+ <ic-toggle-button label="Second toggle"></ic-toggle-button>
522
+ <ic-toggle-button label="Third toggle"></ic-toggle-button>
523
+ </ic-toggle-button-group>`,
524
+
525
+ args: defaultArgs,
526
+
527
+ argTypes: {
528
+ appearance: {
529
+ options: ["default", "dark", "light"],
530
+
531
+ control: {
532
+ type: "radio",
533
+ },
534
+ },
535
+
536
+ iconPlacement: {
537
+ options: ["left", "right", "top"],
538
+
539
+ control: {
540
+ type: "radio",
541
+ },
542
+ },
543
+
544
+ selectMethod: {
545
+ options: ["manual", "auto"],
546
+
547
+ control: {
548
+ type: inlineRadioSelector,
549
+ },
550
+ },
551
+
552
+ selectType: {
553
+ options: ["single", "multi"],
554
+
555
+ control: {
556
+ type: inlineRadioSelector,
557
+ },
558
+ },
559
+
560
+ size: {
561
+ options: ["default", "small", "large"],
562
+
563
+ control: {
564
+ type: "radio",
565
+ },
566
+ },
567
+
568
+ variant: {
569
+ options: ["default", "icon"],
570
+
571
+ control: {
572
+ type: inlineRadioSelector,
573
+ },
574
+ },
575
+
576
+ toggleAppearance: {
577
+ options: ["default", "dark", "light"],
578
+
579
+ control: {
580
+ type: "radio",
581
+ },
582
+ },
583
+
584
+ toggleIconPlacement: {
585
+ options: ["left", "right", "top"],
586
+
587
+ control: {
588
+ type: "radio",
589
+ },
590
+ },
591
+
592
+ toggleSize: {
593
+ options: ["default", "small", "large"],
594
+
595
+ control: {
596
+ type: "radio",
597
+ },
598
+ },
599
+
600
+ toggleVariant: {
601
+ options: ["default", "icon"],
602
+
603
+ control: {
604
+ type: inlineRadioSelector,
605
+ },
606
+ },
607
+ },
608
+
609
+ name: "Playground",
610
+ };