HeaderStats
Cards de estatísticas com efeito 3D para dashboards e painéis de controle.
Instalação
Via CLI (Recomendado)
npx @scmposs/hollow-ui init
npx @scmposs/hollow-ui setupnpx @scmposs/hollow-ui add header-statsOs comandos init e setup fazem o pré-setup (necessário apenas uma vez). Se você rodar add sem isso, a CLI executa o setup automaticamente.
Via NPM
npm install @scmposs/hollow-ui@latestInstala todos os componentes como dependência do projeto.
Uso Básico
import { Button } from "@scmposs/hollow-ui"
export default function MyComponent() {
return (
<div>
<Button variant="outline">Button</Button>
</div>
);
}
Registros no sistema
Aguardando aprovação
Finalizados com sucesso
Requerem atenção
+12% em relação ao mês anterior
+5 novos esta semana
No catálogo ativo
Registros no sistema
Aguardando aprovação
Finalizados com sucesso
Requerem atenção
3 Colunas
Registros no sistema
Aguardando aprovação
Finalizados com sucesso
4 Colunas
Registros no sistema
Aguardando aprovação
Finalizados com sucesso
Requerem atenção
Em processamento
Último trimestre
Avaliação média
Pendentes hoje
Módulo Mais Ativo
Gerenciamento
45 atualizações
Taxa de Conclusão
87%Status Geral
Ativo
12 pendentes de 143 totais
Progresso Baixo
25%Progresso Médio
50%Progresso Alto
85%Uso Básico
import { HeaderStats } from "@scmposs/hollow-ui"
import { FileText, CheckCircle2, AlertCircle } from "lucide-react"
const stats = [
{
title: "Total",
value: "2,431",
description: "Registros no sistema",
icon: FileText,
borderColor: "border-l-4 border-l-slate-500",
iconBgColor: "bg-slate-100 dark:bg-slate-900/20",
iconColor: "text-slate-600 dark:text-slate-400"
},
{
title: "Concluídos",
value: "2,108",
description: "Finalizados com sucesso",
icon: CheckCircle2,
borderColor: "border-l-4 border-l-green-500",
iconBgColor: "bg-green-100 dark:bg-green-900/20",
iconColor: "text-green-600 dark:text-green-400"
}
]
<HeaderStats stats={stats} />🎨 Efeito 3D
Cards com efeito de profundidade que respondem ao hover
🌙 Suporte a Temas
Funciona com light, dark e contrast mode
📱 Responsivo
Layout adaptável para diferentes tamanhos de tela
🎯 Clicável
Suporte a funções onClick para navegação
HeaderStats (Grid Responsivo)
import { HeaderStats } from "@/components/ui/header-stats";
<HeaderStats stats={stats} />
// Grid: 1 coluna (mobile) → 2 colunas (tablet) → 4 colunas (desktop)HeaderStatsGrid (Grid Personalizável)
import { HeaderStatsGrid } from "@/components/ui/header-stats";
// Grid padrão (2 colunas)
<HeaderStatsGrid stats={stats} />
// Grid personalizado (3 colunas)
<HeaderStatsGrid stats={stats} columns={3} />
// Grid personalizado (4 colunas)
<HeaderStatsGrid stats={stats} columns={4} />
// Grid personalizado (1 coluna)
<HeaderStatsGrid stats={stats} columns={1} />HeaderStatCardMini (Compacto)
import { HeaderStatCardMini } from "@/components/ui/header-stats";
<HeaderStatCardMini
title="Usuários"
value="1,234"
description="Ativos no sistema"
icon={Users}
borderColor="border-l-4 border-l-purple-500"
iconBgColor="bg-purple-100 dark:bg-purple-900/20"
iconColor="text-purple-600 dark:text-purple-400"
/>
// Sem animação 3D, mais compactoHeaderStatCardCompact (Ultra Compacto)
import { HeaderStatCardCompact } from "@/components/ui/header-stats";
// Exemplo simples
<HeaderStatCardCompact
title="Módulo Ativo"
value="Dashboard"
description="45 atualizações"
icon={Package}
borderColor="border-l-4 border-l-purple-500"
iconBgColor="bg-purple-100 dark:bg-purple-900/30"
iconColor="text-purple-600 dark:text-purple-400"
hasShadow={true}
shadowColor="purple"
/>
// Com badge e barra de progresso
<HeaderStatCardCompact
title="Taxa de Conclusão"
icon={Target}
borderColor="border-l-4 border-l-green-500"
iconBgColor="bg-green-100 dark:bg-green-900/30"
iconColor="text-green-600 dark:text-green-400"
badgeValue="87%"
progressValue={87}
hasShadow={true}
shadowColor="green"
/>
// Versão inline, super compacto para dashboards densosHeaderStats Props
statsStatItem[]Array de objetos com dados dos cards de estatística
StatItem Interface
titlestringvaluestring | numberdescriptionstringiconLucideIconborderColorstringiconBgColorstringiconColorstringonClick?function


