ATOM
Components (registry)Layout

Contacto en cards

Layout template: contact-cards

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}}{{card1_title}}{{card1_body}}{{card1_url}}{{card1_linkLabel}}{{card2_title}}{{card2_body}}{{card2_url}}{{card2_linkLabel}}
Componentes requeridos
itemlink-buttontypography

Anatomía CSS

<div class="layoutContactCards">

</div>

Tokens resueltos

Valores finales tras seguir la cadena de tokens. Derivados del source: si un token cambia, esta tabla cambia sola.

VariantePropValorToken
allborder#e5e5e5border
allbg#f5f5f5muted
allfg#525252muted.foreground

CSS mínimo funcional

Autocontenido: sin imports ni tokens. Para previews y prototipos — en producción se consume el CSS del DS.

/* Layout: contact-cards — structure only */
.l-contact-cards {
  padding: 48px 32px;
}
.l-contact-cards__header {
  text-align: center;
  margin-bottom: 32px;
}
.l-contact-cards__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
@media (max-width: 600px) {
  .l-contact-cards__grid {
    grid-template-columns: 1fr;
  }
}
.l-contact-cards__card {
  padding: 24px;
  border: 1px solid #e5e5e5;
  border-radius: 12px;
}
.l-contact-cards__icon {
  width: 32px;
  height: 32px;
  background: #f5f5f5;
  border-radius: 50%;
  margin-bottom: 12px;
}
.l-contact-cards__title {
  font-size: var(--text-lg);
  font-weight: 600;
}
.l-contact-cards__body {
  color: #525252;
  margin: 8px 0;
}

Codigo fuente

layouts/contact-cards.css
/* Layout: contact-cards — structure only */
.l-contact-cards {
  padding: var(--spacing-12) var(--spacing-8);
}
.l-contact-cards__header {
  text-align: center;
  margin-bottom: var(--spacing-8);
}
.l-contact-cards__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-6);
}
@media (max-width: 600px) {
  .l-contact-cards__grid {
    grid-template-columns: 1fr;
  }
}
.l-contact-cards__card {
  padding: var(--spacing-6);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}
.l-contact-cards__icon {
  width: 32px;
  height: 32px;
  background: var(--muted);
  border-radius: 50%;
  margin-bottom: var(--spacing-3);
}
.l-contact-cards__title {
  font-size: var(--text-lg);
  font-weight: 600;
}
.l-contact-cards__body {
  color: var(--muted-foreground);
  margin: var(--spacing-2) 0;
}

On this page

Detalles

Publicado14 de mayo de 2026
Categorialayout
Lectura...
Visitas...
Ayuda?Slack

Componente

Layout/contactCards

Source

components-react / cssDisponible via MCP: atom_uikit_source("layout/contact-cards")