The example below loads live from Storybook; open it there to use the controls.
Default
Section titled “Default”The step buttons sit at the end of the box; the arrow keys change the value too.
import { NumberField } from '@bigbang/ui';
export default function Default() { return <NumberField label="Quantity" defaultValue={1} min={0} max={99} className="max-w-xs" />;}States
Section titled “States”Empty, at a bound (Decrease disabled), invalid, read-only and disabled.
Help text goes here.
Value must be between 1 and 30.
import { NumberField } from '@bigbang/ui';
export default function States() { return ( <div className="flex max-w-xs flex-col gap-lg"> <NumberField label="Quantity" placeholder="0" /> <NumberField label="Quantity" defaultValue={0} min={0} max={10} description="Help text goes here." /> <NumberField label="Number of days" defaultValue={45} error="Value must be between 1 and 30." /> <NumberField label="Quantity" defaultValue={3} readOnly /> <NumberField label="Quantity" defaultValue={3} disabled /> </div> );}With a unit
Section titled “With a unit”unit shows a short unit next to the value and adds it to the accessible name. stepper={false} removes the buttons.
Enter a value from 1 to 30.
import { NumberField } from '@bigbang/ui';
export default function WithUnit() { return ( <NumberField className="max-w-xs" label="Number of days" unit="days" defaultValue={7} min={1} max={30} stepper={false} description="Enter a value from 1 to 30." /> );}Formatted
Section titled “Formatted”format takes Intl options; a percentage is written in the Provider language.
import { NumberField, Provider } from '@bigbang/ui';
export default function Formatted() { return ( <Provider locale="en-GB"> <NumberField className="max-w-xs" label="Rate" defaultValue={0.125} step={0.005} min={0} max={1} format={{ style: 'percent', minimumFractionDigits: 1 }} /> </Provider> );}Light and dark mode
Section titled “Light and dark mode”The box and buttons use semantic tokens only.
Help text goes here.
Value must be between 1 and 30.
Help text goes here.
Value must be between 1 and 30.
import { NumberField } from '@bigbang/ui';
export default function States() { return ( <div className="flex max-w-xs flex-col gap-lg"> <NumberField label="Quantity" placeholder="0" /> <NumberField label="Quantity" defaultValue={0} min={0} max={10} description="Help text goes here." /> <NumberField label="Number of days" defaultValue={45} error="Value must be between 1 and 30." /> <NumberField label="Quantity" defaultValue={3} readOnly /> <NumberField label="Quantity" defaultValue={3} disabled /> </div> );}