Number Field
A numeric input with increment and decrement steppers — and pointer scrubbing from Base UI. The steppers press with seam depth.
tsx
import {
NumberField,
NumberFieldDecrement,
NumberFieldGroup,
NumberFieldIncrement,
NumberFieldInput,
} from "@/registry/seam/ui/number-field"
export default function NumberFieldDemo() {
return (
<NumberField defaultValue={1} min={0} max={10}>
<NumberFieldGroup>
<NumberFieldDecrement />
<NumberFieldInput aria-label="Quantity" />
<NumberFieldIncrement />
</NumberFieldGroup>
</NumberField>
)
}bunx --bun @seamui/cli@latest add number-fieldNotes
- Base UI enables click-and-drag scrubbing on the input — drag horizontally to change the value without the steppers.
- A labelled spinbutton with extended keyboard stepping: arrows plus Page Up/Down for larger jumps and Home/End for min/max.
Press feedback, reduced motion, and haptics follow the global policy — see Motion and Haptics.