UI

Stat Card

Cartão de indicador (KPI) para dashboards, com valor, variação colorida e mini gráfico opcional.

Visitas ao site

12.847

Alta de+38%vs. mês anterior

Instalação

npx shadcn@latest add @lenstech/stat-card

Uso

import { StatCard } from "@/components/stat-card"
<StatCard
  label="Leads no mês"
  value="184"
  delta={22.4}
  deltaLabel="vs. mês anterior"
  sparkline={[8, 12, 10, 14, 13, 17, 16, 21]}
/>

value já vem formatado

O cartão não formata números: passe o texto pronto ("R$ 48.320,00", "3,8%"), por exemplo com Intl.NumberFormat("pt-BR", …). Já delta é um número (38 vira +38%).

Exemplos

Grade de indicadores

Use de 2 a 6 cartões numa grade responsiva. Varie sparklineColor (tokens chart-1 a chart-5) para diferenciar as séries.

Visitas ao site

12.847

Alta de+38%vs. mês anterior

Leads no mês

184

Alta de+22,4%vs. mês anterior

Taxa de conversão

3,8%

Queda de-0,4%vs. mês anterior

Faturamento

R$ 48.320,00

Alta de+15%vs. mês anterior

Queda positiva (invertDelta)

Por padrão, alta é verde e queda é vermelha. Para métricas em que menos é melhor (custo por lead, tempo de resposta, taxa de rejeição), use invertDelta.

Custo por lead

R$ 18,40

Queda de-21%vs. mês anterior

Tempo médio de resposta

2h 15min

Alta de+12%vs. semana anterior

Mínimo

Todas as partes além de label e value são opcionais.

Pedidos hoje

27

Taxa de conversão

3,8%

Alta de+0,6%vs. mês anterior

Quando usar

  • Use para destacar os principais números de um painel: visitas, leads, conversão, faturamento.
  • Não use para séries detalhadas ou comparações entre muitas categorias — use um gráfico completo.
  • Não use mais de 6 cartões lado a lado: se tudo é destaque, nada é.
  • Veja o bloco Dashboard para um painel completo.

API

StatCard

Aceita as props de uma <div> HTML, mais:

Prop

Type

Sparkline

O mini gráfico também é exportado para uso isolado: <Sparkline data={[…]} className="text-chart-2" />. Ele herda a cor de currentColor.

On this page