Skip to content

NumberInput

<ts-number-input> vv0.6.3

The ts-number-input component.

Open in Storybook for interactive demos.

<ts-number-input size="md" step="1" value="0"></ts-number-input>
PropertyAttributeTypeDefaultDescription
disableddisabledbooleanfalseRenders the input as disabled.
errorerrorstring | undefinedError message — renders the input in an error state.
helpTexthelp-textstring | undefinedHelp text displayed below the input.
labellabelstring | undefinedLabel text displayed above the input.
maxmaxnumber | undefinedMaximum allowed value.
minminnumber | undefinedMinimum allowed value.
namenamestring | undefinedName attribute for form submission.
precisionprecisionnumber | undefinedNumber of decimal places to display.
readonlyreadonlybooleanfalseRenders the input as readonly.
requiredrequiredbooleanfalseMakes the input required.
sizesize"lg" | "md" | "sm" | "xl" | "xs"'md'The input’s size.
stepstepnumber1Step increment/decrement amount.
valuevaluenumber0The current numeric value.
EventDetailBubblesComposedDescription
tsChange\{ value: number; \}YesYesEmitted on blur / commit.
tsInput\{ value: number; \}YesYesEmitted on each value change.
MethodSignatureDescription
decrementdecrement() => Promise<void>Decrease value by step.
incrementincrement() => Promise<void>Increase value by step.

Use ::part() to style internal elements:

PartDescription
baseThe outer wrapper containing buttons and input.
decrementThe decrement button.
error-textThe error message wrapper.
help-textThe help text wrapper.
incrementThe increment button.
inputThe native input element.
labelThe label element.
ts-number-input::part(base) {
/* your custom styles */
}
<ts-number-input size="md" step="1" value="0"></ts-number-input>
import { TsNumberInput } from '@tessera-ui/react';
<TsNumberInput size="md" step="1"></TsNumberInput>