@reshape-biotech/design-system 2.6.5 → 2.7.0

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 (75) hide show
  1. package/dist/components/activity/Activity.stories.svelte +7 -2
  2. package/dist/components/activity/Activity.svelte +6 -48
  3. package/dist/components/activity/Activity.svelte.d.ts +2 -2
  4. package/dist/components/activity/ActivityIcon.svelte +75 -0
  5. package/dist/components/activity/ActivityIcon.svelte.d.ts +10 -0
  6. package/dist/components/banner/Banner.stories.svelte +46 -9
  7. package/dist/components/banner/Banner.svelte +3 -2
  8. package/dist/components/checkbox/Checkbox.svelte +5 -3
  9. package/dist/components/collapsible/components/collapsible-trigger.svelte +3 -2
  10. package/dist/components/combobox/Combobox.stories.svelte +18 -4
  11. package/dist/components/combobox/components/combobox-add.svelte +3 -2
  12. package/dist/components/combobox/components/combobox-content.svelte +5 -3
  13. package/dist/components/combobox/components/combobox-indicator.svelte +3 -2
  14. package/dist/components/datepicker/DatePicker.stories.svelte +12 -3
  15. package/dist/components/datepicker/DatePicker.svelte +5 -3
  16. package/dist/components/drawer/components/drawer-content.svelte +3 -2
  17. package/dist/components/empty-content/EmptyContent.stories.svelte +13 -15
  18. package/dist/components/graphs/bar-chart/BarChart.svelte +1 -1
  19. package/dist/components/graphs/bar-chart/BarChart.svelte.d.ts +1 -1
  20. package/dist/components/graphs/bar-chart/StackedBarChart.svelte +1 -2
  21. package/dist/components/graphs/bar-chart/StackedBarChart.svelte.d.ts +1 -1
  22. package/dist/components/graphs/chart/Chart.svelte +16 -7
  23. package/dist/components/graphs/chart/Chart.svelte.d.ts +1 -1
  24. package/dist/components/graphs/line/LineChart.stories.svelte +1 -1
  25. package/dist/components/graphs/line/LineChart.svelte +1 -2
  26. package/dist/components/graphs/line/types.d.ts +1 -1
  27. package/dist/components/graphs/multiline/MultiLineChart.stories.svelte +1 -1
  28. package/dist/components/graphs/multiline/MultiLineChart.svelte +7 -4
  29. package/dist/components/graphs/multiline/MultiLineChart.svelte.d.ts +1 -1
  30. package/dist/components/graphs/multiline/types.d.ts +1 -1
  31. package/dist/components/graphs/scatterplot/Scatterplot.svelte +8 -4
  32. package/dist/components/graphs/scatterplot/Scatterplot.svelte.d.ts +5 -2
  33. package/dist/components/graphs/utils/tooltipFormatter.d.ts +1 -1
  34. package/dist/components/icon-button/IconButton.stories.svelte +17 -49
  35. package/dist/components/icons/AnalysisIcon.svelte +10 -6
  36. package/dist/components/icons/Icon.stories.svelte +19 -37
  37. package/dist/components/icons/Icon.svelte +46 -13
  38. package/dist/components/icons/Icon.svelte.d.ts +21 -2
  39. package/dist/components/icons/PrincipalIcon.svelte +25 -5
  40. package/dist/components/icons/PrincipalIcon.svelte.d.ts +2 -1
  41. package/dist/components/icons/index.d.ts +3 -10
  42. package/dist/components/icons/index.js +2 -253
  43. package/dist/components/input/Input.svelte +3 -2
  44. package/dist/components/legend/Legend.stories.svelte +13 -3
  45. package/dist/components/list/List.stories.svelte +12 -3
  46. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte +6 -3
  47. package/dist/components/modal/Modal.stories.svelte +6 -1
  48. package/dist/components/modal/components/modal-content.svelte +3 -2
  49. package/dist/components/multi-cfu-counter/MultiCFUCounter.svelte +8 -4
  50. package/dist/components/notification-popup/NotificationPopup.stories.svelte +7 -2
  51. package/dist/components/notification-popup/NotificationPopup.svelte +3 -2
  52. package/dist/components/notifications/Notifications.stories.svelte +11 -11
  53. package/dist/components/pill/Pill.svelte +3 -2
  54. package/dist/components/required-status-indicator/RequiredStatusIndicator.svelte +4 -3
  55. package/dist/components/segmented-control-buttons/SegmentedControlButtons.stories.svelte +59 -10
  56. package/dist/components/select/components/MultiSelectTrigger.svelte +4 -6
  57. package/dist/components/select/components/MultiSelectTrigger.svelte.d.ts +0 -2
  58. package/dist/components/select/components/SelectContent.svelte +5 -3
  59. package/dist/components/select/components/SelectItem.svelte +3 -2
  60. package/dist/components/select/components/SelectTrigger.svelte +3 -2
  61. package/dist/components/slider/Slider.svelte +3 -2
  62. package/dist/components/stat-card/StatCard.svelte +5 -3
  63. package/dist/components/status-badge/StatusBadge.stories.svelte +132 -26
  64. package/dist/components/stepper/components/stepper-step.svelte +3 -2
  65. package/dist/components/table/Table.stories.svelte +7 -2
  66. package/dist/components/tag/Tag.stories.svelte +7 -2
  67. package/dist/components/toast/Toast.svelte +26 -6
  68. package/dist/components/toggle-icon-button/ToggleIconButton.stories.svelte +112 -23
  69. package/dist/echarts-config.d.ts +5 -0
  70. package/dist/echarts-config.js +33 -0
  71. package/dist/index.d.ts +3 -0
  72. package/dist/index.js +3 -0
  73. package/dist/notifications.d.ts +6 -7
  74. package/dist/notifications.js +2 -1
  75. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  <script module lang="ts">
