Interface: ProductSliderProps
Defined in: components/ProductSlider.tsx:19
Properties
addToCartComponent?
optionaladdToCartComponent?:ComponentType<AddToCartComponentProps>
Defined in: components/ProductSlider.tsx:143
addToCartLabels?
optionaladdToCartLabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:121
- Label overrides forwarded to the embedded AddToCart component. * Keys: add, adding, addedToCart, outOfStock, noCartId, errorAdding, * modalTitle, quantity, continueShopping, proceedToCheckout
afterAddToCart?
optionalafterAddToCart?: (cart,item?) =>void
Defined in: components/ProductSlider.tsx:112
Called after every successful add-to-cart. Receives the updated cart and the added item.
Parameters
cart
Cart
item?
CartMainItem
Returns
void
afterItem?
optionalafterItem?: (item,index) =>ReactNode
Defined in: components/ProductSlider.tsx:156
Parameters
item
Product | Cluster
index
number
Returns
ReactNode
badgesComponent?
optionalbadgesComponent?:ComponentType<BadgesComponentProps>
Defined in: components/ProductSlider.tsx:145
beforeItem?
optionalbeforeItem?: (item,index) =>ReactNode
Defined in: components/ProductSlider.tsx:155
Parameters
item
Product | Cluster
index
number
Returns
ReactNode
cartId?
optionalcartId?:string
Defined in: components/ProductSlider.tsx:109
ID of an existing cart to add items to.
clusterCardComponent?
optionalclusterCardComponent?:ComponentType<ClusterCardProps>
Defined in: components/ProductSlider.tsx:151
clusterCardLabels?
optionalclusterCardLabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:130
Translated labels forwarded to embedded <ClusterCard> instances.
clusterId?
optionalclusterId?:number
Defined in: components/ProductSlider.tsx:45
Source cluster ID for cross-upsell lookup. Required when crossUpsellTypes is set.
clusterIds?
optionalclusterIds?:number[]
Defined in: components/ProductSlider.tsx:32
Cluster IDs to fetch internally when products is not provided
companyId?
optionalcompanyId?:number
Defined in: components/ProductSlider.tsx:76
Active company ID from the company switcher. Overrides the user's default company for price calculation in cross-upsell fetches * and is forwarded to each embedded ProductCard / AddToCart. * Triggers a re-fetch when changed.
configuration?
optionalconfiguration?:any
Defined in: components/ProductSlider.tsx:132
Configuration object providing imageSearchFiltersGrid, imageVariantFiltersMedium, urls
containerClassName?
optionalcontainerClassName?:string
Defined in: components/ProductSlider.tsx:86
Additional CSS class for the outer container
createCart?
optionalcreateCart?:boolean
Defined in: components/ProductSlider.tsx:110
Auto-create a cart when none is available. Pair with onCartCreated.
crossUpsellTypes?
optionalcrossUpsellTypes?:CrossupsellType[]
Defined in: components/ProductSlider.tsx:39
Cross-upsell types to fetch. When provided, fetches cross-upsells for the given productId/clusterId instead of fetching products by IDs. Values: 'ACCESSORIES' | 'ALTERNATIVES' | 'RELATED' | 'OPTIONS' | 'PARTS'
enableAddFavorite?
optionalenableAddFavorite?:boolean
Defined in: components/ProductSlider.tsx:96
Show a heart-icon favourite toggle on each card. Defaults to false.
favoriteComponent?
optionalfavoriteComponent?:ComponentType<FavoriteComponentProps>
Defined in: components/ProductSlider.tsx:146
graphqlClient?
optionalgraphqlClient?:GraphQLClient
Defined in: components/ProductSlider.tsx:23
Propeller SDK GraphQL client. Resolved from PropellerProvider when omitted.
imageComponent?
optionalimageComponent?:ComponentType<ImageComponentProps>
Defined in: components/ProductSlider.tsx:144
includeTax?
optionalincludeTax?:boolean
Defined in: components/ProductSlider.tsx:59
When true, net price (incl. tax) is the leading price. Forwarded to each ProductCard / ClusterCard.
itemsPerView?
optionalitemsPerView?:object
Defined in: components/ProductSlider.tsx:77
Items visible per breakpoint
desktop?
optionaldesktop?:number
Number of items visible on desktop viewports. Defaults to 4.
mobile?
optionalmobile?:number
Number of items visible on mobile viewports.
tablet?
optionaltablet?:number
Number of items visible on tablet viewports.
labels?
optionallabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:133
- Label overrides for the slider UI. * Available keys: scrollLeft, scrollRight, noProducts, viewCluster, * ACCESSORIES, ALTERNATIVES, RELATED, OPTIONS, PARTS
language?
optionallanguage?:string
Defined in: components/ProductSlider.tsx:50
Language code for API requests and localized content. Resolved from PropellerProvider when omitted.
onCartCreated?
optionalonCartCreated?: (cart) =>void
Defined in: components/ProductSlider.tsx:111
Called after AddToCart creates a new cart internally.
Parameters
cart
Cart
Returns
void
onClusterClick?
optionalonClusterClick?: (cluster) =>void
Defined in: components/ProductSlider.tsx:104
Called when a cluster card is clicked — use for SPA-style routing.
Parameters
cluster
Cluster
Returns
void
onProceedToCheckout?
optionalonProceedToCheckout?: () =>void
Defined in: components/ProductSlider.tsx:117
Called when "Proceed to checkout" is clicked in the AddToCart modal.
Returns
void
onProductClick?
optionalonProductClick?: (product) =>void
Defined in: components/ProductSlider.tsx:101
Called when a product card is clicked — use for SPA-style routing.
Parameters
product
Product
Returns
void
onRequestQuoteClick?
optionalonRequestQuoteClick?: (cart) =>void
Defined in: components/ProductSlider.tsx:118
Called when "Request a Quote" is clicked in the AddToCart modal.
Parameters
cart
Cart
Returns
void
onToggleFavorite?
optionalonToggleFavorite?: (item,isFavorite) =>void
Defined in: components/ProductSlider.tsx:97
- Called when a favourite is toggled on any card. * Receives the full Product or Cluster object and the new favourite state.
Parameters
item
Product | Cluster
isFavorite
boolean
Returns
void
portalMode?
optionalportalMode?:string
Defined in: components/ProductSlider.tsx:69
Controls portal visibility mode. 'open' — AddToCart is shown on product cards. 'semi-closed' — AddToCart is hidden (catalog-only view). Defaults to 'open'.
priceComponent?
optionalpriceComponent?:ComponentType<PriceComponentProps>
Defined in: components/ProductSlider.tsx:141
priceLabels?
optionalpriceLabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:95
Translated labels forwarded to the embedded <ProductPrice> display
inside each <ProductCard>. See ProductPriceProps.labels for slugs.
productCardComponent?
optionalproductCardComponent?:ComponentType<ProductCardProps>
Defined in: components/ProductSlider.tsx:150
productCardLabels?
optionalproductCardLabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:127
Translated labels forwarded to embedded <ProductCard> instances.
productId?
optionalproductId?:number
Defined in: components/ProductSlider.tsx:42
Source product ID for cross-upsell lookup. Required when crossUpsellTypes is set.
productIds?
optionalproductIds?:number[]
Defined in: components/ProductSlider.tsx:29
Product IDs to fetch internally when products is not provided
products?
optionalproducts?: (Product|Cluster)[]
Defined in: components/ProductSlider.tsx:26
Pre-loaded products or clusters to display. When provided, skips internal fetching.
showAvailability?
optionalshowAvailability?:boolean
Defined in: components/ProductSlider.tsx:88
- Show only the availability indicator (Available / Not available) inside the stock widget. * Forwarded to
ProductCard.showAvailability. * Defaults to true.
showIncrDecr?
optionalshowIncrDecr?:boolean
Defined in: components/ProductSlider.tsx:108
Show increment/decrement stepper buttons in AddToCart. Defaults to true.
showModal?
optionalshowModal?:boolean
Defined in: components/ProductSlider.tsx:116
- When true, AddToCart shows a success modal instead of a toast. * Defaults to false.
showStock?
optionalshowStock?:boolean
Defined in: components/ProductSlider.tsx:87
- Show the stock / availability widget on each product card. * Forwarded to
ProductCard.showStock. * Defaults to false.
stockComponent?
optionalstockComponent?:ComponentType<StockComponentProps>
Defined in: components/ProductSlider.tsx:142
stockLabels?
optionalstockLabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:89
- Label overrides forwarded to the embedded ItemStock component inside each card. * Keys: inStock, outOfStock, lowStock, available, notAvailable, pieces
stockValidation?
optionalstockValidation?:boolean
Defined in: components/ProductSlider.tsx:107
Validate stock before adding to cart. Defaults to false.
taxZone
taxZone:
string
Defined in: components/ProductSlider.tsx:53
Tax zone for price calculations
title?
optionaltitle?:string
Defined in: components/ProductSlider.tsx:85
Slider title displayed above the track
user?
optionaluser?:Contact|Customer|null
Defined in: components/ProductSlider.tsx:72
Authenticated user for cart operations