Skip to main content

Interface: CartItemProps

Defined in: components/CartItem.tsx:18

Properties

afterCartUpdate?

optional afterCartUpdate?: (cart) => void

Defined in: components/CartItem.tsx:59

Callback with the updated cart after any cart mutation

Parameters

cart

Cart

Returns

void


cardFrame?

optional cardFrame?: boolean

Defined in: components/CartItem.tsx:114

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:23

The shopping cart unique identifier


cartItem

cartItem: CartMainItem

Defined in: components/CartItem.tsx:32

A shopping cart item


children?

optional children?: ReactNode

Defined in: components/CartItem.tsx:134

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:92

Additional CSS class for the root element


companyId?

optional companyId?: number

Defined in: components/CartItem.tsx:98

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


configuration?

optional configuration?: object

Defined in: components/CartItem.tsx:71

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:86

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


crossupsellTypes?

optional crossupsellTypes?: string[]

Defined in: components/CartItem.tsx:83

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


currency?

optional currency?: string

Defined in: components/CartItem.tsx:101

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


enableIncrementDecrement?

optional enableIncrementDecrement?: boolean

Defined in: components/CartItem.tsx:44

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


graphqlClient?

optional graphqlClient?: GraphQLClient

Defined in: components/CartItem.tsx:20

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


includeTax?

optional includeTax?: boolean

Defined in: components/CartItem.tsx:95

Include tax in price. Defaults to false.


labels?

optional labels?: Record<string, string>

Defined in: components/CartItem.tsx:65

Label overrides for UI strings

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


language?

optional language?: string

Defined in: components/CartItem.tsx:68

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


onCrossupsellClick?

optional onCrossupsellClick?: (product) => void

Defined in: components/CartItem.tsx:89

Callback when a cross-sell product is clicked

Parameters

product

Product | Cluster

Returns

void


onDelete?

optional onDelete?: (item) => void

Defined in: components/CartItem.tsx:56

Action callback when a cart item is deleted

Parameters

item

CartMainItem

Returns

void


onNoteChange?

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

Defined in: components/CartItem.tsx:53

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:50

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:129

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:106


readOnlyQuantity?

optional readOnlyQuantity?: boolean

Defined in: components/CartItem.tsx:124

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:47

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


showCrossupsells?

optional showCrossupsells?: boolean

Defined in: components/CartItem.tsx:80

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


showDelete?

optional showDelete?: boolean

Defined in: components/CartItem.tsx:118

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


showSku?

optional showSku?: boolean

Defined in: components/CartItem.tsx:41

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


showStockComponent?

optional showStockComponent?: boolean

Defined in: components/CartItem.tsx:38

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


stockComponent?

optional stockComponent?: ComponentType<StockComponentProps>

Defined in: components/CartItem.tsx:107


surchargesComponent?

optional surchargesComponent?: ComponentType<ProductSurchargesComponentProps>

Defined in: components/CartItem.tsx:108


taxZone?

optional taxZone?: string

Defined in: components/CartItem.tsx:26

Tax zone for price calculations


titleLinkable?

optional titleLinkable?: boolean

Defined in: components/CartItem.tsx:35

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


user?

optional user?: Contact | Customer | null

Defined in: components/CartItem.tsx:29

Authenticated user for cart operations