Labs

Components

Mechanics

Number Stepper

Rolling digit counter with tactile plus-minus controls and spring recoil.

All components
90

Installation

Coming soon. Components will be available via the registry once checkout goes live.

Usage

const [qty, setQty] = useState(1);

<NumberStepper value={qty} onChange={setQty} min={1} max={99} />

Props

PropTypeDefaultDescription
value*numberCurrent numeric value (controlled).
onChange*(value: number) => voidFired on increment, decrement, or keyboard step.
minnumber-InfinityLower bound. Decrement disables at this value.
maxnumberInfinityUpper bound. Increment disables at this value.
stepnumber1Step amount for ArrowUp / ArrowDown.
size"sm" | "md" | "lg""md"Visual scale of the digits and step buttons.
labelstring"Quantity"Accessible label exposed to screen readers.
classNamestringTailwind classes merged onto the root container.

Use cases

  • Cart quantity

    Adjust line-item quantity in a checkout drawer or product page.

  • Pricing calculator

    Pick seat counts on a SaaS pricing page where the digits should feel weighty.

  • Reservations

    Choose number of guests for a booking flow where every tap should feel deliberate.

  • Inventory adjustments

    Admin dashboards where staff bump stock counts and want unambiguous tactile feedback.