awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to react-grid-layout/react-draggable

Open-source alternatives to React Draggable

30 open-source projects similar to react-grid-layout/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.

  • desandro/draggabillydesandro 的头像

    desandro/draggabilly

    3,871在 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
    在 GitHub 上查看↗3,871
  • mzabriskie/react-draggablemzabriskie 的头像

    mzabriskie/react-draggable

    9,289在 GitHub 上查看↗

    react-draggable is a UI interaction library that provides core primitives and components for adding tactile movement and coordinate-based positioning to web elements. It serves as a tool for making user interface elements movable via mouse or touch interactions within React applications. The library supports the implementation of custom drag handles, allowing the initiation of movement to be restricted to specific child elements identified by CSS selectors. It also provides programmatic drag state management, enabling developers to control element positioning or use callbacks for movement wit

    JavaScript
    在 GitHub 上查看↗9,289
  • taye/interact.jstaye 的头像

    taye/interact.js

    12,913在 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
    在 GitHub 上查看↗12,913

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Find more with AI search
  • gridstack/gridstack.jsgridstack 的头像

    gridstack/gridstack.js

    8,972在 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
    在 GitHub 上查看↗8,972
  • bokuweb/react-rndbokuweb 的头像

    bokuweb/react-rnd

    4,278在 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
    在 GitHub 上查看↗4,278
  • shopify/draggableShopify 的头像

    Shopify/draggable

    18,457在 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
    在 GitHub 上查看↗18,457
  • gaearon/react-dndgaearon 的头像

    gaearon/react-dnd

    21,642在 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
    在 GitHub 上查看↗21,642
  • juliangarnier/animejuliangarnier 的头像

    juliangarnier/anime

    69,932在 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
    在 GitHub 上查看↗69,932
  • rubaxa/sortableRubaXa 的头像

    RubaXa/Sortable

    31,135在 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
    在 GitHub 上查看↗31,135
  • sortablejs/sortableSortableJS 的头像

    SortableJS/Sortable

    31,135在 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
    在 GitHub 上查看↗31,135
  • northwoodssoftware/gojsNorthwoodsSoftware 的头像

    NorthwoodsSoftware/GoJS

    8,447在 GitHub 上查看↗

    GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation. The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a

    HTMLcanvaschartcharts
    在 GitHub 上查看↗8,447
  • pmndrs/use-gesturepmndrs 的头像

    pmndrs/use-gesture

    9,618在 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
    在 GitHub 上查看↗9,618
  • marceljuenemann/angular-drag-and-drop-listsmarceljuenemann 的头像

    marceljuenemann/angular-drag-and-drop-lists

    2,146在 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
    在 GitHub 上查看↗2,146
  • prevwong/craft.jsprevwong 的头像

    prevwong/craft.js

    8,683在 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
    在 GitHub 上查看↗8,683
  • haltu/muurihaltu 的头像

    haltu/muuri

    10,954在 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
    在 GitHub 上查看↗10,954
  • clauderic/dnd-kitclauderic 的头像

    clauderic/dnd-kit

    17,243在 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
    在 GitHub 上查看↗17,243
  • strml/react-grid-layoutSTRML 的头像

    STRML/react-grid-layout

    22,320在 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
    在 GitHub 上查看↗22,320
  • tahash/swapyTahaSh 的头像

    TahaSh/swapy

    8,452在 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
    在 GitHub 上查看↗8,452
  • bevacqua/dragulabevacqua 的头像

    bevacqua/dragula

    22,160在 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
    在 GitHub 上查看↗22,160
  • dabeng/orgchartdabeng 的头像

    dabeng/OrgChart

    3,007在 GitHub 上查看↗

    OrgChart is a JavaScript hierarchy visualization library and web-based editor used to render interactive organizational charts from JSON or HTML data sources. It functions as a JSON-driven tree mapper and interactive component for visualizing, exploring, and editing complex hierarchical structures. The library enables the real-time modification of parent-child and sibling relationships through drag-and-drop reorganization and dynamic node editing. It distinguishes itself by providing a visual editor for programmatically altering tree structures and managing organizational maps. The system in

    JavaScriptchartjqueryorg
    在 GitHub 上查看↗3,007
  • oliviertassinari/react-swipeable-viewsoliviertassinari 的头像

    oliviertassinari/react-swipeable-views

    4,473在 GitHub 上查看↗

    This project is a React library for creating touch-enabled sliding views and interactive view switchers. It provides components for building content carousels and sliders that support horizontal or vertical navigation via touch, mouse swipe gestures, and keyboard inputs. The library includes a virtualized slider component that renders only visible views to maintain performance with large content sets. It supports specialized visual behaviors such as three-dimensional coverflow transitions, circular navigation for infinite looping, and edge resistance effects when reaching the boundaries of a

    JavaScript
    在 GitHub 上查看↗4,473
  • bokuweb/react-resizable-and-movablebokuweb 的头像

    bokuweb/react-resizable-and-movable

    4,309在 GitHub 上查看↗

    This project is a React UI interaction library and component geometry manager. It provides a set of tools for creating elements within a React application that users can move and resize. The library allows for the customization of interaction handles, enabling the application of custom components, styles, or CSS classes to the resize handles to match specific visual designs. The system covers element manipulation through both direct user interaction and programmatic geometry updates. It includes capabilities for grid snapping, bounding constraints, and locked aspect ratios to control the pos

    TypeScript
    在 GitHub 上查看↗4,309
  • david-desmaisons/vue.draggableDavid-Desmaisons 的头像

    David-Desmaisons/Vue.Draggable

    20,609在 GitHub 上查看↗

    Vue.Draggable is a user interface component for Vue that enables drag-and-drop list reordering. It functions as a declarative wrapper for the Sortable.js library, providing a specialized list element that synchronizes the visual order of elements with an underlying data model. The project supports complex interactive layouts, including the ability to transfer items between multiple containers and clone items during the drag process. It provides mechanisms to restrict drag initiation to specific handle elements and allows for the embedding of static content within the draggable area. The fram

    JavaScript
    在 GitHub 上查看↗20,609
  • greensock/gsapgreensock 的头像

    greensock/GSAP

    23,877在 GitHub 上查看↗

    GSAP is a comprehensive JavaScript animation library designed for orchestrating complex motion sequences and interactive user interfaces. It provides a robust property-interpolation engine that calculates intermediate values for CSS styles, attributes, and numeric properties, enabling smooth visual transitions across web elements. The framework is built on a core architecture that manages animation lifecycles, timeline-based sequence orchestration, and virtual property interception to ensure precise control over motion. The library distinguishes itself through a modular, plugin-based extensib

    JavaScriptanimationgsapjavascript
    在 GitHub 上查看↗23,877
  • sortablejs/vue.draggable.nextSortableJS 的头像

    SortableJS/vue.draggable.next

    4,499在 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
    在 GitHub 上查看↗4,499
  • daybrush/moveabledaybrush 的头像

    daybrush/moveable

    10,720在 GitHub 上查看↗

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

    TypeScriptdraggablegroupablemovable
    在 GitHub 上查看↗10,720
  • alfred-skyblue/vue-draggable-plusAlfred-Skyblue 的头像

    Alfred-Skyblue/vue-draggable-plus

    4,001在 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
    在 GitHub 上查看↗4,001
  • sortablejs/vue.draggableSortableJS 的头像

    SortableJS/Vue.Draggable

    20,626在 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
    在 GitHub 上查看↗20,626
  • hammerjs/hammer.jshammerjs 的头像

    hammerjs/hammer.js

    24,356在 GitHub 上查看↗

    Hammer.js is a library for recognizing touch gestures in web applications. It functions as a unified interface that translates raw pointer, mouse, and touch inputs into a consistent stream of interaction data, allowing developers to detect patterns such as taps, swipes, and pans across different browsers and hardware. The library distinguishes itself through a modular architecture that uses configurable logic blocks to evaluate input streams against specific mathematical thresholds. It maintains an internal registry of active touch points to track complex multi-finger movements like pinching

    JavaScript
    在 GitHub 上查看↗24,356
  • tapmodo/jcroptapmodo 的头像

    tapmodo/Jcrop

    4,279在 GitHub 上查看↗

    Jcrop is a JavaScript image cropping library that provides a browser-based interface for users to interactively select and define rectangular regions of an image. It utilizes a DOM-based image overlay to wrap images in relative containers, allowing for the placement of adjustable selection handles and boundary constraints. The tool distinguishes itself through comprehensive input support, translating touch gestures and keyboard intercepts into precise coordinate updates for both mobile and desktop environments. It features an engine capable of enforcing custom aspect ratio constraints and cal

    JavaScript
    在 GitHub 上查看↗4,279