Interface: ProductSliderProps
Defined in: components/ProductSlider.tsx:20
Properties
addToCartComponent?
optionaladdToCartComponent?:ComponentType<AddToCartComponentProps>
Defined in: components/ProductSlider.tsx:154
addToCartLabels?
optionaladdToCartLabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:132
- 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:113
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:167
Parameters
item
Product | Cluster
index
number
Returns
ReactNode
allowAddToCart?
optionalallowAddToCart?:boolean
Defined in: components/ProductSlider.tsx:128
Show the add-to-cart control on each card. Defaults to true; a semi-closed portal still withholds it from anonymous visitors regardless.
badgesComponent?
optionalbadgesComponent?:ComponentType<BadgesComponentProps>
Defined in: components/ProductSlider.tsx:156
beforeItem?
optionalbeforeItem?: (item,index) =>ReactNode
Defined in: components/ProductSlider.tsx:166
Parameters
item
Product | Cluster
index
number
Returns
ReactNode
cartId?
optionalcartId?:string
Defined in: components/ProductSlider.tsx:110
ID of an existing cart to add items to.
clusterCardComponent?
optionalclusterCardComponent?:ComponentType<ClusterCardProps>
Defined in: components/ProductSlider.tsx:162
clusterCardLabels?
optionalclusterCardLabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:141
Translated labels forwarded to embedded <ClusterCard> instances.
clusterId?
optionalclusterId?:number
Defined in: components/ProductSlider.tsx:46
Source cluster ID for cross-upsell lookup. Required when crossUpsellTypes is set.
clusterIds?
optionalclusterIds?:number[]
Defined in: components/ProductSlider.tsx:33
Cluster IDs to fetch internally when products is not provided
companyId?
optionalcompanyId?:number
Defined in: components/ProductSlider.tsx:77
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:143
Configuration object providing imageSearchFiltersGrid, imageVariantFiltersMedium, urls
containerClassName?
optionalcontainerClassName?:string
Defined in: components/ProductSlider.tsx:87
Additional CSS class for the outer container
createCart?
optionalcreateCart?:boolean
Defined in: components/ProductSlider.tsx:111
Auto-create a cart when none is available. Pair with onCartCreated.
crossUpsellTypes?
optionalcrossUpsellTypes?:CrossupsellType[]
Defined in: components/ProductSlider.tsx:40
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:97
Show a heart-icon favourite toggle on each card. Defaults to false.
favoriteComponent?
optionalfavoriteComponent?:ComponentType<FavoriteComponentProps>
Defined in: components/ProductSlider.tsx:157
graphqlClient?
optionalgraphqlClient?:GraphQLClient
Defined in: components/ProductSlider.tsx:24
Propeller SDK GraphQL client. Resolved from PropellerProvider when omitted.
imageComponent?
optionalimageComponent?:ComponentType<ImageComponentProps>
Defined in: components/ProductSlider.tsx:155
includeTax?
optionalincludeTax?:boolean
Defined in: components/ProductSlider.tsx:60
When true, net price (incl. tax) is the leading price. Forwarded to each ProductCard / ClusterCard.
itemsPerView?
optionalitemsPerView?:object
Defined in: components/ProductSlider.tsx:78
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:144
- 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:51
Language code for API requests and localized content. Resolved from PropellerProvider when omitted.
onCartCreated?
optionalonCartCreated?: (cart) =>void
Defined in: components/ProductSlider.tsx:112
Called after AddToCart creates a new cart internally.
Parameters
cart
Cart
Returns
void
onClusterClick?
optionalonClusterClick?: (cluster) =>void
Defined in: components/ProductSlider.tsx:105
Called when a cluster card is clicked — use for SPA-style routing.
Parameters
cluster
Cluster
Returns
void
onLoginClick?
optionalonLoginClick?: () =>void
Defined in: components/ProductSlider.tsx:123
Called when an anonymous visitor clicks the log-in action that replaces add-to-cart in a semi-closed portal. The host owns navigation.
Returns
void
onProceedToCheckout?
optionalonProceedToCheckout?: () =>void
Defined in: components/ProductSlider.tsx:118
Called when "Proceed to checkout" is clicked in the AddToCart modal.
Returns
void
onProductClick?
optionalonProductClick?: (product) =>void
Defined in: components/ProductSlider.tsx:102
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:129
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:98
- 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:70
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:152
priceLabels?
optionalpriceLabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:96
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:161
productCardLabels?
optionalproductCardLabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:138
Translated labels forwarded to embedded <ProductCard> instances.
productId?
optionalproductId?:number
Defined in: components/ProductSlider.tsx:43
Source product ID for cross-upsell lookup. Required when crossUpsellTypes is set.
productIds?
optionalproductIds?:number[]
Defined in: components/ProductSlider.tsx:30
Product IDs to fetch internally when products is not provided
products?
optionalproducts?: (Product|Cluster)[]
Defined in: components/ProductSlider.tsx:27
Pre-loaded products or clusters to display. When provided, skips internal fetching.
showAvailability?
optionalshowAvailability?:boolean
Defined in: components/ProductSlider.tsx:89
- 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:109
Show increment/decrement stepper buttons in AddToCart. Defaults to true.
showModal?
optionalshowModal?:boolean
Defined in: components/ProductSlider.tsx:117
- When true, AddToCart shows a success modal instead of a toast. * Defaults to false.
showStock?
optionalshowStock?:boolean
Defined in: components/ProductSlider.tsx:88
- 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:153
stockLabels?
optionalstockLabels?:Record<string,string>
Defined in: components/ProductSlider.tsx:90
- 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:108
Validate stock before adding to cart. Defaults to false.
taxZone
taxZone:
string
Defined in: components/ProductSlider.tsx:54
Tax zone for price calculations
title?
optionaltitle?:string
Defined in: components/ProductSlider.tsx:86
Slider title displayed above the track
user?
optionaluser?:Contact|Customer|null
Defined in: components/ProductSlider.tsx:73
Authenticated user for cart operations