Skip to content
Drop-ins

Drop-ins overview

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 — which drop-ins are available, what every drop-in is made of, and what you can customize. The next page, Connect a drop-in, 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.

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 described next 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.

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. Connect a drop-in shows exactly how those three lines fit together.

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.
Arrange block layoutsConfigure where drop-in containers appear on the page via HTML fragments and block layout.
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.
Localizing linksManage localized internal links in the boilerplate so users stay within their chosen locale.
Extend a drop-inAdd new features and Commerce API integrations to existing drop-ins (for example, gift messages in checkout).
Build custom featuresBuild a storefront feature inside a custom commerce block by composing an existing drop-in’s data and components, without creating a new drop-in.
Extension optionsDecide when to extend an existing drop-in, substitute with a third-party solution, or create a new one.

You now know which drop-ins are available and what every drop-in is made of. For more on the container piece specifically, see Containers. Or jump straight to Connect a drop-in, which shows the three-line pattern — import the initializer, import a container, render it — with a complete working example.