@@ -44,6 +44,10 @@
justify-content: flex-start;
z-index: 1;
padding: 1rem;
+
+ &.column {
+ flex-direction: column;
+ }
}
&__source {
diff --git a/docs/routes/components/FileUpload.md b/docs/routes/components/FileUpload.md
new file mode 100644
index 00000000..99f0a5d0
--- /dev/null
+++ b/docs/routes/components/FileUpload.md
@@ -0,0 +1,31 @@
+### Single constrained example
+
+```svelte example raised column
+
+
+
+
+
+
+File name: {file?.name}
+```
+
+### Multiple example
+
+```svelte example raised column
+
+
+
+
+
+
+Count: {files.length}
+```
diff --git a/src/components/Button.svelte b/src/components/Button.svelte
index 98e2d266..936dbe45 100644
--- a/src/components/Button.svelte
+++ b/src/components/Button.svelte
@@ -68,7 +68,7 @@
align-items: center;
justify-content: center;
padding: 0.5rem 1rem;
- min-width: 2rem;
+ min-width: min-content;
gap: 0.5rem;
cursor: pointer;
position: relative;
diff --git a/src/components/Field.svelte b/src/components/Field.svelte
index d2010d74..2a3de3ef 100644
--- a/src/components/Field.svelte
+++ b/src/components/Field.svelte
@@ -23,6 +23,7 @@
display: flex;
flex-direction: column;
gap: 0.5rem;
+ min-width: 0;
&__label {
display: flex;
diff --git a/src/components/FileUpload.svelte b/src/components/FileUpload.svelte
new file mode 100644
index 00000000..8dd7f562
--- /dev/null
+++ b/src/components/FileUpload.svelte
@@ -0,0 +1,118 @@
+
+
+
+ {#if !file || multiple}
+
addFiles(event.dataTransfer.files)}
+ on:dragover|preventDefault
+ on:click={() => {
+ if (inputElement) inputElement.click()
+ }}>
+
+ {$t('images.how_to')}
+
+ addFiles(inputElement.files)} />
+
+ {/if}
+
+ {#each files as file (file.name)}
+
+
+
+
{file.name}
+
+
+ {#if file.type.startsWith('image/')}
+
})
+ {/if}
+
+ {/each}
+
+
+
diff --git a/src/index.ts b/src/index.ts
index 1c5b8041..ecf439c4 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -14,6 +14,8 @@ export { default as Chips } from './components/Chips.svelte'
export { default as Field } from './components/Field.svelte'
+export { default as FileUpload } from './components/FileUpload.svelte'
+
export { default as Modal } from './components/Modal.svelte'
export { default as ModalDeletion } from './components/ModalDeletion.svelte'
diff --git a/src/styles/classes/link.postcss b/src/styles/classes/link.postcss
index 32992a57..258b0e5c 100644
--- a/src/styles/classes/link.postcss
+++ b/src/styles/classes/link.postcss
@@ -18,7 +18,6 @@
.link {
color: var(--color-text);
- margin-right: 1rem;
&:hover {
color: var(--color-link);