Tauri file drop handling component for Svelte.
npm install svelte-tauri-filedrop
<script lang="ts">
import FileDrop from 'svelte-tauri-filedrop'
function open(paths: string[]) {
// ...
}
</script>
<FileDrop extensions={['json']} handleFiles={open} let:files>
<div class="dropzone" class:droppable={files.length > 0}>
<h2>Drop JSON files</h2>
</div>
</FileDrop>
<style>
.dropzone {
margin: 20px;
padding: 20px;
background: #eee;
}
.droppable {
background: #d6dff0;
}
</style>
extensions
property: string[] | null
List of allowed file extensions. Disallowed files are filtered out. If it's null (default), all file extensions are allowed.
handleFiles
property: (string[]) => {}
Handle a file drop of one or more files
handleOneFile
property: (string[]) => {}
Handle a file drop of a single file.
Note that handleFile()
is also called.
This is not called if any disallowed files were filtered out.
files
slot property: string[]
An array of the currently droppable files, excluding disallowed files.
You can use this variable through a let binding: let:files
.
npm install
npm run dev
: Start in dev modenpm run package
: Build and package the componentnpm run lint
: Lintnpm run format
: FormatCHANGELOG.md
npm run lint
npm version --no-git-tag <version>
npm run package
npm publish