E-Commerce
Product Detail Summary
PDP summary block bundling title, price, colour/size variant pickers, quantity stepper and an add-to-cart button with success state.
$ velocityx add product-detail-summary
Built for react.
Needs react, react-dom already installed
as peer dependencies.
An Astro-only project needs @astrojs/react wired up first — this won't run on its own in plain Astro.
Full docs for Product Detail Summary →
Needs a licence key —
subscribe here, then
velocityx loginonce.
Trail Runner 2
A lightweight daily trainer with responsive cushioning, built for mixed terrain and long miles.
Colour — Black
Size — US 8
Props
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| product | { title, price, compareAtPrice?, currency?, rating?, reviewCount?, description? } | Yes | ||
| colors | { id, label, swatch, image? }[] | No | [] | |
| sizes | { id, label }[] | No | [] | |
| isAvailable | (colorId, sizeId) => boolean | No | () => true | |
| onAddToCart | ({ colorId, sizeId, qty }) => Promise<void> | void | Yes | ||
| locale | string | No | 'en-AU' |
File this creates
The CLI writes this path into your project, relative to its root — nothing else moves.
components/velocity/product-detail-summary/ProductDetailSummary.jsx Using the Product Detail Summary component
Install it with velocityx add product-detail-summary.
The CLI writes the source straight into your project — no runtime dependency, no registry
lock-in, and it themes itself from the same primary-*/accent-* scale as the rest of the library.
Related components
More from E-Commerce.
Primary CTA with loading, success checkmark and error states around an async add-to-cart handler.
reactRight-docked cart drawer on desktop and a three-snap-point bottom sheet on mobile, with no backdrop-blur scrim, focus trap and Escape to close.
reactSingle cart row with thumbnail, variant text, quantity stepper, line total and a fade-out remove action.
reactTwo-column shipping and payment form with native HTML5 validation and a submit button with a loading state.
react