Об этом проекте

Dropzone — это библиотека JavaScript, которая превращает любой HTML-элемент в зону перетаскивания: пользователи могут перетаскивать файлы в неё, а библиотека отображает предпросмотр файлов и прогресс загрузки, обрабатывая загрузку через XHR. Она написана на TypeScript и поставляется с собственными определениями типов, поэтому отдельный пакет @types не требуется. В README указано, что старый @types/dropzone остановился на версии 5.7.9 и описывает API v5, поэтому его следует удалить, если он присутствует. Установка производится через npm (npm install dropzone) или pnpm, и библиотеку можно использовать как ES6-модуль или CommonJS-модуль. Для проектов без менеджера пакетов или сборщика доступны автономные файлы на unpkg, предоставляющие Dropzone как глобальную переменную, а также таблицу стилей. Задокументированные возможности включают: привлекательные стили по умолчанию; предпросмотр миниатюр изображений через обратный вызов thumbnail(file, data); поддержку экранов с высоким DPI; несколько файлов и синхронную загрузку; обновления прогресса; поддержку больших файлов через загрузку частями; поддержку Amazon S3 Multipart; полную настройку темы путём переопределения обработчиков событий по умолчанию; изменение размера изображений на стороне браузера перед загрузкой. В README указано, что библиотека хорошо протестирована. Репозиторий представляет собой монорепозиторий, содержащий библиотеку, опубликованную в npm как dropzone (packages/dropzone), документацию, созданную с помощью Docusaurus (apps/docs), и веб-сайт на SvelteKit (apps/website). Команды для разработки включают pnpm install, pnpm build, pnpm test, pnpm test:e2e, pnpm dev:docs и pnpm dev:website. Одна команда pnpm build:site создаёт развёртываемый сайт GitHub Pages в _site/, объединяя веб-сайт в корне и документацию в /docs; CI выполняет тот же скрипт. Dropzone 6 не поддерживает Internet Explorer; для этой цели предлагается версия 5.9.3. Сообщество направляется в GitHub Discussions или на Stack Overflow с тегом dropzone.js, а не в трекер проблем, который предназначен для сообщений об ошибках. Проект распространяется по лицензии MIT.