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
TahaSh avatar

TahaSh/swapy

0
View on GitHub↗
8,452 stars·178 forks·TypeScript·gpl-3.0·10 views

Swapy

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 into structured data objects for storage or processing. It utilizes coordinate-based mapping and DOM mutation tracking to synchronize visual element orders with data representations.

Features

  • Drag and Drop Libraries - A library for implementing drag-and-drop interactions specifically for updating visual layout mappings.
  • Coordinate-Based Position Calculators - Provides logic to determine element positions by calculating spatial coordinates relative to other UI components.
  • Workspace Coordinate Management - Manages the 2D positions of elements and tracks their coordinates during user interactions.
  • Drag-and-Drop Row Reorderers - Allows users to manually rearrange the sequence of items in a list or grid via drag-and-drop.
  • Dynamic Layout Engines - Provides a framework for constructing interactive layouts that adapt based on visual reordering and configuration.
  • Layout Order Trackers - Monitors changes in the visual order of elements and exports the updated layout as a data object.
  • Position Serialization - Converts the visual positions of screen elements into structured data objects for storage or processing.
  • Data-Driven Layouts - Translates visual arrangements of elements into structured data objects for easy extraction and storage.
  • Layout Swapping - Allows users to rearrange layout elements on the screen via drag and drop swapping.
  • Event-Driven State Synchronizers - Synchronizes the internal layout state with the UI based on drag and drop event streams.
  • Interactive Element Sorting - Enables users to sort lists or grids by dragging items into a specific visual sequence.
  • Draggable Layout Elements - Provides UI components that can be repositioned within a layout via drag-and-drop interactions.
  • DOM Structural Tracking - Monitors DOM mutations to detect when elements are moved or reordered within the document tree.
  • Sequence Indexing - Determines the index of an element based on its sequence in the parent container during reordering.

Star history

Star history chart for tahash/swapyStar history chart for tahash/swapy

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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

Open-source alternatives to Swapy

Similar open-source projects, ranked by how many features they share with Swapy.
  • 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
  • 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
  • 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
  • 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
See all 30 alternatives to Swapy→

Frequently asked questions

What does tahash/swapy do?

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.

What are the main features of tahash/swapy?

The main features of tahash/swapy are: Drag and Drop Libraries, Coordinate-Based Position Calculators, Workspace Coordinate Management, Drag-and-Drop Row Reorderers, Dynamic Layout Engines, Layout Order Trackers, Position Serialization, Data-Driven Layouts.

What are some open-source alternatives to tahash/swapy?

Open-source alternatives to tahash/swapy include: mzabriskie/react-draggable — react-draggable is a UI interaction library that provides core primitives and components for adding tactile movement… haltu/muuri — Muuri is a JavaScript grid layout library and draggable UI framework used to create responsive grids with… bevacqua/dragula — Dragula is a JavaScript drag and drop library and DOM element manipulator used to move and reorder HTML elements… sortablejs/sortable — Sortable is a framework-agnostic JavaScript library for creating reorderable lists through drag and drop interactions.… shopify/draggable — Draggable is a JavaScript library for implementing draggable elements and sortable lists within a web browser. It… 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…