barneo-file-service
Version:
Комплексная библиотека Vue 3 для работы с файлами в приложениях Barneo. Предоставляет мощную функциональность для загрузки, управления и обработки файлов с валидацией, отслеживанием прогресса и поддержкой localStorage.
149 lines • 6.87 kB
TypeScript
/**
* Barneo File Service - Библиотека для работы с файлами в Vue 3
*
* Комплексная библиотека Vue 3, предоставляющая мощную функциональность
* для загрузки, управления и обработки файлов с валидацией и отслеживанием прогресса.
*
* ## Основные возможности:
*
* - **Загрузка файлов**: Поддержка drag & drop, множественной загрузки
* - **Валидация**: Проверка размера, типа и количества файлов
* - **Отслеживание прогресса**: Детальная информация о процессе загрузки
* - **Управление состоянием**: Реактивное состояние файлов и ошибок
* - **Хранилище**: Сохранение файлов в localStorage для повторного использования
* - **Обработка ошибок**: Возможность повтора неудачных загрузок
* - **Кастомизация**: Гибкая настройка через props, slots и события
*
* ## Компоненты:
*
* - `FileUploader` - Основной компонент для загрузки файлов
*
* ## Composables:
*
* - `useFileService` - Основной composable для работы с файлами
* - `useFileInput` - Управление выбором файлов
* - `useFileUploader` - Управление загрузкой файлов
* - `useFileStorage` - Управление хранилищем файлов
*
* ## Сервисы:
*
* - `FileUploadService` - Сервис для загрузки файлов на сервер
*
* @module barneo-file-service
* @version 1.0.0
* @license MIT
*
*/
export * from "./types";
export * from "./services";
export * from "./composables";
export * from "./components";
export { default as FileUploader } from "./components/FileUploader.vue";
export * from "./config/FileServiceConfigManager";
import "./components/style/index.css";
import type { App } from "vue";
import type { FileServiceConfig } from "./types/ConfigTypes";
import "./vue-globals.d";
/**
* **Barneo File Service - Vue Плагин**
*
* Комплексный Vue 3 плагин, предоставляющий мощную функциональность для работы с файлами.
*
* ## Возможности:
*
* - **Глобальная конфигурация**: Централизованная настройка для всего приложения
* - **Глобальные компоненты**: Автоматическая регистрация компонентов
* - **Provide/Inject**: Доступ к конфигурации во всех компонентах
* - **Drag & Drop**: Поддержка перетаскивания файлов
* - **Валидация**: Проверка размера, типа и количества файлов
* - **Отслеживание прогресса**: Детальная информация о процессе загрузки
* - **Управление состоянием**: Реактивное состояние файлов и ошибок
* - **Хранилище**: Сохранение файлов в localStorage для повторного использования
* - **Обработка ошибок**: Возможность повтора неудачных загрузок
* - **Кастомизация**: Гибкая настройка через props, slots и события
*
* @group Plugin
* @example
* ```typescript
* import { createApp } from 'vue'
* import BarneoFileService from 'barneo-file-service'
* import { AppName } from 'barneo-file-service'
*
* const app = createApp(App)
*
* app.use(BarneoFileService, {
* apiUrl: 'https://api.example.com/upload',
* appName: AppName.PIM,
* maxFiles: 10,
* maxFileSize: 50 * 1024 * 1024, // 50MB
* allowedTypes: ['image/jpeg', 'image/png', 'application/pdf'],
* onUploadSuccess: (results) => console.log('Файлы загружены:', results)
* })
*
* // Теперь можно использовать компонент в шаблонах:
* // <file-uploader @upload-success="handleUpload" />
* // <barneo-file-uploader @upload-success="handleUpload" />
* ```
*
* @example
* ```vue
* <template>
* <FileUploader
* button-type="input"
* title="Загрузить документы"
* @upload-success="handleUploadSuccess"
* @upload-error="handleUploadError"
* />
* </template>
*
* <script setup>
* const handleUploadSuccess = (files) => {
* console.log('Загружено файлов:', files.length)
* }
*
* const handleUploadError = (error) => {
* console.error('Ошибка загрузки:', error)
* }
* </script>
* ```
*/
declare const _default: {
/**
* Устанавливает плагин Barneo File Service в Vue приложение.
*
* Этот метод:
* - Регистрирует все composables глобально
* - Инициализирует менеджер конфигурации файлового сервиса
* - Настраивает API сервис для загрузки файлов
* - Предоставляет глобальные методы для работы с файлами
* - Регистрирует глобальные компоненты
*
* @param {App} app - Экземпляр Vue приложения
* @param {Partial<FileServiceConfig>} config - Опциональный объект конфигурации
*
* @example
* ```typescript
* import { createApp } from 'vue'
* import BarneoFileService from 'barneo-file-service'
* import { AppName } from 'barneo-file-service'
*
* const app = createApp(App)
*
* app.use(BarneoFileService, {
* apiUrl: 'https://api.example.com/upload',
* appName: AppName.PIM,
* maxFiles: 10,
* maxFileSize: 50 * 1024 * 1024, // 50MB
* allowedTypes: ['image/jpeg', 'image/png', 'application/pdf'],
* onUploadSuccess: (results) => console.log('Файлы загружены:', results)
* })
*
* // Теперь можно использовать компонент в шаблонах:
* // <file-uploader @upload-success="handleUpload" />
* // <barneo-file-uploader @upload-success="handleUpload" />
* ```
*/
install(app: App, config?: Partial<FileServiceConfig>): void;
};
export default _default;
//# sourceMappingURL=index.d.ts.map