Skip to main content

Interface: ProductPriceProps

Defined in: components/ProductPrice.tsx:14

Properties​

className?​

optional className?: string

Defined in: components/ProductPrice.tsx:89

Extra CSS class applied to the root element.


currency?​

optional currency?: string

Defined in: components/ProductPrice.tsx:30

Currency symbol to display. Defaults to '€'.


includeTax?​

optional includeTax?: 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?​

optional isAuthenticated?: 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?​

optional labels?: Record<string, string>

Defined in: components/ProductPrice.tsx:77

Override any UI string. Available keys: inclTax, exclTax, loginToSeePrices, priceOnRequest


language?​

optional language?: 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?​

optional options?: ClusterOption[]

Defined in: components/ProductPrice.tsx:60

Cluster options (cluster.options). Required option default prices are added even without an active selection.


portalMode?​

optional portalMode?: 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?​

optional price?: 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?​

optional priceOnRequest?: 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?​

optional priceSize?: string

Defined in: components/ProductPrice.tsx:86

Tailwind text-size class for the leading price. Defaults to 'text-3xl'.


selectedOptionProducts?​

optional selectedOptionProducts?: Product[]

Defined in: components/ProductPrice.tsx:63

Active option product selections — pass Object.values(selectedOptionProducts). Price updates on every change.


showLoginPrompt?​

optional showLoginPrompt?: 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?​

optional taxZone?: string

Defined in: components/ProductPrice.tsx:57

Tax zone code. Defaults to 'NL'.


user?​

optional user?: Contact | Customer | null

Defined in: components/ProductPrice.tsx:47

Authenticated user — used for semi-closed visibility.