Kobana UI
GitHub

StatCards

Grid responsivo de cards de métricas/KPIs com valor em destaque, ícone e tendência opcional.

Carregando...

Instalação

npx @kobana/ui add stat-cards

Dependências instaladas automaticamente: card (shadcn/ui), lucide-react

Importação

import { StatCards } from "@/components/kobana/stat-cards"

Props

StatCards

PropTipoDefaultDescrição
itemsStatCardItem[]Lista de métricas a serem exibidas
columnsnumberresponsivo (1/2/4)Número fixo de colunas no breakpoint maior (1 a 6)
classNamestringClasses adicionais aplicadas ao container do grid

StatCardItem

PropTipoDescrição
labelstringRótulo da métrica (título pequeno)
valueReact.ReactNodeValor principal em destaque (já formatado)
iconReact.ReactNodeÍcone opcional exibido ao lado do rótulo
hintstringTexto auxiliar opcional exibido abaixo do valor
trendStatCardTrendTendência opcional (variação) exibida abaixo do valor

StatCardTrend

PropTipoDescrição
valuestringTexto da tendência (ex: "+12%")
direction"up" | "down" | "neutral"Direção: colore o indicador (verde/vermelho/neutro) e escolhe o ícone

Uso

import { DollarSign, Users } from "lucide-react"
import { StatCards } from "@/components/kobana/stat-cards"

<StatCards
  items={[
    {
      label: "Receita Total",
      value: "R$ 45.231,89",
      icon: <DollarSign />,
      trend: { value: "+20,1% vs. mês anterior", direction: "up" },
    },
    {
      label: "Clientes Ativos",
      value: "2.350",
      icon: <Users />,
      trend: { value: "+180 este mês", direction: "up" },
    },
  ]}
/>

O componente é totalmente genérico: o value aceita qualquer nó React (texto, número formatado, badge, etc.), então a formatação fica a cargo de quem consome. Use columns para fixar o número de colunas no breakpoint maior ou deixe em branco para o grid responsivo padrão.

On this page