Pular para o conteúdo

NumberValue

Formata e mostra um número em pt-BR: moeda, porcentagem, compacto ou sinal.

O NumberValue mostra um número já formatado pelo Intl.NumberFormat do locale atual: saldo de Créditos, taxa de entrega, contagem de Pedidos. Ele lê o idioma do I18nProvider pt-BR do Admin. Para valor editável use NumberField; para a variação de uma métrica, TrendChip.

import { NumberValue } from "@rastreio-x/ui";

Padrão

value é obrigatório. Os separadores seguem o locale: 1.284.

Moeda

style="currency" com currency="BRL". A fachada resolve a formatação (R$ 1.234,50).

Porcentagem

style="percent" multiplica por 100; maximumFractionDigits limita as casas e signDisplay="exceptZero" mostra o sinal.

Compacto

notation="compact" abrevia números grandes (1,2 mil, 1,2 mi).

Prefixo e sufixo

NumberValue.Prefix e NumberValue.Suffix carregam a unidade ou o contexto, com estilo próprio.

Algarismos tabulares

Em colunas de valores, alinhe à direita: o NumberValue usa algarismos tabulares e as casas decimais ficam alinhadas.

Saldo de Créditos

Como no KPI da tela de Créditos, em um Widget.

Anatomia

  • NumberValue: o span com o número formatado.
  • NumberValue.Prefix e NumberValue.Suffix: texto antes e depois.

Propriedades

NumberValue:

Animações

O NumberValue não anima nem faz contagem progressiva. O número troca direto quando value muda.

Acessibilidade

  • É texto: o leitor de tela lê o valor formatado ("R$ 1.234,50"), sem depender de cor.
  • Dê contexto ao lado (rótulo "Saldo", título do Widget): o número sozinho não diz o que mede.
  • Sufixos decorativos curtos ("Créditos") entram no texto lido; se forem só visuais, marque aria-hidden.
  • Não use cor para indicar positivo ou negativo sem sinal; use signDisplay.

Boas práticas

Faça

Formatar sempre pelo locale (pt-BR) e dar a unidade perto do número.

Evite

Concatenar “R$” e toFixed à mão, ou alinhar colunas de valores à esquerda.
  • Use maximumFractionDigits={0} para contagens inteiras.
  • Para números grandes em KPIs, o font-heading com text-4xl ou text-5xl segue o padrão do Admin.
  • Para editar um número, use NumberField.

Relacionados