Checkout containers overview
In this section, we describe the common properties of Checkout components that can be applied and used in the same way.
Title and heading customization
Each container provides a title and a heading by default. If you want to hide the title or provide customized title, you can use the following interface.
TitleProps interface
The TitleProps interface provides the following configuration options:
The container receives an object that implements the TitleProps interface with the following properties:
export interface TitleProps { displayTitle?: boolean; slots?: { Title?: SlotProps; };}- The
displayTitleproperty set to true displays the title of the container; otherwise, the title will be hidden. - The
slotsproperty is an object containing the following properties:- The
Titleproperty is a handler used to render a customized title content.
- The
Active property
The active property indicates whether the container is active. When set to false, the container becomes non-reactive, meaning it will not respond to system events, will not subscribe to them, and will not be displayed in the user interface.
active prop declaration
active?: boolean;Behavior:
- When
activeis true:- The container subscribes to system events
- It renders in the user interface and it is visible (shows a skeleton or renders the component in the UI)
- It executes its normal operations
- When
activeis false:- The container does not subscribe to system events
- It does not render in the user interface and its visibility is set to false
- Side effects and state updates are not executed
Example of active prop definition
In the following example, the ShippingMethods container will be deactivated; this means it will not be rendered to the UI and will not listen to system events.
CheckoutProvider.render(ShippingMethods, { UIComponentType: 'ToggleButton', displayTitle: false, active: false,})($deliveryMethods),AutoSync property
The autoSync property determines whether the container automatically synchronizes its state changes with the backend via API calls. When set to false, the container does not automatically synchronize its state, but still maintains local updates.
autoSync prop declaration
autoSync?: boolean;Behavior:
- When
autoSyncis true:- Local changes are synchronized with the backend
- GraphQL mutations are executed when selection or local state changes
- The remote cart is automatically updated
- When
autoSyncis false:- Changes are only maintained locally
- No automatic GraphQL mutations are performed on the backend
- Control of mutations is passed to parent or external components
Use cases:
- In multi-step checkout flows where you want to control when data is sent to the backend
- For nested containers where a parent container handles synchronization
- In implementations that need additional validation before sending data
Example of autoSync prop definition
In the following example, the ShippingMethods container will not automatically synchronize its state changes with the backend; this means it will not automatically set the shipping method selected on the cart.
CheckoutProvider.render(ShippingMethods, { UIComponentType: 'ToggleButton', displayTitle: false, autoSync: false,})($deliveryMethods),