Back to blocks
BlockeCommerceFreeSEO-ready· Star ratings in Google

Product Detail React component

An eCommerce product page block with a switchable image gallery, color and size pickers, quantity stepper, animated add-to-cart button and Description / Specs / Reviews tabs.

About the Product Detail component

Product Detail is a free product page section: a square main image with up to four thumbnails on the left, and on the right a breadcrumb, title, star rating with review count, price with compare-at price and an optional badge, description, color swatches, size pills, a quantity stepper and an Add to Cart button that confirms with a check. Below it, Description, Specs and Reviews tabs appear for whichever content you pass.

It emits schema.org Product JSON-LD with the gallery images, an Offer when price starts with $, €, £, ₺ or ¥, and an AggregateRating when rating and reviewCount are set. Color and size groups are role="radiogroup" with arrow-key selection, the tabs are a role="tablist" moved with ArrowLeft and ArrowRight, and the breadcrumb is a nav with aria-current on the last item. The layout splits into two columns at 900px of container width.

When to use it

Use it for the product page of an online store, a single-product landing page or a print-on-demand shop, with onAddToCart wired to your cart.

For the catalog page that links here, use Product List; for the cart and checkout, use Your Cart Page.

Installation

Add the Product Detail component to your project with the shadcn CLI. It lands in components/product-detail.tsx as plain React + Tailwind CSS source you own and can edit.

Install
Copied!
npx shadcn@latest add @reactframe/product-detail

Or copy the source by hand and install its dependencies:

Install
Copied!
npm install motion clsx tailwind-merge

More eCommerce components

Product Highlight Block
Free
SEO-ready
Product List
Free
Category Grid Block
Free
Your Cart Page
Free
Promo Banner Block
Free
Hero Slider Carousel