openpencil/packages/docs/programmable/sdk/api/components/scrub-input-root.md
Danila Poyarkov e8092bd561 feat(vue): add headless NumberField primitive
- Add pointer scrubbing, keyboard stepping, mixed and bound state contracts

- Parse safe numeric expressions and preserve deprecated ScrubInput aliases

- Cover the primitive with Storybook, SDK docs, unit tests, and E2E tests
2026-07-10 22:26:51 +03:00

26 lines
890 B
Markdown

---
title: ScrubInputRoot
description: Deprecated compatibility alias for NumberFieldRoot.
---
# ScrubInputRoot
::: warning Deprecated
Use [`NumberFieldRoot`](./number-field). `ScrubInputRoot` is a compatibility alias backed by the
same implementation and will be removed in a future cleanup release.
:::
Existing `modelValue`, `min`, `max`, `step`, `sensitivity`, `placeholder`, `update:modelValue`,
`commit`, and `editing-change` contracts remain available. The root slot now also exposes the
NumberField state, canonical `attrs` bag, expression input, keyboard stepping, and binding-aware
state.
## Migration
```diff
-import { ScrubInputRoot, ScrubInputField, ScrubInputDisplay } from '@open-pencil/vue'
+import { NumberFieldRoot, NumberFieldInput, NumberFieldValue } from '@open-pencil/vue'
```
See [NumberField](./number-field) for the complete anatomy and interaction contract.