EventCardPublic

molecules

Public event card — 320px wide. Top: 200px image with hover scale. Body: date (large) + title + venue + price-from + Buy button. Larger and more visual than admin EventCard.

ARIA Role: article

Demo

Card Title

Card description text goes here.

Props

PropTypeRequiredDefaultDescription
idstringYes
titlestringYes
imageEventImageYes
dateEventDateYes
priceFromnumberYes0+
hrefstringYes

TypeScript Interface

interface EventCardPublicProps {
  id: string;
  title: string;
  image: { url: string; alt: string };
  date: { day: string; month: string; year: string; iso: string };
  venue: { name: string; city: string };
  priceFrom: number;
  currency: string;
  href: string;
  soldOut?: boolean;
  badges?: { label: string; variant: 'new' | 'hot' | 'last-chance' }[];
}

Assertions (NASA Rule 5)

  • [type]All required; priceFrom >= 0 (NASA Rule 7)(NASA Rule 7)
  • [aria]Entire card is <a> with descriptive aria-label; image alt required(WCAG 1.1.1, 2.4.4)

Usage

Import

import { Eventcardpublic } from '@epasslive/design-system'

Basic

<Eventcardpublic />

With Variants

<Eventcardpublic variant="primary" size="md" />