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

RubaXa/Sortable

0
View on GitHub↗
31,135 stars·3,731 forks·JavaScript·MIT·31 viewssortablejs.github.io/Sortable↗

Sortable

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 sorting, the serialization of list orders for state restoration, and the use of animated transitions and placeholders to visualize layout shifts during reordering. Users can also configure drag sensitivity to prevent accidental triggers.

Features

  • Drag and Drop Libraries - Provides a framework-agnostic library for implementing drag-and-drop reorderable lists across modern browsers and touch devices.
  • List Reordering Components - Provides a comprehensive set of components for creating visually reorderable lists via drag-and-drop.
  • Drag Lifecycle Events - Tracks mouse and touch events to manage the lifecycle and positioning of dragged elements.
  • Dynamic Content Sequencing - Enables changing the order of visual elements to reflect specific data hierarchies or priorities.
  • Framework Agnostic UI Logic - Provides a vanilla JavaScript implementation that works independently of any specific web framework.
  • Touch Gesture Libraries - Implements a touch-enabled interaction system that translates raw pointer and touch inputs into drag-and-drop movements.
  • Direct DOM Manipulation - Directly modifies the DOM to append and insert elements to reflect new sorting orders.
  • Cross-Container Item Transfer - Allows elements to be moved between different containers by matching shared group identifiers.
  • Drag Handles - Provides the ability to restrict drag initiation to specific sub-elements designated as handles.
  • Cross-List Transfers - Enables the movement or cloning of elements from one list container to another.
  • Layout Placeholders - Uses temporary empty elements as placeholders to visually guide the item drop location.
  • List Transition Animations - Provides smooth visual transitions and animations when items swap positions in a list.
  • Multi-Item Drag Operations - Supports selecting and repositioning several elements simultaneously during a single drag action.
  • Multi-List Item Transfer - Facilitates moving or cloning elements between different containers using shared group configurations.
  • Programmatic List Sorting - Allows elements to be reordered automatically using a provided list of identifiers.
  • JavaScript Libraries - Drag-and-drop library for modern web interfaces.
  • UX Libraries - Library for drag-and-drop reordering of elements.

Star history

Star history chart for rubaxa/sortableStar history chart for rubaxa/sortable

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. 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

Projects sharing features with Sortable

These projects share indexed features with Sortable. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
  • 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
  • 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
  • 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
Compare all 30 related projects→

Frequently asked questions

What does rubaxa/sortable do?

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.

What are the main features of rubaxa/sortable?

The main features of rubaxa/sortable are: Drag and Drop Libraries, List Reordering Components, Drag Lifecycle Events, Dynamic Content Sequencing, Framework Agnostic UI Logic, Touch Gesture Libraries, Direct DOM Manipulation, Cross-Container Item Transfer.

Which projects share features with rubaxa/sortable?

Projects with overlapping indexed features include: sortablejs/sortable — Sortable is a framework-agnostic JavaScript library for creating reorderable lists through drag and drop interactions.… sortablejs/vue.draggable — Vue.Draggable is a component-based library for Vue.js that enables drag-and-drop functionality within web interfaces.… bevacqua/dragula — Dragula is a JavaScript drag and drop library and DOM element manipulator used to move and reorder HTML elements… 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… 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…