Skip to content

Number input

...

Attention!

The localization format of the input comes from the format settings of the client's operation system.

Browser support

...

Parameters

The CSS component uses the <label> tag.

The parametrization of the component can be done with the following custom HTML params:

NameTypeDescription
z-number-inputstring

The main parameter has two components following the pattern: <shape><?:size>.

  • shape: Establishes the styling of the input. Default value is line . Possible values are: shaped or line. ,
  • size: (optional) defines de size of the input. The default value is m, being omitted from the param. The possible values are: m or l.
labelstringLabel of the input
readonlyboolean?Transforms the input into an output
valuestring?Value of the model
disabledboolean?Blocks the interaction with the input component.
requiredboolean?Marks the input component as required.
namestring?Identification for the field inside the form
help-textstring?The forced message to be shown under the input
minnumberMinimum value of the input.
maxnumberMaximum value of the input.
stepnumberStep value of the input.

The events emitted from the component are:

NamePayloadDescription
onchangenumberReturns the new value of the "value" attribute

Invalid input

If you require to make the input invalid, use the native API of the input using setCustomValidity. If no message is provided, the input is set to valid.

ts
// Make invalid
input.setCustomValidity('Error message');
input.checkValidity();

Or you can use the data-invalid attribute if you are using the scripts:

html
<label z-number-input>
  <span>Number input</span>
  <input type="number" data-invalid />
</label>

Playground

Customization

HTML Examples

Imports
html
<script type="module" src="/0.3.6/@zurich/css-components/javascript.js"></script>
<link rel="stylesheet" href="/0.3.6/@zurich/css-components/base.css" />
<link rel="stylesheet" href="/0.3.6/@zurich/css-components/NumberInput.css" />
Code
html

<!-- Default -->
<label z-number-input>
  <span>Number input</span>
  <input type="number" />
</label>
<label z-number-input="shaped">
  <span>Number input</span>
  <input type="number" />
</label>

<!-- with value -->
<label z-number-input>
  <span>Number input</span>
  <input type="number" value="-12.34" />
</label>
<label z-number-input="shaped">
  <span>Number input</span>
  <input type="number" value="-12.34" />
</label>

<!-- disabled -->
<label z-number-input>
  <span>Number input</span>
  <input type="number" disabled />
</label>
<label z-number-input="shaped">
  <span>Number input</span>
  <input type="number" disabled />
</label>

<!-- readonly -->
<label z-number-input>
  <span>Number input</span>
  <input type="number" readonly value="-12.34" />
</label>
<label z-number-input="shaped">
  <span>Number input</span>
  <input type="number" readonly value="-12.34" />
</label>

<!-- with help text -->
<label z-number-input>
  <span>Number input</span>
  <small>Help text</small>
  <input type="number" />
</label>
<label z-number-input="shaped">
  <span>Number input</span>
  <small>Help text</small>
  <input type="number" />
</label>

<!-- invalid -->
<label z-number-input>
  <span>Number input</span>
  <small>Invalid input</small>
  <input type="number" data-invalid />
</label>
<label z-number-input="shaped">
  <span>Number input</span>
  <small>Invalid input</small>
  <input type="number" data-invalid />
</label>