Skip to main content

Interface: ProductInfoProps

Defined in: components/ProductInfo.tsx:34

Properties

addToCartComponent?

optional addToCartComponent?: ComponentType<AddToCartComponentProps>

Defined in: components/ProductInfo.tsx:144


afterContent?

optional afterContent?: (product) => ReactNode

Defined in: components/ProductInfo.tsx:168

Parameters

product

Product

Returns

ReactNode


badgesComponent?

optional badgesComponent?: ComponentType<BadgesComponentProps>

Defined in: components/ProductInfo.tsx:140


beforeContent?

optional beforeContent?: (product) => ReactNode

Defined in: components/ProductInfo.tsx:167

Parameters

product

Product

Returns

ReactNode


bulkPricesComponent?

optional bulkPricesComponent?: ComponentType<ProductBulkPricesComponentProps>

Defined in: components/ProductInfo.tsx:146


bundlesComponent?

optional bundlesComponent?: ComponentType<ProductBundlesComponentProps>

Defined in: components/ProductInfo.tsx:145


bundlesTaxZone?

optional bundlesTaxZone?: 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?

optional children?: 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?

optional className?: string

Defined in: components/ProductInfo.tsx:103

Extra CSS class applied to the root element.


companyId?

optional companyId?: 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?

optional configuration?: any

Defined in: components/ProductInfo.tsx:108

Config object providing imageSearchFiltersGrid and imageVariantFiltersSmall.


currency?

optional currency?: string

Defined in: components/ProductInfo.tsx:162

Currency symbol used by the price section.


favoriteComponent?

optional favoriteComponent?: ComponentType<FavoriteComponentProps>

Defined in: components/ProductInfo.tsx:141


graphqlClient?

optional graphqlClient?: GraphQLClient

Defined in: components/ProductInfo.tsx:60

Initialised Propeller SDK GraphQL client. Required when productId is provided for internal data fetching.


imageComponent?

optional imageComponent?: ComponentType<ImageComponentProps>

Defined in: components/ProductInfo.tsx:139


imageLabels?

optional imageLabels?: 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?

optional imageSearchFilters?: 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?

optional imageVariantFilters?: 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?

optional includeTax?: boolean

Defined in: components/ProductInfo.tsx:159

Tax-inclusive vs. tax-exclusive price toggle for price / bulk-prices / surcharges.


labels?

optional labels?: Record<string, string>

Defined in: components/ProductInfo.tsx:156

Optional localized label overrides forwarded to every section.


language?

optional language?: string

Defined in: components/ProductInfo.tsx:100

Language code used to resolve localised names. Defaults to 'NL'.


onProductLoaded?

optional onProductLoaded?: (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?

optional portalMode?: string

Defined in: components/ProductInfo.tsx:165

Portal visibility mode forwarded to the price section.


priceComponent?

optional priceComponent?: ComponentType<PriceComponentProps>

Defined in: components/ProductInfo.tsx:142


product?

optional product?: Product

Defined in: components/ProductInfo.tsx:48

Pre-fetched product object to display. When provided the component skips internal fetching.


productId?

optional productId?: 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?

optional showAddToCart?: boolean

Defined in: components/ProductInfo.tsx:134


showBadges?

optional showBadges?: boolean

Defined in: components/ProductInfo.tsx:130


showBulkPrices?

optional showBulkPrices?: boolean

Defined in: components/ProductInfo.tsx:136


showBundles?

optional showBundles?: boolean

Defined in: components/ProductInfo.tsx:135


showFavorite?

optional showFavorite?: boolean

Defined in: components/ProductInfo.tsx:131


showImage?

optional showImage?: boolean

Defined in: components/ProductInfo.tsx:129


showPrice?

optional showPrice?: boolean

Defined in: components/ProductInfo.tsx:132


showSku?

optional showSku?: boolean

Defined in: components/ProductInfo.tsx:95

Show the product SKU. Defaults to true.


showStock?

optional showStock?: boolean

Defined in: components/ProductInfo.tsx:133


showSurcharges?

optional showSurcharges?: boolean

Defined in: components/ProductInfo.tsx:137


showTitle?

optional showTitle?: boolean

Defined in: components/ProductInfo.tsx:92

Show the product name. Defaults to true.


stockComponent?

optional stockComponent?: ComponentType<StockComponentProps>

Defined in: components/ProductInfo.tsx:143


surchargesComponent?

optional surchargesComponent?: ComponentType<ProductSurchargesComponentProps>

Defined in: components/ProductInfo.tsx:147


taxZone?

optional taxZone?: string

Defined in: components/ProductInfo.tsx:80

Tax zone to use for price calculation.


textLabels?

optional textLabels?: 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?

optional user?: Contact | Customer | null

Defined in: components/ProductInfo.tsx:37

The authenticated user (Contact or Customer). Resolved from PropellerProvider when omitted.