@ukic/web-components 2.35.0 → 2.35.2

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 (110) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/ic-badge.cjs.entry.js +23 -0
  4. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-toast.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  12. package/dist/cjs/loader.cjs.js +1 -1
  13. package/dist/collection/collection-manifest.json +1 -1
  14. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +635 -0
  15. package/dist/collection/components/ic-alert/ic-alert.stories.js +257 -0
  16. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +162 -0
  17. package/dist/collection/components/ic-badge/ic-badge.js +39 -1
  18. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  19. package/dist/collection/components/ic-badge/ic-badge.stories.js +1082 -0
  20. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +194 -0
  21. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  22. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.stories.js +502 -0
  23. package/dist/collection/components/ic-button/ic-button.stories.js +2218 -0
  24. package/dist/collection/components/ic-card/ic-card.stories.js +1034 -0
  25. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +687 -0
  26. package/dist/collection/components/ic-chip/ic-chip.stories.js +670 -0
  27. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +131 -0
  28. package/dist/collection/components/ic-data-entity/ic-data-entity.stories.js +487 -0
  29. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +1256 -0
  30. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +397 -0
  31. package/dist/collection/components/ic-footer/ic-footer.stories.js +383 -0
  32. package/dist/collection/components/ic-hero/ic-hero.stories.js +489 -0
  33. package/dist/collection/components/ic-link/ic-link.stories.js +114 -0
  34. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +416 -0
  35. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +4 -0
  36. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +1 -1
  37. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  38. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +7 -35
  39. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +557 -0
  40. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +125 -0
  41. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +486 -0
  42. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +450 -0
  43. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +591 -0
  44. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +62 -0
  45. package/dist/collection/components/ic-select/ic-select-searchable.stories.js +953 -0
  46. package/dist/collection/components/ic-select/ic-select-single.stories.js +780 -0
  47. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +2526 -0
  48. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +141 -0
  49. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +161 -0
  50. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +327 -0
  51. package/dist/collection/components/ic-switch/ic-switch.stories.js +171 -0
  52. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +388 -0
  53. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +1083 -0
  54. package/dist/collection/components/ic-theme/ic-theme.stories.js +171 -0
  55. package/dist/collection/components/ic-toast/ic-toast.js +2 -2
  56. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  57. package/dist/collection/components/ic-toast/ic-toast.stories.js +413 -0
  58. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +3 -3
  59. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  60. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +537 -0
  61. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +610 -0
  62. package/dist/collection/components/ic-tooltip/ic-tooltip.js +2 -5
  63. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  64. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +356 -0
  65. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +1083 -0
  66. package/dist/collection/components/ic-typography/ic-typography.stories.js +437 -0
  67. package/dist/collection/patterns/top-nav-content-footer.stories.js +109 -0
  68. package/dist/collection/patterns/z-index.stories.js +474 -0
  69. package/dist/components/ic-badge.js +25 -2
  70. package/dist/components/ic-badge.js.map +1 -1
  71. package/dist/components/ic-navigation-button.js +2 -2
  72. package/dist/components/ic-navigation-button.js.map +1 -1
  73. package/dist/components/ic-navigation-item.js +1 -1
  74. package/dist/components/ic-navigation-item.js.map +1 -1
  75. package/dist/components/ic-toast.js +2 -2
  76. package/dist/components/ic-toast.js.map +1 -1
  77. package/dist/components/ic-tooltip2.js.map +1 -1
  78. package/dist/core/core.esm.js +1 -1
  79. package/dist/core/core.esm.js.map +1 -1
  80. package/dist/core/p-3e8023ff.entry.js +2 -0
  81. package/dist/core/p-3e8023ff.entry.js.map +1 -0
  82. package/dist/core/p-ba06cc95.entry.js.map +1 -1
  83. package/dist/core/{p-7e8a4abd.entry.js → p-bfaa257c.entry.js} +2 -2
  84. package/dist/core/{p-7e8a4abd.entry.js.map → p-bfaa257c.entry.js.map} +1 -1
  85. package/dist/core/p-c05474f3.entry.js +2 -0
  86. package/dist/core/p-c05474f3.entry.js.map +1 -0
  87. package/dist/core/{p-5d3c6ea1.entry.js → p-d0299926.entry.js} +2 -2
  88. package/dist/core/p-d0299926.entry.js.map +1 -0
  89. package/dist/esm/core.js +1 -1
  90. package/dist/esm/ic-badge.entry.js +23 -0
  91. package/dist/esm/ic-badge.entry.js.map +1 -1
  92. package/dist/esm/ic-button_3.entry.js.map +1 -1
  93. package/dist/esm/ic-navigation-button.entry.js +2 -2
  94. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  95. package/dist/esm/ic-navigation-item.entry.js +1 -1
  96. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  97. package/dist/esm/ic-toast.entry.js +2 -2
  98. package/dist/esm/ic-toast.entry.js.map +1 -1
  99. package/dist/esm/loader.js +1 -1
  100. package/dist/types/components/ic-badge/ic-badge.d.ts +5 -0
  101. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +1 -1
  102. package/dist/types/components.d.ts +7 -0
  103. package/hydrate/index.js +30 -7
  104. package/package.json +17 -12
  105. package/vscode-data.json +4 -0
  106. package/dist/core/p-405d89bb.entry.js +0 -2
  107. package/dist/core/p-405d89bb.entry.js.map +0 -1
  108. package/dist/core/p-5d3c6ea1.entry.js.map +0 -1
  109. package/dist/core/p-dfb3e76e.entry.js +0 -2
  110. package/dist/core/p-dfb3e76e.entry.js.map +0 -1
