Sobre o projeto

Dropzone é uma biblioteca JavaScript que transforma qualquer elemento HTML em uma dropzone: os usuários podem arrastar e soltar arquivos sobre ela, e a biblioteca exibe pré-visualizações dos arquivos e o progresso do upload enquanto gerencia o upload via XHR. Ela é escrita em TypeScript e inclui suas próprias definições de tipos, portanto não é necessário um pacote @types separado. O README observa que o antigo @types/dropzone parou na versão 5.7.9 e descreve a API v5, então ele deve ser removido se estiver presente. A instalação é feita via npm (npm install dropzone) ou pnpm, e pode ser usado como módulo ES6 ou módulo CommonJS. Para projetos sem gerenciador de pacotes ou bundler, arquivos autônomos estão disponíveis no unpkg, expondo Dropzone como uma variável global, juntamente com uma folha de estilos. Os recursos documentados incluem: estilo padrão atraente; pré-visualizações de miniaturas de imagens via callback thumbnail(file, data); suporte a telas de alta densidade (high-DPI); múltiplos arquivos e uploads síncronos; atualizações de progresso; suporte a arquivos grandes por meio de uploads em partes; suporte a upload Multipart da Amazon S3; theming completo sobrescrevendo os ouvintes de eventos padrão; e redimensionamento de imagens no lado do navegador antes do upload. O README afirma que a biblioteca é bem testada. O repositório é um monorepo contendo a biblioteca publicada no npm como dropzone (packages/dropzone), documentação construída com Docusaurus (apps/docs) e o site construído com SvelteKit (apps/website). Os comandos de desenvolvimento incluem pnpm install, pnpm build, pnpm test, pnpm test:e2e, pnpm dev:docs e pnpm dev:website. Um único comando pnpm build:site produz o site implantável no GitHub Pages em _site/, combinando o site na raiz e a documentação em /docs; o CI executa o mesmo script. O Dropzone 6 não suporta Internet Explorer; a versão 5.9.3 é sugerida para essa necessidade. O suporte da comunidade é direcionado ao GitHub Discussions ou ao Stack Overflow com a tag dropzone.js, em vez do rastreador de problemas, que é reservado para relatórios de bugs. O projeto é licenciado sob MIT.