PackageCard

organisms

Atomic package display card — package = single expandable card, NOT individual tickets. 'See the tickets included in this Package' expandable section. Must render as atomic unit.

ARIA Role: article

Demo

Card Title

Card description text goes here.

Props

PropTypeRequiredDefaultDescription
packagePackageYesPackage data with included tickets
isExpandedbooleanYesWhether ticket list is expanded
onToggle() => voidYesToggle expand/collapse
onAddToCart(pkg: Package) => voidYesAdd package to cart

TypeScript Interface

interface PackageCardProps {
  package: Package;
  isExpanded: boolean;
  onToggle: () => void;
  onAddToCart: (pkg: Package) => void;
  currency?: string;
  locale?: 'en' | 'fr';
}

Assertions (NASA Rule 5)

  • [aria]Heading inside card must be in document heading order(WCAG 1.3.1)
  • [validation]Features list must not be empty when shown(NASA Rule 5)

Usage

Import

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

Basic

<Packagecard />

With Variants

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