Interface: ProductInfoProps
Defined in: components/ProductInfo.tsx:34
Properties
addToCartComponent?
optionaladdToCartComponent?:ComponentType<AddToCartComponentProps>
Defined in: components/ProductInfo.tsx:144
afterContent?
optionalafterContent?: (product) =>ReactNode
Defined in: components/ProductInfo.tsx:168
Parameters
product
Product
Returns
ReactNode
badgesComponent?
optionalbadgesComponent?:ComponentType<BadgesComponentProps>
Defined in: components/ProductInfo.tsx:140
beforeContent?
optionalbeforeContent?: (product) =>ReactNode
Defined in: components/ProductInfo.tsx:167
Parameters
product
Product
Returns
ReactNode
bulkPricesComponent?
optionalbulkPricesComponent?:ComponentType<ProductBulkPricesComponentProps>
Defined in: components/ProductInfo.tsx:146
bundlesComponent?
optionalbundlesComponent?:ComponentType<ProductBundlesComponentProps>
Defined in: components/ProductInfo.tsx:145
bundlesTaxZone?
optionalbundlesTaxZone?:string
Defined in: components/ProductInfo.tsx:153
Tax zone to use for ProductBundles pricing (required by ProductBundles).
Defaults to the taxZone prop or 'NL' when omitted.
children?
optionalchildren?:ReactNode
Defined in: components/ProductInfo.tsx:173
Compound mode opt-in. When provided, ProductInfo renders the compound subtree (using <ProductInfo.X> subcomponents) and also triggers the new-shell layout. Subcomponents read shared product data from context.
className?
optionalclassName?:string
Defined in: components/ProductInfo.tsx:103
Extra CSS class applied to the root element.
companyId?
optionalcompanyId?:number
Defined in: components/ProductInfo.tsx:42
Active company ID from the company switcher. Overrides default company for price calculation. Triggers a re-fetch when changed.
configuration?
optionalconfiguration?:any
Defined in: components/ProductInfo.tsx:108
Config object providing imageSearchFiltersGrid and imageVariantFiltersSmall.
currency?
optionalcurrency?:string
Defined in: components/ProductInfo.tsx:162
Currency symbol used by the price section.
favoriteComponent?
optionalfavoriteComponent?:ComponentType<FavoriteComponentProps>
Defined in: components/ProductInfo.tsx:141
graphqlClient?
optionalgraphqlClient?:GraphQLClient
Defined in: components/ProductInfo.tsx:60
Initialised Propeller SDK GraphQL client.
Required when productId is provided for internal data fetching.
imageComponent?
optionalimageComponent?:ComponentType<ImageComponentProps>
Defined in: components/ProductInfo.tsx:139
imageLabels?
optionalimageLabels?:string[]
Defined in: components/ProductInfo.tsx:116
Attribute codes/names to look up and display as badge overlays on the product image.
Each code is resolved against product.attributes.items[].attributeDescription.code
(or .name). Attributes with no matching value are silently omitted.
Example: ['new', 'sale']
imageSearchFilters?
optionalimageSearchFilters?:any
Defined in: components/ProductInfo.tsx:67
Image search filter passed to ProductService.getProduct(). Controls how many image items are returned. Example: { page: 1, offset: 20 }
imageVariantFilters?
optionalimageVariantFilters?:any
Defined in: components/ProductInfo.tsx:75
Image variant transformation filter passed to ProductService.getProduct(). Controls image size/format variants returned with the product. Example: imageVariantFiltersLarge from @/data/defaults Defaults to { transformations: [] } when omitted.
includeTax?
optionalincludeTax?:boolean
Defined in: components/ProductInfo.tsx:159
Tax-inclusive vs. tax-exclusive price toggle for price / bulk-prices / surcharges.
labels?
optionallabels?:Record<string,string>
Defined in: components/ProductInfo.tsx:156
Optional localized label overrides forwarded to every section.
language?
optionallanguage?:string
Defined in: components/ProductInfo.tsx:100
Language code used to resolve localised names. Defaults to 'NL'.
onProductLoaded?
optionalonProductLoaded?: (product) =>void
Defined in: components/ProductInfo.tsx:87
Called once the product data is loaded — either immediately (when
product prop is supplied) or after the internal fetch completes.
Use this to hydrate sibling components (gallery, price, descriptions, etc.).
Parameters
product
Product
Returns
void
portalMode?
optionalportalMode?:string
Defined in: components/ProductInfo.tsx:165
Portal visibility mode forwarded to the price section.
priceComponent?
optionalpriceComponent?:ComponentType<PriceComponentProps>
Defined in: components/ProductInfo.tsx:142
product?
optionalproduct?:Product
Defined in: components/ProductInfo.tsx:48
Pre-fetched product object to display. When provided the component skips internal fetching.
productId?
optionalproductId?:number
Defined in: components/ProductInfo.tsx:54
Product ID to fetch data for when no product prop is provided.
Requires graphqlClient to be set.
showAddToCart?
optionalshowAddToCart?:boolean
Defined in: components/ProductInfo.tsx:134
showBadges?
optionalshowBadges?:boolean
Defined in: components/ProductInfo.tsx:130
showBulkPrices?
optionalshowBulkPrices?:boolean
Defined in: components/ProductInfo.tsx:136
showBundles?
optionalshowBundles?:boolean
Defined in: components/ProductInfo.tsx:135
showFavorite?
optionalshowFavorite?:boolean
Defined in: components/ProductInfo.tsx:131
showImage?
optionalshowImage?:boolean
Defined in: components/ProductInfo.tsx:129
showPrice?
optionalshowPrice?:boolean
Defined in: components/ProductInfo.tsx:132
showSku?
optionalshowSku?:boolean
Defined in: components/ProductInfo.tsx:95
Show the product SKU. Defaults to true.
showStock?
optionalshowStock?:boolean
Defined in: components/ProductInfo.tsx:133
showSurcharges?
optionalshowSurcharges?:boolean
Defined in: components/ProductInfo.tsx:137
showTitle?
optionalshowTitle?:boolean
Defined in: components/ProductInfo.tsx:92
Show the product name. Defaults to true.
stockComponent?
optionalstockComponent?:ComponentType<StockComponentProps>
Defined in: components/ProductInfo.tsx:143
surchargesComponent?
optionalsurchargesComponent?:ComponentType<ProductSurchargesComponentProps>
Defined in: components/ProductInfo.tsx:147
taxZone?
optionaltaxZone?:string
Defined in: components/ProductInfo.tsx:80
Tax zone to use for price calculation.
textLabels?
optionaltextLabels?:string[]
Defined in: components/ProductInfo.tsx:123
Attribute codes/names to look up and display as extra text rows below the product name.
Resolved the same way as imageLabels.
Example: ['brand', 'color']
user?
optionaluser?:Contact|Customer|null
Defined in: components/ProductInfo.tsx:37
The authenticated user (Contact or Customer). Resolved from PropellerProvider when omitted.