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 taye/interact.js

Projects sharing features with Interact.js

30 open-source projects similar to taye/interact.js, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.

  • 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
  • northwoodssoftware/gojsNorthwoodsSoftware avatar

    NorthwoodsSoftware/GoJS

    8,447View on 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
    View on GitHub↗8,447

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
  • daybrush/moveabledaybrush avatar

    daybrush/moveable

    10,720View on GitHub↗

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

    TypeScriptdraggablegroupablemovable
    View on GitHub↗10,720
  • mzabriskie/react-draggablemzabriskie avatar

    mzabriskie/react-draggable

    9,289View on 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
    View on GitHub↗9,289
  • ksylvest/jquery-gridlyksylvest avatar

    ksylvest/jquery-gridly

    852View on GitHub↗

    This project is a jQuery plugin designed for creating responsive grid interfaces that support interactive drag-and-drop reordering and manual resizing of elements. It provides a framework for managing structured layouts where content can be organized into a grid system that automatically adjusts to maintain visual alignment. The library enables users to customize dashboards by rearranging and scaling widgets through mouse-based interactions. It utilizes a coordinate-based system to detect collisions and ensure that elements snap into valid slots, while providing callback functions to monitor

    CoffeeScriptjquery
    View on GitHub↗852
  • 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
  • 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
  • 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
  • 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
  • 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
  • joseexposito/toucheggJoseExposito avatar

    JoseExposito/touchegg

    4,095View on GitHub↗

    TouchEGG is a multi-touch gesture recognizer and input bridge for Linux that operates as a background service. It detects gestures on touchpads and touchscreens, mapping swipes, pinches, and taps to specific system actions across different display protocols. The tool functions as an input device gesture mapper, converting touch patterns into keyboard shortcuts, mouse clicks, or the execution of arbitrary shell commands. It allows for the definition of custom gesture-based triggers to manage window states and navigate virtual desktops. The system handles input emulation for both keyboard comb

    C++gesture-recognitionlibinputlinux
    View on GitHub↗4,095
  • david-desmaisons/vue.draggableDavid-Desmaisons avatar

    David-Desmaisons/Vue.Draggable

    20,609View on 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
    View on GitHub↗20,609
  • 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
  • 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
  • pbakaus/scrollerpbakaus avatar

    pbakaus/scroller

    3,907View on GitHub↗

    Scroller is a JavaScript library for implementing pan-and-zoom interactions on HTML elements and Canvas rendering surfaces. It functions as a viewport state manager and kinetic scrolling engine that translates touch and mouse pointer events into scaled offsets for fluid navigation. The library features a kinetic motion system that simulates deceleration and edge bouncing. It includes specific mechanisms for pull-to-refresh triggers and supports point-relative zoom scaling to keep the focal point centered on the user's cursor. The system provides a range of movement controls, including axis-l

    JavaScript
    View on GitHub↗3,907
  • react-grid-layout/react-grid-layoutreact-grid-layout avatar

    react-grid-layout/react-grid-layout

    22,319View on GitHub↗

    React Grid Layout is a toolkit for building draggable, resizable, and responsive dashboard interfaces. It functions as a coordinate-based grid system that reconciles component positions and dimensions through declarative metadata, allowing developers to manage complex collections of UI elements that users can interact with directly. The library distinguishes itself through an automated packing algorithm that maintains structural integrity by shifting elements to fill gaps and resolving overlaps. It supports responsive design by monitoring container width changes against pre-defined breakpoint

    TypeScriptdrag-and-dropes2015grid
    View on GitHub↗22,319
  • bokuweb/react-resizable-and-movablebokuweb avatar

    bokuweb/react-resizable-and-movable

    4,309View on 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
    View on GitHub↗4,309
  • dabeng/orgchartdabeng avatar

    dabeng/OrgChart

    3,007View on 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
    View on GitHub↗3,007
  • software-mansion/react-native-gesture-handlersoftware-mansion avatar

    software-mansion/react-native-gesture-handler

    6,755View on GitHub↗

    React Native Gesture Handler is a declarative library that exposes the platform's native touch and gesture system to React Native, enabling smooth, deterministic gesture handling on the UI thread. It manages gesture recognition through a native state machine with defined transitions between states like BEGAN, ACTIVE, END, and CANCELLED, routing touch events through platform-native gesture recognizers on both iOS and Android. The library provides a comprehensive gesture composition framework that allows developers to combine multiple gestures into race, simultaneous, or exclusive sequences, co

    TypeScriptgesturejavascriptreact-native
    View on GitHub↗6,755
  • 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
  • roversx/launchnextRoversX avatar

    RoversX/LaunchNext

    2,775View on GitHub↗
    Swift
    View on GitHub↗2,775
  • 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
  • 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
  • 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
  • givanz/vvvebjsgivanz avatar

    givanz/VvvebJs

    8,532View on GitHub↗

    VvvebJs is a self-hosted, vanilla JavaScript library for visually assembling web pages by dragging pre-built HTML components onto a canvas. It functions as a visual HTML editor and component-based page builder that requires no build tools or external dependencies, and can be deployed on a server with PHP or Node.js backend for saving and exporting pages. The builder organizes reusable HTML components into named groups for drag-and-drop assembly, and provides visual property editing that modifies HTML attributes, CSS styles, and class names through form controls and property panels. It include

    JavaScriptbootstrapbootstrap5builder
    View on GitHub↗8,532
  • gabrielemariotti/cardslibgabrielemariotti avatar

    gabrielemariotti/cardslib

    4,618View on GitHub↗

    cardslib is an Android UI component library and card layout framework. It provides a set of specialized adapters and views designed as an extension for high-performance card rendering within recycling lists. The library distinguishes itself through a reorderable list implementation that supports drag-and-drop item rearrangement and nested content hierarchies. It also includes an interaction system for managing directional swipe constraints and a customizable undo action notification bar. The framework covers a broad range of card-based interface capabilities, including the composition of vis

    Java
    View on GitHub↗4,618
  • plasmicapp/plasmicplasmicapp avatar

    plasmicapp/plasmic

    6,648View on GitHub↗
    TypeScriptbuildercmsdesign
    View on GitHub↗6,648
  • 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
  • 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