# Number Field

> Numeric stepper with increment and decrement controls.

Registry name: `number-field`. HTML docs: https://ui.anuragroy.dev/component/number-field.

## Install

```bash
npx shadcn@latest add https://ui.anuragroy.dev/r/number-field.json
```

If the website is down: `npx shadcn@latest add https://raw.githubusercontent.com/anurag-roy/ui.anuragroy.dev/main/public/r/number-field.json`.

Registry JSON: https://ui.anuragroy.dev/r/number-field.json (GitHub: https://raw.githubusercontent.com/anurag-roy/ui.anuragroy.dev/main/public/r/number-field.json).

## Import

Import paths follow the consumer `components.json` aliases. After a default install:

```tsx
import {
  NumberField,
  NumberFieldDecrement,
  NumberFieldGroup,
  NumberFieldIncrement,
  NumberFieldInput
} from "@/components/ui/number-field"
```

## Usage

```tsx
import {
  NumberField,
  NumberFieldDecrement,
  NumberFieldGroup,
  NumberFieldIncrement,
  NumberFieldInput,
} from "@/components/ui/number-field"

export function Example() {
  return (
    <NumberField defaultValue={1} min={0} max={99}>
      <NumberFieldGroup>
        <NumberFieldDecrement />
        <NumberFieldInput />
        <NumberFieldIncrement />
      </NumberFieldGroup>
    </NumberField>
  )
}
```

## API

### NumberField

Base UI NumberField root. Supports `min`, `max`, `step`, `value`, and `defaultValue`.

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `min` | number | — |  |
| `max` | number | — |  |
| `step` | number | — |  |

## Notes

- `NumberFieldScrubArea` is also exported for drag-to-change interactions.

## See also

- [HTML page](https://ui.anuragroy.dev/component/number-field): Preview and the same docs in the site chrome.
- [Registry item](https://ui.anuragroy.dev/r/number-field.json): Source files and dependencies.
- [Catalog](https://ui.anuragroy.dev/component): All components.
- [llms.txt](https://ui.anuragroy.dev/llms.txt): Agent index for this library.
