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
Back to mzabriskie/react-draggable

Open-source alternatives to React Draggable

30 open-source projects similar to mzabriskie/react-draggable, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best React Draggable alternative.

  • react-grid-layout/react-draggablereact-grid-layout avatar

    react-grid-layout/react-draggable

    9,292View on GitHub↗

    react-draggable is a drag and drop library and coordinate-based position manager for React. It functions as a component wrapper that adds draggable behavior to user interface elements, enabling them to be moved via mouse or touch interactions. The library provides touch-enabled interaction tools that unify pointer events across desktop browsers and touch screen devices. It utilizes CSS transforms to handle element movement and coordinate tracking. The system covers movement constraints such as axis restriction and boundary clamping to confine elements within specific areas. It includes posit

    JavaScript
    View on GitHub↗9,292
  • desandro/draggabillydesandro avatar

    desandro/draggabilly

    3,871View on GitHub↗

    Draggabilly is a JavaScript drag and drop library used to make DOM elements draggable on desktop and mobile. It serves as a coordinate-based UI tool and interaction library for tracking and setting the horizontal and vertical positions of interface elements during user interaction. The library provides a mobile-ready touch handler that converts mouse and touch movements into element translation. It includes specialized capabilities for restricting movement to specific axes or container boundaries and implements grid snapping to align elements to a predefined pixel grid. The tool manages the

    JavaScript
    View on GitHub↗3,871
  • gaearon/react-dndgaearon avatar

    gaearon/react-dnd

    21,642View on GitHub↗

    React-dnd is a drag and drop framework and library for React applications. It provides a system of higher-order components and hooks to implement draggable interface elements and drop targets using a declarative API. The framework separates the logic of moving items from the visual presentation of the user interface. This allows for the development of interactive interfaces, such as visual list reordering and custom dashboard layouts where widgets or panels can be reorganized.

    TypeScript
    View on GitHub↗21,642

AI search

Explore more awesome repositories

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

