Number Input
Steppers, clamping, and grouped display — without type=number's scroll-wheel trap.
Installation
bun add elia@import "tailwindcss";
@import "@aile.sh/elia/styles/elia.css";
@source "../node_modules/@aile.sh/elia";Usage
import { useState } from "react";
import { NumberInput } from "@aile.sh/elia";
export function Example() {
const [seats, setSeats] = useState<number | null>(12);
const [budget, setBudget] = useState<number | null>(2500);
const [temp, setTemp] = useState<number | null>(0.7);
return (
<div className="flex w-full max-w-xs flex-col gap-3">
<NumberInput value={seats} onChange={setSeats} min={1} max={100} suffix="seats" />
<NumberInput
value={budget}
onChange={setBudget}
min={0}
step={100}
prefix="quot;
/>
<NumberInput
value={temp}
onChange={setTemp}
min={0}
max={2}
step={0.1}
precision={1}
suffix="temp"
/>
</div>
);
}— elia design system · MIT · base · https://github.com/aile-sh/elia