Sobre o projeto

Draggable é uma biblioteca JavaScript que fornece controle completo sobre o comportamento de arrastar e soltar, abstraindo eventos nativos do navegador em uma API abrangente. Ela é projetada para criar experiências personalizadas de arrastar e soltar e inclui módulos adicionais: Sortable, Droppable e Swappable. O Draggable em si cuida do trabalho pesado—criando espelhos, emitindo eventos, gerenciando eventos de sensores e tornando elementos arrastáveis—enquanto os módulos adicionais se baseiam nele para oferecer funcionalidades de classificação, soltura e troca. Os principais recursos incluem suporte a eventos nativos de arrastar, mouse, toque e toque forçado; extensibilidade por meio de ganchos de ciclo de vida de eventos e sensores personalizados; e um alvo focado em ES6. A biblioteca está disponível via npm, yarn ou CDN, com builds ESM e UMD. Ela inclui definições de TypeScript e é compatível com as versões mais recentes de Chrome, Firefox, Opera, Safari e Edge. O Draggable vem com vários plugins: Collidable, ResizeMirror, Snappable, SwapAnimation e SortAnimation, que aprimoram o comportamento de arrastar. Os sensores incluem DragSensor, ForceTouchSensor, MouseSensor e TouchSensor. A documentação está organizada dentro dos diretórios de origem, cobrindo eventos, plugins e módulos. Nota: A biblioteca não é mais mantida por seus autores originais na Shopify, mas a manutenção foi passada para novos colaboradores, e eles ainda buscam mais mantenedores. Contribuições são bem-vindas, e há recursos relacionados, como shims do Ember CLI. O projeto é protegido por direitos autorais da Shopify (2018-presente).