@duskmoon-dev/el-file-upload
v1.5.5
Published
A file upload component with drag and drop support built with Web Components.
Maintainers
Readme
@duskmoon-dev/el-file-upload
A file upload component with drag and drop support built with Web Components.
Installation
bun add @duskmoon-dev/el-file-uploadUsage
Auto-Register
import '@duskmoon-dev/el-file-upload/register';<el-dm-file-upload></el-dm-file-upload>Manual Registration
import { ElDmFileUpload, register } from '@duskmoon-dev/el-file-upload';
// Register with default tag name
register();
// Or register with custom tag name
customElements.define('my-file-upload', ElDmFileUpload);Sizes
| Size | Description |
|------|-------------|
| sm | Small upload area |
| md | Medium upload area (default) |
| lg | Large upload area |
Attributes
| Attribute | Type | Default | Description |
|-----------|------|---------|-------------|
| accept | string | '' | Accepted file types |
| multiple | boolean | false | Allow multiple files |
| disabled | boolean | false | Disable the upload |
| max-size | number | - | Max file size in bytes |
| max-files | number | - | Max number of files |
| show-preview | boolean | false | Show file previews |
| compact | boolean | false | Compact display mode |
| size | string | 'md' | Size variant: sm, md, lg |
CSS Parts
| Part | Description |
|------|-------------|
| dropzone | The drop zone area |
| file-list | The list of selected files |
Events
| Event | Detail | Description |
|-------|--------|-------------|
| change | { files } | Fired when files are selected |
| remove | { file, index } | Fired when a file is removed |
Examples
Basic
<el-dm-file-upload></el-dm-file-upload>Accept Specific Types
<el-dm-file-upload accept="image/*"></el-dm-file-upload>
<el-dm-file-upload accept=".pdf,.doc,.docx"></el-dm-file-upload>Multiple Files
<el-dm-file-upload multiple></el-dm-file-upload>With Preview
<el-dm-file-upload show-preview accept="image/*"></el-dm-file-upload>Size Limits
<el-dm-file-upload max-size="5242880" max-files="5"></el-dm-file-upload>Compact Mode
<el-dm-file-upload compact></el-dm-file-upload>Handling Files
const upload = document.querySelector('el-dm-file-upload');
upload.addEventListener('change', (e) => {
const files = e.detail.files;
// Handle the files
});License
MIT
