Scrub field
ProA number you change by dragging its label, with a ruler, detents and momentum.
pnpm dlx shadcn@latest add @caliper/scrub-fieldDrag the label sideways. Shift for ×10, Alt for fine steps.
When to use #
Use it for
- Design and media values people tune by feel: opacity, radius, blur, gain.
- Values with meaningful stops, like 25, 50 and 75 percent.
Skip it when
- The value is money or a count that must be typed exactly; use a number field.
Installation #
pnpm dlx shadcn@latest add @caliper/scrub-field
Adds its 2 files to components/ui/, each with its own stylesheet, and installs their packages. Pro installs with your access token, set up once per project. See Pro access. The first part also adds Caliper UI’s tokens; import them once as in Installation.
Usage #
Import it from your copy of the source. The example behind the preview comes with the source.
import { ScrubField } from "@/components/ui/scrub-field"
The worked example comes with Pro
The 15-line example behind the preview opens here with a Pro or Team licence.
API reference #
ScrubField
component
Accessibility #
It exposes spinbutton semantics, with aria-hidden, aria-valuemin, aria-valuemax, aria-valuenow, aria-valuetext and aria-invalid kept in step with state.
Motion #
It checks prefers-reduced-motion itself and settles immediately instead of travelling. Every state is still reachable.