2.0.7 • Published 25 days ago

svelte-file-dropzone v2.0.7

Weekly downloads
709
License
MIT
Repository
github
Last release
25 days ago

svelte-file-dropzone

NPM npm bundle size (minified + gzip)

SvelteJS component for file upload and dropzone.The component is Svelte implementation of react-dropzone.

Demo

Click here for Storybook link

Installation

npm install svelte-file-dropzone

or

yarn add svelte-file-dropzone

Usage

<script>
  import Dropzone from "svelte-file-dropzone";

  let files = {
    accepted: [],
    rejected: []
  };

  function handleFilesSelect(e) {
    const { acceptedFiles, fileRejections } = e.detail;
    files.accepted = [...files.accepted, ...acceptedFiles];
    files.rejected = [...files.rejected, ...fileRejections];
  }
</script>

<Dropzone on:drop={handleFilesSelect} />
<ol>
  {#each files.accepted as item}
    <li>{item.name}</li>
  {/each}
</ol>

API

Props

Prop NameDescriptionDefault Value
acceptSet accepted file types. See https://github.com/okonet/attr-accept for more information.undefined
disabledfalse
maxSizeInfinity
minSize0
multipleif true, multiple files can be selected at oncetrue
preventDropOnDocument1231true
noClickdisable click eventsfalse
noKeyboarddisable keyboard eventsfalse
noDragdisable drag eventsfalse
containerClassescustom container classes""
containerStylescustom inline container styles""
disableDefaultStylesdon't apply default styles to containerfalse
inputElementreference to inputElementundefined
requiredhtml5 required attribute added to inputfalse

Events

Event NameDescriptionevent.detail info
dragenter{dragEvent: event}
dragover{dragEvent: event}
dragleave{dragEvent: event}
drop{acceptedFiles,fileRejections,event}
filedropped{event}
droprejected{fileRejections,event}
dropaccepted{acceptedFiles,event}
filedialogcancel

Examples

Click here to view stories implementation

Credits

Component is reimplementation react-dropzone. Complete credit goes to author and contributors of react-dropzone.

License

MIT