Storefront SDK components and hooks
This is the inventory of the React and Vue UI libraries: every component and headless hook they export, grouped by domain. For how the libraries fit together and how to wire them up, see the Storefront SDK guides. For the exact props and options of any item, read its TypeScript types in your editor or the package README on npm: those ship with the version you installed and are always current.
The React and Vue libraries expose the same components and the same hooks (composables in Vue), so the inventory below applies to both unless noted.
Packages
| Library | Package | Version |
|---|---|---|
| React | @propeller-commerce/propeller-v2-react-ui | 0.4 |
| Vue | @propeller-commerce/propeller-v2-vue-ui | 0.3 |
Both build on propeller-v2-core-ui and propeller-sdk-v2. See Understanding the Storefront SDK for the full package set.
How to use them
Install the library and the SDK, mount the PropellerProvider once at your app root, then render any component or call any hook inside it. Components read the SDK services from context. See UI components for the provider setup and entry points, and SDK services for the data layer.
Components
Catalog and product
ProductGrid: paginated product grid for a category or search resultProductCard: single product card with image, price and add-to-cart; supports a compound APIClusterCard: card for a configurable product (cluster)ProductInfo: product detail block (name, SKU, price, actions)ProductPrice: formatted, tax-aware priceProductBulkPrices: quantity-break price tableProductGallery: product image galleryProductVideos: embedded product videosProductDownloads: downloadable product documentsProductSpecifications: attribute and specification tableProductDescription: long product descriptionProductShortDescription: short product descriptionProductTabs: tabbed description, specifications and downloadsProductSlider: cross-sell and up-sell sliderProductBundles: product bundle compositionItemStock: stock and availability indicatorPriceToggle: tax-inclusive or tax-exclusive price toggleDeliveryDate: delivery date selection
Clusters
ClusterConfigurator: variant and option selection for a clusterClusterInfo: cluster detail blockClusterOptions: add-on option groups
Grid and navigation
GridToolbar: sort and layout controls for a gridGridFilters: faceted product filtersGridPagination: pagination controlGridTitle: grid heading with result countBreadcrumbs: category breadcrumb trailMenu: category navigation menuSearchBar: product search inputCategoryDescription: category long descriptionCategoryShortDescription: category short description
Cart and checkout
AddToCart: add-to-cart control with quantityCartIconAndSidebar: cart icon and slide-in sidebarCartItem: single cart line itemCartOverview: full cart contentsCartSummary: totals summaryCartCarriers: shipping method selectionCartPaymethods: payment method selectionActionCode: promotion or action code inputItemsOverview: line-item list for a cart or orderCartBonusItems: promotional bonus items in the cart
Orders and quotes
OrderList: order history list with filtersOrderActions: actions on an order, such as reorderOrderItemCard: single order lineOrderSummary: order summaryOrderTotals: order totalsOrderShipments: shipment and tracking informationOrderBonusItems: bonus items on an orderQuoteActions: actions on a quote (B2B)
Account, authentication and B2B
LoginForm: sign-in formRegisterForm: registration form (Contact, Customer or both, by shop mode)ForgotPassword: password recoveryUserDetails: account profile detailsAccountIconAndMenu: account icon with dropdown menuAddressCard: a single addressAddressSelector: choose a delivery or invoice addressCompanySwitcher: switch the active Company (B2B)AddToFavorite: add a product to a favorite listFavoriteLists: favorite lists overviewFavoriteListItem: a single favorite list entryFavoriteListDetails: items in a favorite listPurchaseAuthorizationConfigurator: configure purchase-authorization rules (B2B)PurchaseAuthorizationRequests: review and act on authorization requests (B2B)
Structured data
ProductJsonLd,ClusterJsonLd,ItemListJsonLd: schema.org JSON-LD output for SEO
Hooks and composables
Headless: they hold state and call the API but render nothing. Use them to build your own UI or to drive the components above. Hooks in React, composables in Vue, with the same names.
| Hook | Purpose |
|---|---|
useAuth | Login, registration and forgot-password flows |
useCart | Cart resolution, line items and action codes |
useCheckout | Carriers, payment methods and placing an order |
useCompany | Company switching and company data (B2B) |
useAddress | Address create, read, update and delete |
useOrders | Order history search and detail |
useFavorites | Favorite lists and list items |
useMenu | Category navigation tree |
useProductInfo | Single-product detail data |
useProductSearch | Catalog search and filtering |
useProductSlider | Cross-sell and up-sell sliders |
useProductSpecs | Product attribute groups for spec tables |
useProductBundles | Product bundle composition |
useClusterConfigurator | Cluster selection state |
usePurchaseAuthorizationConfigurator / usePurchaseAuthorizationRequests | B2B purchase authorization |
useServices | Read the SDK services bundle from the provider |
Finding props and options
This page lists what exists. For the props of a component or the options of a hook, use the TypeScript types that ship with the package (your editor shows them inline), or the package's documentation site (React, Vue). Each component exports a *Props type and each hook a Use*Options and Use*Return type. Because those travel with the version you installed, they never drift from the code you are running.
This inventory was written against propeller-v2-react-ui 0.4 and propeller-v2-vue-ui 0.3.