Number Field
A numeric input element with increment/decrement buttons and a scrub area.
import {
NumberField,
NumberFieldGroup,
NumberFieldInput,
NumberFieldIncrement,
NumberFieldDecrement,
NumberFieldScrubArea,
NumberFieldScrubAreaCursor,
} from "@/components/ui/number-field/number-field";
import styles from "./number-field-demo.module.css";
export default function NumberFieldDemo() {
return (
<NumberField
defaultValue={10}
min={0}
max={100}
step={1}
className={styles.numberField}
>
<NumberFieldScrubArea>
<NumberFieldScrubAreaCursor />
</NumberFieldScrubArea>
<NumberFieldGroup>
<NumberFieldDecrement />
<NumberFieldInput placeholder="Enter a number..." />
<NumberFieldIncrement />
</NumberFieldGroup>
</NumberField>
);
}
Installation
npx shadcn@latest add https://roiui.com/r/number-field.json
Anatomy
anatomy
import {
NumberField,
NumberFieldGroup,
NumberFieldInput,
NumberFieldIncrement,
NumberFieldDecrement,
NumberFieldScrubArea,
NumberFieldScrubAreaCursor,
} from '../ui/number-field'
<NumberField>
<NumberFieldScrubArea>
<NumberFieldScrubAreaCursor />
</NumberFieldScrubArea>
<NumberFieldGroup>
<NumberFieldDecrement />
<NumberFieldInput />
<NumberFieldIncrement />
</NumberFieldGroup>
</NumberField>