2
- import { Icon } from '../icons';
2
+ import Star from 'phosphor-svelte/lib/Star';
3
+ import { Icon } from 'design-system';
3
4
  import SegmentedControlButtons from './SegmentedControlButtons.svelte';
4
5
  import { defineMeta } from '@storybook/addon-svelte-csf';
5
6
 
@@ -13,18 +14,54 @@
13
14
  <Story name="Primary" asChild>
14
15
  <SegmentedControlButtons class="w-[350px]">
15
16
  {#snippet children({ ControlButton })}
16
- <ControlButton active><Icon iconName="Star" /> Low</ControlButton>
17
- <ControlButton><Icon iconName="Star" /> Medium</ControlButton>
18
- <ControlButton disabled><Icon iconName="Star" /> High</ControlButton>
17
+ <ControlButton active
18
+ ><Icon>
19
+ {#snippet children(props)}
20
+ <Star {...props} />
21
+ {/snippet}
22
+ </Icon> Low</ControlButton
23
+ >
24
+ <ControlButton
25
+ ><Icon>
26
+ {#snippet children(props)}
27
+ <Star {...props} />
28
+ {/snippet}
29
+ </Icon> Medium</ControlButton
30
+ >
31
+ <ControlButton disabled
32
+ ><Icon>
33
+ {#snippet children(props)}
34
+ <Star {...props} />
35
+ {/snippet}
36
+ </Icon> High</ControlButton
37
+ >
19
38
  {/snippet}
20
39
  </SegmentedControlButtons>
21
40
  </Story>
22
41
  <Story name="Large" asChild>
23
42
  <SegmentedControlButtons size="lg" class="w-[350px]">
24
43
  {#snippet children({ ControlButton })}
25
- <ControlButton active><Icon iconName="Star" /> Low</ControlButton>
26
- <ControlButton><Icon iconName="Star" /> Medium</ControlButton>
27
- <ControlButton disabled><Icon iconName="Star" /> High</ControlButton>
44
+ <ControlButton active
45
+ ><Icon>
46
+ {#snippet children(props)}
47
+ <Star {...props} />
48
+ {/snippet}
49
+ </Icon> Low</ControlButton
50
+ >
51
+ <ControlButton
52
+ ><Icon>
53
+ {#snippet children(props)}
54
+ <Star {...props} />
55
+ {/snippet}
56
+ </Icon> Medium</ControlButton
57
+ >
58
+ <ControlButton disabled
59
+ ><Icon>
60
+ {#snippet children(props)}
61
+ <Star {...props} />
62
+ {/snippet}
63
+ </Icon> High</ControlButton
64
+ >
28
65
  {/snippet}
29
66
  </SegmentedControlButtons>
30
67
  </Story>
@@ -32,13 +69,25 @@
32
69
  <SegmentedControlButtons class="w-[350px]">
33
70
  {#snippet children({ ControlButton })}
34
71
  <ControlButton active color="secondary">
35
- <Icon iconName="Star" /> Low
72
+ <Icon>
73
+ {#snippet children(props)}
74
+ <Star {...props} />
75
+ {/snippet}
76
+ </Icon> Low
36
77
  </ControlButton>
37
78
  <ControlButton color="secondary">
38
- <Icon iconName="Star" /> Medium
79
+ <Icon>
80
+ {#snippet children(props)}
81
+ <Star {...props} />
82
+ {/snippet}
83
+ </Icon> Medium
39
84
  </ControlButton>
40
85
  <ControlButton color="secondary">
41
- <Icon iconName="Star" /> High
86
+ <Icon>
87
+ {#snippet children(props)}
88
+ <Star {...props} />
89
+ {/snippet}
90
+ </Icon> High
42
91
  </ControlButton>
43
92
  {/snippet}
44
93
  </SegmentedControlButtons>
@@ -1,12 +1,12 @@
1
1
  <script lang="ts">
2
+ import X from 'phosphor-svelte/lib/X';
3
+ import Icon from '../../icons/Icon.svelte';
2
4
  import * as Select from '../index';
3
- import { Icon, type IconName } from '../../icons';
4
5
  import IconButton from '../../icon-button/IconButton.svelte';
5
6
 
6
7
  type ItemType = {
7
8
  value: string;
8
9
  label: string;
9
- iconName?: IconName | string;
10
10
  disabled?: boolean;
11
11
  };
12
12
 
@@ -45,9 +45,7 @@
45
45
  class="flex h-7 w-fit items-center gap-1 rounded-md bg-neutral py-0.5 pl-2 pr-0.5 text-sm"
46
46
  aria-label={`Selected item ${item.label}`}
47
47
  >
48
- {#if item.iconName}
49
- <Icon iconName={item.iconName as IconName} color="secondary" />
50
- {/if}
48
+ <!-- Icons not currently supported in multi-select items -->
51
49
  <span class:text-secondary={item.disabled}>{item.label}</span>
52
50
  {#if !item.disabled}
53
51
  <IconButton
@@ -59,7 +57,7 @@
59
57
  rounded={false}
60
58
  class="text-primary focus:outline-none"
61
59
  >
62
- <Icon iconName="X" color="tertiary" />
60
+ <Icon color="tertiary" icon={X} />
63
61
  </IconButton>
64
62
  {/if}
65
63
  </div>
@@ -1,8 +1,6 @@
1
- import { type IconName } from '../../icons';
2
1
  type ItemType = {
3
2
  value: string;
4
3
  label: string;
5
- iconName?: IconName | string;
6
4
  disabled?: boolean;
7
5
  };
8
6
  interface Props {
@@ -1,9 +1,11 @@
1
1
  <script lang="ts">
2
+ import CaretUp from 'phosphor-svelte/lib/CaretUp';
3
+ import CaretDown from 'phosphor-svelte/lib/CaretDown';
4
+ import { Icon } from 'design-system';
2
5
  import { Select as SelectPrimitive } from 'bits-ui';
3
6
  import type { ContentProps } from '../types';
4
7
 
5
8
  import type { Snippet } from 'svelte';
6
- import Icon from '../../icons/Icon.svelte';
7
9
 
8
10
  interface Props extends ContentProps {
9
11
  children: Snippet;
@@ -21,13 +23,13 @@
21
23
  <SelectPrimitive.Portal>
22
24
  <SelectPrimitive.Content {...restProps} {sideOffset} class={baseClasses + ' ' + className}>
23
25
  <SelectPrimitive.ScrollUpButton class="flex justify-center">
24
- <Icon iconName="CaretUp" color="tertiary" />
26
+ <Icon color="tertiary" icon={CaretUp} />
25
27
  </SelectPrimitive.ScrollUpButton>
26
28
  <SelectPrimitive.Viewport class="p-1 ">
27
29
  {@render children()}
28
30
  </SelectPrimitive.Viewport>
29
31
  <SelectPrimitive.ScrollDownButton class="flex justify-center">
30
- <Icon iconName="CaretDown" color="tertiary" />
32
+ <Icon color="tertiary" icon={CaretDown} />
31
33
  </SelectPrimitive.ScrollDownButton>
32
34
  </SelectPrimitive.Content>
33
35
  </SelectPrimitive.Portal>
@@ -1,9 +1,10 @@
1
1
  <script lang="ts">
2
+ import Check from 'phosphor-svelte/lib/Check';
3
+ import { Icon } from 'design-system';
2
4
  import { Select as SelectPrimitive } from 'bits-ui';
3
5
  import type { ItemProps, ItemSlotProps } from '../types';
4
6
 
5
7
  import type { Snippet } from 'svelte';
6
- import Icon from '../../icons/Icon.svelte';
7
8
 
8
9
  interface Props extends ItemProps {
9
10
  children?: Snippet<[ItemSlotProps]>;
@@ -33,7 +34,7 @@
33
34
  >
34
35
  {/if}
35
36
  {#if params.selected}
36
- <Icon iconName="Check" color="accent" />
37
+ <Icon color="accent" icon={Check} />
37
38
  {/if}
38
39
  {/snippet}
39
40
  </SelectPrimitive.Item>
@@ -1,9 +1,10 @@
1
1
  <script lang="ts">
2
+ import CaretDown from 'phosphor-svelte/lib/CaretDown';
3
+ import { Icon } from 'design-system';
2
4
  import { Select as SelectPrimitive } from 'bits-ui';
3
5
  import type { TriggerProps, IconSnippet } from '../types';
4
6
 
5
7
  import type { Snippet } from 'svelte';
6
- import { Icon } from '../../icons';
7
8
 
8
9
  interface Props extends TriggerProps {
9
10
  TriggerIcon?: IconSnippet;
@@ -43,6 +44,6 @@
43
44
  {#if TriggerIcon}
44
45
  {@render TriggerIcon()}
45
46
  {:else}
46
- <Icon iconName="CaretDown" color="secondary" class="mx-1 shrink-0" />
47
+ <Icon color="secondary" class="mx-1 shrink-0" icon={CaretDown} />
47
48
  {/if}
48
49
  </SelectPrimitive.Trigger>
@@ -1,5 +1,6 @@
1
1
  <script lang="ts">
2
- import { Icon } from '../icons';
2
+ import CaretUpDown from 'phosphor-svelte/lib/CaretUpDown';
3
+ import { Icon } from 'design-system';
3
4
 
4
5
  let className = '';
5
6
  export { className as class };
@@ -66,7 +67,7 @@
66
67
  {disabled}
67
68
  />
68
69
  <div class="thumb-overlay" style="left: {calculatePosition(value)} + 0.5rem)">
69
- <Icon iconName="CaretUpDown" class="rotate-90" />
70
+ <Icon class="rotate-90" icon={CaretUpDown} />
70
71
  </div>
71
72
  </div>
72
73
 
@@ -1,6 +1,8 @@
1
1
  <script lang="ts">
2
+ import Info from 'phosphor-svelte/lib/Info';
3
+ import PencilSimple from 'phosphor-svelte/lib/PencilSimple';
4
+ import { Icon } from 'design-system';
2
5
  import IconButton from '../icon-button/IconButton.svelte';
3
- import { Icon } from '../icons';
4
6
  import Spinner from '../spinner/Spinner.svelte';
5
7
  import Tooltip from '../tooltip/Tooltip.svelte';
6
8
  import { Input } from '../input';
@@ -117,7 +119,7 @@
117
119
  {#if titleTooltip && showTitleTooltip}
118
120
  <Tooltip>
119
121
  {#snippet trigger()}
120
- <Icon iconName="Info" color="icon-tertiary" />
122
+ <Icon color="icon-tertiary" icon={Info} />
121
123
  {/snippet}
122
124
  {#snippet content()}
123
125
  <span>
@@ -156,7 +158,7 @@
156
158
  </div>
157
159
  {#if editable}
158
160
  <IconButton onclick={(e) => startEditing(e)} rounded={false}>
159
- <Icon iconName="PencilSimple" />
161
+ <Icon icon={PencilSimple} />
160
162
  </IconButton>
161
163
  {/if}
162
164
  {/if}
@@ -1,9 +1,15 @@
1
1
  <script module lang="ts">
2
+ import SpinnerGap from 'phosphor-svelte/lib/SpinnerGap';
3
+ import Moon from 'phosphor-svelte/lib/Moon';
4
+ import CheckCircle from 'phosphor-svelte/lib/CheckCircle';
5
+ import StopCircle from 'phosphor-svelte/lib/StopCircle';
6
+ import WifiSlash from 'phosphor-svelte/lib/WifiSlash';
7
+ import WarningCircle from 'phosphor-svelte/lib/WarningCircle';
8
+ import { Icon } from 'design-system';
2
9
  import StatusBadge from '../status-badge/StatusBadge.svelte';
3
10
  import Tooltip from '../tooltip/Tooltip.svelte';
4
11
  import ProgressCircle from '../progress-circle/ProgressCircle.svelte';
5
12
  import { defineMeta } from '@storybook/addon-svelte-csf';
6
- import { Icon } from '../icons';
7
13
 
8
14
  const { Story } = defineMeta({
9
15
  component: StatusBadge,
@@ -20,7 +26,11 @@
20
26
  <div class="flex flex-row gap-1">
21
27
  <StatusBadge type="neutral">
22
28
  {#snippet icon()}
23
- <Icon iconName="SpinnerGap" />
29
+ <Icon>
30
+ {#snippet children(props)}
31
+ <SpinnerGap {...props} />
32
+ {/snippet}
33
+ </Icon>
24
34
  {/snippet}
25
35
  {#snippet content()}
26
36
  <div>Pending</div>
@@ -28,14 +38,22 @@
28
38
  </StatusBadge>
29
39
  <StatusBadge type="neutral">
30
40
  {#snippet icon()}
31
- <Icon iconName="SpinnerGap" />
41
+ <Icon>
42
+ {#snippet children(props)}
43
+ <SpinnerGap {...props} />
44
+ {/snippet}
45
+ </Icon>
32
46
  {/snippet}
33
47
  </StatusBadge>
34
48
  </div>
35
49
  <div class="flex flex-row gap-1">
36
50
  <StatusBadge type="neutral">
37
51
  {#snippet icon()}
38
- <Icon iconName="Moon" />
52
+ <Icon>
53
+ {#snippet children(props)}
54
+ <Moon {...props} />
55
+ {/snippet}
56
+ </Icon>
39
57
  {/snippet}
40
58
  {#snippet content()}
41
59
  <div>Idle</div>
@@ -43,7 +61,11 @@
43
61
  </StatusBadge>
44
62
  <StatusBadge type="neutral">
45
63
  {#snippet icon()}
46
- <Icon iconName="Moon" />
64
+ <Icon>
65
+ {#snippet children(props)}
66
+ <Moon {...props} />
67
+ {/snippet}
68
+ </Icon>
47
69
  {/snippet}
48
70
  </StatusBadge>
49
71
  </div>
@@ -54,7 +76,11 @@
54
76
  <div class="flex flex-row gap-1">
55
77
  <StatusBadge type="neutral" size="sm">
56
78
  {#snippet icon()}
57
- <Icon iconName="SpinnerGap" />
79
+ <Icon>
80
+ {#snippet children(props)}
81
+ <SpinnerGap {...props} />
82
+ {/snippet}
83
+ </Icon>
58
84
  {/snippet}
59
85
  {#snippet content()}
60
86
  <div>Pending</div>
@@ -62,14 +88,22 @@
62
88
  </StatusBadge>
63
89
  <StatusBadge type="neutral" size="sm">
64
90
  {#snippet icon()}
65
- <Icon iconName="SpinnerGap" />
91
+ <Icon>
92
+ {#snippet children(props)}
93
+ <SpinnerGap {...props} />
94
+ {/snippet}
95
+ </Icon>
66
96
  {/snippet}
67
97
  </StatusBadge>
68
98
  </div>
69
99
  <div class="flex flex-row gap-1">
70
100
  <StatusBadge type="neutral" size="sm">
71
101
  {#snippet icon()}
72
- <Icon iconName="Moon" />
102
+ <Icon>
103
+ {#snippet children(props)}
104
+ <Moon {...props} />
105
+ {/snippet}
106
+ </Icon>
73
107
  {/snippet}
74
108
  {#snippet content()}
75
109
  <div>Idle</div>
@@ -77,7 +111,11 @@
77
111
  </StatusBadge>
78
112
  <StatusBadge type="neutral" size="sm">
79
113
  {#snippet icon()}
80
- <Icon iconName="Moon" />
114
+ <Icon>
115
+ {#snippet children(props)}
116
+ <Moon {...props} />
117
+ {/snippet}
118
+ </Icon>
81
119
  {/snippet}
82
120
  </StatusBadge>
83
121
  </div>
@@ -93,7 +131,11 @@
93
131
  <div>
94
132
  <StatusBadge type="success">
95
133
  {#snippet icon()}
96
- <Icon iconName="CheckCircle" />
134
+ <Icon>
135
+ {#snippet children(props)}
136
+ <CheckCircle {...props} />
137
+ {/snippet}
138
+ </Icon>
97
139
  {/snippet}
98
140
  {#snippet content()}
99
141
  <div>Completed</div>
@@ -110,7 +152,11 @@
110
152
  </Tooltip>
111
153
  <StatusBadge type="success">
112
154
  {#snippet icon()}
113
- <Icon iconName="CheckCircle" weight="fill" />
155
+ <Icon weight="fill">
156
+ {#snippet children(props)}
157
+ <CheckCircle {...props} />
158
+ {/snippet}
159
+ </Icon>
114
160
  {/snippet}
115
161
  </StatusBadge>
116
162
  </div>
@@ -120,7 +166,11 @@
120
166
  <div>
121
167
  <StatusBadge type="success">
122
168
  {#snippet icon()}
123
- <Icon iconName="StopCircle" />
169
+ <Icon>
170
+ {#snippet children(props)}
171
+ <StopCircle {...props} />
172
+ {/snippet}
173
+ </Icon>
124
174
  {/snippet}
125
175
  {#snippet content()}
126
176
  <div>Stopped</div>
@@ -137,7 +187,11 @@
137
187
  </Tooltip>
138
188
  <StatusBadge type="success">
139
189
  {#snippet icon()}
140
- <Icon iconName="StopCircle" />
190
+ <Icon>
191
+ {#snippet children(props)}
192
+ <StopCircle {...props} />
193
+ {/snippet}
194
+ </Icon>
141
195
  {/snippet}
142
196
  </StatusBadge>
143
197
  </div>
@@ -150,7 +204,11 @@
150
204
  {#snippet trigger()}
151
205
  <StatusBadge type="success" size="sm">
152
206
  {#snippet icon()}
153
- <Icon iconName="CheckCircle" weight="fill" />
207
+ <Icon weight="fill">
208
+ {#snippet children(props)}
209
+ <CheckCircle {...props} />
210
+ {/snippet}
211
+ </Icon>
154
212
  {/snippet}
155
213
  {#snippet content()}
156
214
  <div>Completed</div>
@@ -166,7 +224,11 @@
166
224
  </Tooltip>
167
225
  <StatusBadge type="success" size="sm">
168
226
  {#snippet icon()}
169
- <Icon iconName="CheckCircle" weight="fill" />
227
+ <Icon weight="fill">
228
+ {#snippet children(props)}
229
+ <CheckCircle {...props} />
230
+ {/snippet}
231
+ </Icon>
170
232
  {/snippet}
171
233
  </StatusBadge>
172
234
  </div>
@@ -175,7 +237,11 @@
175
237
  {#snippet trigger()}
176
238
  <StatusBadge type="success" size="sm">
177
239
  {#snippet icon()}
178
- <Icon iconName="StopCircle" />
240
+ <Icon>
241
+ {#snippet children(props)}
242
+ <StopCircle {...props} />
243
+ {/snippet}
244
+ </Icon>
179
245
  {/snippet}
180
246
  {#snippet content()}
181
247
  <div>Stopped</div>
@@ -191,7 +257,11 @@
191
257
  </Tooltip>
192
258
  <StatusBadge type="success" size="sm">
193
259
  {#snippet icon()}
194
- <Icon iconName="StopCircle" />
260
+ <Icon>
261
+ {#snippet children(props)}
262
+ <StopCircle {...props} />
263
+ {/snippet}
264
+ </Icon>
195
265
  {/snippet}
196
266
  </StatusBadge>
197
267
  </div>
@@ -275,7 +345,11 @@
275
345
  {#snippet trigger()}
276
346
  <StatusBadge type="warning">
277
347
  {#snippet icon()}
278
- <Icon iconName="WifiSlash" />
348
+ <Icon>
349
+ {#snippet children(props)}
350
+ <WifiSlash {...props} />
351
+ {/snippet}
352
+ </Icon>
279
353
  {/snippet}
280
354
  {#snippet content()}
281
355
  <div>Offline</div>
@@ -292,7 +366,11 @@
292
366
 
293
367
  <StatusBadge type="warning">
294
368
  {#snippet icon()}
295
- <Icon iconName="WifiSlash" />
369
+ <Icon>
370
+ {#snippet children(props)}
371
+ <WifiSlash {...props} />
372
+ {/snippet}
373
+ </Icon>
296
374
  {/snippet}
297
375
  </StatusBadge>
298
376
  </div>
@@ -303,7 +381,11 @@
303
381
  {#snippet trigger()}
304
382
  <StatusBadge type="warning" size="sm">
305
383
  {#snippet icon()}
306
- <Icon iconName="WifiSlash" />
384
+ <Icon>
385
+ {#snippet children(props)}
386
+ <WifiSlash {...props} />
387
+ {/snippet}
388
+ </Icon>
307
389
  {/snippet}
308
390
  {#snippet content()}
309
391
  <div>Offline</div>
@@ -320,7 +402,11 @@
320
402
 
321
403
  <StatusBadge type="warning" size="sm">
322
404
  {#snippet icon()}
323
- <Icon iconName="WifiSlash" />
405
+ <Icon>
406
+ {#snippet children(props)}
407
+ <WifiSlash {...props} />
408
+ {/snippet}
409
+ </Icon>
324
410
  {/snippet}
325
411
  </StatusBadge>
326
412
  </div>
@@ -333,7 +419,11 @@
333
419
  {#snippet trigger()}
334
420
  <StatusBadge type="error">
335
421
  {#snippet icon()}
336
- <Icon iconName="WarningCircle" weight="fill" />
422
+ <Icon weight="fill">
423
+ {#snippet children(props)}
424
+ <WarningCircle {...props} />
425
+ {/snippet}
426
+ </Icon>
337
427
  {/snippet}
338
428
  {#snippet content()}
339
429
  <div>Failed</div>
@@ -350,7 +440,11 @@
350
440
 
351
441
  <StatusBadge type="error">
352
442
  {#snippet icon()}
353
- <Icon iconName="WarningCircle" weight="fill" />
443
+ <Icon weight="fill">
444
+ {#snippet children(props)}
445
+ <WarningCircle {...props} />
446
+ {/snippet}
447
+ </Icon>
354
448
  {/snippet}
355
449
  </StatusBadge>
356
450
  </div>
@@ -361,7 +455,11 @@
361
455
  {#snippet trigger()}
362
456
  <StatusBadge type="error" size="sm">
363
457
  {#snippet icon()}
364
- <Icon iconName="WarningCircle" weight="fill" />
458
+ <Icon weight="fill">
459
+ {#snippet children(props)}
460
+ <WarningCircle {...props} />
461
+ {/snippet}
462
+ </Icon>
365
463
  {/snippet}
366
464
  {#snippet content()}
367
465
  <div>Failed</div>
@@ -378,7 +476,11 @@
378
476
 
379
477
  <StatusBadge type="error" size="sm">
380
478
  {#snippet icon()}
381
- <Icon iconName="WarningCircle" weight="fill" />
479
+ <Icon weight="fill">
480
+ {#snippet children(props)}
481
+ <WarningCircle {...props} />
482
+ {/snippet}
483
+ </Icon>
382
484
  {/snippet}
383
485
  </StatusBadge>
384
486
  </div>
@@ -387,7 +489,11 @@
387
489
  <Story name="Icon only" asChild>
388
490
  <StatusBadge type="neutral" iconOnly>
389
491
  {#snippet icon()}
390
- <Icon iconName="SpinnerGap" />
492
+ <Icon>
493
+ {#snippet children(props)}
494
+ <SpinnerGap {...props} />
495
+ {/snippet}
496
+ </Icon>
391
497
  {/snippet}
392
498
  </StatusBadge>
393
499
  </Story>
@@ -1,7 +1,8 @@
1
1
  <script lang="ts">
2
+ import Check from 'phosphor-svelte/lib/Check';
3
+ import { Icon } from 'design-system';
2
4
  import type { Snippet } from 'svelte';
3
5
  import { getContext } from 'svelte';
4
- import { Icon } from '../../icons/';
5
6
  import type { StepState } from '../';
6
7
 
7
8
  interface Props {
@@ -74,7 +75,7 @@
74
75
  aria-hidden="true"
75
76
  >
76
77
  {#if variant.showIcon}
77
- <Icon iconName="Check" class="h-3 w-3 {variant.iconColor}" />
78
+ <Icon class="h-3 w-3 {variant.iconColor}" icon={Check} />
78
79
  {:else}
79
80
  <span class="text-xs font-medium leading-none {variant.iconColor}">
80
81
  {stepNumber}
@@ -1,4 +1,6 @@
1
1
  <script module lang="ts">
2
+ import Phone from 'phosphor-svelte/lib/Phone';
3
+ import { Icon } from 'design-system';
2
4
  import Table from './Table.svelte';
3
5
 
4
6
  import { defineMeta } from '@storybook/addon-svelte-csf';
@@ -8,7 +10,6 @@
8
10
  tags: ['autodocs'],
9
11
  });
10
12
  import IconButton from '../icon-button/IconButton.svelte';
11
- import { Icon } from '../icons';
12
13
 
13
14
  export const users = [
14
15
  {
@@ -83,7 +84,11 @@
83
84
  <Td>{user.role}</Td>
84
85
  <Td>
85
86
  <IconButton disabled={user.role === 'deactivated'}>
86
- <Icon iconName="Phone" />
87
+ <Icon>
88
+ {#snippet children(props)}
89
+ <Phone {...props} />
90
+ {/snippet}
91
+ </Icon>
87
92
  </IconButton>
88
93
  </Td>
89
94
  </Tr>
@@ -1,5 +1,6 @@
1
1
  <script module lang="ts">
2
- import { Icon } from '../icons';
2
+ import Folder from 'phosphor-svelte/lib/Folder';
3
+ import { Icon } from 'design-system';
3
4
  import Tag from './Tag.svelte';
4
5
  import { defineMeta } from '@storybook/addon-svelte-csf';
5
6
 
@@ -44,7 +45,11 @@
44
45
  <Story name="Default icon onclick" asChild>
45
46
  <div class="w-fit">
46
47
  <Tag onclick={() => {}}>
47
- <Icon iconName="Folder" />
48
+ <Icon>
49
+ {#snippet children(props)}
50
+ <Folder {...props} />
51
+ {/snippet}
52
+ </Icon>
48
53
  Default
49
54
  </Tag>
50
55
  </div>