ATOM
Components (registry)Layout

Events List

Layout template: events-list

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
{{section_id}}{{tagline}}{{heading}}{{description}}{{tab1}}{{tab2}}{{tab3}}{{tab4}}{{tab5}}{{event1_weekday}}{{event1_day}}{{event1_month}}{{event1_year}}{{event1_url}}{{event1_title}}{{event1_status}}{{event1_location}}{{event1_description}}{{event1_cta}}{{event2_weekday}}{{event2_day}}{{event2_month}}{{event2_year}}{{event2_url}}{{event2_title}}{{event2_status}}{{event2_location}}{{event2_description}}{{event2_cta}}{{event3_weekday}}{{event3_day}}{{event3_month}}{{event3_year}}{{event3_url}}{{event3_title}}{{event3_status}}{{event3_location}}{{event3_description}}{{event3_cta}}
Componentes requeridos
buttontypography

Anatomía CSS

<div class="layoutEventsList">

</div>

Tokens resueltos

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

VariantePropValorToken
allfg#0a0a0aforeground
allbg#f5f5f5muted
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: events-list — structure only, pure DS tokens */
.l-events-list {
  padding: 80px 32px;
}

.l-events-list__header {
  max-width: 640px;
  margin-bottom: 48px;
}

@media (min-width: 768px) {
  .l-events-list__header {
    margin-bottom: var(--spacing-18);
  }
}

@media (min-width: 1024px) {
  .l-events-list__header {
    margin-bottom: 80px;
  }
}

.l-events-list__tagline {
  font-size: 12.8px;
  font-weight: 600;
  color: #525252;
  margin-bottom: 12px;
}

.l-events-list__heading {
  font-size: 48.83px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #0a0a0a;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .l-events-list__heading {
    font-size: 61.04px;
    line-height: 1.1;
    margin-bottom: 24px;
  }
}

@media (min-width: 1024px) {
  .l-events-list__heading {
    font-size: 76.29px;
    line-height: 1.05;
  }
}

.l-events-list__description {
  font-size: 16px;
  line-height: 1.5;
  color: #525252;
}

@media (min-width: 768px) {
  .l-events-list__description {
    font-size: 20px;
    line-height: 1.45;
  }
}

.l-events-list__tabs {
  display: flex;
  margin-bottom: 48px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  gap: 0;
}

@media (min-width: 768px) {
  .l-events-list__tabs {
    overflow-x: visible;
  }
}

.l-events-list__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border: 1px solid #e5e5e5;
  background-color: #fafafa;
  color: #0a0a0a;
  padding: 0.5rem 1rem;
  font-size: 16px;
  cursor: pointer;
}

.l-events-list__tab--active {
  border-color: #e5e5e5;
  background-color: transparent;
  color: #0a0a0a;
}

.l-events-list__content {
  /* events listed vertically with borders */
}

.l-events-list__event {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  border-top: 1px solid #e5e5e5;
  padding-block: 24px;
  align-items: center;
}

.l-events-list__event:last-child {
  border-bottom: 1px solid #e5e5e5;
}

@media (min-width: 768px) {
  .l-events-list__event {
    grid-template-columns: max-content 1fr max-content;
    gap: 32px;
    padding-block: 32px;
  }
}

.l-events-list__date {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid #e5e5e5;
  background-color: #fafafa;
  padding: 0.25rem 0.25rem 0.75rem;
  min-width: 7rem;
  text-align: center;
  font-size: 16px;
}

.l-events-list__day {
  font-size: 31.25px;
  font-weight: 700;
  line-height: 1;
}

@media (min-width: 768px) {
  .l-events-list__day {
    font-size: 39.06px;
  }
}

@media (min-width: 1024px) {
  .l-events-list__day {
    font-size: 48.83px;
  }
}

.l-events-list__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.l-events-list__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

@media (min-width: 640px) {
  .l-events-list__title-row {
    margin-bottom: 0;
    gap: 16px;
  }
}

.l-events-list__title {
  font-size: 25px;
  font-weight: 700;
  color: #0a0a0a;
  text-decoration: none;
}

@media (min-width: 768px) {
  .l-events-list__title {
    font-size: 31.25px;
  }
}

.l-events-list__status {
  display: inline-block;
  background-color: #f5f5f5;
  color: #0a0a0a;
  padding: 0.25rem 0.5rem;
  font-size: 12.8px;
  font-weight: 600;
}

.l-events-list__location {
  font-size: 12.8px;
  color: #525252;
  margin-bottom: 12px;
}

@media (min-width: 768px) {
  .l-events-list__location {
    margin-bottom: 16px;
  }
}

