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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
atlassian avatar

atlassian/pragmatic-drag-and-drop

0
View on GitHub↗
12,685 stars·326 forks·TypeScript·20 viewsatlassian.design/components/pragmatic-drag-and-drop↗

Pragmatic Drag And Drop

Pragmatic Drag and Drop is a TypeScript library that provides a complete system for implementing drag and drop interactions in web applications. It handles the full lifecycle of drag operations, from registering drop targets and monitoring drag events to managing cleanup functions, all through a structured adapter-based approach.

The library supports a wide range of data manipulation patterns, including reordering items within lists, tables, trees, virtual lists, and side navigation, as well as moving items between lists and across columns in a board layout. It also enables swapping items in a grid, resizing elements, accepting files dropped from the operating system, and transferring data across browser windows or iframes.

Additional capabilities include utilities for reordering arrays based on drag position changes and combining multiple cleanup functions into a single call for easier teardown. The library is designed to work with HTML elements, text selections, and external content through dedicated adapters.

Features

  • Drag Adapters - Provides dedicated adapters for dragging HTML elements, text selections, and external content.
  • UI List Reordering - Provides a mechanism for reordering items within a single list via drag-and-drop.
  • Drag Lifecycle Events - Listens for drag operation events to react to start, move, and end phases.
  • Drop Target Registries - Provides a system for marking elements as valid drop zones during drag operations.
  • Multi-List Item Transfer - Ships a complete system for transferring items between lists via drag-and-drop.
  • Drag and Resize Functionality - Provides functionality for resizing elements by dragging their edges or corners.
  • Tree Node Reorderers - Provides utilities for rearranging nodes in hierarchical tree structures via drag-and-drop.
  • Drag-and-Drop Row Reorderers - Ships a component for rearranging table rows via drag-and-drop interactions.
  • Reorderable Virtual Lists - Supports reordering items within a virtualized list via drag-and-drop.
  • Drag-and-Drop File Upload - Provides a dedicated adapter for capturing files dragged from the operating system.
  • Data Transfer Mechanisms - Shares drag data between browser tabs, iframes, or native applications during a drag operation.
  • Grid Item Swapping - Enables swapping items in a grid layout via drag-and-drop.
  • Kanban Boards - Supports moving items between columns on a kanban-style board via drag-and-drop.
  • Sidebar Navigation Organization - Enables drag-and-drop reordering of navigation items within a sidebar.

Star history

Star history chart for atlassian/pragmatic-drag-and-dropStar history chart for atlassian/pragmatic-drag-and-drop

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does atlassian/pragmatic-drag-and-drop do?

Pragmatic Drag and Drop is a TypeScript library that provides a complete system for implementing drag and drop interactions in web applications. It handles the full lifecycle of drag operations, from registering drop targets and monitoring drag events to managing cleanup functions, all through a structured adapter-based approach.

What are the main features of atlassian/pragmatic-drag-and-drop?

The main features of atlassian/pragmatic-drag-and-drop are: Drag Adapters, UI List Reordering, Drag Lifecycle Events, Drop Target Registries, Multi-List Item Transfer, Drag and Resize Functionality, Tree Node Reorderers, Drag-and-Drop Row Reorderers.

What are some open-source alternatives to atlassian/pragmatic-drag-and-drop?

Open-source alternatives to atlassian/pragmatic-drag-and-drop include: armour/vue-typescript-admin-template — Vue-typescript-admin-template is a TypeScript-based admin panel starter built with Vue CLI 3, providing a complete… bevacqua/dragula — Dragula is a JavaScript drag and drop library and DOM element manipulator used to move and reorder HTML elements… daybrush/moveable — Moveable! Draggable! Resizable! Scalable! Rotatable! Warpable! Pinchable! Groupable! Snappable! rubaxa/sortable — Sortable is a JavaScript drag and drop library used to create reorderable lists of HTML elements. It is a… sortablejs/sortable — Sortable is a framework-agnostic JavaScript library for creating reorderable lists through drag and drop interactions.… 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…

Open-source alternatives to Pragmatic Drag And Drop

Similar open-source projects, ranked by how many features they share with Pragmatic Drag And Drop.
  • armour/vue-typescript-admin-templateArmour avatar

    Armour/vue-typescript-admin-template

    5,677View on GitHub↗

    Vue-typescript-admin-template is a TypeScript-based admin panel starter built with Vue CLI 3, providing a complete foundation for building enterprise back-office interfaces. It enforces type safety across Vue components using TypeScript, reducing runtime errors and improving code maintainability, while offering a dynamic route permission system that controls sidebar navigation and page access by mapping user roles to route permissions at runtime. The template includes a mock API service layer that simulates backend responses for frontend development without a live server, along with internati

    Vueadminadmin-dashboardtemplate
    View on GitHub↗5,677
  • bevacqua/dragulabevacqua avatar

    bevacqua/dragula

    22,160View on GitHub↗

    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 restri

    JavaScriptcomponentdrag-and-dropdrag-drop
    View on GitHub↗22,160
  • daybrush/moveabledaybrush avatar

    daybrush/moveable

    10,720View on GitHub↗

    Moveable! Draggable! Resizable! Scalable! Rotatable! Warpable! Pinchable! Groupable! Snappable!

    TypeScriptdraggablegroupablemovable
    View on GitHub↗10,720
  • rubaxa/sortableRubaXa avatar

    RubaXa/Sortable

    31,135View on GitHub↗

    Sortable is a JavaScript drag and drop library used to create reorderable lists of HTML elements. It is a framework-agnostic tool and a touch-enabled interaction library that functions across modern browsers and touch devices without dependencies on specific web frameworks. The library enables the movement and cloning of elements between different containers using shared group configurations. It supports the repositioning of multiple items simultaneously and the use of specific drag handles to restrict which areas of an element trigger a move. Additional capabilities include programmatic sor

    JavaScript
    View on GitHub↗31,135
  • See all 30 alternatives to Pragmatic Drag And Drop→