0.13.6 • Published 3 months ago

dragjs v0.13.6

Weekly downloads
1,271
License
MIT
Repository
github
Last release
3 months ago

dragjs has been designed to make it easy to create JavaScript based drag interactions. This includes use cases such as draggable panels and different types of sliders. The idea is that you use the logic from this package to build your own components as it captures concerns such as mouse and touch handling.

Demonstrations

Simple draggable

import { draggable } from "dragjs";

const draggableElement = document.getElementById("draggable");

draggableElement && draggable({ element: draggableElement });

Draggable with a specific handle

import { draggable } from "dragjs";

const element = document.getElementById("draggabletwo");
const handle = element.children[0];

element && handle && draggable({ element, handle });

1D slider

import { slider } from "dragjs";

const onedContainer = document.getElementById("onedContainer");

onedContainer && slider({
  parent: onedContainer,
  "class": "oned",
  cbs: {
    begin: () => {
      log("2dslider: begin");
    },
    change: ({ x, pointer }) => {
      const newX = clamp(x * 100, 0, 100).toFixed(2) + "%";

      console.log("2dslider: " + newX);

      if (pointer) {
        pointer.style.left = newX;
      }
    },
    end: () => {
      log("2dslider: end");
    },
  },
});

2D slider

import { xyslider } from "dragjs";

const twodContainer = document.getElementById("twodContainer");

twodContainer && xyslider({
  parent: twodContainer,
  "class": "twod",
  cbs: {
    change: ({ x, y, pointer }) => {
      const newX = clamp(x * 100, 0, 100).toFixed(2) + "%";
      const newY = clamp(y * 100, 0, 100).toFixed(2) + "%";

      console.log("x: " + newX + ", y: " + newY);

      if (pointer) {
        pointer.style.left = newX;
        pointer.style.top = newY;
      }
    },
  },
});

Contributors

Development

Run the available commands through deno task.

To publish, tag a release with the desired version (i.e. git tag 0.13.0) and then git push.

License

dragjs is available under MIT. See LICENSE for more details.

0.13.6

3 months ago

0.13.5

3 months ago

0.13.4

8 months ago

0.10.0

2 years ago

0.9.0

2 years ago

0.13.2

2 years ago

0.13.3

2 years ago

0.8.0

6 years ago

0.7.0

8 years ago

0.6.0

9 years ago

0.5.0

10 years ago

0.4.1

11 years ago

0.4.0

11 years ago