Skip to content

Commit 12191f8

Browse files
committed
[@svelteui/core]: remove radix-icons-svelte usage from FileUpload component
1 parent 131d2b0 commit 12191f8

File tree

4 files changed

+73
-21
lines changed

4 files changed

+73
-21
lines changed

packages/svelteui-core/src/components/Burger/Burger.stories.svelte

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import { Burger } from './index';
44
import { Button } from '../Button';
55
6-
let opened = false;
6+
let opened = false;
77
</script>
88

99
<Meta title="Components/Burger" component={Burger} />
@@ -15,8 +15,8 @@
1515
<Story name="Burger" id="burger" />
1616

1717
<Story name="Burger inside a button" id="burgerButton">
18-
<Button ripple variant="default" color="black" on:click={() => (opened = !opened)}>
19-
<Burger {opened} size="sm" />
20-
Menu
21-
</Button>
22-
</Story>
18+
<Button ripple variant="default" color="black" on:click={() => (opened = !opened)}>
19+
<Burger {opened} size="sm" />
20+
Menu
21+
</Button>
22+
</Story>

packages/svelteui-core/src/components/FileUpload/FileUpload.d.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,12 @@ export interface FileUploadProps<T = 'drag'>
2020
color?: SvelteUIColor;
2121
size?: SvelteUINumberSize;
2222
disabled?: boolean;
23-
icon?: Component | HTMLOrSVGElement;
2423
id?: string;
25-
resetLabel?: string;
24+
icon?: Component | HTMLOrSVGElement;
25+
fileIcon?: Component | HTMLOrSVGElement;
26+
removeIcon?: Component | HTMLOrSVGElement;
2627
reset?: boolean;
28+
resetLabel?: string;
2729
resetColor?: SvelteUIColor;
2830
resetIcon?: Component | HTMLOrSVGElement;
2931
preview?: boolean;

packages/svelteui-core/src/components/FileUpload/FileUpload.stories.svelte

Lines changed: 57 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script lang="ts">
22
import { Meta, Story, Template } from '@storybook/addon-svelte-csf';
3-
import { Download, Trash } from 'radix-icons-svelte';
3+
import { File, Reset, Download, Trash, Upload } from 'radix-icons-svelte';
44
import Button from '../Button/Button.svelte';
55
import IconRenderer from '../IconRenderer/IconRenderer.svelte';
66
import { Text } from '../Text';
@@ -25,15 +25,24 @@
2525

2626
<Template let:args>
2727
<div style="width: 500px;">
28-
<FileUpload {...args} />
28+
<FileUpload {...args} icon={Upload} fileIcon={File} removeIcon={Trash} resetIcon={Reset} />
2929
</div>
3030
</Template>
3131

3232
<Story name="FileUpload" />
3333

3434
<Story name="Drop">
3535
<div style="width: 500px;">
36-
<FileUpload type="drag" multiple={true} size={'md'} on:selected={handleSelected}>
36+
<FileUpload
37+
type="drag"
38+
multiple={true}
39+
size={'md'}
40+
icon={Upload}
41+
fileIcon={File}
42+
removeIcon={Trash}
43+
resetIcon={Reset}
44+
on:selected={handleSelected}
45+
>
3746
<IconRenderer iconSize={48} icon={Download} />
3847
<Text align="center" weight={'semibold'}>Click or drag file to this area to FileUpload</Text>
3948
<Text align="center" size="sm" color="dimmed">
@@ -46,19 +55,55 @@
4655

