Skip to main content

Interface: CartItemProps

Defined in: components/CartItem.tsx:21

Properties​

afterCartUpdate?​

optional afterCartUpdate?: (cart) => void

Defined in: components/CartItem.tsx:62

Callback with the updated cart after any cart mutation

Parameters​

cart​

Cart

Returns​

void


cardFrame?​

optional cardFrame?: boolean

Defined in: components/CartItem.tsx:117

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

The shopping cart unique identifier


cartItem​

cartItem: CartMainItem

Defined in: components/CartItem.tsx:35

A shopping cart item


children?​

optional children?: ReactNode

Defined in: components/CartItem.tsx:137

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

Additional CSS class for the root element


companyId?​

optional companyId?: number

Defined in: components/CartItem.tsx:101

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


configuration?​

optional configuration?: object

Defined in: components/CartItem.tsx:74

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

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


crossupsellTypes?​

optional crossupsellTypes?: string[]

Defined in: components/CartItem.tsx:86

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


currency?​

optional currency?: string

Defined in: components/CartItem.tsx:104

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


enableIncrementDecrement?​

optional enableIncrementDecrement?: boolean

Defined in: components/CartItem.tsx:47

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


graphqlClient?​

optional graphqlClient?: GraphQLClient

Defined in: components/CartItem.tsx:23

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


includeTax?​

optional includeTax?: boolean

Defined in: components/CartItem.tsx:98

Include tax in price. Defaults to false.


labels?​

optional labels?: Record<string, string>

Defined in: components/CartItem.tsx:68

Label overrides for UI strings

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


language?​

optional language?: string

Defined in: components/CartItem.tsx:71

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


onCrossupsellClick?​

optional onCrossupsellClick?: (product) => void

Defined in: components/CartItem.tsx:92

Callback when a cross-sell product is clicked

Parameters​

product​

Product | Cluster

Returns​

void


onDelete?​

optional onDelete?: (item) => void

Defined in: components/CartItem.tsx:59

Action callback when a cart item is deleted

Parameters​

item​

CartMainItem

Returns​

void


onNoteChange?​

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

Defined in: components/CartItem.tsx:56

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

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

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


readOnlyQuantity?​

optional readOnlyQuantity?: boolean

Defined in: components/CartItem.tsx:127

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

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


showCrossupsells?​

optional showCrossupsells?: boolean

Defined in: components/CartItem.tsx:83

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


showDelete?​

optional showDelete?: boolean

Defined in: components/CartItem.tsx:121

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


showSku?​

optional showSku?: boolean

Defined in: components/CartItem.tsx:44

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


showStockComponent?​

optional showStockComponent?: boolean

Defined in: components/CartItem.tsx:41

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


stockComponent?​

optional stockComponent?: ComponentType<StockComponentProps>

Defined in: components/CartItem.tsx:110


surchargesComponent?​

optional surchargesComponent?: ComponentType<ProductSurchargesComponentProps>

Defined in: components/CartItem.tsx:111


taxZone?​

optional taxZone?: string

Defined in: components/CartItem.tsx:29

Tax zone for price calculations


titleLinkable?​

optional titleLinkable?: boolean

Defined in: components/CartItem.tsx:38

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


user?​

optional user?: Contact | Customer | null

Defined in: components/CartItem.tsx:32

Authenticated user for cart operations