NumberInput
NumberInput is a numeric field with increment/decrement steppers, keyboard editing, and clamping. Built on Ark UI number-input, sourced from Shark UI.
// apps/docs/src/components/examples/number-input/default/react.tsx
import {
NumberInput,
NumberInputControl,
NumberInputInput,
NumberInputDecrement,
NumberInputIncrement,
} from '@cloudvoyant/helical-react';
import { Minus, Plus } from 'lucide-react';
export default function ReactNumberInputDefault() {
return (
<NumberInput min={0} max={10} defaultValue="5" className="max-w-xs">
<NumberInputControl>
<NumberInputDecrement>
<Minus />
</NumberInputDecrement>
<NumberInputInput />
<NumberInputIncrement>
<Plus />
</NumberInputIncrement>
</NumberInputControl>
</NumberInput>
);
}<!-- apps/docs/src/components/examples/number-input/default/svelte.svelte -->
<script lang="ts">
import { NumberInput, NumberInputControl, NumberInputInput, NumberInputDecrement, NumberInputIncrement } from '@cloudvoyant/helical-svelte';
import { Minus, Plus } from 'lucide-svelte';
</script>
<NumberInput min={0} max={10} defaultValue="5" class="max-w-xs">
<NumberInputControl>
<NumberInputDecrement>
<Minus />
</NumberInputDecrement>
<NumberInputInput />
<NumberInputIncrement>
<Plus />
</NumberInputIncrement>
</NumberInputControl>
</NumberInput>API Reference
NumberInput
Props
Accepts all Ark NumberInputRoot props (min, max, step, value, onValueChange, allowMouseWheel, …) plus className/class.
NumberInputControl / NumberInputInput
Accept all corresponding Ark props plus className/class.
NumberInputIncrement / NumberInputDecrement
Accept all Ark NumberInput*Trigger props plus className/class. Supply an icon as children; an aria-label is set by default.
Accessibility
Ark provides the spin-button role, keyboard increment/decrement (arrow keys), and aria-valuemin/aria-valuemax/aria-valuenow.
Theming
No theme extension — uses --input, --ring, --muted-foreground.