Skip to main content

Spinbutton

Numeric input with increment/decrement buttons.

Usage

<w-spinbutton value="5" min="0" max="10" label="Quantity">
<w-slot down><button>-</button></w-slot>
<w-slot input><input type="text" /></w-slot>
<w-slot up><button>+</button></w-slot>
</w-spinbutton>

Props

PropTypeDefaultDescription
valuenumber0Current value
minnumber0Minimum value
maxnumber100Maximum value
stepnumber1Increment/decrement amount
labelstring""Accessible label
disabledbooleanfalseDisable input

Slots

SlotElementDescription
inputInputText input for the value
incrementButtonIncrease value button
decrementButtonDecrease value button

Events

EventDetailDescription
change{ value }Value changed

Keyboard

KeyAction
ArrowUpIncrement value
ArrowDownDecrement value
HomeSet to minimum
EndSet to maximum
PageUpIncrement by step * 10
PageDownDecrement by step * 10

Accessibility

  • Input has role="spinbutton"
  • aria-valuenow, aria-valuemin, aria-valuemax
  • aria-label from label prop
  • Buttons properly labeled