input for numeric values


403.0.103 years ago4 years agoMinified + gzip package size for @fooloomanzoo/number-input in KB


Published on NPM Published on webcomponents.org

API & Demo


An input for numeric values.


The normal input with type="number" is fairly good to use, but it has some flaws, because it should if wanted e.g.:

  • prevent non numeric input
  • guarantee live-data to be valid
  • use the local decimal separator
  • pad a value with 0 (to a specific length)
  • size the input (according to it's length)
  • overflow to minimum or underflow to maximum
  • saturate to minimum or to maximum
  • display a specified unit
  • display a specified currencies
  • can use percentage values and do have automatically the correct decimal value

This element wants to achieve that, by using the Intl.NumberFormat API. A more simpler element <integer-input> just uses integer values and doesn't use units or percent values.



<span>using units: </span><number-input min="-150" step="0.15" max="300" pad-length="3" default="15" unit="°C"></number-input><br>
<span>in percent: </span><number-input min="-1" step="0.15" max="3" start-at="1" default="1" number-style="percent"></number-input><br>
<span>using currencies: </span><number-input min="0" step="0.01" always-sign start-at="1000" default="1000" use-grouping number-style="currency" currency="EUR"></number-input><br>
<span>as integer: </span><integer-input min="-150" step="15" max="300" default="15"></integer-input>


Have a look at input-picker-pattern#input-shared-style to see how to style the element.


npm i @fooloomanzoo/number-input



If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.