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

number-editor

v1.2.3

Published

a number editor DOM element

Downloads

29

Readme

number-editor

experimental

img

A simple number editor or spinner that acts like those in After Effects and similar software. You can click and drag to slide the value, or double-click to enter a new value. You can use up/down while editing to increment and decrement the value. Holding command/control will step by smaller values, and holding shift will step by larger values.

var opts = {
    min: 0,
    max: 1,
    step: 0.01,
    decimals: 2
}

require('domready')(function() {
	var spinner = require('number-editor')(opts)
    document.body.appendChild(spinner.element)
})

For one that accepts units (like % or px) see number-unit-editor.

Usage

NPM

editor = createEditor([options])

Creates a new number editor with the given options.

  • min the minimum value, default no minimum
  • max the maximum value, default no maximum
  • step the step to increment when sliding and with up/down arrows. Default 1.
  • decimals the number of decimals to show, default none (i.e. round to whole numbers)
  • value the default value to show
  • element the input element, default creates a new one
  • stepModifier how much to multiply/divide with the modifier keys (shift and control/meta). Default is 10.
  • dragScale how much to multiply sliding when dragging. Default is half the step.
  • cursor a boolean, whether to change cursor style (default true)
  • parent the parent container which receives out-of-element mouse events. Default is document. This is passed onto clickdrag and can be an instance of EventEmitter if you want to avoid duplicate document events.
  • cursorParent the parent container that changes cursors during out-of-element mouse events. Default is document.body.
  • touch prepare the element for mobile/touch devices (acts like a simple number box)

editor.on('change', listener)

Handle an event when the number changes. The new value is passed as the parameter.

editor.on('edit-start')

editor.on('edit-stop')

Events for start and stop of editing (manual typing).

editor.editing

A read-only value that returns true if the box is being edited (i.e. user is typing manually).

editor.dispose()

Removes this element from its parent node and dispoess the drag events on the parent element.

demo

To run the demo from source, clone this repo and follow these steps:

git clone https://github.com/mattdesl/number-editor.git
cd number-editor
npm install

## now run the demo 
npm run demo

Open localhost:9966 to see the result.

License

MIT, see LICENSE.md for details.