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[] | nullList 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 installnpm 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