Components (registry)Layout
Stats Band
Layout template: stats-band
Contrato del layout
Un layout transporta anatomia, no pintura: se rellena por slots y depende del CSS de los componentes que lista. Instalarlo sin ellos lo deja sin estilos.
- Slots
{{headline}}{{stat1_value}}{{stat1_label}}{{stat2_value}}{{stat2_label}}{{stat3_value}}{{stat3_label}}{{stat4_value}}{{stat4_label}}- Componentes requeridos
stats-cardtypography
Anatomía CSS
<div class="layoutStatsBand"> </div>
Tokens resueltos
Valores finales tras seguir la cadena de tokens. Derivados del source: si un token cambia, esta tabla cambia sola.
| Variante | Prop | Valor | Token |
|---|---|---|---|
| all | bg | #fafafa | background |
| all | border | #e5e5e5 | border |
| all | fg | #525252 | muted.foreground |
CSS mínimo funcional
Autocontenido: sin imports ni tokens. Para previews y prototipos — en producción se consume el CSS del DS.
/* Layout: stats-band — structure only */
.l-stats-band {
display: flex;
flex-direction: column;
gap: 24px;
padding: 32px;
background: #fafafa;
border: 1px solid #e5e5e5;
border-radius: 12px;
}
.l-stats-band__header {
text-align: center;
}
.l-stats-band__stats {
display: flex;
justify-content: space-around;
gap: 16px;
}
@media (max-width: 768px) {
.l-stats-band__stats {
flex-direction: column;
align-items: center;
}
}
.l-stats-band__value {
font-size: var(--text-3xl);
font-weight: 700;
line-height: 1;
}
.l-stats-band__label {
font-size: var(--text-sm);
color: #525252;
}
Codigo fuente
layouts/stats-band.css
/* Layout: stats-band — structure only */ .l-stats-band { display: flex; flex-direction: column; gap: var(--spacing-6); padding: var(--spacing-8); background: var(--background); border: 1px solid var(--border); border-radius: var(--radius-lg); } .l-stats-band__header { text-align: center; } .l-stats-band__stats { display: flex; justify-content: space-around; gap: var(--spacing-4); } @media (max-width: 768px) { .l-stats-band__stats { flex-direction: column; align-items: center; } } .l-stats-band__value { font-size: var(--text-3xl); font-weight: 700; line-height: 1; } .l-stats-band__label { font-size: var(--text-sm); color: var(--muted-foreground); }