logo dile-components dile-components

dile-number-picker

Web Component for selecting integer numbers. Provides an input with buttons to increment/decrement the value and allows configuration for step, min, max, leading zeros formatting and digits display.

<dile-number-picker></dile-number-picker>

This component is based on another component called dile-number-picker-element, which is not currently documented. However, it might be useful if you need a more minimalistic input without labels or messages, for example, when integrating it as a data entry interface within other components.

Installation

npm i @dile/ui

Usage

Import the component.

import '@dile/ui/components/number-picker/number-picker.js';

Use the component.

<dile-number-picker
  value="10"
  step="5"
  min="0"
  max="100"
  digits="3"
  leadingZeros
></dile-number-picker>

Properties

Methods

Events

numberPicker.addEventListener('dile-number-picker-value-changed', (e) => {
  console.log('New value:', e.detail);
});

Styling

Custom property Description Default
--dile-input-label-font-size Font size for the label 1em
--dile-input-label-color Color for the label text #59e
--dile-input-label-font-weight Label text font weight normal
--dile-input-label-margin-bottom Label marging bottom 4px
--dile-input-message-padding-top Space from input to message 4px
--dile-input-message-font-size Message font size 0.875rem
--dile-input-message-color Message text color #888
--dile-input-message-error-color Message text color on errored state #c00
--dile-number-picker-icon-size Size of the increment/decrement icons 16px
--dile-number-picker-icon-color Color of the icons #888
--dile-number-picker-padding Padding inside the input 0.15rem 0.25rem
--dile-number-picker-width Width of the input field 48px
--dile-input-border-radius Border radius of the input 5px
--dile-input-border-width Border width of the input 1px
--dile-input-border-color Border color of the input #888
--dile-input-font-size Font size of the input text 1em
--dile-input-background-color Background color of the input #fff
--dile-input-color Color of the input text #303030
--dile-input-error-border-color Border color when errored state is active #c00
--dile-input-disabled-border-color Border color when the input is disabled #eee

dile-number-picker demos

Regular component

<script type="module">
  import '@dile/ui/components/number-picker/number-picker.js';
</script>
<dile-number-picker></dile-number-picker>

Disabled component

<dile-number-picker disabled></dile-number-picker>

Leading zeros

<dile-number-picker leadingZeros value="6"></dile-number-picker>

3 digits with leading zeros and step 10

<dile-number-picker digits="3" leadingZeros step="10"></dile-number-picker>

3 digits with step 50 and focus on start

<dile-number-picker focusOnStart digits="3" step="50"></dile-number-picker>

Min 3 max 6

<dile-number-picker min="3" max="6"></dile-number-picker>

Min 0 max 24 with leading zeros and step 5

<dile-number-picker min="0" max="24" leadingZeros step="5" digits="2"></dile-number-picker>