Skip to content

AmountDisplay

Componente para exibir valores monetários em reais (R$) com formatação pt-BR e coloração semântica opcional.

Distinção importante: Use AmountDisplay para valores contábeis/financeiros (em reais). Use PriceDisplay para preços de cardápio (em centavos — divide por 100).

Importação

tsx
import { AmountDisplay } from '../components/ui';

Props

PropTipoPadrãoDescrição
valuenumberValor em reais (não centavos)
size'xs' | 'sm' | 'md' | 'lg''md'Tamanho da fonte
color'auto' | 'positive' | 'negative' | 'neutral' | 'inherit''inherit'Esquema de cor
strikethroughbooleanfalseTexto tachado (preço riscado)
showSignbooleanfalsePrefixo + em valores positivos
classNamestring''Classes adicionais

color prop

ValorComportamento
autoNegativo → vermelho, zero → cinza, positivo → texto padrão
positiveSempre esmeralda (verde)
negativeSempre vermelho
neutralCinza (text-gray-600 dark:text-gray-300)
inheritSem classe de cor — herda do pai ou usa className

Tamanhos

sizeClasses aplicadas
xstext-xs font-medium
smtext-sm font-medium
mdtext-sm font-semibold (padrão)
lgtext-base font-semibold

Exemplos

tsx
// Valor padrão — sem cor aplicada
<AmountDisplay value={1234.56} />
// → R$ 1.234,56

// Coloração automática — vermelho se negativo
<AmountDisplay value={row.balance} color="auto" />

// Coluna de débito — azul herdado do pai
<td className="text-blue-600 dark:text-blue-400">
  {line.debit > 0 ? <AmountDisplay value={line.debit} color="inherit" /> : '—'}
</td>

// KPI grande com cor controlada externamente
<p className={`text-2xl font-bold ${kpi.color}`}>
  <AmountDisplay value={kpi.value} size="lg" color="inherit" />
</p>

// Valor de variação com sinal
<AmountDisplay value={delta} color="auto" showSign size="sm" />
// → +R$ 450,00 (verde) ou -R$ 120,00 (vermelho)

// Preço riscado (desconto)
<AmountDisplay value={originalPrice} strikethrough color="neutral" size="sm" />

Localização

frontend-react/src/components/ui/AmountDisplay.tsx

Exportado de frontend-react/src/components/ui/index.ts.

Relacionados

  • PriceDisplay — valores em centavos (menu/cardápio)
  • MonoNumber — números monoespaçados com copy opcional
  • API — Accounting

Lançado sob a licença MIT.