Skip to main content

Interface: CartItemProps

Defined in: components/CartItem.tsx:19

Properties

afterCartUpdate?

optional afterCartUpdate?: (cart) => void

Defined in: components/CartItem.tsx:60

Callback with the updated cart after any cart mutation

Parameters

cart

Cart

Returns

void


cardFrame?

optional cardFrame?: boolean

Defined in: components/CartItem.tsx:115

When false, root element drops the card frame ('bg-card p-4 rounded-container shadow-sm border border-border'), leaving only the flex layout. Default: true. Used by drawer / summary widgets.


cartId

cartId: string

Defined in: components/CartItem.tsx:24

The shopping cart unique identifier


cartItem

cartItem: CartMainItem

Defined in: components/CartItem.tsx:33

A shopping cart item


children?

optional children?: ReactNode

Defined in: components/CartItem.tsx:135

Compound mode opt-in. When provided, CartItem renders the compound subtree (using <CartItem.X> subcomponents) instead of the legacy monolithic layout.


className?

optional className?: string

Defined in: components/CartItem.tsx:93

Additional CSS class for the root element


companyId?

optional companyId?: number

Defined in: components/CartItem.tsx:99

Active company ID — used to look up the user's PAC for this company


configuration?

optional configuration?: object

Defined in: components/CartItem.tsx:72

Configuration object for image filters and URL generation

imageSearchFiltersGrid?

optional imageSearchFiltersGrid?: MediaImageProductSearchInput

imageVariantFiltersMedium?

optional imageVariantFiltersMedium?: TransformationsInput

imageVariantFiltersSmall?

optional imageVariantFiltersSmall?: TransformationsInput

language?

optional language?: string

urls?

optional urls?: object

urls.getProductUrl

getProductUrl: (product, language?) => string

Parameters
product

Product

language?

string

Returns

string


crossupsellLimit?

optional crossupsellLimit?: number

Defined in: components/CartItem.tsx:87

Maximum number of cross-sell products to display. Defaults to 3.


crossupsellTypes?

optional crossupsellTypes?: string[]

Defined in: components/CartItem.tsx:84

Which cross-sell types to fetch. Defaults to ['ACCESSORIES']. Values: 'ACCESSORIES', 'ALTERNATIVES', 'OPTIONS', 'PARTS', 'RELATED'


currency?

optional currency?: string

Defined in: components/CartItem.tsx:102

Currency symbol for prices. Resolved from PropellerProvider when omitted; defaults to '€'.


enableIncrementDecrement?

optional enableIncrementDecrement?: boolean

Defined in: components/CartItem.tsx:45

+/- buttons on left and right of quantity input. Defaults to true.


graphqlClient?

optional graphqlClient?: GraphQLClient

Defined in: components/CartItem.tsx:21

GraphQL client for the Propeller SDK. Resolved from PropellerProvider when omitted.


includeTax?

optional includeTax?: boolean

Defined in: components/CartItem.tsx:96

Include tax in price. Defaults to false.


labels?

optional labels?: Record<string, string>

Defined in: components/CartItem.tsx:66

Label overrides for UI strings

Available keys: remove, notes, notesPlaceholder, includedOptions, updating, deleting


language?

optional language?: string

Defined in: components/CartItem.tsx:69

Language code for CartService operations. Defaults to 'NL'.


onCrossupsellClick?

optional onCrossupsellClick?: (product) => void

Defined in: components/CartItem.tsx:90

Callback when a cross-sell product is clicked

Parameters

product

Product | Cluster

Returns

void


onDelete?

optional onDelete?: (item) => void

Defined in: components/CartItem.tsx:57

Action callback when a cart item is deleted

Parameters

item

CartMainItem

Returns

void


onNoteChange?

optional onNoteChange?: (item, note) => void

Defined in: components/CartItem.tsx:54

Action callback when a cart item note is changed

Parameters

item

CartMainItem

note

string

Returns

void


onQuantityChange?

optional onQuantityChange?: (item, quantity) => void

Defined in: components/CartItem.tsx:51

Action callback when a cart item quantity is changed

Parameters

item

CartMainItem

quantity

number

Returns

void


onTitleClick?

optional onTitleClick?: (event, item) => void

Defined in: components/CartItem.tsx:130

Optional title click callback. Fires BEFORE default navigation; the consumer may call event.preventDefault() to suppress nav. Used by the cart drawer to close the sidebar on title click.

Parameters

event

MouseEvent

item

CartMainItem

Returns

void


priceComponent?

optional priceComponent?: ComponentType<PriceComponentProps>

Defined in: components/CartItem.tsx:107


readOnlyQuantity?

optional readOnlyQuantity?: boolean

Defined in: components/CartItem.tsx:125

When true, quantity renders as 'Qty: {n}' text — no stepper, no input. Default: false. Independent from enableIncrementDecrement (which only swaps stepper buttons for a bare number input — both modes are still interactive).


showCartItemNotesField?

optional showCartItemNotesField?: boolean

Defined in: components/CartItem.tsx:48

Should the cart item notes field be displayed. Defaults to false.


showCrossupsells?

optional showCrossupsells?: boolean

Defined in: components/CartItem.tsx:81

Show cross-sell/upsell product suggestions below the item. Defaults to false.


showDelete?

optional showDelete?: boolean

Defined in: components/CartItem.tsx:119

When false, the delete button (and <CartItem.Delete /> in compound mode) returns null. Default: true.


showSku?

optional showSku?: boolean

Defined in: components/CartItem.tsx:42

Display the SKU of the cart item beneath the item name. Defaults to true.


showStockComponent?

optional showStockComponent?: boolean

Defined in: components/CartItem.tsx:39

Should the stock be displayed in the cart item. Defaults to false.


stockComponent?

optional stockComponent?: ComponentType<StockComponentProps>

Defined in: components/CartItem.tsx:108


surchargesComponent?

optional surchargesComponent?: ComponentType<ProductSurchargesComponentProps>

Defined in: components/CartItem.tsx:109


taxZone?

optional taxZone?: string

Defined in: components/CartItem.tsx:27

Tax zone for price calculations


titleLinkable?

optional titleLinkable?: boolean

Defined in: components/CartItem.tsx:36

Should the item title be a link to the PDP. Defaults to true.


user?

optional user?: Contact | Customer | null

Defined in: components/CartItem.tsx:30

Authenticated user for cart operations