@@ -0,0 +1,2218 @@
1
+ import { html } from "lit-html";
2
+
3
+ const defaultArgs = {
4
+ message: "Custom Button",
5
+ disabled: false,
6
+ loading: false,
7
+ appearance: "default",
8
+ size: "default",
9
+ variant: "secondary",
10
+ fullWidth: true,
11
+ iconPlacement: "right-icon",
12
+ };
13
+
14
+ export default {
15
+ title: "Web Components/Button",
16
+ component: "ic-button",
17
+ };
18
+
19
+ export const Primary = {
20
+ render: () => html`
21
+ <div style="padding: 6px">
22
+ <ic-button variant="primary" id="mybuttonid" onclick="alert('test')"
23
+ >Button</ic-button
24
+ >
25
+ <ic-button variant="primary" disabled onclick="alert('test')"
26
+ >Button</ic-button
27
+ >
28
+ </div>
29
+ <div style="padding: 6px">
30
+ <ic-button variant="primary" appearance="dark" onclick="alert('test')"
31
+ >Button</ic-button
32
+ >
33
+ <ic-button
34
+ variant="primary"
35
+ disabled
36
+ appearance="dark"
37
+ onclick="alert('test')"
38
+ >Button</ic-button
39
+ >
40
+ </div>
41
+ <div style="background-color:#2c2f34; padding:6px 10px; width:fit-content">
42
+ <ic-button variant="primary" appearance="light" onclick="alert('test')"
43
+ >Button</ic-button
44
+ >
45
+ <ic-button variant="primary" disabled appearance="light"
46
+ >Button</ic-button
47
+ >
48
+ </div>
49
+ `,
50
+
51
+ name: "Primary",
52
+ };
53
+
54
+ export const RouterLink = {
55
+ render: () =>
56
+ html`<div style="padding: 8px">
57
+ <ic-button size="small">
58
+ <a slot="router-item" href="/">Slotted link</a>
59
+ </ic-button>
60
+ <ic-button>
61
+ <a slot="router-item" href="/">Slotted link</a>
62
+ </ic-button>
63
+ <ic-button size="large">
64
+ <a slot="router-item" href="/">Slotted link</a>
65
+ </ic-button>
66
+ </div>
67
+ <div style="padding: 8px">
68
+ <ic-button disabled="true">
69
+ <a slot="router-item" href="/">Slotted link</a>
70
+ </ic-button>
71
+ <ic-button variant="secondary">
72
+ <a slot="router-item" href="/">Slotted link</a>
73
+ </ic-button>
74
+ <ic-button variant="tertiary">
75
+ <a slot="router-item" href="/">Slotted link</a>
76
+ </ic-button>
77
+ <ic-button variant="destructive">
78
+ <a slot="router-item" href="/">Slotted link</a>
79
+ </ic-button>
80
+ <ic-button variant="icon">
81
+ <a slot="router-item" href="/">
82
+ <svg
83
+ width="24"
84
+ height="24"
85
+ viewBox="0 0 24 24"
86
+ fill="none"
87
+ xmlns="http://www.w3.org/2000/svg"
88
+ >
89
+ <path
90
+ d="M12 6.19L17 10.69V18.5H15V12.5H9V18.5H7V10.69L12 6.19ZM12 3.5L2 12.5H5V20.5H11V14.5H13V20.5H19V12.5H22L12 3.5Z"
91
+ fill="currentColor"
92
+ />
93
+ </svg>
94
+ </a>
95
+ </ic-button>
96
+ </div>
97
+ <div style="padding: 8px">
98
+ <ic-button appearance="light">
99
+ <a slot="router-item" href="/">Slotted link</a>
100
+ </ic-button>
101
+ <ic-button appearance="dark">
102
+ <a slot="router-item" href="/">Slotted link</a>
103
+ </ic-button>
104
+ </div>`,
105
+
106
+ name: "Router link",
107
+
108
+ parameters: {
109
+ layout: "fullscreen",
110
+ },
111
+ };
112
+
113
+ export const Secondary = {
114
+ render: () => html`
115
+ <div style="padding: 6px">
116
+ <ic-button variant="secondary">Button</ic-button>
117
+ <ic-button variant="secondary" disabled>Button</ic-button>
118
+ <ic-button variant="secondary" transparent-background="false"
119
+ >Button</ic-button
120
+ >
121
+ </div>
122
+ <div style="padding: 6px">
123
+ <ic-button variant="secondary" appearance="dark">Button</ic-button>
124
+ <ic-button variant="secondary" disabled appearance="dark"
125
+ >Button</ic-button
126
+ >
127
+ <ic-button
128
+ variant="secondary"
129
+ appearance="dark"
130
+ transparent-background="false"
131
+ >Button</ic-button
132
+ >
133
+ </div>
134
+ <div style="background-color:#2c2f34; padding:6px 10px; width:fit-content">
135
+ <ic-button variant="secondary" appearance="light">Button</ic-button>
136
+ <ic-button variant="secondary" disabled appearance="light"
137
+ >Button</ic-button
138
+ >
139
+ <ic-button variant="secondary" transparent-background="false"
140
+ >Button</ic-button
141
+ >
142
+ </div>
143
+ `,
144
+
145
+ name: "Secondary",
146
+ };
147
+
148
+ export const Tertiary = {
149
+ render: () => html`
150
+ <div style="padding: 6px">
151
+ <ic-button variant="tertiary">Button</ic-button>
152
+ <ic-button variant="tertiary" disabled>Button</ic-button>
153
+ </div>
154
+ <div style="padding: 6px">
155
+ <ic-button variant="tertiary" appearance="dark">Button</ic-button>
156
+ <ic-button variant="tertiary" disabled appearance="dark"
157
+ >Button</ic-button
158
+ >
159
+ </div>
160
+ <div style="background-color:#2c2f34; padding:6px 10px; width:fit-content">
161
+ <ic-button variant="tertiary" appearance="light">Button</ic-button>
162
+ <ic-button variant="tertiary" disabled appearance="light"
163
+ >Button</ic-button
164
+ >
165
+ </div>
166
+ `,
167
+
168
+ name: "Tertiary",
169
+ };
170
+
171
+ export const Destructive = {
172
+ render: () => html`
173
+ <ic-button variant="destructive">Button</ic-button>
174
+ <ic-button variant="destructive" disabled>Button</ic-button>
175
+ `,
176
+
177
+ name: "Destructive",
178
+ };
179
+
180
+ export const WithIcon = {
181
+ render: () =>
182
+ html`<div>
183
+ <ic-button variant="primary"
184
+ >Button
185
+ <svg
186
+ slot="left-icon"
187
+ xmlns="http://www.w3.org/2000/svg"
188
+ height="24px"
189
+ viewBox="0 0 24 24"
190
+ width="24px"
191
+ fill="#000000"
192
+ >
193
+ <path d="M0 0h24v24H0V0z" fill="none" />
194
+ <path
195
+ 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"
196
+ />
197
+ </svg>
198
+ </ic-button>
199
+ <ic-button variant="primary"
200
+ >Button
201
+ <div slot="left-icon">
202
+ <svg
203
+ xmlns="http://www.w3.org/2000/svg"
204
+ viewBox="0 0 24 24"
205
+ fill="currentcolor"
206
+ >
207
+ <path d="M0 0h24v24H0V0z" fill="none" />
208
+ <path
209
+ 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"
210
+ />
211
+ </svg>
212
+ </div>
213
+ </ic-button>
214
+ <ic-button variant="secondary"
215
+ >Button
216
+ <svg
217
+ slot="left-icon"
218
+ xmlns="http://www.w3.org/2000/svg"
219
+ height="24px"
220
+ viewBox="0 0 24 24"
221
+ width="24px"
222
+ fill="#000000"
223
+ >
224
+ <path d="M0 0h24v24H0V0z" fill="none" />
225
+ <path
226
+ 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"
227
+ />
228
+ </svg>
229
+ </ic-button>
230
+ <ic-button variant="tertiary"
231
+ >Button
232
+ <svg
233
+ slot="left-icon"
234
+ xmlns="http://www.w3.org/2000/svg"
235
+ height="24px"
236
+ viewBox="0 0 24 24"
237
+ width="24px"
238
+ fill="#000000"
239
+ >
240
+ <path d="M0 0h24v24H0V0z" fill="none" />
241
+ <path
242
+ 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"
243
+ />
244
+ </svg>
245
+ </ic-button>
246
+ <ic-button appearance="dark"
247
+ >Button
248
+ <svg
249
+ slot="left-icon"
250
+ xmlns="http://www.w3.org/2000/svg"
251
+ height="24px"
252
+ viewBox="0 0 24 24"
253
+ width="24px"
254
+ fill="#000000"
255
+ >
256
+ <path d="M0 0h24v24H0V0z" fill="none" />
257
+ <path
258
+ 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"
259
+ />
260
+ </svg>
261
+ </ic-button>
262
+ <ic-button variant="destructive"
263
+ >Button
264
+ <svg
265
+ slot="left-icon"
266
+ xmlns="http://www.w3.org/2000/svg"
267
+ height="24px"
268
+ viewBox="0 0 24 24"
269
+ width="24px"
270
+ fill="#000000"
271
+ >
272
+ <path d="M0 0h24v24H0V0z" fill="none" />
273
+ <path
274
+ 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"
275
+ />
276
+ </svg>
277
+ </ic-button>
278
+ <ic-button variant="destructive" disabled
279
+ >Button
280
+ <svg
281
+ slot="left-icon"
282
+ xmlns="http://www.w3.org/2000/svg"
283
+ height="24px"
284
+ viewBox="0 0 24 24"
285
+ width="24px"
286
+ fill="#000000"
287
+ >
288
+ <path d="M0 0h24v24H0V0z" fill="none" />
289
+ <path
290
+ 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"
291
+ />
292
+ </svg>
293
+ </ic-button>
294
+ <div
295
+ style="background-color:#2c2f34; display:inline-block; padding:6px 10px"
296
+ >
297
+ <ic-button variant="primary" appearance="light">
298
+ Button
299
+ <svg
300
+ slot="left-icon"
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-button>
313
+ <ic-button variant="secondary" appearance="light">
314
+ Button
315
+ <svg
316
+ slot="left-icon"
317
+ xmlns="http://www.w3.org/2000/svg"
318
+ height="24px"
319
+ viewBox="0 0 24 24"
320
+ width="24px"
321
+ fill="#000000"
322
+ >
323
+ <path d="M0 0h24v24H0V0z" fill="none" />
324
+ <path
325
+ 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"
326
+ />
327
+ </svg>
328
+ </ic-button>
329
+ <ic-button variant="tertiary" appearance="light">
330
+ Button
331
+ <svg
332
+ slot="left-icon"
333
+ xmlns="http://www.w3.org/2000/svg"
334
+ height="24px"
335
+ viewBox="0 0 24 24"
336
+ width="24px"
337
+ fill="#000000"
338
+ >
339
+ <path d="M0 0h24v24H0V0z" fill="none" />
340
+ <path
341
+ 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"
342
+ />
343
+ </svg>
344
+ </ic-button>
345
+ </div>
346
+ </div>
347
+ <div>
348
+ <ic-button variant="primary"
349
+ >Button
350
+ <svg
351
+ slot="right-icon"
352
+ xmlns="http://www.w3.org/2000/svg"
353
+ height="24px"
354
+ viewBox="0 0 24 24"
355
+ width="24px"
356
+ fill="#000000"
357
+ >
358
+ <path d="M0 0h24v24H0V0z" fill="none" />
359
+ <path
360
+ 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"
361
+ />
362
+ </svg>
363
+ </ic-button>
364
+ <ic-button variant="primary"
365
+ >Button
366
+ <div slot="right-icon">
367
+ <svg
368
+ xmlns="http://www.w3.org/2000/svg"
369
+ viewBox="0 0 24 24"
370
+ fill="currentcolor"
371
+ >
372
+ <path d="M0 0h24v24H0V0z" fill="none" />
373
+ <path
374
+ 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"
375
+ />
376
+ </svg>
377
+ </div>
378
+ </ic-button>
379
+ <ic-button variant="secondary"
380
+ >Button
381
+ <svg
382
+ slot="right-icon"
383
+ xmlns="http://www.w3.org/2000/svg"
384
+ height="24px"
385
+ viewBox="0 0 24 24"
386
+ width="24px"
387
+ fill="#000000"
388
+ >
389
+ <path d="M0 0h24v24H0V0z" fill="none" />
390
+ <path
391
+ 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"
392
+ />
393
+ </svg>
394
+ </ic-button>
395
+ <ic-button variant="tertiary"
396
+ >Button
397
+ <svg
398
+ slot="right-icon"
399
+ xmlns="http://www.w3.org/2000/svg"
400
+ height="24px"
401
+ viewBox="0 0 24 24"
402
+ width="24px"
403
+ fill="#000000"
404
+ >
405
+ <path d="M0 0h24v24H0V0z" fill="none" />
406
+ <path
407
+ 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"
408
+ />
409
+ </svg>
410
+ </ic-button>
411
+ <ic-button appearance="dark"
412
+ >Button
413
+ <svg
414
+ slot="right-icon"
415
+ xmlns="http://www.w3.org/2000/svg"
416
+ height="24px"
417
+ viewBox="0 0 24 24"
418
+ width="24px"
419
+ fill="#000000"
420
+ >
421
+ <path d="M0 0h24v24H0V0z" fill="none" />
422
+ <path
423
+ 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"
424
+ />
425
+ </svg>
426
+ </ic-button>
427
+ <ic-button variant="destructive"
428
+ >Button
429
+ <svg
430
+ slot="right-icon"
431
+ xmlns="http://www.w3.org/2000/svg"
432
+ height="24px"
433
+ viewBox="0 0 24 24"
434
+ width="24px"
435
+ fill="#000000"
436
+ >
437
+ <path d="M0 0h24v24H0V0z" fill="none" />
438
+ <path
439
+ 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"
440
+ />
441
+ </svg>
442
+ </ic-button>
443
+ <ic-button variant="destructive" disabled
444
+ >Button
445
+ <svg
446
+ slot="right-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-button>
459
+ <div
460
+ style="background-color:#2c2f34; display:inline-block; padding:6px 10px"
461
+ >
462
+ <ic-button variant="primary" appearance="light">
463
+ Button
464
+ <svg
465
+ slot="right-icon"
466
+ xmlns="http://www.w3.org/2000/svg"
467
+ height="24px"
468
+ viewBox="0 0 24 24"
469
+ width="24px"
470
+ fill="#000000"
471
+ >
472
+ <path d="M0 0h24v24H0V0z" fill="none" />
473
+ <path
474
+ 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"
475
+ />
476
+ </svg>
477
+ </ic-button>
478
+ <ic-button variant="secondary" appearance="light">
479
+ Button
480
+ <svg
481
+ slot="right-icon"
482
+ xmlns="http://www.w3.org/2000/svg"
483
+ height="24px"
484
+ viewBox="0 0 24 24"
485
+ width="24px"
486
+ fill="#000000"
487
+ >
488
+ <path d="M0 0h24v24H0V0z" fill="none" />
489
+ <path
490
+ 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"
491
+ />
492
+ </svg>
493
+ </ic-button>
494
+ <ic-button variant="tertiary" appearance="light">
495
+ Button
496
+ <svg
497
+ slot="right-icon"
498
+ xmlns="http://www.w3.org/2000/svg"
499
+ height="24px"
500
+ viewBox="0 0 24 24"
501
+ width="24px"
502
+ fill="#000000"
503
+ >
504
+ <path d="M0 0h24v24H0V0z" fill="none" />
505
+ <path
506
+ 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"
507
+ />
508
+ </svg>
509
+ </ic-button>
510
+ </div>
511
+ </div> `,
512
+
513
+ name: "With icon",
514
+ };
515
+
516
+ export const Dropdown = {
517
+ render: () =>
518
+ html`<div>
519
+ <div style="padding: 6px">
520
+ <ic-button dropdown="true" variant="primary">Button</ic-button>
521
+ <ic-button dropdown="true" variant="primary"
522
+ >Button
523
+ <svg
524
+ slot="left-icon"
525
+ xmlns="http://www.w3.org/2000/svg"
526
+ height="24px"
527
+ viewBox="0 0 24 24"
528
+ width="24px"
529
+ fill="#000000"
530
+ >
531
+ <path d="M0 0h24v24H0V0z" fill="none" />
532
+ <path
533
+ 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"
534
+ />
535
+ </svg>
536
+ </ic-button>
537
+ <ic-button dropdown="true" variant="secondary">Button</ic-button>
538
+ <ic-button dropdown="true" variant="tertiary">Button</ic-button>
539
+ </div>
540
+ <div style="padding: 6px">
541
+ <ic-button dropdown="true" disabled="true" variant="primary"
542
+ >Button</ic-button
543
+ >
544
+ <ic-button dropdown="true" disabled="true" variant="primary"
545
+ >Button
546
+ <svg
547
+ slot="left-icon"
548
+ xmlns="http://www.w3.org/2000/svg"
549
+ height="24px"
550
+ viewBox="0 0 24 24"
551
+ width="24px"
552
+ fill="#000000"
553
+ >
554
+ <path d="M0 0h24v24H0V0z" fill="none" />
555
+ <path
556
+ 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"
557
+ />
558
+ </svg>
559
+ </ic-button>
560
+ <ic-button dropdown="true" disabled="true" variant="secondary"
561
+ >Button</ic-button
562
+ >
563
+ <ic-button dropdown="true" disabled="true" variant="tertiary"
564
+ >Button</ic-button
565
+ >
566
+ </div>
567
+ <div style="padding: 6px">
568
+ <ic-button dropdown="true" variant="primary" appearance="dark"
569
+ >Button</ic-button
570
+ >
571
+ <ic-button dropdown="true" appearance="dark" variant="primary"
572
+ >Button
573
+ <svg
574
+ slot="left-icon"
575
+ xmlns="http://www.w3.org/2000/svg"
576
+ height="24px"
577
+ viewBox="0 0 24 24"
578
+ width="24px"
579
+ fill="#000000"
580
+ >
581
+ <path d="M0 0h24v24H0V0z" fill="none" />
582
+ <path
583
+ 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"
584
+ />
585
+ </svg>
586
+ </ic-button>
587
+ <ic-button dropdown="true" variant="secondary" appearance="dark"
588
+ >Button</ic-button
589
+ >
590
+ <ic-button dropdown="true" variant="tertiary" appearance="dark"
591
+ >Button</ic-button
592
+ >
593
+ </div>
594
+ <div
595
+ style="background-color:#2c2f34; padding:6px 10px; width:fit-content;"
596
+ >
597
+ <ic-button dropdown="true" variant="primary" appearance="light"
598
+ >Button</ic-button
599
+ >
600
+ <ic-button dropdown="true" appearance="light" variant="primary"
601
+ >Button
602
+ <svg
603
+ slot="left-icon"
604
+ xmlns="http://www.w3.org/2000/svg"
605
+ height="24px"
606
+ viewBox="0 0 24 24"
607
+ width="24px"
608
+ fill="#000000"
609
+ >
610
+ <path d="M0 0h24v24H0V0z" fill="none" />
611
+ <path
612
+ 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"
613
+ />
614
+ </svg>
615
+ </ic-button>
616
+ <ic-button dropdown="true" variant="secondary" appearance="light"
617
+ >Button</ic-button
618
+ >
619
+ <ic-button
620
+ dropdown="true"
621
+ variant="tertiary"
622
+ appearance="light"
623
+ id="mybuttonid"
624
+ onclick="alert('test')"
625
+ >Button</ic-button
626
+ >
627
+ </div>
628
+ <div style="padding: 6px">
629
+ <ic-button dropdown="true" variant="primary" size="small"
630
+ >Button</ic-button
631
+ >
632
+ <ic-button dropdown="true" size="small" variant="primary"
633
+ >Button
634
+ <svg
635
+ slot="left-icon"
636
+ xmlns="http://www.w3.org/2000/svg"
637
+ height="24px"
638
+ viewBox="0 0 24 24"
639
+ width="24px"
640
+ fill="#000000"
641
+ >
642
+ <path d="M0 0h24v24H0V0z" fill="none" />
643
+ <path
644
+ 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"
645
+ />
646
+ </svg>
647
+ </ic-button>
648
+ <ic-button dropdown="true" variant="secondary" size="small"
649
+ >Button</ic-button
650
+ >
651
+ <ic-button dropdown="true" variant="tertiary" size="small"
652
+ >Button</ic-button
653
+ >
654
+ </div>
655
+ <div style="padding: 6px">
656
+ <ic-button dropdown="true" variant="primary" size="large"
657
+ >Button</ic-button
658
+ >
659
+ <ic-button dropdown="true" size="large" variant="primary"
660
+ >Button
661
+ <svg
662
+ slot="left-icon"
663
+ xmlns="http://www.w3.org/2000/svg"
664
+ height="24px"
665
+ viewBox="0 0 24 24"
666
+ width="24px"
667
+ fill="#000000"
668
+ >
669
+ <path d="M0 0h24v24H0V0z" fill="none" />
670
+ <path
671
+ 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"
672
+ />
673
+ </svg>
674
+ </ic-button>
675
+ <ic-button dropdown="true" variant="secondary" size="large"
676
+ >Button</ic-button
677
+ >
678
+ <ic-button dropdown="true" variant="tertiary" size="large"
679
+ >Button</ic-button
680
+ >
681
+ </div>
682
+ </div>`,
683
+
684
+ name: "Dropdown",
685
+ };
686
+
687
+ export const DropdownExample = {
688
+ render: () =>
689
+ html`<script>
690
+ var icPopover = document.querySelector("#popover-menu");
691
+ var icButton = document.querySelector("#button-1");
692
+ function handleClick() {
693
+ icPopover.open = icButton.dropdownExpanded;
694
+ }
695
+ icPopover.addEventListener("icPopoverClosed", handleClose);
696
+ function handleClose() {
697
+ icButton.dropdownExpanded = icPopover.open;
698
+ }
699
+ </script>
700
+ <div>
701
+ <ic-button
702
+ dropdown="true"
703
+ variant="primary"
704
+ onclick="handleClick()"
705
+ id="button-1"
706
+ >Button</ic-button
707
+ >
708
+ <ic-popover-menu
709
+ anchor="button-1"
710
+ aria-label="popover"
711
+ id="popover-menu"
712
+ >
713
+ <ic-menu-item label="Copy code"></ic-menu-item>
714
+ <ic-menu-item label="Paste code"></ic-menu-item>
715
+ <ic-menu-item label="Actions"></ic-menu-item>
716
+ </ic-popover-menu>
717
+ </div>`,
718
+
719
+ name: "Dropdown example",
720
+ };
721
+
722
+ export const Size = {
723
+ render: () =>
724
+ html` <ic-button variant="primary" size="small">Small</ic-button>
725
+ <ic-button variant="primary">Default</ic-button>
726
+ <ic-button variant="primary" size="large">Large</ic-button>
727
+ <ic-button variant="primary" size="small"
728
+ >Small
729
+ <svg
730
+ slot="left-icon"
731
+ xmlns="http://www.w3.org/2000/svg"
732
+ height="24px"
733
+ viewBox="0 0 24 24"
734
+ width="24px"
735
+ fill="#000000"
736
+ >
737
+ <path d="M0 0h24v24H0V0z" fill="none" />
738
+ <path
739
+ 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"
740
+ />
741
+ </svg>
742
+ </ic-button>
743
+ <ic-button variant="primary"
744
+ >Default
745
+ <svg
746
+ slot="left-icon"
747
+ xmlns="http://www.w3.org/2000/svg"
748
+ height="24px"
749
+ viewBox="0 0 24 24"
750
+ width="24px"
751
+ fill="#000000"
752
+ >
753
+ <path d="M0 0h24v24H0V0z" fill="none" />
754
+ <path
755
+ 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"
756
+ />
757
+ </svg>
758
+ </ic-button>
759
+ <ic-button variant="primary" size="large"
760
+ >Large
761
+ <svg
762
+ slot="left-icon"
763
+ xmlns="http://www.w3.org/2000/svg"
764
+ height="24px"
765
+ viewBox="0 0 24 24"
766
+ width="24px"
767
+ fill="#000000"
768
+ >
769
+ <path d="M0 0h24v24H0V0z" fill="none" />
770
+ <path
771
+ 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"
772
+ />
773
+ </svg>
774
+ </ic-button>`,
775
+
776
+ name: "Size",
777
+ };
778
+
779
+ export const IconWithoutViewBox = {
780
+ render: () =>
781
+ html`<ic-button variant="primary" size="small"
782
+ >Small
783
+ <svg
784
+ slot="left-icon"
785
+ xmlns="http://www.w3.org/2000/svg"
786
+ height="24px"
787
+ width="24px"
788
+ fill="#000000"
789
+ >
790
+ <path d="M0 0h24v24H0V0z" fill="none" />
791
+ <path
792
+ 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"
793
+ />
794
+ </svg>
795
+ </ic-button>
796
+ <ic-button variant="primary"
797
+ >Default
798
+ <svg
799
+ slot="left-icon"
800
+ xmlns="http://www.w3.org/2000/svg"
801
+ height="24px"
802
+ width="24px"
803
+ fill="#000000"
804
+ >
805
+ <path d="M0 0h24v24H0V0z" fill="none" />
806
+ <path
807
+ 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"
808
+ />
809
+ </svg>
810
+ </ic-button>
811
+ <ic-button variant="primary" size="large"
812
+ >Large
813
+ <svg
814
+ slot="left-icon"
815
+ xmlns="http://www.w3.org/2000/svg"
816
+ height="24px"
817
+ width="24px"
818
+ fill="#000000"
819
+ >
820
+ <path d="M0 0h24v24H0V0z" fill="none" />
821
+ <path
822
+ 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"
823
+ />
824
+ </svg>
825
+ </ic-button>`,
826
+
827
+ name: "Icon without viewBox",
828
+ };
829
+
830
+ export const FullWidth = {
831
+ render: () => html`
832
+ <ic-button variant="primary" full-width="true"
833
+ >Button
834
+ <svg
835
+ slot="left-icon"
836
+ xmlns="http://www.w3.org/2000/svg"
837
+ height="24px"
838
+ viewBox="0 0 24 24"
839
+ width="24px"
840
+ fill="#000000"
841
+ >
842
+ <path d="M0 0h24v24H0V0z" fill="none" />
843
+ <path
844
+ 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"
845
+ />
846
+ </svg>
847
+ </ic-button>
848
+ <ic-button variant="secondary" full-width="true"
849
+ >Button
850
+ <svg
851
+ slot="left-icon"
852
+ xmlns="http://www.w3.org/2000/svg"
853
+ height="24px"
854
+ viewBox="0 0 24 24"
855
+ width="24px"
856
+ fill="#000000"
857
+ >
858
+ <path d="M0 0h24v24H0V0z" fill="none" />
859
+ <path
860
+ 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"
861
+ />
862
+ </svg>
863
+ </ic-button>
864
+ <ic-button variant="tertiary" full-width="true"
865
+ >Button
866
+ <svg
867
+ slot="left-icon"
868
+ xmlns="http://www.w3.org/2000/svg"
869
+ height="24px"
870
+ viewBox="0 0 24 24"
871
+ width="24px"
872
+ fill="#000000"
873
+ >
874
+ <path d="M0 0h24v24H0V0z" fill="none" />
875
+ <path
876
+ 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"
877
+ />
878
+ </svg>
879
+ </ic-button>
880
+ <ic-button appearance="dark" full-width="true"
881
+ >Button
882
+ <svg
883
+ slot="left-icon"
884
+ xmlns="http://www.w3.org/2000/svg"
885
+ height="24px"
886
+ viewBox="0 0 24 24"
887
+ width="24px"
888
+ fill="#000000"
889
+ >
890
+ <path d="M0 0h24v24H0V0z" fill="none" />
891
+ <path
892
+ 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"
893
+ />
894
+ </svg>
895
+ </ic-button>
896
+ <ic-button variant="destructive" full-width="true"
897
+ >Button
898
+ <svg
899
+ slot="left-icon"
900
+ xmlns="http://www.w3.org/2000/svg"
901
+ height="24px"
902
+ viewBox="0 0 24 24"
903
+ width="24px"
904
+ fill="#000000"
905
+ >
906
+ <path d="M0 0h24v24H0V0z" fill="none" />
907
+ <path
908
+ 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"
909
+ />
910
+ </svg>
911
+ </ic-button>
912
+ <ic-button variant="destructive" disabled full-width="true"
913
+ >Button
914
+ <svg
915
+ slot="left-icon"
916
+ xmlns="http://www.w3.org/2000/svg"
917
+ height="24px"
918
+ viewBox="0 0 24 24"
919
+ width="24px"
920
+ fill="#000000"
921
+ >
922
+ <path d="M0 0h24v24H0V0z" fill="none" />
923
+ <path
924
+ 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"
925
+ />
926
+ </svg>
927
+ </ic-button>
928
+ <div style="background-color:#2c2f34; padding:6px 10px,">
929
+ <ic-button variant="primary" appearance="light" full-width="true">
930
+ Button
931
+ <svg
932
+ slot="left-icon"
933
+ xmlns="http://www.w3.org/2000/svg"
934
+ height="24px"
935
+ viewBox="0 0 24 24"
936
+ width="24px"
937
+ fill="#000000"
938
+ >
939
+ <path d="M0 0h24v24H0V0z" fill="none" />
940
+ <path
941
+ 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"
942
+ />
943
+ </svg>
944
+ </ic-button>
945
+ <ic-button variant="secondary" appearance="light" full-width="true">
946
+ Button
947
+ <svg
948
+ slot="left-icon"
949
+ xmlns="http://www.w3.org/2000/svg"
950
+ height="24px"
951
+ viewBox="0 0 24 24"
952
+ width="24px"
953
+ fill="#000000"
954
+ >
955
+ <path d="M0 0h24v24H0V0z" fill="none" />
956
+ <path
957
+ 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"
958
+ />
959
+ </svg>
960
+ </ic-button>
961
+ <ic-button variant="tertiary" appearance="light" full-width="true">
962
+ Button
963
+ <svg
964
+ slot="left-icon"
965
+ xmlns="http://www.w3.org/2000/svg"
966
+ height="24px"
967
+ viewBox="0 0 24 24"
968
+ width="24px"
969
+ fill="#000000"
970
+ >
971
+ <path d="M0 0h24v24H0V0z" fill="none" />
972
+ <path
973
+ 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"
974
+ />
975
+ </svg>
976
+ </ic-button>
977
+ </div>
978
+ `,
979
+
980
+ name: "Full width",
981
+ };
982
+
983
+ export const MinWidth = {
984
+ render: () => html`
985
+ <style>
986
+ ic-button {
987
+ --min-width: 4rem;
988
+ }
989
+ </style>
990
+ <ic-button>Min</ic-button>
991
+ <ic-button variant="secondary">Min</ic-button>
992
+ `,
993
+
994
+ name: "Min width",
995
+ };
996
+
997
+ export const Height = {
998
+ render: () => html`
999
+ <style>
1000
+ ic-button[name="tall-button"] {
1001
+ --height: 9rem;
1002
+ }
1003
+ </style>
1004
+ <ic-button name="tall-button">Tall Button</ic-button>
1005
+ <ic-button variant="secondary" name="tall-button">Tall Button</ic-button>
1006
+ `,
1007
+
1008
+ name: "Height",
1009
+ };
1010
+
1011
+ export const IconOnly = {
1012
+ render: () =>
1013
+ html`<ic-button
1014
+ variant="icon"
1015
+ size="small"
1016
+ aria-label="refresh"
1017
+ id="testbutton"
1018
+ ><svg
1019
+ xmlns="http://www.w3.org/2000/svg"
1020
+ height="24px"
1021
+ viewBox="0 0 24 24"
1022
+ width="24px"
1023
+ fill="#000000"
1024
+ >
1025
+ <path d="M0 0h24v24H0V0z" fill="none" />
1026
+ <path
1027
+ 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"
1028
+ /></svg
1029
+ ></ic-button>
1030
+ <ic-button variant="icon" size="small" title="refresh but as a title"
1031
+ ><svg
1032
+ xmlns="http://www.w3.org/2000/svg"
1033
+ height="24px"
1034
+ viewBox="0 0 24 24"
1035
+ width="24px"
1036
+ fill="#000000"
1037
+ >
1038
+ <path d="M0 0h24v24H0V0z" fill="none" />
1039
+ <path
1040
+ 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"
1041
+ /></svg
1042
+ ></ic-button>
1043
+ <ic-button
1044
+ variant="icon"
1045
+ size="small"
1046
+ aria-label="refresh label"
1047
+ title="title alongside a label"
1048
+ ><svg
1049
+ xmlns="http://www.w3.org/2000/svg"
1050
+ height="24px"
1051
+ viewBox="0 0 24 24"
1052
+ width="24px"
1053
+ fill="#000000"
1054
+ >
1055
+ <path d="M0 0h24v24H0V0z" fill="none" />
1056
+ <path
1057
+ 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"
1058
+ /></svg
1059
+ ></ic-button>
1060
+ <ic-button variant="icon" aria-label="refresh"
1061
+ ><svg
1062
+ xmlns="http://www.w3.org/2000/svg"
1063
+ height="24px"
1064
+ viewBox="0 0 24 24"
1065
+ width="24px"
1066
+ fill="#000000"
1067
+ >
1068
+ <path d="M0 0h24v24H0V0z" fill="none" />
1069
+ <path
1070
+ 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"
1071
+ /></svg
1072
+ ></ic-button>
1073
+ <ic-button variant="icon" size="large" aria-label="refresh"
1074
+ ><svg
1075
+ xmlns="http://www.w3.org/2000/svg"
1076
+ height="24px"
1077
+ viewBox="0 0 24 24"
1078
+ width="24px"
1079
+ fill="#000000"
1080
+ >
1081
+ <path d="M0 0h24v24H0V0z" fill="none" />
1082
+ <path
1083
+ 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"
1084
+ /></svg
1085
+ ></ic-button>
1086
+ <ic-button variant="icon" size="large" aria-label="refresh" disabled
1087
+ ><svg
1088
+ xmlns="http://www.w3.org/2000/svg"
1089
+ height="24px"
1090
+ viewBox="0 0 24 24"
1091
+ width="24px"
1092
+ fill="#000000"
1093
+ >
1094
+ <path d="M0 0h24v24H0V0z" fill="none" />
1095
+ <path
1096
+ 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"
1097
+ /></svg
1098
+ ></ic-button>
1099
+ <ic-button variant="icon" appearance="dark" size="large" title="refresh"
1100
+ ><svg
1101
+ xmlns="http://www.w3.org/2000/svg"
1102
+ height="24px"
1103
+ viewBox="0 0 24 24"
1104
+ width="24px"
1105
+ fill="#000000"
1106
+ >
1107
+ <path d="M0 0h24v24H0V0z" fill="none" />
1108
+ <path
1109
+ 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"
1110
+ /></svg
1111
+ ></ic-button>
1112
+ <div
1113
+ style="background-color:#2c2f34; display:inline-block; padding:6px 10px"
1114
+ >
1115
+ <ic-button
1116
+ variant="icon"
1117
+ appearance="light"
1118
+ size="large"
1119
+ title="refresh"
1120
+ ><svg
1121
+ xmlns="http://www.w3.org/2000/svg"
1122
+ height="24px"
1123
+ viewBox="0 0 24 24"
1124
+ width="24px"
1125
+ fill="#000000"
1126
+ >
1127
+ <path d="M0 0h24v24H0V0z" fill="none" />
1128
+ <path
1129
+ 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"
1130
+ /></svg
1131
+ ></ic-button>
1132
+ <ic-button
1133
+ variant="icon"
1134
+ appearance="light"
1135
+ disabled
1136
+ size="large"
1137
+ title="refresh"
1138
+ ><svg
1139
+ xmlns="http://www.w3.org/2000/svg"
1140
+ height="24px"
1141
+ viewBox="0 0 24 24"
1142
+ width="24px"
1143
+ fill="#000000"
1144
+ >
1145
+ <path d="M0 0h24v24H0V0z" fill="none" />
1146
+ <path
1147
+ 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"
1148
+ /></svg
1149
+ ></ic-button>
1150
+ </div> `,
1151
+
1152
+ name: "Icon only",
1153
+ };
1154
+
1155
+ export const IconVariants = {
1156
+ render: () =>
1157
+ html`<div style="display:flex; gap: 1rem; flex-direction:column;">
1158
+ <div>
1159
+ <h1>Default</h1>
1160
+ <div style="display:flex; gap: 0.5rem">
1161
+ <ic-button
1162
+ variant="icon-primary"
1163
+ aria-label="refresh"
1164
+ id="testbutton"
1165
+ >
1166
+ <svg
1167
+ xmlns="http://www.w3.org/2000/svg"
1168
+ height="24px"
1169
+ viewBox="0 0 24 24"
1170
+ width="24px"
1171
+ fill="#000000"
1172
+ >
1173
+ <path d="M0 0h24v24H0V0z" fill="none" />
1174
+ <path
1175
+ 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"
1176
+ />
1177
+ </svg>
1178
+ </ic-button>
1179
+ <ic-button
1180
+ variant="icon-secondary"
1181
+ aria-label="refresh"
1182
+ id="testbutton"
1183
+ >
1184
+ <svg
1185
+ xmlns="http://www.w3.org/2000/svg"
1186
+ height="24px"
1187
+ viewBox="0 0 24 24"
1188
+ width="24px"
1189
+ fill="#000000"
1190
+ >
1191
+ <path d="M0 0h24v24H0V0z" fill="none" />
1192
+ <path
1193
+ 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"
1194
+ />
1195
+ </svg>
1196
+ </ic-button>
1197
+ <ic-button
1198
+ variant="icon-tertiary"
1199
+ aria-label="refresh"
1200
+ id="testbutton"
1201
+ >
1202
+ <svg
1203
+ xmlns="http://www.w3.org/2000/svg"
1204
+ height="24px"
1205
+ viewBox="0 0 24 24"
1206
+ width="24px"
1207
+ fill="#000000"
1208
+ >
1209
+ <path d="M0 0h24v24H0V0z" fill="none" />
1210
+ <path
1211
+ 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"
1212
+ />
1213
+ </svg>
1214
+ </ic-button>
1215
+ <ic-button
1216
+ variant="icon-destructive"
1217
+ aria-label="refresh"
1218
+ id="testbutton"
1219
+ >
1220
+ <svg
1221
+ xmlns="http://www.w3.org/2000/svg"
1222
+ height="24px"
1223
+ viewBox="0 0 24 24"
1224
+ width="24px"
1225
+ fill="#000000"
1226
+ >
1227
+ <path d="M0 0h24v24H0V0z" fill="none" />
1228
+ <path
1229
+ 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"
1230
+ />
1231
+ </svg>
1232
+ </ic-button>
1233
+ </div>
1234
+ </div>
1235
+ <div>
1236
+ <h1>Small</h1>
1237
+ <div style="display:flex; gap: 0.5rem">
1238
+ <ic-button
1239
+ variant="icon-primary"
1240
+ aria-label="refresh"
1241
+ id="testbutton"
1242
+ size="small"
1243
+ >
1244
+ <svg
1245
+ xmlns="http://www.w3.org/2000/svg"
1246
+ height="24px"
1247
+ viewBox="0 0 24 24"
1248
+ width="24px"
1249
+ fill="#000000"
1250
+ >
1251
+ <path d="M0 0h24v24H0V0z" fill="none" />
1252
+ <path
1253
+ 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"
1254
+ />
1255
+ </svg>
1256
+ </ic-button>
1257
+ <ic-button
1258
+ variant="icon-secondary"
1259
+ aria-label="refresh"
1260
+ id="testbutton"
1261
+ size="small"
1262
+ >
1263
+ <svg
1264
+ xmlns="http://www.w3.org/2000/svg"
1265
+ height="24px"
1266
+ viewBox="0 0 24 24"
1267
+ width="24px"
1268
+ fill="#000000"
1269
+ >
1270
+ <path d="M0 0h24v24H0V0z" fill="none" />
1271
+ <path
1272
+ 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"
1273
+ />
1274
+ </svg>
1275
+ </ic-button>
1276
+ <ic-button
1277
+ variant="icon-tertiary"
1278
+ aria-label="refresh"
1279
+ id="testbutton"
1280
+ size="small"
1281
+ >
1282
+ <svg
1283
+ xmlns="http://www.w3.org/2000/svg"
1284
+ height="24px"
1285
+ viewBox="0 0 24 24"
1286
+ width="24px"
1287
+ fill="#000000"
1288
+ >
1289
+ <path d="M0 0h24v24H0V0z" fill="none" />
1290
+ <path
1291
+ 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"
1292
+ />
1293
+ </svg>
1294
+ </ic-button>
1295
+ <ic-button
1296
+ variant="icon-destructive"
1297
+ aria-label="refresh"
1298
+ id="testbutton"
1299
+ size="small"
1300
+ >
1301
+ <svg
1302
+ xmlns="http://www.w3.org/2000/svg"
1303
+ height="24px"
1304
+ viewBox="0 0 24 24"
1305
+ width="24px"
1306
+ fill="#000000"
1307
+ >
1308
+ <path d="M0 0h24v24H0V0z" fill="none" />
1309
+ <path
1310
+ 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"
1311
+ />
1312
+ </svg>
1313
+ </ic-button>
1314
+ </div>
1315
+ </div>
1316
+ <div>
1317
+ <h1>Large</h1>
1318
+ <div style="display:flex; gap: 0.5rem">
1319
+ <ic-button
1320
+ variant="icon-primary"
1321
+ aria-label="refresh"
1322
+ id="testbutton"
1323
+ size="large"
1324
+ >
1325
+ <svg
1326
+ xmlns="http://www.w3.org/2000/svg"
1327
+ height="24px"
1328
+ viewBox="0 0 24 24"
1329
+ width="24px"
1330
+ fill="#000000"
1331
+ >
1332
+ <path d="M0 0h24v24H0V0z" fill="none" />
1333
+ <path
1334
+ 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"
1335
+ />
1336
+ </svg>
1337
+ </ic-button>
1338
+ <ic-button
1339
+ variant="icon-secondary"
1340
+ aria-label="refresh"
1341
+ id="testbutton"
1342
+ size="large"
1343
+ >
1344
+ <svg
1345
+ xmlns="http://www.w3.org/2000/svg"
1346
+ height="24px"
1347
+ viewBox="0 0 24 24"
1348
+ width="24px"
1349
+ fill="#000000"
1350
+ >
1351
+ <path d="M0 0h24v24H0V0z" fill="none" />
1352
+ <path
1353
+ 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"
1354
+ />
1355
+ </svg>
1356
+ </ic-button>
1357
+ <ic-button
1358
+ variant="icon-tertiary"
1359
+ aria-label="refresh"
1360
+ id="testbutton"
1361
+ size="large"
1362
+ >
1363
+ <svg
1364
+ xmlns="http://www.w3.org/2000/svg"
1365
+ height="24px"
1366
+ viewBox="0 0 24 24"
1367
+ width="24px"
1368
+ fill="#000000"
1369
+ >
1370
+ <path d="M0 0h24v24H0V0z" fill="none" />
1371
+ <path
1372
+ 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"
1373
+ />
1374
+ </svg>
1375
+ </ic-button>
1376
+ <ic-button
1377
+ variant="icon-destructive"
1378
+ aria-label="refresh"
1379
+ id="testbutton"
1380
+ size="large"
1381
+ >
1382
+ <svg
1383
+ xmlns="http://www.w3.org/2000/svg"
1384
+ height="24px"
1385
+ viewBox="0 0 24 24"
1386
+ width="24px"
1387
+ fill="#000000"
1388
+ >
1389
+ <path d="M0 0h24v24H0V0z" fill="none" />
1390
+ <path
1391
+ 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"
1392
+ />
1393
+ </svg>
1394
+ </ic-button>
1395
+ </div>
1396
+ </div>
1397
+ <div>
1398
+ <h1>Loading</h1>
1399
+ <div style="display:flex; gap: 0.5rem">
1400
+ <ic-button
1401
+ variant="icon-primary"
1402
+ aria-label="refresh"
1403
+ id="testbutton"
1404
+ loading
1405
+ >
1406
+ <svg
1407
+ xmlns="http://www.w3.org/2000/svg"
1408
+ height="24px"
1409
+ viewBox="0 0 24 24"
1410
+ width="24px"
1411
+ fill="#000000"
1412
+ >
1413
+ <path d="M0 0h24v24H0V0z" fill="none" />
1414
+ <path
1415
+ 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"
1416
+ />
1417
+ </svg>
1418
+ </ic-button>
1419
+ <ic-button
1420
+ variant="icon-secondary"
1421
+ aria-label="refresh"
1422
+ id="testbutton"
1423
+ loading
1424
+ >
1425
+ <svg
1426
+ xmlns="http://www.w3.org/2000/svg"
1427
+ height="24px"
1428
+ viewBox="0 0 24 24"
1429
+ width="24px"
1430
+ fill="#000000"
1431
+ >
1432
+ <path d="M0 0h24v24H0V0z" fill="none" />
1433
+ <path
1434
+ 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"
1435
+ />
1436
+ </svg>
1437
+ </ic-button>
1438
+ <ic-button
1439
+ variant="icon-tertiary"
1440
+ aria-label="refresh"
1441
+ id="testbutton"
1442
+ loading
1443
+ >
1444
+ <svg
1445
+ xmlns="http://www.w3.org/2000/svg"
1446
+ height="24px"
1447
+ viewBox="0 0 24 24"
1448
+ width="24px"
1449
+ fill="#000000"
1450
+ >
1451
+ <path d="M0 0h24v24H0V0z" fill="none" />
1452
+ <path
1453
+ 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"
1454
+ />
1455
+ </svg>
1456
+ </ic-button>
1457
+ <ic-button
1458
+ variant="icon-destructive"
1459
+ aria-label="refresh"
1460
+ id="testbutton"
1461
+ loading
1462
+ >
1463
+ <svg
1464
+ xmlns="http://www.w3.org/2000/svg"
1465
+ height="24px"
1466
+ viewBox="0 0 24 24"
1467
+ width="24px"
1468
+ fill="#000000"
1469
+ >
1470
+ <path d="M0 0h24v24H0V0z" fill="none" />
1471
+ <path
1472
+ 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"
1473
+ />
1474
+ </svg>
1475
+ </ic-button>
1476
+ </div>
1477
+ </div>
1478
+ <div>
1479
+ <h1>Disabled</h1>
1480
+ <div style="display:flex; gap: 0.5rem">
1481
+ <ic-button
1482
+ variant="icon-primary"
1483
+ aria-label="refresh"
1484
+ id="testbutton"
1485
+ disabled
1486
+ >
1487
+ <svg
1488
+ xmlns="http://www.w3.org/2000/svg"
1489
+ height="24px"
1490
+ viewBox="0 0 24 24"
1491
+ width="24px"
1492
+ fill="#000000"
1493
+ >
1494
+ <path d="M0 0h24v24H0V0z" fill="none" />
1495
+ <path
1496
+ 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"
1497
+ />
1498
+ </svg>
1499
+ </ic-button>
1500
+ <ic-button
1501
+ variant="icon-secondary"
1502
+ aria-label="refresh"
1503
+ id="testbutton"
1504
+ disabled
1505
+ >
1506
+ <svg
1507
+ xmlns="http://www.w3.org/2000/svg"
1508
+ height="24px"
1509
+ viewBox="0 0 24 24"
1510
+ width="24px"
1511
+ fill="#000000"
1512
+ >
1513
+ <path d="M0 0h24v24H0V0z" fill="none" />
1514
+ <path
1515
+ 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"
1516
+ />
1517
+ </svg>
1518
+ </ic-button>
1519
+ <ic-button
1520
+ variant="icon-tertiary"
1521
+ aria-label="refresh"
1522
+ id="testbutton"
1523
+ disabled
1524
+ >
1525
+ <svg
1526
+ xmlns="http://www.w3.org/2000/svg"
1527
+ height="24px"
1528
+ viewBox="0 0 24 24"
1529
+ width="24px"
1530
+ fill="#000000"
1531
+ >
1532
+ <path d="M0 0h24v24H0V0z" fill="none" />
1533
+ <path
1534
+ 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"
1535
+ />
1536
+ </svg>
1537
+ </ic-button>
1538
+ <ic-button
1539
+ variant="icon-destructive"
1540
+ aria-label="refresh"
1541
+ id="testbutton"
1542
+ disabled
1543
+ >
1544
+ <svg
1545
+ xmlns="http://www.w3.org/2000/svg"
1546
+ height="24px"
1547
+ viewBox="0 0 24 24"
1548
+ width="24px"
1549
+ fill="#000000"
1550
+ >
1551
+ <path d="M0 0h24v24H0V0z" fill="none" />
1552
+ <path
1553
+ 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"
1554
+ />
1555
+ </svg>
1556
+ </ic-button>
1557
+ </div>
1558
+ </div>
1559
+ <div>
1560
+ <h1>Light</h1>
1561
+ <div
1562
+ style="background-color:#2c2f34; padding:6px 10px; width:fit-content"
1563
+ >
1564
+ <ic-button
1565
+ variant="icon-primary"
1566
+ aria-label="refresh"
1567
+ id="testbutton"
1568
+ appearance="light"
1569
+ >
1570
+ <svg
1571
+ xmlns="http://www.w3.org/2000/svg"
1572
+ height="24px"
1573
+ viewBox="0 0 24 24"
1574
+ width="24px"
1575
+ fill="#000000"
1576
+ >
1577
+ <path d="M0 0h24v24H0V0z" fill="none" />
1578
+ <path
1579
+ 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"
1580
+ />
1581
+ </svg>
1582
+ </ic-button>
1583
+ <ic-button
1584
+ variant="icon-secondary"
1585
+ aria-label="refresh"
1586
+ id="testbutton"
1587
+ appearance="light"
1588
+ >
1589
+ <svg
1590
+ xmlns="http://www.w3.org/2000/svg"
1591
+ height="24px"
1592
+ viewBox="0 0 24 24"
1593
+ width="24px"
1594
+ fill="#000000"
1595
+ >
1596
+ <path d="M0 0h24v24H0V0z" fill="none" />
1597
+ <path
1598
+ 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"
1599
+ />
1600
+ </svg>
1601
+ </ic-button>
1602
+ <ic-button
1603
+ variant="icon-tertiary"
1604
+ aria-label="refresh"
1605
+ id="testbutton"
1606
+ appearance="light"
1607
+ >
1608
+ <svg
1609
+ xmlns="http://www.w3.org/2000/svg"
1610
+ height="24px"
1611
+ viewBox="0 0 24 24"
1612
+ width="24px"
1613
+ fill="#000000"
1614
+ >
1615
+ <path d="M0 0h24v24H0V0z" fill="none" />
1616
+ <path
1617
+ 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"
1618
+ />
1619
+ </svg>
1620
+ </ic-button>
1621
+ <ic-button
1622
+ variant="icon-destructive"
1623
+ aria-label="refresh"
1624
+ id="testbutton"
1625
+ appearance="light"
1626
+ >
1627
+ <svg
1628
+ xmlns="http://www.w3.org/2000/svg"
1629
+ height="24px"
1630
+ viewBox="0 0 24 24"
1631
+ width="24px"
1632
+ fill="#000000"
1633
+ >
1634
+ <path d="M0 0h24v24H0V0z" fill="none" />
1635
+ <path
1636
+ 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"
1637
+ />
1638
+ </svg>
1639
+ </ic-button>
1640
+ </div>
1641
+ </div>
1642
+ <div>
1643
+ <h1>Light Loading</h1>
1644
+ <div
1645
+ style="background-color:#2c2f34; padding:6px 10px; width:fit-content"
1646
+ >
1647
+ <ic-button
1648
+ variant="icon-primary"
1649
+ aria-label="refresh"
1650
+ id="testbutton"
1651
+ appearance="light"
1652
+ loading
1653
+ >
1654
+ <svg
1655
+ xmlns="http://www.w3.org/2000/svg"
1656
+ height="24px"
1657
+ viewBox="0 0 24 24"
1658
+ width="24px"
1659
+ fill="#000000"
1660
+ >
1661
+ <path d="M0 0h24v24H0V0z" fill="none" />
1662
+ <path
1663
+ 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"
1664
+ />
1665
+ </svg>
1666
+ </ic-button>
1667
+ <ic-button
1668
+ variant="icon-secondary"
1669
+ aria-label="refresh"
1670
+ id="testbutton"
1671
+ appearance="light"
1672
+ loading
1673
+ >
1674
+ <svg
1675
+ xmlns="http://www.w3.org/2000/svg"
1676
+ height="24px"
1677
+ viewBox="0 0 24 24"
1678
+ width="24px"
1679
+ fill="#000000"
1680
+ >
1681
+ <path d="M0 0h24v24H0V0z" fill="none" />
1682
+ <path
1683
+ 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"
1684
+ />
1685
+ </svg>
1686
+ </ic-button>
1687
+ <ic-button
1688
+ variant="icon-tertiary"
1689
+ aria-label="refresh"
1690
+ id="testbutton"
1691
+ appearance="light"
1692
+ loading
1693
+ >
1694
+ <svg
1695
+ xmlns="http://www.w3.org/2000/svg"
1696
+ height="24px"
1697
+ viewBox="0 0 24 24"
1698
+ width="24px"
1699
+ fill="#000000"
1700
+ >
1701
+ <path d="M0 0h24v24H0V0z" fill="none" />
1702
+ <path
1703
+ 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"
1704
+ />
1705
+ </svg>
1706
+ </ic-button>
1707
+ <ic-button
1708
+ variant="icon-destructive"
1709
+ aria-label="refresh"
1710
+ id="testbutton"
1711
+ appearance="light"
1712
+ loading
1713
+ >
1714
+ <svg
1715
+ xmlns="http://www.w3.org/2000/svg"
1716
+ height="24px"
1717
+ viewBox="0 0 24 24"
1718
+ width="24px"
1719
+ fill="#000000"
1720
+ >
1721
+ <path d="M0 0h24v24H0V0z" fill="none" />
1722
+ <path
1723
+ 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"
1724
+ />
1725
+ </svg>
1726
+ </ic-button>
1727
+ </div>
1728
+ </div>
1729
+ <div>
1730
+ <h1>Dark</h1>
1731
+ <div>
1732
+ <ic-button
1733
+ variant="icon-primary"
1734
+ aria-label="refresh"
1735
+ id="testbutton"
1736
+ appearance="dark"
1737
+ >
1738
+ <svg
1739
+ xmlns="http://www.w3.org/2000/svg"
1740
+ height="24px"
1741
+ viewBox="0 0 24 24"
1742
+ width="24px"
1743
+ fill="#000000"
1744
+ >
1745
+ <path d="M0 0h24v24H0V0z" fill="none" />
1746
+ <path
1747
+ 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"
1748
+ />
1749
+ </svg>
1750
+ </ic-button>
1751
+ <ic-button
1752
+ variant="icon-secondary"
1753
+ aria-label="refresh"
1754
+ id="testbutton"
1755
+ appearance="dark"
1756
+ >
1757
+ <svg
1758
+ xmlns="http://www.w3.org/2000/svg"
1759
+ height="24px"
1760
+ viewBox="0 0 24 24"
1761
+ width="24px"
1762
+ fill="#000000"
1763
+ >
1764
+ <path d="M0 0h24v24H0V0z" fill="none" />
1765
+ <path
1766
+ 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"
1767
+ />
1768
+ </svg>
1769
+ </ic-button>
1770
+ <ic-button
1771
+ variant="icon-tertiary"
1772
+ aria-label="refresh"
1773
+ id="testbutton"
1774
+ appearance="dark"
1775
+ >
1776
+ <svg
1777
+ xmlns="http://www.w3.org/2000/svg"
1778
+ height="24px"
1779
+ viewBox="0 0 24 24"
1780
+ width="24px"
1781
+ fill="#000000"
1782
+ >
1783
+ <path d="M0 0h24v24H0V0z" fill="none" />
1784
+ <path
1785
+ 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"
1786
+ />
1787
+ </svg>
1788
+ </ic-button>
1789
+ <ic-button
1790
+ variant="icon-destructive"
1791
+ aria-label="refresh"
1792
+ id="testbutton"
1793
+ appearance="dark"
1794
+ >
1795
+ <svg
1796
+ xmlns="http://www.w3.org/2000/svg"
1797
+ height="24px"
1798
+ viewBox="0 0 24 24"
1799
+ width="24px"
1800
+ fill="#000000"
1801
+ >
1802
+ <path d="M0 0h24v24H0V0z" fill="none" />
1803
+ <path
1804
+ 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"
1805
+ />
1806
+ </svg>
1807
+ </ic-button>
1808
+ </div>
1809
+ </div>
1810
+ <div>
1811
+ <h1>Dark Loading</h1>
1812
+ <div>
1813
+ <ic-button
1814
+ variant="icon-primary"
1815
+ aria-label="refresh"
1816
+ id="testbutton"
1817
+ appearance="dark"
1818
+ loading
1819
+ >
1820
+ <svg
1821
+ xmlns="http://www.w3.org/2000/svg"
1822
+ height="24px"
1823
+ viewBox="0 0 24 24"
1824
+ width="24px"
1825
+ fill="#000000"
1826
+ >
1827
+ <path d="M0 0h24v24H0V0z" fill="none" />
1828
+ <path
1829
+ 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"
1830
+ />
1831
+ </svg>
1832
+ </ic-button>
1833
+ <ic-button
1834
+ variant="icon-secondary"
1835
+ aria-label="refresh"
1836
+ id="testbutton"
1837
+ appearance="dark"
1838
+ loading
1839
+ >
1840
+ <svg
1841
+ xmlns="http://www.w3.org/2000/svg"
1842
+ height="24px"
1843
+ viewBox="0 0 24 24"
1844
+ width="24px"
1845
+ fill="#000000"
1846
+ >
1847
+ <path d="M0 0h24v24H0V0z" fill="none" />
1848
+ <path
1849
+ 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"
1850
+ />
1851
+ </svg>
1852
+ </ic-button>
1853
+ <ic-button
1854
+ variant="icon-tertiary"
1855
+ aria-label="refresh"
1856
+ id="testbutton"
1857
+ appearance="dark"
1858
+ loading
1859
+ >
1860
+ <svg
1861
+ xmlns="http://www.w3.org/2000/svg"
1862
+ height="24px"
1863
+ viewBox="0 0 24 24"
1864
+ width="24px"
1865
+ fill="#000000"
1866
+ >
1867
+ <path d="M0 0h24v24H0V0z" fill="none" />
1868
+ <path
1869
+ 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"
1870
+ />
1871
+ </svg>
1872
+ </ic-button>
1873
+ <ic-button
1874
+ variant="icon-destructive"
1875
+ aria-label="refresh"
1876
+ id="testbutton"
1877
+ appearance="dark"
1878
+ loading
1879
+ >
1880
+ <svg
1881
+ xmlns="http://www.w3.org/2000/svg"
1882
+ height="24px"
1883
+ viewBox="0 0 24 24"
1884
+ width="24px"
1885
+ fill="#000000"
1886
+ >
1887
+ <path d="M0 0h24v24H0V0z" fill="none" />
1888
+ <path
1889
+ 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"
1890
+ />
1891
+ </svg>
1892
+ </ic-button>
1893
+ </div>
1894
+ </div>
1895
+ </div>`,
1896
+
1897
+ name: "Icon variants",
1898
+ };
1899
+
1900
+ export const Tooltips = {
1901
+ render: () =>
1902
+ html`<ic-button
1903
+ variant="icon"
1904
+ aria-label="refresh"
1905
+ title="aria label sets the icon button's accessible name, title adds a tooltip"
1906
+ id="testbutton"
1907
+ ><svg
1908
+ xmlns="http://www.w3.org/2000/svg"
1909
+ height="24px"
1910
+ viewBox="0 0 24 24"
1911
+ width="24px"
1912
+ fill="#000000"
1913
+ >
1914
+ <path d="M0 0h24v24H0V0z" fill="none" />
1915
+ <path
1916
+ 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"
1917
+ /></svg
1918
+ ></ic-button>
1919
+ <ic-button
1920
+ variant="icon"
1921
+ aria-label="you can disable tooltips on icon buttons"
1922
+ disable-tooltip="true"
1923
+ id="testbutton"
1924
+ ><svg
1925
+ xmlns="http://www.w3.org/2000/svg"
1926
+ height="24px"
1927
+ viewBox="0 0 24 24"
1928
+ width="24px"
1929
+ fill="#000000"
1930
+ >
1931
+ <path d="M0 0h24v24H0V0z" fill="none" />
1932
+ <path
1933
+ 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"
1934
+ /></svg
1935
+ ></ic-button>
1936
+ <ic-button
1937
+ variant="primary"
1938
+ id="testbutton2"
1939
+ title="We can add tooltips to text buttons"
1940
+ >Button With Title</ic-button
1941
+ >
1942
+ <ic-button
1943
+ variant="primary"
1944
+ id="testbutton2"
1945
+ title="the tooltipPlacement prop allows us to change the location of the tooltip"
1946
+ tooltip-placement="right"
1947
+ >Different positions</ic-button
1948
+ >`,
1949
+
1950
+ name: "Tooltips",
1951
+ };
1952
+
1953
+ const inlineRadioSelector = "inline-radio";
1954
+
1955
+ export const Playground = {
1956
+ render: (args) =>
1957
+ html`<ic-button
1958
+ disabled=${args.disabled}
1959
+ variant=${args.variant}
1960
+ full-width=${args.fullWidth}
1961
+ size=${args.size}
1962
+ loading=${args.loading}
1963
+ appearance=${args.appearance}
1964
+ >${args.message}</ic-button
1965
+ >`,
1966
+
1967
+ args: defaultArgs,
1968
+
1969
+ argTypes: {
1970
+ variant: {
1971
+ options: ["primary", "secondary", "tertiary", "destructive"],
1972
+
1973
+ control: {
1974
+ type: "select",
1975
+ },
1976
+ },
1977
+
1978
+ size: {
1979
+ options: ["default", "large", "small"],
1980
+
1981
+ control: {
1982
+ type: inlineRadioSelector,
1983
+ },
1984
+ },
1985
+
1986
+ appearance: {
1987
+ options: ["default", "dark", "light"],
1988
+
1989
+ control: {
1990
+ type: inlineRadioSelector,
1991
+ },
1992
+ },
1993
+
1994
+ fullWidth: {
1995
+ control: {
1996
+ type: "boolean",
1997
+ },
1998
+ },
1999
+ },
2000
+
2001
+ name: "Playground",
2002
+ };
2003
+
2004
+ export const PlaygroundWithIcon = {
2005
+ render: (args) =>
2006
+ html`<ic-button
2007
+ disabled=${args.disabled}
2008
+ variant=${args.variant}
2009
+ size=${args.size}
2010
+ full-width=${args.fullWidth}
2011
+ loading=${args.loading}
2012
+ appearance=${args.appearance}
2013
+ >${args.message}
2014
+ <svg
2015
+ slot=${args.iconPlacement}
2016
+ xmlns="http://www.w3.org/2000/svg"
2017
+ height="24px"
2018
+ viewBox="0 0 24 24"
2019
+ width="24px"
2020
+ fill="#000000"
2021
+ >
2022
+ <path d="M0 0h24v24H0V0z" fill="none" />
2023
+ <path
2024
+ 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"
2025
+ /></svg
2026
+ ></ic-button>`,
2027
+
2028
+ args: {
2029
+ ...defaultArgs,
2030
+ },
2031
+
2032
+ argTypes: {
2033
+ variant: {
2034
+ options: ["primary", "secondary", "tertiary", "destructive"],
2035
+
2036
+ control: {
2037
+ type: "select",
2038
+ },
2039
+ },
2040
+
2041
+ size: {
2042
+ options: ["default", "large", "small"],
2043
+
2044
+ control: {
2045
+ type: inlineRadioSelector,
2046
+ },
2047
+ },
2048
+
2049
+ appearance: {
2050
+ options: ["default", "dark", "light"],
2051
+
2052
+ control: {
2053
+ type: inlineRadioSelector,
2054
+ },
2055
+ },
2056
+
2057
+ fullWidth: {
2058
+ control: {
2059
+ type: "boolean",
2060
+ },
2061
+ },
2062
+
2063
+ iconPlacement: {
2064
+ options: ["left-icon", "right-icon"],
2065
+
2066
+ control: {
2067
+ type: inlineRadioSelector,
2068
+ },
2069
+ },
2070
+ },
2071
+
2072
+ name: "Playground with icon",
2073
+ };
2074
+
2075
+ export const Loading = {
2076
+ render: () => html`
2077
+ <div style="padding: 6px">
2078
+ <ic-button variant="primary" loading onclick="alert('test')"
2079
+ >Button</ic-button
2080
+ >
2081
+ </div>
2082
+ <div style="padding: 6px">
2083
+ <ic-button
2084
+ variant="primary"
2085
+ loading
2086
+ appearance="dark"
2087
+ onclick="alert('test')"
2088
+ >Button</ic-button
2089
+ >
2090
+ </div>
2091
+ <div style="background-color:#2c2f34; padding:6px 10px; width:fit-content">
2092
+ <ic-button variant="primary" loading appearance="light">Button</ic-button>
2093
+ </div>
2094
+ <div style="padding: 6px">
2095
+ <ic-button variant="secondary" loading>Button</ic-button>
2096
+ </div>
2097
+ <div style="padding: 6px">
2098
+ <ic-button variant="secondary" loading appearance="dark"
2099
+ >Button</ic-button
2100
+ >
2101
+ </div>
2102
+ <div style="background-color:#2c2f34; padding:6px 10px; width:fit-content">
2103
+ <ic-button variant="secondary" loading appearance="light"
2104
+ >Button</ic-button
2105
+ >
2106
+ </div>
2107
+ <div style="padding: 6px">
2108
+ <ic-button variant="tertiary" loading>Button</ic-button>
2109
+ </div>
2110
+ <div style="padding: 6px">
2111
+ <ic-button variant="tertiary" loading appearance="dark">Button</ic-button>
2112
+ </div>
2113
+ <div style="background-color:#2c2f34; padding:6px 10px; width:fit-content">
2114
+ <ic-button variant="tertiary" loading appearance="light"
2115
+ >Button</ic-button
2116
+ >
2117
+ </div>
2118
+ <ic-button variant="destructive" loading>Button</ic-button>
2119
+ `,
2120
+
2121
+ name: "Loading",
2122
+ };
2123
+
2124
+ export const AriaDescribedby = {
2125
+ render: () => html`
2126
+ <script>
2127
+ function btnClick() {
2128
+ var descEl = document.querySelector("#button-description");
2129
+ descEl.innerText = "See, I told you it was amazing!";
2130
+ }
2131
+ </script>
2132
+ <div style="padding: 6px">
2133
+ <span id="button-description">This button does something amazing</span>
2134
+ <br />
2135
+ <ic-button
2136
+ variant="primary"
2137
+ onclick="btnClick()"
2138
+ aria-describedby="button-description"
2139
+ >Button</ic-button
2140
+ >
2141
+ </div>
2142
+ `,
2143
+
2144
+ name: "Aria-describedby",
2145
+ };
2146
+
2147
+ export const FileUploadInAForm = {
2148
+ render: (args) => html`
2149
+ <form method="POST" action="someurl" enctype="multipart/form-data">
2150
+ <span id="selected-file">No File Selected</span>
2151
+ <div style="padding: 6px">
2152
+ <ic-button
2153
+ variant="primary"
2154
+ id="file-button"
2155
+ multiple="true"
2156
+ file-upload="true"
2157
+ accept=".doc, text/plain, .json"
2158
+ >Upload File true</ic-button
2159
+ >
2160
+ </div>
2161
+ <br />
2162
+ <br />
2163
+ <input type="submit" value="Submit" />
2164
+ <input type="reset" value="Reset" />
2165
+ </form>
2166
+ <script>
2167
+ var descEl = document.querySelector("#selected-file");
2168
+ var file;
2169
+ onclick = document
2170
+ .querySelector("#file-button")
2171
+ .addEventListener("icFileSelection", (ev) => {
2172
+ const fileArray = ev.detail;
2173
+ const fileList = [];
2174
+ Array.from(fileArray).forEach((file) => {
2175
+ fileList.push(file.name);
2176
+ });
2177
+ descEl.innerText = "Files Selected: " + fileList.join(", ");
2178
+ file = ev;
2179
+ });
2180
+ document.querySelector("form").addEventListener("submit", (ev) => {
2181
+ if (file == undefined) return;
2182
+ });
2183
+ </script>
2184
+ `,
2185
+
2186
+ name: "File upload in a form",
2187
+ };
2188
+
2189
+ export const FileUpload = {
2190
+ render: (args) => html`
2191
+ <span id="selected-file">No File Selected</span>
2192
+ <div style="padding: 6px">
2193
+ <ic-button
2194
+ variant="primary"
2195
+ id="file-button"
2196
+ file-upload="true"
2197
+ accept=".doc, text/plain, .json"
2198
+ >Upload File true</ic-button
2199
+ >
2200
+ </div>
2201
+ <script>
2202
+ var descEl = document.querySelector("#selected-file");
2203
+ var file;
2204
+ onclick = document
2205
+ .querySelector("#file-button")
2206
+ .addEventListener("icFileSelection", (ev) => {
2207
+ const fileArray = ev.detail;
2208
+ const fileList = [];
2209
+ Array.from(fileArray).forEach((file) => {
2210
+ fileList.push(file.name);
2211
+ });
2212
+ descEl.innerText = "Files Selected: " + fileList.join(", ");
2213
+ });
2214
+ </script>
2215
+ `,
2216
+
2217
+ name: "File upload",
2218
+ };