Interface: ProductPriceProps
Defined in: components/ProductPrice.tsx:14
Properties
className?
optionalclassName?:string
Defined in: components/ProductPrice.tsx:89
Extra CSS class applied to the root element.
currency?
optionalcurrency?:string
Defined in: components/ProductPrice.tsx:30
Currency symbol to display. Defaults to '€'.
includeTax?
optionalincludeTax?:boolean
Defined in: components/ProductPrice.tsx:54
When true, net price (incl. tax) is the leading price.
When false (default), gross price (excl. tax) is the leading price.
Note: in the Propeller SDK price.gross = excl. VAT, price.net = incl. VAT.
isAuthenticated?
optionalisAuthenticated?:boolean
Defined in: components/ProductPrice.tsx:44
Whether a session exists, independent of whether user has loaded yet.
Passed down by the parent alongside portalMode; closes the hydration
window in which an authenticated visitor still has a null user.
labels?
optionallabels?:Record<string,string>
Defined in: components/ProductPrice.tsx:77
Override any UI string. Available keys: inclTax, exclTax, loginToSeePrices, priceOnRequest
language?
optionallanguage?:string
Defined in: components/ProductPrice.tsx:20
Storefront language ('EN', 'NL', …). Decides the number format prices are rendered in — without it they fall back to Dutch separators regardless of the language the shopper is reading.
options?
optionaloptions?:ClusterOption[]
Defined in: components/ProductPrice.tsx:60
Cluster options (cluster.options). Required option default prices are added even without an active selection.
portalMode?
optionalportalMode?:string
Defined in: components/ProductPrice.tsx:38
Controls portal visibility mode. 'open' — full e-commerce; price is always visible. 'semi-closed' — catalog-only; price is hidden for anonymous users. Defaults to 'open'.
price?
optionalprice?:ProductPrice
Defined in: components/ProductPrice.tsx:27
ProductPrice object from the product.
Obtain from product.price. Omitted only when priceOnRequest renders in
its place.
priceOnRequest?
optionalpriceOnRequest?:boolean
Defined in: components/ProductPrice.tsx:71
Render the price-on-request label instead of an amount.
Derive with isPriceOnRequest(product) — price.gross/net are still
populated (usually 0) for these products, so an unguarded render shows a
real-looking € 0,00.
priceSize?
optionalpriceSize?:string
Defined in: components/ProductPrice.tsx:86
Tailwind text-size class for the leading price. Defaults to 'text-3xl'.
selectedOptionProducts?
optionalselectedOptionProducts?:Product[]
Defined in: components/ProductPrice.tsx:63
Active option product selections — pass Object.values(selectedOptionProducts). Price updates on every change.
showLoginPrompt?
optionalshowLoginPrompt?:boolean
Defined in: components/ProductPrice.tsx:83
Show the "log in to see prices" prompt when the price is hidden. Defaults to true; pass false to render nothing in its place.
taxZone?
optionaltaxZone?:string
Defined in: components/ProductPrice.tsx:57
Tax zone code. Defaults to 'NL'.
user?
optionaluser?:Contact|Customer|null
Defined in: components/ProductPrice.tsx:47
Authenticated user — used for semi-closed visibility.