awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
bevacqua avatar

bevacqua/dragula

0
View on GitHub↗
22,160 stars·1,935 forks·JavaScript·MIT·9 vuesbevacqua.github.io/dragula↗

Dragula

Dragula is a JavaScript drag and drop library and DOM element manipulator used to move and reorder HTML elements between multiple containers. It functions as a UI interaction framework and event manager that tracks drag lifecycles to facilitate the movement of elements within a web browser interface.

The library distinguishes itself through configurable constraint validation, allowing developers to define which elements are draggable and which containers are permitted drop targets. It supports specialized interaction patterns such as element cloning, the use of specific drag handles to restrict interaction start points, and a time-based delay to differentiate between static clicks and the start of a drag operation.

The system covers a broad range of movement and visual capabilities, including container-to-container transfers, axis-based orientation control, and the use of mirror shadow elements to visualize potential drop positions. It also provides a suite of lifecycle hooks and callbacks that trigger during drag starts, container overlaps, and final drops, alongside methods for programmatic control of the drag lifecycle.

Features

  • Drag and Drop Libraries - Provides a comprehensive library for implementing complex drag-and-drop interactions and workflows.
  • Drop Target Validations - Provides configurable validation functions to control which elements can be dropped into specific target areas.
  • Drag Lifecycle Events - Tracks lifecycle events such as drag start and drop to trigger custom application logic.
  • Cross-Container Transfers - Allows elements to be moved and transferred between multiple different containers via drag and drop.
  • Interaction Constraint Logic - Controls which elements can be dragged and which containers are permitted to accept them.
  • Drag-and-Drop Row Reorderers - Enables users to manually rearrange the sequence of items within a list or move them between containers.
  • Drag and Drop Interactions - Defines the logic and constraints for how elements behave when moved or repositioned by the user.
  • Drag-and-Drop Event Callbacks - Exposes a series of callbacks that trigger during specific drag stages for custom logic.
  • List Reordering Components - Enables the visual rearrangement of items within lists or moving them between different containers.
  • DOM Element Manipulators - Programmatically manages the movement, cloning, and placement of HTML elements within the browser.
  • Dynamic DOM Manipulation - Manipulates the document object model to dynamically reorder elements based on cursor coordinates.
  • Drag-Click Differentiation - Implements a time-based delay to differentiate between static clicks and the start of a drag operation.
  • Click-Drag Differentiation - Uses a time-based delay to prevent drag operations from triggering during simple click events.
  • Draggable Filters - Uses custom validation logic to exclude or include specific elements from participating in drag operations.
  • Drop Position Previews - Displays a mirror shadow element during drag operations to visualize the potential drop position.
  • Drop Target Registries - Evaluates whether a dragged element is permitted to be dropped into a specific target registry.
  • Programmatic Triggering - Supports starting or cancelling drag events via function calls to enable keyboard shortcuts and automated logic.
  • Ghost Elements - Creates a temporary shadow element that follows the cursor to visualize the potential drop position.
  • Interaction Lifecycle Managers - Provides methods for programmatically starting, ending, or canceling drag operations via code.
  • Drag Operation Controls - Provides methods to programmatically start, end, or cancel drag operations.
  • Drag Handles - Allows restricting the initiation of drag events to specific child handle elements.
  • Drag-and-Drop Cloning - Implements functionality to duplicate an element upon dragging so the original remains in place.
  • Workspace Interface Organizers - Allows users to organize their workspace by dragging components into containers with real-time previews.
  • Interaction and Gestures - Simplified drag-and-drop functionality.
  • UI Frameworks - Drag-and-drop library with jQuery support.
  • User Interface Components - Simplifies drag and drop functionality implementation.

Historique des stars

