number-input | Vaadin

input for numeric values

Published on NPM Published on

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




Link to this version
ImportedReleased 16 November 2018MIT License
Framework Support
Polymer 1.0+
Polymer 3.0+
Also supported:
Polymer 2 (2.3.10)
Browser Compatibility
Install with
npm install @fooloomanzoo/number-input"@3.0.10"
Run the above npm command in your project folder. If you have any issues installing, please contact the author.
Release notes - Version 3.0.10


  • @fooloomanzoo/input-picker-pattern#^3.0.10
  • @fooloomanzoo/property-mixins#^3.0.9
  • @polymer/polymer#^3