ProductRecommendations
Recommendation-section family for related items, complete-the-look modules, and richer cross-sell moments with optional supporting copy, CTAs, and aside content.
Best for
Import
import { ProductRecommendations } from "@enadhq/enad-react-sdk/client/storefront"When to use it
Use ProductRecommendations when the page needs a product-led recommendation section, not just a bare horizontal rail.
It is the right family for:
- related products after a PDP body
- complete-the-look modules with supporting copy
- recently viewed sections that still need heading and CTA structure
- cross-sell moments with a supporting editorial or service aside
If the page only needs the simplest possible rail, the legacy children-based path still works. But when the recommendation area starts needing real section structure, stay in ProductRecommendations rather than inventing a separate recommendation-section export.
Family boundary
ProductRecommendations complements the other storefront families:
ProductHeroSectionowns the PDP hero entryProductDetailsowns the post-hero product information bodyProductRecommendationsowns the merchandising section that follows
That separation matters. Recommendation content should still revolve around products and cross-sell intent, not become a generic editorial block.
Composition notes
Lead with the compound path when the recommendation area needs explicit structure.
Available compounds:
ProductRecommendations.HeaderProductRecommendations.HeadingProductRecommendations.BodyProductRecommendations.ProductsProductRecommendations.AsideProductRecommendations.Footer
Use the convenience props when the recommendation shell fits the common pattern:
titlefor the section headingbodyfor supporting copychildrenorproductsfor the recommendation cardsviewAllHrefandviewAllLabelfor the browse CTAasidefor supporting service or editorial contentfooterfor secondary notes below the main section
Behavior and theming guidance
The inner rail still owns the swipe/arrow behavior and keeps nested ProductCard images in single-image mode by default so the recommendation strip remains the main carousel.
Use showArrows for stronger desktop affordance, and keep delight subtle unless the recommendation section is deliberately hero-adjacent.
When the page has both ProductDetails and ProductRecommendations, keep the recommendation family visually downstream so the shopper can understand that the main product information is complete before the page shifts into merchandising.
Connected companion
Use ProductRecommendations when the page already owns the recommendation products or when the merchandising shell needs custom composition around known product cards.
Use SearchProductRecommendations from @enadhq/enad-react-sdk/client/search when the page wants the SDK to resolve the recommendation products from search-backed inputs such as SKUs, category URLs, tag keys, or brand slugs and then feed them into this same recommendation family.
Examples
Live examples you can edit directly in the sandbox.
Compound-first recommendation section
Lead with the richer family path when the recommendation area needs supporting copy, a CTA, or an editorial/service aside around the product rail.
Convenience path
Use the lighter path when the page shell still owns the product cards and only needs a stable recommendation section with heading, body, optional aside, and footer.
Slots
Component Sets
Preview the first example across the available component-set presets to compare tone, spacing, and structural defaults.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| title | string | — | Optional heading for the recommendation section |
| variant | string | — | Optional variant label for styling/semantics |
| body | string | — | Optional supporting copy below the heading |
| products | string | — | Optional recommendation cards for the convenience path |
| aside | string | — | Optional supporting editorial or utility block alongside the products |
| footer | string | — | Optional supporting footer below the recommendation content |
| children | string | — | Product cards or compound children. Legacy children-only usage still renders the product rail. |
| viewAllHref | string | — | "View all" link |
| viewAllLabel | string | — | No description yet. |
| showArrows | boolean | — | Show navigation arrows on desktop |
| delight | number | — | Delight level (0-100) for stagger entry animation. 0 = no animation. |
| classNames | Partial<Record<ProductRecommendationsSlot, string>> | — | No description yet. Slot keys asidebodyfooterheadercontentheadingrootheadingGroupactionLinkproductsrailitemprevButtonnextButton |
| className | string | — | No description yet. |