Interface: ProductBundlesProps
Defined in: components/ProductBundles.tsx:17
Properties
afterBundleAddToCart?
optionalafterBundleAddToCart?: (cart,bundle?) =>void
Defined in: components/ProductBundles.tsx:127
Callback triggered after adding the bundle to cart.
Parameters
cart
Cart
bundle?
Bundle
Returns
void
beforeBundleAddToCart?
optionalbeforeBundleAddToCart?: (bundleId,quantity) =>boolean
Defined in: components/ProductBundles.tsx:119
Callback triggered before adding the bundle to cart.
Parameters
bundleId
string
quantity
number
Returns
boolean
cartId?
optionalcartId?:string
Defined in: components/ProductBundles.tsx:58
Cart ID — required when onAddToCart is not provided
className?
optionalclassName?:string
Defined in: components/ProductBundles.tsx:130
Extra CSS class applied to the root wrapper element.
companyId?
optionalcompanyId?:number
Defined in: components/ProductBundles.tsx:55
Active company ID from the company switcher. Overrides user's default company for cart creation and lookup. * If not provided, the user's default company is used.
configuration?
optionalconfiguration?:any
Defined in: components/ProductBundles.tsx:84
Additional configuration object passed through to the component.
createCart?
optionalcreateCart?:boolean
Defined in: components/ProductBundles.tsx:70
If true a new cart is created if no cart ID is provided. Defaults to false.
graphqlClient?
optionalgraphqlClient?:GraphQLClient
Defined in: components/ProductBundles.tsx:21
GraphQL client instance used to fetch bundle data. Resolved from PropellerProvider when omitted.
includeTax?
optionalincludeTax?:boolean
Defined in: components/ProductBundles.tsx:38
When true, net price (incl. tax) is the leading price.
Note: in the Propeller SDK price.gross = excl. VAT, price.net = incl. VAT.
labels?
optionallabels?:Record<string,string>
Defined in: components/ProductBundles.tsx:100
Override any UI string. Available keys: title, condition_ALL, condition_EP, leaderItem, youSave, adding, addToCart, loginToSeePrices, addedToCart, modalTitle, continueShopping, proceedToCheckout, noCartId
language?
optionallanguage?:string
Defined in: components/ProductBundles.tsx:27
Language code used for content (e.g. 'NL', 'EN'). Resolved from PropellerProvider when omitted.
layout?
optionallayout?:"compact"|"vertical"|"horizontal"
Defined in: components/ProductBundles.tsx:92
Layout variant for the bundle display.
- 'vertical' — stacked layout
- 'horizontal' — side-by-side (default)
- 'compact' — condensed, hides individual items
onAddBundleToCart?
optionalonAddBundleToCart?: (bundleId,quantity) =>void
Defined in: components/ProductBundles.tsx:122
Called when the user clicks "Add bundle to cart". Receives bundleId and quantity (always 1).
Parameters
bundleId
string
quantity
number
Returns
void
onCartCreated?
optionalonCartCreated?: (cart) =>void
Defined in: components/ProductBundles.tsx:64
Callback to handle a new cart being created. WARNING: If not provided the component create new carts on every add-to-cart.
Parameters
cart
Cart
Returns
void
onProceedToCheckout?
optionalonProceedToCheckout?: () =>void
Defined in: components/ProductBundles.tsx:112
Callback fired when the "Proceed to checkout" modal button is clicked
Returns
void
portalMode?
optionalportalMode?:string
Defined in: components/ProductBundles.tsx:47
Controls portal visibility mode. 'semi-closed' — prices and add-to-cart are hidden for anonymous users. Defaults to 'open'.
productId
productId:
number
Defined in: components/ProductBundles.tsx:24
ID of the product whose bundles should be fetched.
showIndividualItems?
optionalshowIndividualItems?:boolean
Defined in: components/ProductBundles.tsx:81
When true, the individual bundle items are listed inside each bundle card. Defaults to true.
showModal?
optionalshowModal?:boolean
Defined in: components/ProductBundles.tsx:109
When true a modal popup is shown after a successful add-to-cart with buttons to continue shopping or proceed to checkout. Defaults to false (only a brief inline toast is shown).
stockValidation?
optionalstockValidation?:boolean
Defined in: components/ProductBundles.tsx:75
When true, stock availability is validated before adding to cart.
taxZone
taxZone:
string
Defined in: components/ProductBundles.tsx:30
Tax zone code used for pricing (e.g. 'NL').
user?
optionaluser?:Contact|Customer|null
Defined in: components/ProductBundles.tsx:50
Authenticated user — used for semi-closed visibility check.