npm package: @ivan-havrysh/vue-document-uploader
Description: Vue 3 document uploader component with drag&drop, preview and TypeScript support
Author: Ivan Havrysh
Latest version: 1.0.1

# Vue Document Uploader

A modern Vue 3 document uploader component with drag & drop support, file preview, and full TypeScript integration.

## Features

- 🎯 **Drag & Drop Support** - Intuitive file dropping with visual feedback
- 📁 **Multiple File Upload** - Support for uploading multiple files at once
- 🖼️ **File Preview** - Image preview and file type icons
- 🔧 **TypeScript Support** - Full TypeScript definitions and type safety
- ⚡ **Vue 3 Composition API** - Modern Vue 3 implementation

## Installation

```bash
npm install @ivan-havrysh/vue-document-uploader
```

## Usage

### Global Registration (Plugin)

```typescript
import { createApp } from 'vue'
import App from './App.vue'
import DocumentUploaderPlugin from '@ivan-havrysh/vue-document-uploader'
import '@ivan-havrysh/vue-document-uploader/dist/style.css'

const app = createApp(App)

// Register globally
app.use(DocumentUploaderPlugin)

app.mount('#app')
```

### Local Registration

```vue
<script setup lang="ts">
import { ref } from 'vue'
import { DocumentUploader } from '@ivan-havrysh/vue-document-uploader'

const uploadedFiles = ref<File[]>([])
</script>

<template>
  <DocumentUploader 
    v-model="uploadedFiles"
    :max-files="5"
  />
</template>
```

## Supported File Types

The component supports a wide variety of file types with built-in icons:

- **Documents**: PDF, DOC, DOCX, XLS, XLSX, PPT, PPTX
- **Images**: JPG, JPEG, PNG, WEBP
- **Generic**: Any file type with fallback icon

## Icons provided by

<a href="https://www.flaticon.com/free-icons/document" title="document icons">Document icons created by Freepik - Flaticon</a><br>
<a href="https://www.flaticon.com/free-icons/document" title="document icons">Document icons created by juicy_fish - Flaticon</a><br>
<a href="https://www.flaticon.com/free-icons/docx" title="docx icons">Docx icons created by kliwir art - Flaticon</a><br>
<a href="https://www.flaticon.com/free-icons/file-type" title="file type icons">File type icons created by kliwir art - Flaticon</a><br>
<a href="https://www.flaticon.com/free-icons/pdf" title="pdf icons">Pdf icons created by kliwir art - Flaticon</a><br>
<a href="https://www.flaticon.com/free-icons/png-file" title="png file icons">Png file icons created by Shuvo.Das - Flaticon</a><br>
<a href="https://www.flaticon.com/free-icons/file-type" title="file type icons">File type icons created by kliwir art - Flaticon</a><br>
<a href="https://www.flaticon.com/free-icons/files-and-folders" title="files and folders icons">Files and folders icons created by Prashanth Rapolu 15 - Flaticon</a><br>
<a href="https://www.flaticon.com/free-icons/webp" title="webp icons">Webp icons created by yoorie - Flaticon</a><br>
<a href="https://www.flaticon.com/free-icons/xls" title="xls icons">Xls icons created by kliwir art - Flaticon</a><br>
<a href="https://www.flaticon.com/free-icons/xlsx" title="xlsx icons">Xlsx icons created by kliwir art - Flaticon</a>

## License

MIT License - see LICENSE file for details.

## Changelog

### 1.0.0
- Initial release
- Vue 3 support
- TypeScript definitions
- Drag & drop functionality
- File preview support
- Plugin architecture

### 1.0.1
- Update README.md
- Attribute icons authors