{"_id":"@akylas/svelte-tauri-filedrop","name":"@akylas/svelte-tauri-filedrop","dist-tags":{"latest":"2.0.0"},"versions":{"2.0.0":{"name":"@akylas/svelte-tauri-filedrop","version":"2.0.0","description":"Tauri file drop handling component for Svelte","type":"module","scripts":{"dev":"tauri dev","dev:web":"vite dev","package":"svelte-package","lint":"svelte-check --tsconfig ./tsconfig.json && eslint src && prettier --check src","format":"eslint --fix src && prettier --write src"},"exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js"}},"peerDependencies":{"svelte":"^4.2.17"},"devDependencies":{"@sveltejs/kit":"^1.30.4","@sveltejs/package":"^2.3.1","@tauri-apps/api":"2.0.0-beta.11","@tauri-apps/cli":"2.0.0-beta.17","@typescript-eslint/eslint-plugin":"^5.62.0","@typescript-eslint/parser":"^5.62.0","eslint":"^8.40.0","eslint-config-prettier":"^8.10.0","eslint-plugin-svelte":"^2.39.0","prettier":"^3.2.5","prettier-plugin-svelte":"^2.10.1","sass":"^1.77.1","svelte":"^4.2.16","svelte-check":"^3.7.1","typescript":"^5.4.5"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/probablykasper/svelte-tauri-filedrop.git"},"bugs":{"url":"https://github.com/probablykasper/svelte-tauri-filedrop/issues"},"author":{"name":"Kasper Henningsen","url":"https://kasper.space"},"keywords":["tauri","svelte","file","drag","drop","dropzone"],"prettier":{"printWidth":100,"semi":false,"singleQuote":true,"pluginSearchDirs":["."]},"_id":"@akylas/svelte-tauri-filedrop@2.0.0","gitHead":"c9b09fc022e42e6dab523c719e72f64a88fd5eb6","homepage":"https://github.com/probablykasper/svelte-tauri-filedrop#readme","_nodeVersion":"20.9.0","_npmVersion":"10.1.0","dist":{"integrity":"sha512-bkihh+KQZh0lQh/t2HjN2hNwvCYpWkh/P1cuRzOQhYUiOcExsozEaqFFKzgdZGzTutJgtrNJLjrJhP9cqPoFyw==","shasum":"d4e23ce023799579f05a3d55319f803a1c79562f","tarball":"https://registry.npmjs.org/@akylas/svelte-tauri-filedrop/-/svelte-tauri-filedrop-2.0.0.tgz","fileCount":7,"unpackedSize":8080,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuNunpD1rkBYRGivazBWiyUy3iIlVcARUGyT4VSWhU3wIgKzbBBqqLuqltp/34BCb6LJ6+I43FjUk/fqA25QI1K5c="}]},"_npmUser":{"name":"farfromrefuge","email":"martin.guillon@akylas.fr"},"directories":{},"maintainers":[{"name":"farfromrefuge","email":"martin.guillon@akylas.fr"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-tauri-filedrop_2.0.0_1716283001850_0.3619796420449224"},"_hasShrinkwrap":false}},"time":{"created":"2024-05-21T09:16:41.741Z","2.0.0":"2024-05-21T09:16:42.065Z","modified":"2024-05-21T09:16:42.378Z"},"maintainers":[{"name":"farfromrefuge","email":"martin.guillon@akylas.fr"}],"description":"Tauri file drop handling component for Svelte","homepage":"https://github.com/probablykasper/svelte-tauri-filedrop#readme","keywords":["tauri","svelte","file","drag","drop","dropzone"],"repository":{"type":"git","url":"git+https://github.com/probablykasper/svelte-tauri-filedrop.git"},"author":{"name":"Kasper Henningsen","url":"https://kasper.space"},"bugs":{"url":"https://github.com/probablykasper/svelte-tauri-filedrop/issues"},"license":"MIT","readme":"# Svelte Tauri FileDrop\n\n[![License](https://img.shields.io/npm/l/svelte-tauri-filedrop.svg)](LICENSE)\n[![NPM Version](https://img.shields.io/npm/v/svelte-tauri-filedrop.svg)](https://npmjs.com/package/svelte-tauri-filedrop)\n[![NPM Downloads](https://img.shields.io/npm/dm/svelte-tauri-filedrop.svg)](https://npmjs.com/package/svelte-tauri-filedrop)\n\nTauri file drop handling component for Svelte.\n\n## Install\n```\nnpm install svelte-tauri-filedrop\n```\n\n## Usage\n```svelte\n<script lang=\"ts\">\n  import FileDrop from 'svelte-tauri-filedrop'\n\n  function open(paths: string[]) {\n    // ...\n  }\n</script>\n\n<FileDrop extensions={['json']} handleFiles={open} let:files>\n  <div class=\"dropzone\" class:droppable={files.length > 0}>\n    <h2>Drop JSON files</h2>\n  </div>\n</FileDrop>\n\n<style>\n  .dropzone {\n    margin: 20px;\n    padding: 20px;\n    background: #eee;\n  }\n  .droppable {\n    background: #d6dff0;\n  }\n</style>\n```\n\n## API\n\n### `extensions` property: `string[] | null`\nList of allowed file extensions. Disallowed files are filtered out.\nIf it's null (default), all file extensions are allowed.\n\n### `handleFiles` property: `(string[]) => {}`\nHandle a file drop of one or more files\n\n### `handleOneFile` property: `(string[]) => {}`\nHandle a file drop of a single file.\nNote that `handleFile()` is also called.\nThis is not called if any disallowed files were filtered out.\n\n### `files` slot property: `string[]`\nAn array of the currently droppable files, excluding disallowed files.\nYou can use this variable through a let binding: `let:files`.\n\n## Dev Instructions\n\n### Get started\n1. Install Node.js (v14 works)\n2. Install Rust (v1.50 works)\n3. Follow the [Tauri setup guide](https://tauri.studio/en/docs/getting-started/intro)\n4. Run `npm install`\n\n### Commands\n- `npm run dev`: Start in dev mode\n- `npm run package`: Build and package the component\n- `npm run lint`: Lint\n- `npm run format`: Format\n\n### Publish new version\n1. Update `CHANGELOG.md`\n2. Check for errors\n    ```\n    npm run check\n    ```\n3. Bump the version number\n    ```\n    npm version --no-git-tag <version>\n    ```\n4. Generate the package\n    ```\n    npm run package\n    ```\n5. Publish the package\n    ```\n    npm publish ./package\n    ```\n6. Commit with a tag in format \"v#.#.#\"\n7. Create GitHub release with release notes\n","readmeFilename":"README.md"}