Skip to main content

ProductCard

Optimized for grid layouts with three variants: default, priceOverlay, and compact. Use default for product grids where details matter, priceOverlay for visual-first feeds, compact when dealing with limited space. For some list views where space is limited, ProductLink may work better. Exposes composable subcomponents for custom layouts.

Anchor to product
product
required

The product to display in the card

Anchor to badgeText
badgeText
string

Optional text to display in a badge on the card

Anchor to badgeVariant
badgeVariant
'primary' | 'secondary' | 'destructive' | 'outline' | 'none'

Visual style variant for the badge

Anchor to children
children
React.ReactNode

Custom layout via children

Anchor to favoriteButtonDisabled
favoriteButtonDisabled
boolean

Whether the favorite button is disabled

Anchor to impressionTrackingDisabled
impressionTrackingDisabled
boolean

Whether to disable impression tracking

Anchor to onFavoriteToggled
onFavoriteToggled
(isFavorited: boolean) => void

Callback fired when the favorite button is toggled

Anchor to onProductClick
onProductClick
() => void

Callback fired when the product is clicked

Anchor to reviewsDisabled
reviewsDisabled
boolean

Whether review stars are disabled

Anchor to selectedProductVariant
selectedProductVariant

Optional selected variant of the product to show specific variant data

Anchor to touchable
touchable
boolean

Whether the card can be clicked/tapped to navigate to product details

Anchor to variant
variant
'default' | 'priceOverlay' | 'compact'

Visual style variant of the card


Was this page helpful?