2.0.1 • Published 1 year ago
svelte-tauri-filedrop v2.0.1
Svelte Tauri FileDrop
Tauri file drop handling component for Svelte.
Install
npm install svelte-tauri-filedropUsage
<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>API
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.
Dev Instructions
Get started
- Install Node.js (v14 works)
- Install Rust (v1.50 works)
- Follow the Tauri setup guide
- Run
npm install
Commands
npm run dev: Start in dev modenpm run package: Build and package the componentnpm run lint: Lintnpm run format: Format
Publish new version
- Update
CHANGELOG.md - Check for errors
``` npm run lint ``` - Bump the version number
``` npm version --no-git-tag <version> ``` - Generate the package
``` npm run package ``` - Publish the package
``` npm publish ``` - Commit with a tag in format "v#.#.#"
- Create GitHub release with release notes