JSPM

  • Created
  • Published
  • Downloads 853
  • Score
    100M100P100Q111416F
  • License MIT

A Vue 3 drag and drop library to sort all kind of lists

Package Exports

  • vue-fluid-dnd

Readme

Icon
Vue Fluid DnD

npm bundle size license version GitHub issues GitHub stars twitter test_coverage

Vue Fluid DnD is a fluid, smooth and versatil drag and drop library for lists on Vue 3. It's alightweight tool ~7 Kb (gzip) with no depenencies. This library is a Vue Draggable Next alternative if you looking for a better ui experience.

🧰 Features

  • βœ… Fully customizable 🎨.
  • βœ… Zero dependencies πŸͺΆ.
  • βœ… Work with horizontal➑️and vertical list ⬇️.
  • βœ… Mouse 🐭 and touch πŸ‘‰πŸ“± (mobile, tablet and so on) support.
  • βœ… Nice documentation πŸ“‘ and examples.
  • βœ… Fully tested πŸ§ͺ, typed and reliable.

✨ Inspirations

πŸš€ Getting Started

  1. Install vue-fluid-dnd:

    # with npm:
    npm i vue-fluid-dnd
    
    # with yarn:
    yarn add vue-fluid-dnd
    
    # with pnpm:
    pnpm i vue-fluid-dnd
  2. Import the vue composable

    import { useDragAndDrop } from "vue-fluid-dnd";
  3. Create a list that your want to sort an use useDragAndDrop

    // Each element have its own styles or classes and the draggable-id
    const listToSort = ref([
      {
        number: 1,
        style:
          "color: white; background-color: red; width: 50px; margin: 23px 0;",
      },
      //...
    ]);
    // create the parent element and set drag and drop configuration on the parent and children elements (creating events, statees, styles, etc) calling useDragAndDrop composable
    const { parent } = useDragAndDrop(listToSort);
  4. Create childrens

    <template>
       <div ref="parent" style="width: 40%; display: block">
          <div
             v-for="(element, index) in listToSort"
             :index="index"
             :style="element.style"
          >{{ element.number }}
          </div>
       </div>
    </template>
  5. Documentation

  • πŸ“š Check out all the docs.
  • πŸ› οΈ Edit the previous here.
  • πŸ“˜ See others examples here.

🀝 Contributing

If you're interested in contributing to vue-fluid-dnd, please read our contributing docs before submitting a pull request CONTRIBUTING.

πŸ”‘ License