ATOM
Components (registry)Layout

Footer con newsletter

Layout template: footer-newsletter

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
{{newsletterHeading}}{{newsletterBody}}{{newsletterCta}}{{logo}}{{col1_title}}{{link1_url}}{{link1_label}}{{link2_url}}{{link2_label}}{{col2_title}}{{link3_url}}{{link3_label}}{{link4_url}}{{link4_label}}{{legal}}
Componentes requeridos
nav-linkinputbuttontypographydividerimage

Anatomía CSS

<div class="layoutFooterNewsletter">

</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

CSS mínimo funcional

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

/* Layout: footer-newsletter — structure only */
.l-footer-newsletter {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding: 48px 32px;
  border-top: 1px solid #e5e5e5;
}
.l-footer-newsletter__newsletter {
  text-align: center;
  max-width: 480px;
  margin: 0 auto;
}
.l-footer-newsletter__newsletter-heading {
  font-size: var(--text-lg);
  font-weight: 600;
}
.l-footer-newsletter__form {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}
.l-footer-newsletter__brand {
  max-width: 200px;
}
.l-footer-newsletter__cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}
@media (max-width: 768px) {
  .l-footer-newsletter__cols {
    grid-template-columns: 1fr;
  }
}
.l-footer-newsletter__col-title {
  font-weight: 600;
  margin-bottom: 8px;
}
.l-footer-newsletter__legal {
  margin-top: 16px;
}

Codigo fuente

layouts/footer-newsletter.css
/* Layout: footer-newsletter — structure only */
.l-footer-newsletter {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
  padding: var(--spacing-12) var(--spacing-8);
  border-top: 1px solid var(--border);
}
.l-footer-newsletter__newsletter {
  text-align: center;
  max-width: 480px;
  margin: 0 auto;
}
.l-footer-newsletter__newsletter-heading {
  font-size: var(--text-lg);
  font-weight: 600;
}
.l-footer-newsletter__form {
  display: flex;
  gap: var(--spacing-2);
  margin-top: var(--spacing-2);
}
.l-footer-newsletter__brand {
  max-width: 200px;
}
.l-footer-newsletter__cols {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-8);
}
@media (max-width: 768px) {
  .l-footer-newsletter__cols {
    grid-template-columns: 1fr;
  }
}
.l-footer-newsletter__col-title {
  font-weight: 600;
  margin-bottom: var(--spacing-2);
}
.l-footer-newsletter__legal {
  margin-top: var(--spacing-4);
}

On this page

Detalles

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

Componente

Layout/footerNewsletter

Source

components-react / cssDisponible via MCP: atom_uikit_source("layout/footer-newsletter")