PaymentMethodsDefaults is a public enum (used as a namespace) providing the pre-built @ViewBuilder content that PrimerPaymentMethods renders when you omit a slot. Use these helpers inside your own slots to mix custom and default content, or as a reference for the default look and feel.
Each helper is the default value for the matching
PrimerPaymentMethods slot. The component falls back to PaymentMethodsDefaults.header($0), PaymentMethodsDefaults.method($0, onSelect: $1), and PaymentMethodsDefaults.emptyState($0) when those slots are not supplied.Builders
header
The
session parameter exists only so this helper matches the header slot’s closure signature — the default header does not read from it.
method
emptyState
PrimerPaymentMethods when session.state.paymentMethods is empty.
Return types
Each builder returns a concrete public view type so it can serve as a@ViewBuilder default argument. You can use these types directly when composing your own layouts.
Using defaults inside custom slots
Reuse a default builder for one part of the list while customizing another. Here the default header and empty state are kept, but each row is replaced with a branded row:header and emptyState slots are omitted, PrimerPaymentMethods falls back to PaymentMethodsDefaults.header and PaymentMethodsDefaults.emptyState.
You can also call a default builder explicitly — for example, to render the default row while wrapping it in your own container:
See also
PrimerPaymentMethods
The slot-based payment method list these defaults power.
PrimerSelectionSession
Session that exposes the available methods and the select action.
VaultedPaymentMethods
Saved payment methods and their own default sub-components.
CardFormDefaults
The equivalent default sub-components for the card form.