PaymentMethod
DeprecatedPayment method row — radio + icon + label + description + extra info. Used in CheckoutSummary payment selector. Superseded by paymentmethodcard.
patterns/molecules/paymentmethod.htmlLigne de mode de paiement — radio + icône + libellé + description + info complémentaire. Utilisée dans le sélecteur CheckoutSummary.
PaymentMethod
Input molecule (Family 5 — Tier 1)
Payment method row — radio + icon + label + description + extra info. Used in CheckoutSummary payment selector.
This component supports light and dark mode.
Usage
import { PaymentMethod } from '@epasslive/design-system'
const methods = [
{ id: 'card_visa', label: 'Visa •••• 4242', description: 'Expire 12/27', icon: <VisaIcon /> },
{ id: 'apple_pay', label: 'Apple Pay', description: 'Validation Face ID' },
]
{methods.map((m) => (
<PaymentMethod
key={m.id}
id={m.id}
name="payment_method"
label={m.label}
description={m.description}
icon={m.icon}
selected={selected === m.id}
onSelect={setSelected}
/>
))}When to use
- CheckoutSummary payment selector (Visa / MC / Apple Pay / Nuvei).
- Saved payment methods in the account dashboard.
- Admin deposit / payout method picker.
Accessibility
Each row is a real <label> wrapping the radio input \u2014 the entire row is the click target, so touch and keyboard users both get a large hit area. The icon is decorative (the label carries the meaning). Selected state is exposed via the underlying checked attribute.
Props
id*stringRadio input id + value.
name*stringRadio group name (for shared selection).
label*stringDisplay label (e.g., "Visa •••• 4242").
descriptionstringSecondary line.
iconReact.ReactNodeBrand or method icon.
extraReact.ReactNodeTrailing area (badge, fee, etc.).
selectedbooleanfalseWhether this row is selected.
onSelect*(id: string) => voidSelection handler.
Props
PaymentMethod
idstring—selectedboolean—onSelect() => void—<PaymentMethod />Accessibility
Type
1 ruleARIA
1 ruleUsage
Import
import { PaymentMethod } from "@epasslive/design-system"Example 1
<PaymentMethod />Example 2
<PaymentMethod variant="default" />Anti-patterns
— Do not hardcode data in molecules
— Avoid complex business logic in molecules