File upload

BsFileUpload is a drop zone over a native file input: drop files on it, click it or use the browse button. Each batch is added to v-model:files, reported through @files-dropped and announced to screen readers. Rows show the name, size and a progress bar you update; the fileTemplate slot replaces a row. With name the input submits its files with a form, no JavaScript needed.

Basic usage

<BsFileUpload v-model:files="files" @files-dropped="upload" />

Custom rows

<BsFileUpload v-model:files="files" @files-dropped="upload">  <template #fileTemplate="{ upload }">    <span>{{ upload.file.name }}</span>    <button type="button" @click="remove(upload)">Remove</button>  </template></BsFileUpload>