A number input with explicit increment/decrement buttons in a horizontal minus-input-plus layout
A number input with explicit increment/decrement buttons in a horizontal minus-input-plus layout. This component provides a more touch-friendly and visually explicit interface for numeric input compared to standard number inputs.
<bp-form-grouplayout="vertical"><bp-field><label>Volume (Hold to repeat)</label><bp-number-steppervalue="50"min="0"max="100"continuouscontinuous-delay="300"continuous-interval="50"></bp-number-stepper><bp-field-message>Hold buttons to adjust quickly</bp-field-message></bp-field><bp-field><label>Brightness (Hold to repeat)</label><bp-number-steppervalue="75"min="0"max="100"continuous></bp-number-stepper></bp-field></bp-form-group>
<bp-form-grouplayout="vertical"><bp-fieldvalidate><label>Team Size</label><bp-number-steppervalue="5"min="1"max="10"required></bp-number-stepper><bp-field-messageerror="rangeUnderflow">Minimum team size is 1</bp-field-message><bp-field-messageerror="rangeOverflow">Maximum team size is 10</bp-field-message></bp-field></bp-form-group>
Keyboard Navigation: Tab to focus input, arrow keys work within input, Space/Enter activate focused stepper buttons
ARIA Attributes: Stepper buttons have aria-label="increment" and aria-label="decrement", input has role="spinbutton" with aria-valuemin, aria-valuemax, aria-valuenow
Button States: Decrement button disabled at min value, increment button disabled at max value
Focus Management: Clear focus indicators on input and buttons
Screen Reader: Announces current value and button availability
Behavior Notes
Button States: Decrement button automatically disables when value reaches min, increment button disables at max
Validation: Manual input is validated against min, max, and step values
Keyboard Shortcuts: When input is focused, arrow up/down increment/decrement by step value
Continuous Stepping: When continuous is enabled, holding a button will repeatedly increment/decrement
bp-number-stepper
Events
Name
Types
Description
input
InputEvent
occurs when the value changes (real-time, during typing)
change
InputEvent
occurs when value is committed (blur, enter, or button click)
Properties
Name
Types
Description
continuous
boolean
enable hold-to-repeat on stepper buttons
continuousDelay
number
delay in ms before continuous stepping starts
continuousInterval
number
interval in ms for continuous stepping
i18n
I18nStrings['actions']
Provides internationalization strings for accessibility labels and screen reader announcements
focus
blur
stepUp
Increments the value by the step amount
stepDown
Decrements the value by the step amount
value
number
step
number
Attributes
Name
Types
Description
continuous
boolean
enable hold-to-repeat on stepper buttons
continuous-delay
number
delay in ms before continuous stepping starts
continuous-interval
number
interval in ms for continuous stepping
i18n
I18nStrings['actions']
Provides internationalization strings for accessibility labels and screen reader announcements