Skip to content
RefineUI

Spin Button

Numeric stepper input for incremental changes.

Overview

Machine-readable contract from Component Spec.

component: spin-buttonexport: SpinButtonversion: 1attributes: data-refineui=spinbutton

Anatomy

Partdata-refineui
rootspinbutton
stepspinbutton-step

Variants

AxisValues
sizesm, md, lg

States

ScopeCategoryValues
componentpseudofocus-visible
componentenvironmentforced-colors, dir

Accessibility

SlotElementRole
spinbuttondivspinbutton

Focus

SectionPropertyValue
visualrequiredtrue
visualselector:focus-visible

Layout

PropertyValue
directionlogical
rtltrue
npm install @refineui/react @refineui/tokens
import { SpinButton } from "@refineui/react";
<SpinButton value={quantity} onChange={setQuantity} />
<SpinButton
value={amount}
onChange={setAmount}
min={0}
max={100}
step={5}
placeholder="Enter amount"
size="lg"
/>
PropDefaultTypeDescription
valuenumberControlled value (required).
onChange(value: number) => voidEvent handler when value changes (required).
minnumberMinimum allowed value.
maxnumberMaximum allowed value.
step1numberStep increment.
placeholderstringPlaceholder text.
size"md""sm" | "md" | "lg"Control height tier.
disabledfalsebooleanDisables interaction.