Find more with AI search
  • juliangarnier/animejuliangarnier avatar

    juliangarnier/anime

    69,932View on GitHub↗

    This project is a declarative motion framework and JavaScript animation engine designed to transition CSS properties, SVG attributes, and DOM elements. It provides a comprehensive set of tools for creating complex, multi-part motion sequences by synchronizing animations, timers, and callbacks into a single, unified timeline. The library distinguishes itself through a robust timeline-based sequence orchestrator that allows for precise timing, label-based control, and hierarchical nesting of animations. It also features a physics-driven interaction library that enables draggable elements with c

    JavaScriptanimationanimecanvas
    View on GitHub↗69,932
  • sortablejs/sortableSortableJS avatar

    SortableJS/Sortable

    31,135View on 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
    View on GitHub↗31,135
  • haltu/muurihaltu avatar

    haltu/muuri

    10,954View on GitHub↗

    Muuri is a JavaScript grid layout library and draggable UI framework used to create responsive grids with drag-and-drop reordering, sorting, and animated filtering. It features a nested grid system that allows full grid instances to be embedded inside other grid items to create hierarchical structures. The library uses a web worker layout engine to offload heavy coordinate calculations to background threads, maintaining interface responsiveness during complex rearrangements. The system provides interactive capabilities for moving items between multiple containers, filtering visibility based

    JavaScriptbin-packingdnddrag-and-drop
    View on GitHub↗10,954
  • shopify/draggableShopify avatar

    Shopify/draggable

    18,457View on GitHub↗

    Draggable is a JavaScript library for implementing draggable elements and sortable lists within a web browser. It provides a functional toolset for creating accessible drag and drop interfaces and a mechanism for dynamically swapping, sorting, and reordering HTML elements in real time. The library features a cross-input interaction layer that unifies mouse, touch, and force-touch events into a single stream for consistent behavior across different devices. It specifically includes tools for providing screen reader feedback and assistive technology support to ensure drag operations are accessi

    JavaScriptdrag-and-dropdraggablees6
    View on GitHub↗18,457
  • tahash/swapyTahaSh avatar

    TahaSh/swapy

    8,452View on GitHub↗

    Swapy is a drag and drop layout library designed to manage the spatial arrangement of UI components. It functions as an element reordering tracker and visual position manager that exports updated layout sequences as data objects after user interactions. The system monitors changes to the visual order of elements to provide updated layout mappings. It enables the rearrangement of on-screen elements through drag and drop interactions to update visual layout mappings. The library covers dynamic layout management and visual element sorting by converting the visual positions of screen elements in

    TypeScript
    View on GitHub↗8,452
  • marceljuenemann/angular-drag-and-drop-listsmarceljuenemann avatar

    marceljuenemann/angular-drag-and-drop-lists

    2,146View on GitHub↗

    This library provides a set of directives for building sortable, hierarchical user interfaces within the Angular framework. It leverages the native HTML5 drag-and-drop API to enable direct manipulation of data objects, allowing users to reorder items and manage complex list structures through intuitive browser interactions. The project distinguishes itself by supporting nested data visualization, enabling the creation of tree structures that maintain their hierarchy during drag-and-drop operations. It offers granular control over these interactions through custom drag handles, which restrict

    JavaScript
    View on GitHub↗2,146
  • taye/interact.jstaye avatar

    taye/interact.js

    12,913View on GitHub↗

    interact.js is a JavaScript interaction library used to implement drag and drop, resizing, and multi-touch gestures within web browsers. It provides a specialized interaction framework for scalable vector graphics, allowing these elements to be moved and resized. The library features a multi-touch gesture engine that recognizes complex patterns such as pinch and rotate, and a coordinate snapping engine for aligning elements to grids or restricting movement within boundaries. It also includes a cross-frame state synchronizer to share interaction states and input events across multiple browser

    TypeScript
    View on GitHub↗12,913
  • clauderic/dnd-kitclauderic avatar

    clauderic/dnd-kit

    17,243View on 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
    View on GitHub↗17,243
  • sortablejs/vue.draggable.nextSortableJS avatar

    SortableJS/vue.draggable.next

    4,499View on GitHub↗

    This project is a drag-and-drop UI library and a Vue 3 component for implementing sortable lists and state-synced interfaces. It acts as a wrapper for the Sortable.js library, providing a state-synced list component that automatically updates the underlying data array when items are reordered or moved. The library supports nested draggable interfaces and hierarchical data organization, allowing draggable containers to be nested inside other movable items to create multi-level structures. It also enables multi-column data transfer, allowing elements to be moved or cloned between different drag

    JavaScript
    View on GitHub↗4,499
  • clauderic/react-sortable-hocclauderic avatar

    clauderic/react-sortable-hoc

    10,905View on GitHub↗

    React Sortable Hoc is a library for building drag-and-drop reorderable lists and grids within web applications. It provides a set of reusable components designed to integrate into the component-based architecture of React, allowing users to rearrange elements through mouse or touch input. The library utilizes a higher-order component pattern to inject drag-and-drop state management into existing list components without requiring modifications to the underlying implementation. It employs portal-based ghost rendering to move elements outside the normal document flow, while using hardware-accele

    JavaScriptdrag-and-dropdraggingfront-end
    View on GitHub↗10,905
  • bokuweb/react-rndbokuweb avatar

    bokuweb/react-rnd

    4,278View on GitHub↗

    react-rnd is a JavaScript UI interaction library and React component used to create elements that are both draggable and resizable within a browser window. It functions as a constraint-based layout component that wraps DOM elements to enforce boundaries, grid snapping, and aspect ratio locks during manual adjustments. The library allows for the definition of custom interaction handles to act as the primary triggers for dragging and resizing actions. It supports axis restrictions, boundary limits, and the ability to round position and dimension values to specified pixel increments. The system

    TypeScriptcomponentdragdraggable
    View on GitHub↗4,278
  • pmndrs/use-gesturepmndrs avatar

    pmndrs/use-gesture

    9,618View on GitHub↗

    use-gesture is a JavaScript gesture manager and interaction tool designed to detect and process user input patterns. It functions as a React gesture hook library and a general utility for tracking screen coordinates and movement patterns to drive interactive component behaviors. The library specializes in capturing complex mouse and touch interactions, including dragging, pinching, swiping, and scrolling. It provides a system for implementing drag and drop functionality and pinch-to-zoom interactions. The tool covers the development of interactive UI components by normalizing diverse input e

    TypeScript
    View on GitHub↗9,618
  • okonet/react-dropzoneokonet avatar

    okonet/react-dropzone

    10,985View on GitHub↗

    react-dropzone is a reusable React UI component for implementing HTML5 drag-and-drop file transfers. It provides a React file upload component that manages file selection and drop zone states within a web application. The project enables the creation of interactive file upload interfaces where users can drag files from their local system or select them via a file browser. It integrates with the native system file picker dialog and supports the File System Access API.

    JavaScript
    View on GitHub↗10,985
  • gridstack/gridstack.jsgridstack avatar

    gridstack/gridstack.js

    8,972View on 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
    View on GitHub↗8,972
  • ruanyf/react-demosruanyf avatar

    ruanyf/react-demos

    16,471View on GitHub↗

    This project is a collection of practical code samples and demonstrations for building user interfaces with React. It serves as a set of examples illustrating common interface patterns, state management techniques, and the implementation of modular, reusable components. The repository provides specific demonstrations for several core development areas. These include samples for retrieving and rendering asynchronous data from external APIs, managing component lifecycles during mounting and unmounting, and handling internal state to sync form inputs. It also includes guides for direct document

    JavaScript
    View on GitHub↗16,471
  • 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
  • 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
  • ramotion/folding-cellRamotion avatar

    Ramotion/folding-cell

    10,196View on GitHub↗

    Folding-cell is a React animation component designed as a collapsible content cell. It functions as an expanding UI element that toggles between a collapsed and expanded state to reveal hidden information. The component implements animated content disclosure using a paper-like transition. It is designed for interactive UI components and mobile layouts, allowing compact lists or grids to expand into detailed views without navigating to a new page.

    Swift
    View on GitHub↗10,196
  • magicuidesign/magicuimagicuidesign avatar

    magicuidesign/magicui

    21,278View on GitHub↗

    Magic UI is a copy-paste UI framework and React animated library providing a collection of interactive, visually dynamic interface components. It serves as a design engineering toolkit that bridges high-fidelity design and production code by offering ready-made components for direct integration into web applications. The library focuses on animated UI development and the implementation of interactive components, utilizing a copy-paste distribution model. This approach allows for rapid prototyping and full local customization without the need to install heavy dependencies. The components are

    MDXcomponentsframer-motionnextjs
    View on GitHub↗21,278
  • measuredco/puckmeasuredco avatar

    measuredco/puck

    12,817View on GitHub↗

    Puck is a visual page editor and layout tool for React. It functions as a CMS page builder and component orchestrator, allowing for the design and arrangement of structured content pages through a drag-and-drop interface. The system utilizes a pluggable component registry to integrate external React components into the visual canvas. It employs schema-driven mapping and JSON-based serialization to store and persist page structures as portable data objects. The platform covers the domain of no-code page building and CMS content management, providing a visual reconciliation system to synchroni

    TypeScript
    View on GitHub↗12,817
  • sortablejs/vue.draggableSortableJS avatar

    SortableJS/Vue.Draggable

    20,626View on GitHub↗

    Vue.Draggable is a component-based library for Vue.js that enables drag-and-drop functionality within web interfaces. It functions as a wrapper for the SortableJS engine, bridging the gap between imperative DOM manipulation and the declarative nature of the Vue.js reactive system. By synchronizing user interface interactions with the underlying data model, it ensures that list reordering and element movement are automatically reflected in the application state. The library supports complex interaction patterns, including the ability to move items between lists, clone elements using keyboard m

    JavaScriptcomponentdrag-and-dropvue
    View on GitHub↗20,626
  • react-dnd/react-dndreact-dnd avatar

    react-dnd/react-dnd

    21,641View on GitHub↗

    React DnD is a library for building complex drag-and-drop interfaces within React applications. It provides a declarative, component-based architecture that abstracts native browser drag-and-drop APIs, allowing developers to manage state and interactions between draggable sources and drop targets. The library utilizes a dependency injection backend to decouple interaction logic from specific input methods, supporting mouse, touch, and native browser events through a unified normalization layer. It employs a registry pattern to track active drop zones and a monitor pattern to observe the lifec

    TypeScriptdrag-and-dropnot-the-gamereact
    View on GitHub↗21,641
  • markdalgleish/stellar.jsmarkdalgleish avatar

    markdalgleish/stellar.js

    4,592View on GitHub↗

    Stellar.js is a JavaScript parallax library and scroll-based motion framework used to coordinate DOM element positioning and CSS transforms. It functions as a positioning tool that calculates real-time coordinate shifts for background images and foreground items based on scroll triggers. The library utilizes a CSS transform animation engine to ensure movement is hardware-accelerated on both mobile and desktop browsers. It creates depth effects by applying different movement speeds to elements relative to the natural scroll rate. The framework covers a range of motion capabilities, including

    JavaScript
    View on GitHub↗4,592
  • react-dropzone/react-dropzonereact-dropzone avatar

    react-dropzone/react-dropzone

    10,985View on GitHub↗

    react-dropzone is a React hook and HTML5 drag-and-drop wrapper used to create interactive areas that accept files via drag-and-drop or a native system file picker. It serves as a web file system interface, bridging browser interfaces with the operating system's file selection process. The project distinguishes itself by managing complex event propagation to isolate drop zones and providing global drag-state detection for document-wide visual feedback. It supports both traditional hidden input triggers and the modern browser File System Access API for secure context integration, and it can det

    JavaScriptdrag-and-dropfilefile-upload
    View on GitHub↗10,985
  • strml/react-grid-layoutSTRML avatar

    STRML/react-grid-layout

    22,320View on GitHub↗

    React Grid Layout is a draggable and resizable grid system for React that organizes components into a coordinate-based layout. It functions as a responsive layout manager and a serialized grid state engine, providing the tools necessary to create user-customizable workspaces where interface elements can be moved and resized. The system distinguishes itself through breakpoint-driven layout mapping, which adjusts grid configurations based on container width. It utilizes a serialized state model to convert spatial positions and dimensions into data formats for saving and restoring user layouts,

    TypeScript
    View on GitHub↗22,320
  • prevwong/craft.jsprevwong avatar

    prevwong/craft.js

    8,683View on GitHub↗

    Craft.js is a framework for building extensible drag-and-drop page editors using React components and serializable state management. It provides the core infrastructure to construct custom page builders where users can compose layouts by dragging, dropping, and repositioning elements within a structured editor environment. The framework manages editor state through a component-based node tree, where each user element is represented as an internal node storing its type, props, and parent relationships. This state is managed via React Context and can be serialized to JSON for persistence and sh

    TypeScriptdraft-jsdrag-and-drophtml-builder
    View on GitHub↗8,683
  • plasmicapp/plasmicplasmicapp avatar

    plasmicapp/plasmic

    6,648View on GitHub↗
    TypeScriptbuildercmsdesign
    View on GitHub↗6,648