NumberInput

Input numérico com botões de incremento/decremento, limites min/max, prefixo/sufixo e precisão.

Demonstração

0–100%

Sizes

Props

PropTipoPadrãoDescrição
valuenumber | undefinedValor numérico
onChange(value: number | undefined) => voidCallback com novo valor numérico
minnumberValor mínimo permitido
maxnumberValor máximo permitido
stepnumber1Passo do incremento (padrão: 1)
precisionnumberCasas decimais
prefixstringSímbolo de prefixo (ex: R$)
suffixstringSímbolo de sufixo (ex: %)
size"sm" | "md" | "lg""md"Tamanho: sm | md | lg
labelstringTexto do label
errorstringMensagem de erro
helperTextstringTexto auxiliar abaixo do input

Uso

import { NumberInput } from '@ghiberti85/ui'

const [quantity, setQuantity] = useState(1)

// Basic
<NumberInput label="Quantity" value={quantity} onChange={setQuantity} min={0} max={99} />

// Currency
<NumberInput
  label="Price"
  value={price}
  onChange={setPrice}
  prefix="$"
  min={0}
  step={0.01}
  precision={2}
/>

// Percentage with helper text
<NumberInput
  label="Discount"
  value={discount}
  onChange={setDiscount}
  suffix="%"
  min={0}
  max={100}
  step={5}
  helperText="Enter a value between 0 and 100"
/>

Ver no Storybook

Abrir no Storybook
Ghiberti UI — Design System