Credit Card
import { CreditCard } from '@hanzo/ui'
Default
A dark plate with a placeholder number, holder name and expiry.
•••• •••• •••• ••••
Card HolderCARD HOLDER
ExpiresMM/YY
export function Default() {return <CreditCard />}
Filled in
Every field set, including the CVV badge in the corner.
CVV: 123
4111 1111 1111 1111
Card HolderADA LOVELACE
Expires09/30
export function FilledIn() {return (<CreditCard number="4111 1111 1111 1111" name="ADA LOVELACE" expiry="09/30" cvv="123" />)}
Minimal
A bordered surface instead of the dark plate, for a page that already carries its own color.
5500 0000 0000 0004
Card HolderGRACE HOPPER
Expires12/29
export function Minimal() {return (<CreditCard variant="minimal" number="5500 0000 0000 0004" name="GRACE HOPPER" expiry="12/29" />)}
Side by side
Both variants at once, to compare the two treatments.
•••• •••• •••• ••••
Card HolderALAN TURING
Expires06/28
•••• •••• •••• ••••
Card HolderALAN TURING
Expires06/28
export function SideBySide() {return (<XStack flexWrap="wrap" gap="$4"><YStack width={320}><CreditCard name="ALAN TURING" expiry="06/28" /></YStack><YStack width={320}><CreditCard variant="minimal" name="ALAN TURING" expiry="06/28" /></YStack></XStack>)}
Types
export type CreditCardVariant = 'default' | 'minimal'
export type CreditCardProps = Omit<ComponentProps<typeof Frame>, 'variant' | 'children'> & {/** The card number, formatted or masked by the caller. */number?: string/** The name printed on the card. */name?: string/** MM/YY expiry, printed as given. */expiry?: string/** Security code, shown only when set. */cvv?: stringvariant?: CreditCardVariant | null}
Exports
CreditCardtype CreditCardPropstype CreditCardVariant