NumberInput

Numeric input with +/- stepper buttons, keyboard arrow control (Shift = large step), PageUp/Down, Home/End to clamp, and optional mouse-wheel adjust.

$
L

Usage

import { NumberInput } from '@bwo-ui/react';

const [qty, setQty] = useState<number | null>(1);

<NumberInput value={qty} onValueChange={setQty} min={0} max={99} step={1} />

<NumberInput defaultValue={19.99} step={0.01} precision={2} prefix="$" />

Props

PropTypeDefaultDescription
valuenumber | nullControlled value.
defaultValuenumber | nullInitial uncontrolled value.
onValueChange(value: number | null) => voidChange handler.
min / maxnumberBounds for stepping and clamping.
stepnumber1Increment for ArrowUp/Down and the stepper buttons.
largeStepnumberStep applied with Shift / PageUp / PageDown. Default: step × 10.
precisionnumberDecimal places. Default: derived from step.
showSteppersbooleantrueRender the +/- stepper buttons.
clampOnBlurbooleantrueClamp to [min, max] on blur.
prefix / suffixstringAdornments rendered inside the field.
disableWheelbooleanDisable mouse-wheel value changes.