npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

displace-es

v1.4.1

Published

Tiny javascript library to create moveable DOM elements.

Downloads

3

Readme

displace-es

A minimal javascript library to enable moveable DOM elements.

  • ~1.2kb gzipped
  • supports mobile touch
  • no dependencies/bloat
  • IE9+

Getting started

Reference

Install via npm:

npm install --save displace-es

Reference displace.min.js and use via displace:

// es6
import displace from 'displacejs';

// commonjs
let displace = require('displace');

// if using globally in browser
const displace = window.displacejs;

Initialize

Initialize and use:

// initial
const d = displace(document.querySelector('.some-div'), options);

API

Methods

displace(element, options)

Creates a new displace instance with a DOM element. For options, see below.

reinit()

Runs setup again. Useful when divs have been moved or resized.

displace.destroy()

Removes event listeners and destroys instance.

Options

constrain

Constrains element to its parent container

Default: false

relativeTo

Constrains element to the specified DOM element. Requires constrain to be true.

Default: null

handle

Assigns a child element as the moveable handle for the parent element.

Default: null

highlightInputs

Allows you to highlight text in inputs and textareas by disabling drag events originating from those elements.

Default: false

ignoreFn

Function that allows you to prevent dragging from an event. If the function returns true, the event will be ignored.

Default: null

onMouseDown

Function that is triggered when user clicks down on moveable element.

Default: null

onMouseMove

Function that is triggered when user moves element.

Default: null

onMouseUp

Function that is triggered when user clicks up on moveable element.

Default: null

onTouchStart

Function that is triggered when initiates touch event.

Default: null

onTouchMove

Function that is triggered when moves element during touch event.

Default: null

onTouchStop

Function that is triggered when user ends touch event.

Default: null

customMove

Function that can be used to override how x and y are being set on the displaced element on move.

Default: null

Development

Clone the repo and npm install. Available npm scripts are:

  • build library: lib-build
  • library development (watch src files and build on change): lib-dev
  • docs development (port 3001): docs-dev