Graphique de l'historique des stars pour bevacqua/dragulaGraphique de l'historique des stars pour bevacqua/dragula

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Dragula

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Dragula.
  • sortablejs/sortableAvatar de SortableJS

    SortableJS/Sortable

    31,135Voir sur GitHub↗

    Sortable is a framework-agnostic JavaScript library for creating reorderable lists through drag and drop interactions. It functions as a reorderable list manager that allows users to rearrange DOM elements using pointer interactions on modern browsers and touch devices. The library enables the transfer or cloning of items between different lists using shared group identifiers. It supports complex organizational structures, including nested reorderable lists for managing hierarchical data across different levels. Its capabilities cover the animation of element movements and the configuration

    JavaScriptdragdrag-and-dropdrag-drop
    Voir sur GitHub↗31,135
  • clauderic/dnd-kitAvatar de clauderic

    clauderic/dnd-kit

    17,243Voir sur GitHub↗

    This project is a modular toolkit for building accessible, component-based drag-and-drop interfaces in React. It provides a foundational framework for managing complex spatial interactions, state synchronization, and element registration, allowing developers to create interactive web applications that support mouse, touch, and keyboard inputs. The library distinguishes itself through a highly extensible architecture that separates input handling from interaction logic. It utilizes a sensor-based input abstraction to normalize diverse user interactions and a plugin-driven lifecycle to inject c

    TypeScriptdragdrag-and-dropdraggable
    Voir sur GitHub↗17,243
  • alfred-skyblue/vue-draggable-plusAvatar de Alfred-Skyblue

    Alfred-Skyblue/vue-draggable-plus

    4,001Voir sur GitHub↗

    vue-draggable-plus is a drag-and-drop library for Vue 2 and Vue 3 used to create data-bound draggable interfaces. It provides components for implementing list sorting and reordering elements within a sequence while synchronizing the visual position of items with the underlying application state. The library includes a cross-list transfer tool that enables the movement of items between multiple containers using shared group identifiers and cloning rules. Interaction can be restricted to specific child elements through handle-based triggering. The project covers a broad range of drag-and-drop

    Vuecomposition-apidragdrag-and-drop
    Voir sur GitHub↗4,001
  • gridstack/gridstack.jsAvatar de gridstack

    gridstack/gridstack.js

    8,972Voir sur GitHub↗

    gridstack.js is a JavaScript grid layout library and responsive dashboard framework used to create interactive interfaces with draggable and resizable elements. It functions as a drag-and-drop layout manager and a JSON-serializable layout engine, allowing user-defined interface states to be persisted and restored. The library distinguishes itself through a touch-enabled grid interface and a responsive system that automatically adjusts item placement based on screen breakpoints. It features a collision-based layout engine that manages overlapping coordinates to shift or swap elements, alongsid

    TypeScriptangulardashboardgrid
    Voir sur GitHub↗8,972
Voir les 30 alternatives à Dragula→

Questions fréquentes

Que fait bevacqua/dragula ?

Dragula is a JavaScript drag and drop library and DOM element manipulator used to move and reorder HTML elements between multiple containers. It functions as a UI interaction framework and event manager that tracks drag lifecycles to facilitate the movement of elements within a web browser interface.

Quelles sont les fonctionnalités principales de bevacqua/dragula ?

Les fonctionnalités principales de bevacqua/dragula sont : Drag and Drop Libraries, Drop Target Validations, Drag Lifecycle Events, Cross-Container Transfers, Interaction Constraint Logic, Drag-and-Drop Row Reorderers, Drag and Drop Interactions, Drag-and-Drop Event Callbacks.

Quelles sont les alternatives open-source à bevacqua/dragula ?

Les alternatives open-source à bevacqua/dragula incluent : sortablejs/sortable — Sortable is a framework-agnostic JavaScript library for creating reorderable lists through drag and drop interactions.… clauderic/dnd-kit — This project is a modular toolkit for building accessible, component-based drag-and-drop interfaces in React. It… alfred-skyblue/vue-draggable-plus — vue-draggable-plus is a drag-and-drop library for Vue 2 and Vue 3 used to create data-bound draggable interfaces. It… gridstack/gridstack.js — gridstack.js is a JavaScript grid layout library and responsive dashboard framework used to create interactive… sortablejs/vue.draggable — Vue.Draggable is a component-based library for Vue.js that enables drag-and-drop functionality within web interfaces.… sortablejs/vue.draggable.next — This project is a drag-and-drop UI library and a Vue 3 component for implementing sortable lists and state-synced…