.l-events-list__description {
  font-size: 16px;
  color: #0a0a0a;
}

.l-events-list__action {
  display: flex;
  margin-top: 16px;
}

@media (min-width: 768px) {
  .l-events-list__action {
    margin-top: 0;
  }
}

Codigo fuente

layouts/events-list.css
/* Layout: events-list — structure only, pure DS tokens */
.l-events-list {
  padding: var(--spacing-20) var(--spacing-8);
}

.l-events-list__header {
  max-width: 640px;
  margin-bottom: var(--spacing-12);
}

@media (min-width: 768px) {
  .l-events-list__header {
    margin-bottom: var(--spacing-18);
  }
}

@media (min-width: 1024px) {
  .l-events-list__header {
    margin-bottom: var(--spacing-20);
  }
}

.l-events-list__tagline {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
  color: var(--muted-foreground);
  margin-bottom: var(--spacing-3);
}

.l-events-list__heading {
  font-size: var(--font-size-4xl);
  line-height: var(--line-height-4xl);
  font-weight: var(--font-weight-bold);
  letter-spacing: var(--letter-spacing-tight);
  color: var(--foreground);
  margin-bottom: var(--spacing-5);
}

@media (min-width: 768px) {
  .l-events-list__heading {
    font-size: var(--font-size-5xl);
    line-height: var(--line-height-5xl);
    margin-bottom: var(--spacing-6);
  }
}

@media (min-width: 1024px) {
  .l-events-list__heading {
    font-size: var(--font-size-6xl);
    line-height: var(--line-height-6xl);
  }
}

.l-events-list__description {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--muted-foreground);
}

@media (min-width: 768px) {
  .l-events-list__description {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }
}

.l-events-list__tabs {
  display: flex;
  margin-bottom: var(--spacing-12);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  gap: 0;
}

@media (min-width: 768px) {
  .l-events-list__tabs {
    overflow-x: visible;
  }
}

.l-events-list__tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border: 1px solid var(--border);
  background-color: var(--background);
  color: var(--foreground);
  padding: 0.5rem 1rem;
  font-size: var(--font-size-base);
  cursor: pointer;
}

.l-events-list__tab--active {
  border-color: var(--border);
  background-color: transparent;
  color: var(--foreground);
}

.l-events-list__content {
  /* events listed vertically with borders */
}

.l-events-list__event {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-4);
  border-top: 1px solid var(--border);
  padding-block: var(--spacing-6);
  align-items: center;
}

.l-events-list__event:last-child {
  border-bottom: 1px solid var(--border);
}

@media (min-width: 768px) {
  .l-events-list__event {
    grid-template-columns: max-content 1fr max-content;
    gap: var(--spacing-8);
    padding-block: var(--spacing-8);
  }
}

.l-events-list__date {
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid var(--border);
  background-color: var(--background);
  padding: 0.25rem 0.25rem 0.75rem;
  min-width: 7rem;
  text-align: center;
  font-size: var(--font-size-base);
}

.l-events-list__day {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-bold);
  line-height: 1;
}

@media (min-width: 768px) {
  .l-events-list__day {
    font-size: var(--font-size-3xl);
  }
}

@media (min-width: 1024px) {
  .l-events-list__day {
    font-size: var(--font-size-4xl);
  }
}

.l-events-list__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.l-events-list__title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--spacing-2);
  margin-bottom: var(--spacing-2);
}

@media (min-width: 640px) {
  .l-events-list__title-row {
    margin-bottom: 0;
    gap: var(--spacing-4);
  }
}

.l-events-list__title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--foreground);
  text-decoration: none;
}

@media (min-width: 768px) {
  .l-events-list__title {
    font-size: var(--font-size-2xl);
  }
}

.l-events-list__status {
  display: inline-block;
  background-color: var(--muted);
  color: var(--foreground);
  padding: 0.25rem 0.5rem;
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-semibold);
}

.l-events-list__location {
  font-size: var(--font-size-sm);
  color: var(--muted-foreground);
  margin-bottom: var(--spacing-3);
}

@media (min-width: 768px) {
  .l-events-list__location {
    margin-bottom: var(--spacing-4);
  }
}

.l-events-list__description {
  font-size: var(--font-size-base);
  color: var(--foreground);
}

.l-events-list__action {
  display: flex;
  margin-top: var(--spacing-4);
}

@media (min-width: 768px) {
  .l-events-list__action {
    margin-top: 0;
  }
}

On this page

Detalles

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

Componente

Layout/eventsList

Source

components-react / cssDisponible via MCP: atom_uikit_source("layout/events-list")