Input

Numeric stepper

Bounded numeric entry using the native number input and explicit constraints.

Canonical sourcepatterns/numeric-stepper.html
Behavior ownerNative HTML
Runtime inside FormaNone
Example 1

Canonical

Canonical repository markup, namespaced only to keep examples independent.

View HTML
<label class="ef-numeric-stepper">
  <span class="ef-numeric-stepper__label">Target deployments per week</span>
  <input type="number" name="ex1-numeric-stepper-deployments-per-week" min="0" max="50" step="1" inputmode="numeric" required>
  <span class="ef-field__description">Enter a whole number from 0 through 50.</span>
</label>
Example 2

Representative state

A browser-native state made visible without adding a runtime.

View HTML
<label class="ef-numeric-stepper">
  <span class="ef-numeric-stepper__label">Target deployments per week</span>
  <input type="number" name="ex2-numeric-stepper-deployments-per-week" min="0" max="50" step="1" inputmode="numeric" required value="3">
  <span class="ef-field__description">Enter a whole number from 0 through 50.</span>
</label>
Example 3

Constrained layout

The canonical contract inside a narrow application region.

View HTML
<label class="ef-numeric-stepper">
  <span class="ef-numeric-stepper__label">Target deployments per week</span>
  <input type="number" name="ex3-numeric-stepper-deployments-per-week" min="0" max="50" step="1" inputmode="numeric" required>
  <span class="ef-field__description">Enter a whole number from 0 through 50.</span>
</label>