4756
<Story name="Size">
4857
<div style="width: 500px;">
49-
<FileUpload size="lg" reset={true} />
58+
<FileUpload
59+
size="lg"
60+
reset={true}
61+
icon={Upload}
62+
fileIcon={File}
63+
removeIcon={Trash}
64+
resetIcon={Reset}
65+
/>
5066
<br />
51-
<FileUpload size="md" reset={true} />
67+
<FileUpload
68+
size="md"
69+
reset={true}
70+
icon={Upload}
71+
fileIcon={File}
72+
removeIcon={Trash}
73+
resetIcon={Reset}
74+
/>
5275
<br />
53-
<FileUpload size="sm" reset={true} />
76+
<FileUpload
77+
size="sm"
78+
reset={true}
79+
icon={Upload}
80+
fileIcon={File}
81+
removeIcon={Trash}
82+
resetIcon={Reset}
83+
/>
5484
<br />
55-
<FileUpload size="xs" reset={true} />
85+
<FileUpload
86+
size="xs"
87+
reset={true}
88+
icon={Upload}
89+
fileIcon={File}
90+
removeIcon={Trash}
91+
resetIcon={Reset}
92+
/>
5693
</div>
5794
</Story>
5895

5996
<Story name="Accept">
6097
<div style="width: 500px;">
61-
<FileUpload size="md" reset={true} accept="image/png,image/jpeg" />
98+
<FileUpload
99+
size="md"
100+
reset={true}
101+
accept="image/png,image/jpeg"
102+
icon={Upload}
103+
fileIcon={File}
104+
removeIcon={Trash}
105+
resetIcon={Reset}
106+
/>
62107
</div>
63108
</Story>
64109

@@ -71,6 +116,10 @@
71116
bind:files
72117
reset={true}
73118
preview={false}
119+
icon={Upload}
120+
fileIcon={File}
121+
removeIcon={Trash}
122+
resetIcon={Reset}
74123
/>
75124

76125
<ul style="list-style: none;padding: 0;">

packages/svelteui-core/src/components/FileUpload/FileUpload.svelte

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import { createEventForwarder, useActions } from '$lib/internal';
1414
import { createEventDispatcher, get_current_component } from 'svelte/internal';
1515
import { randomID } from '$lib/styles';
16-
import { File, Reset, Trash, Upload } from 'radix-icons-svelte';
1716
import IconRenderer from '../IconRenderer/IconRenderer.svelte';
1817
import Button from '../Button/Button.svelte';
1918
interface $$Props extends $$FileUploadProps {}
@@ -32,12 +31,14 @@
3231
color: $$Props['color'] = 'blue',
3332
size: $$Props['size'] = 'sm',
3433
disabled: $$Props['disabled'] = false,
35-
icon: $$Props['icon'] = Upload,
3634
id: $$Props['id'] = randomID(),
35+
icon: $$Props['icon'] = undefined,
36+
fileIcon: $$Props['fileIcon'] = undefined,
37+
removeIcon: $$Props['removeIcon'] = undefined,
3738
reset: $$Props['reset'] = true,
3839
resetLabel: $$Props['resetLabel'] = 'Reset',
3940
resetColor: $$Props['resetColor'] = 'red',
40-
resetIcon: $$Props['resetIcon'] = Reset,
41+
resetIcon: $$Props['resetIcon'] = undefined,
4142
preview: $$Props['preview'] = true;
4243
export { className as class };
4344
@@ -146,15 +147,15 @@
146147
{#each files as { file }, i}
147148
<div class={classes.fileItemWrapper}>
148149
<div class={classes.fileItemIcon}>
149-
<IconRenderer iconSize={fontSizes[size] * 1.8} icon={File} />
150+
<IconRenderer iconSize={fontSizes[size] * 1.8} icon={fileIcon} />
150151
</div>
151152
<span class={classes.fileItemName}>
152153
{file.name}
153154
</span>
154155
<span class={classes.fileItemAction}>
155156
<span>
156157
<Button variant="default" {size} on:click={() => remove(i)}>
157-
<IconRenderer iconSize={fontSizes[size] * 1.5} icon={Trash} />
158+
<IconRenderer iconSize={fontSizes[size] * 1.5} icon={removeIcon} />
158159
</Button>
159160
</span>
160161
</span>

0 commit comments

Comments
 (0)