Skip to content
Commerce Drop-Ins

Introduction to Drop-In Components

At this point in the onboarding path, you should already have a locally running boilerplate storefront. This page explains the drop-in system you’ll be working with — what every drop-in is made of, which drop-ins are available, and what you can customize. The next page, Using drop-ins, shows the code pattern you write in each block.

A drop-in component is a ready-made npm package that provides the complete user interface and Commerce logic for one shopper job — cart, checkout, product detail, user sign-in, and so on. The boilerplate ships with all B2C drop-ins pre-installed. You wire them up; you do not build them from scratch.

Every drop-in has three parts. Understanding these three parts is the key to reading and writing Commerce block code.

PartWhat it isWhere you find it
npm packageThe published code for that drop-innode_modules/@dropins/storefront-* and package.json
InitializerA JavaScript file that configures the drop-in once — sets the GraphQL endpoint, loads placeholder text, and registers the drop-inscripts/initializers/<dropin>.js
ContainersThe individual UI panels that the drop-in exposes for you to place on a pageImported from @dropins/storefront-*/containers/

When you open a Commerce block file in the boilerplate, you will see all three of these parts: an import of the initializer, an import of a container, and a call that renders the container into a div on the page. Using drop-ins shows exactly how those three lines fit together.

The tables below list every available drop-in. Click a drop-in name to open its reference page, which includes its containers, props, slots, and events.

Drop-inDescription
CartSummary of items in the cart; view and manage cart contents, update quantities, and proceed to checkout.
CheckoutStreamlined process for completing a purchase: shipping and payment information, order review, and confirmation.
OrderTools and containers to manage and display order-related data across pages; supports customer accounts and guest workflows.
Payment ServicesRenders the credit card form and Apple Pay button for payment details; supports credit/debit cards and Apple Pay.
PersonalizationDisplays content conditionally based on Adobe Commerce customer groups, segments, and cart price rules.
Product DetailsDetailed product information: SKUs, pricing, descriptions, options; supports internationalization and accessibility.
Product DiscoverySearch results, category listings, and faceted navigation so customers can find and explore products.
RecommendationsSuggests products from browsing patterns (e.g. “Customers who viewed this also viewed”); manageable from Adobe Commerce Admin.
User AccountPersonalized experience: order history, account settings, and other account-related features.
User AuthenticationSign up, sign in, and log out; supports account confirmation, password reset, and optional ReCAPTCHA.
WishlistLets guests and registered customers save products to purchase later.

Business-to-business (B2B) drop-ins cover workflows such as company administration, negotiable quotes, and purchase orders. You wire them up with the same three parts as in Anatomy of a drop-in: npm package, initializer, and containers. Enable B2B features on your Commerce instance so the APIs and company data these packages expect are available.

Drop-inDescription
Company ManagementCompany profile management, role-based permissions, legal address and contact information.
Company SwitcherSwitch between multiple companies a user is associated with; company context and GraphQL header management.
Purchase OrderPurchase order workflows, approval rules, and purchase order history for B2B transactions.
Quote ManagementNegotiable quotes: request, negotiation, approval, and tracking for B2B customers.
Quick OrderBulk ordering by SKU, search, and CSV upload; Grid Ordering for configurable products on PDP.
Requisition ListCreate and manage requisition lists for repeat and bulk ordering; multiple lists per account.

Each drop-in exposes several layers of customization. Most projects need only the first two. The rest exist for cases where configuration alone is not enough.

The table below shows every approach with links to the details.

ApproachDescription
Design tokensOverride Adobe Commerce design tokens (colors, typography, spacing, shapes) for quick, global brand changes.
CSS classesOverride or add CSS classes to restyle specific areas of a drop-in beyond what tokens provide.
SlotsUse built-in extension points to add or replace UI and behavior in drop-in components.
Content enrichmentAdd content above or below commerce blocks by product SKU, category, and the physical position on the page.
LocalizationUse the placeholder system to override default drop-in text and support multiple languages.
DictionariesCustomize drop-in dictionaries (deep-merge) for localization, branding, and multi-language support.
ExtendingAdd new features and Commerce API integrations to existing drop-ins (for example, gift messages in checkout).
LayoutsConfigure where drop-in containers appear on the page via HTML fragments and block layout.
Localizing linksManage localized internal links in the boilerplate so users stay within their chosen locale.
Extend, substitute, or create?Decide when to extend an existing drop-in, substitute with a third-party solution, or create a new one.

You now know what every drop-in is made of, and which ones are available. The next step is writing the code. Using drop-ins shows the three-line pattern — import the initializer, import a container, render it with a complete working example.