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

react-number-input

v15.5.1

Published

<input /> for numbers, currency and other important numbers

Downloads

2,239

Readme

Build Status

React Number Input component

HTML input element clone with support for post-edit formatting of number values. An input of 1000000 will format to 1,000,000 under en-AU locale.

Usage

yarn add react-number-input

By default it points to dist/index.js which is a pre-built using babel and compatible with CommonJS or ES6.

Demo (Storybook)

git clone [email protected]:hongymagic/react-number-input.git
cd react-number-input
yarn
yarn storybook

Screencast demo

in flight

Screencast demo has the following configuration:

* Optionally format to 2 decimal places
* No minimum
* No maximum

Install

npm install --save react-number-input

or

yarn add react-number-input --save

Use

Use it like a normal react form element.

<NumberInput
	id="price"
	type="tel"                      // optional, input[type]. Defaults to "tel" to allow non numeric characters
	onChange={this.onPriceChange}   // function (value: number | null, event: Event)
	value={this.state.price}        // normal react input binding
	placeholder="Enter price"       // all other input properties are supported
	min={0}                         // optional, set minimum allowed value
	max={100}                       // optional, set maximum allowed value
	format="0,0[.]00"               // optional, numbro.js format string. Defaults to "0,0[.][00]"
/>

All properties supplied to NumberInput will also be transferred to the resulting input element (e.g., style or className).

Supported event handlers

All event handlers supported by <input /> are supported. Except onChange received the current number as its first argument and the Event object as second argument.

Contributing / Developing / Running demo

If you're thinking of contributing, there are a number of npm scripts you can run to speed up the process.

Building react-number-input

yarn
yarn build

Testing react-number-input

yarn flow
yarn test

Building and running the storybook

yarn build
yarn storybook

Then head to http://localhost:6006/ to see the demo.

Note

  • Renders input[type=tel] element, can be overriden by providing type property
  • Number formatting is removed on focus
  • Number formatting is applied on blur
  • If input contains all zeroes, zeroes are left in place until blur

TODO

  • Add support for different locales