Components · Events

Upcoming list

The compact, dated list of upcoming events for a dashboard card or sidebar rail. A small section heading with an "All events →" link tops a stack of EventCard variant="row" rows — optional thumbnail, Major / type badges, title, and a "date · location" line — each with its own delegated RSVP control on the trailing edge, divided by --color-rule hairlines.

UpcomingEventsList · dashboard rail

Upcoming Events

All events →

The heading link and the 1st row title are pinned :hover. Each row is EventCard variant="row"; the trailing RSVP slot varies per row (unset → RSVP button · going · maybe · waitlisted chip) and is kept outside the title link so its control stays clickable.

events
EventSummary[] rendered as EventCard variant="row" rows so the chip look stays identical to the grid/index. Empty input renders nothing (or an emptyState).
heading
title (default "Upcoming Events") beside an allHref / allLabel link ("All events →"); hideAllLink drops it.
row
Optional thumbnail · Major/type badges · truncating title · "date · location" (compact viewer-local range, faint separator). Divided by --color-rule hairlines.
renderRsvp
Per-event trailing control — the caller maps an event to its own wired RsvpControl; omit for a read-only list. hrefFor / onSelect / showStatus pass through to each row.

Source · ds/events/UpcomingEventsList.tsx (rows via EventCard.tsx variant="row") · event-meta.ts · RsvpControl.tsx · WaitlistBadge.tsx · sibling of EventCardGrid.tsx.