Volver a Components
Stats Card
<sg-stats-card> v0.1.1 Tarjeta especializada para mostrar estad铆sticas y m茅tricas. Soporta indicadores de tendencia, iconos decorativos y animaciones escalonadas.
Ejemplos
B谩sico
<sg-stats-card
value="1,234"
label="Total Users"
icon="user">
</sg-stats-card>
Colores
<sg-stats-card color="primary" value="2.4k" label="Views" icon="eye"></sg-stats-card>
<sg-stats-card color="success" value="$12.8k" label="Revenue" icon="dollar-sign"></sg-stats-card>
<sg-stats-card color="warning" value="89" label="Pending" icon="clock"></sg-stats-card>
<sg-stats-card color="error" value="5" label="Issues" icon="exclamation-triangle"></sg-stats-card>
M谩s colores
<sg-stats-card color="info" value="47" label="Messages" icon="envelope"></sg-stats-card>
<sg-stats-card color="purple" value="12" label="Projects" icon="folder"></sg-stats-card>
<sg-stats-card color="cyan" value="99%" label="Uptime" icon="server"></sg-stats-card>
Con tendencia
<sg-stats-card
value="8,249"
label="Sales"
trend="up"
trend-value="+12.5%">
</sg-stats-card>
<sg-stats-card
value="342"
label="Returns"
trend="down"
trend-value="-5.2%">
</sg-stats-card>
Con watermark icon
<sg-stats-card
value="$45,231"
label="Total Revenue"
watermark-icon="dollar-sign"
color="success">
</sg-stats-card>
Animaciones escalonadas
<sg-stats-card animated animation-delay="0" ...></sg-stats-card>
<sg-stats-card animated animation-delay="100" ...></sg-stats-card>
<sg-stats-card animated animation-delay="200" ...></sg-stats-card>
Estado de carga
<sg-stats-card loading></sg-stats-card>
Playground
Edita el c贸digo y ve los cambios en tiempo real:
API Reference
Propiedades
11| Prop | Tipo | Default | Descripci贸n |
|---|---|---|---|
card-title | string | undefined | T铆tulo/etiqueta de la tarjeta |
value | string | number | undefined | Valor principal de la estad铆stica |
unit | string | undefined | Sufijo de unidad para el valor |
description | string | undefined | Texto descriptivo debajo del valor |
icon | string | undefined | Nombre del icono (usa sg-icon) |
color | 'primary' | 'success' | 'warning' | 'error' | 'info' | 'purple' | 'cyan' | 'primary' | Esquema de color |
trend | string | undefined | Indicador de tendencia: up, down o valor como +12% |
trend-positive | boolean | true | Si la tendencia es positiva (verde) o negativa (roja) |
stats | string | StatItem[] | undefined | Breakdown de estad铆sticas adicionales (JSON) |
loading | boolean | false | Muestra skeleton de carga |
animation-delay | number | 0 | Delay de animaci贸n en ms (para animaciones escalonadas) |
Eventos
1| Evento | Tipo | Descripci贸n |
|---|---|---|
sgClick | CustomEvent<void> | Emitido cuando se hace click en la tarjeta |
Slots
2| Slot | Descripci贸n |
|---|---|
(default) | Contenido adicional |
stats | Breakdown de estad铆sticas adicionales |
C贸mo usar
Dashboard de m茅tricas
<div class="hl-keyword">class="stats-grid">
<sg-stats-card
value="12,847"
label="Total Users"
icon="users"
color="primary"
watermark-icon="user"
trend="up"
trend-value="+5.2%"
animated
animation-delay="0">
</sg-stats-card>
<sg-stats-card
value="$89,420"
label="Revenue"
icon="dollar-sign"
color="success"
trend="up"
trend-value="+12.8%"
animated
animation-delay="100">
</sg-stats-card>
<sg-stats-card
value="1,234"
label="Orders"
icon="shopping-cart"
color="info"
trend="down"
trend-value="-2.1%"
animated
animation-delay="200">
</sg-stats-card>
</div>
<style>
.stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
}
</style>
Escuchar eventos
const statsCard = document.querySelector('sg-stats-card');
statsCard.addEventListener('sgClick', () => {
// Navigate to detailed stats view
router.push('/analytics/details');
});
Uso con slot stats
Usa el slot stats para agregar un breakdown adicional:
<sg-stats-card value="1,847" label="New Users" color="primary">
<div slot="stats" class="hl-keyword">class="breakdown">
<span>Desktop: 1,200</span>
<span>Mobile: 647</span>
</div>
</sg-stats-card>