# product (/themes/sdk/reference/product)

```ts
import { … } from '@poltura/theme-sdk/product';
```

## [Hooks](/themes/sdk/reference/product/hooks-1) [#hooks]

| Name | What it is |
| --- | --- |
| [`useVariantPicker`](/themes/sdk/reference/product/hooks-1#usevariantpicker) | The variant picker of the nearest product: its options, the choice and the variant it picks. |
| [`useProductGallery`](/themes/sdk/reference/product/hooks-1#useproductgallery) | The gallery state of the nearest product, which moves to the picked variant's first image. |
| [`useBundleSelection`](/themes/sdk/reference/product/hooks-1#usebundleselection) | The bundle offered with the product page's product and the shopper's choice in it. |
| [`useNotifyMe`](/themes/sdk/reference/product/hooks-1#usenotifyme) | The form state behind [`NotifyMe`](/themes/sdk/reference/product/defaults-2#notifyme), for a theme drawing its own notify-me form. |
| [`useNearestProduct`](/themes/sdk/reference/product/hooks-1#usenearestproduct) | The product the code sits under: the product page's, a product card's or a [`ProductScope`](/themes/sdk/reference/product/parts-1#productscope)'s. |
| [`useProductBuy`](/themes/sdk/reference/product/hooks-1#useproductbuy) | The buy box state of the nearest product, shared by every part of the box. |
| [`useBundleQuote`](/themes/sdk/reference/product/hooks-1#usebundlequote) | The price of a bundle with the shopper's choice in it, refreshed before it lapses. |
| [`useBundleRecommendations`](/themes/sdk/reference/product/hooks-1#usebundlerecommendations) | The bundles recommended for a product, best first, for the shopper's cart. |
| [`useProductBundles`](/themes/sdk/reference/product/hooks-2#useproductbundles) | The bundles that include the given products, by product id. |
| [`useRelatedProducts`](/themes/sdk/reference/product/hooks-2#userelatedproducts) | Related product cards: the merchant's picks, then automatic recommendations when switched on, then popular products of the category and the store. |
| [`useWishlist`](/themes/sdk/reference/product/hooks-2#usewishlist) | The shopper's favourites: how many, which products, and a toggle. A signed-in shopper's list lives in their account and a guest's in the browser. |
| [`useOptionalProductPage`](/themes/sdk/reference/product/hooks-2#useoptionalproductpage) | The product page's view, or null where no product page is drawn, such as a product shown inside another page. |
| [`useProductPage`](/themes/sdk/reference/product/hooks-2#useproductpage) | The product page with everything it shows beyond the product: the trail, highlights, specifications, guides, warranty, safety, coverage and the first reviews. |
| [`useProductTabs`](/themes/sdk/reference/product/hooks-2#useproducttabs) | The tabs the nearest product page shows, in the merchant's order. |
| [`useProductTableLinks`](/themes/sdk/reference/product/hooks-2#useproducttablelinks) | The nearest product's link tables, sorted onto its variant picker options. |
| [`useProductTables`](/themes/sdk/reference/product/hooks-2#useproducttables) | The tables attached to the nearest product, optionally only those the merchant placed one way. |
| [`useReviews`](/themes/sdk/reference/product/hooks-2#usereviews) | The reviews of one or several products, one page at a time, with the review score over all of them. |
| [`useSubmitReview`](/themes/sdk/reference/product/hooks-2#usesubmitreview) | Sending a shopper's review of a product, with the bot check and the refresh of the shown reviews. |

## [Parts](/themes/sdk/reference/product/parts-1) [#parts]

| Name | What it is |
| --- | --- |
| [`VariantOption`](/themes/sdk/reference/product/parts-1#variantoption) | One option of the picker with its name, laying its values out as buttons, swatches, tiles or a dropdown. |
| [`VariantOptionValue`](/themes/sdk/reference/product/parts-1#variantoptionvalue) | One value of an option: a button, a swatch, an image tile or a dropdown entry, following its option. |
| [`VariantSwatch`](/themes/sdk/reference/product/parts-1#variantswatch) | The colour, split colour or image fill of an option value's swatch. |
| [`QuantityStepper`](/themes/sdk/reference/product/parts-1#quantitystepper) | The quantity field with minus and plus, snapping typed amounts to the order limits and naming them. |
| [`AddToCartButton`](/themes/sdk/reference/product/parts-1#addtocartbutton) | The buy box's add to cart button with the error of the last attempt under it. |
| [`WalletButtons`](/themes/sdk/reference/product/parts-1#walletbuttons) | Apple Pay, Google Pay and the other express wallets of the product page, mounted in the browser. |
| [`WholesaleTiers`](/themes/sdk/reference/product/parts-1#wholesaletiers) | A wholesale buyer's tier price, list price and quantity breaks, the chosen quantity's break highlighted. |
| [`AvailabilityBadge`](/themes/sdk/reference/product/parts-1#availabilitybadge) | "Pre-order", "Coming soon" or "Sold out" for a pre-order state; nothing for plain stock states. |
| [`PersonalizationFields`](/themes/sdk/reference/product/parts-1#personalizationfields) | The texts the shopper fills in to personalise the product page's item, such as an engraving. |
| [`GiftCardFields`](/themes/sdk/reference/product/parts-1#giftcardfields) | A gift card product's amount, recipient, message and send date. |
| [`ProductScope`](/themes/sdk/reference/product/parts-1#productscope) | Makes a product the nearest one for everything inside, with its own variant choice and quantity. |
| [`ProductGalleryImage`](/themes/sdk/reference/product/parts-2#productgalleryimage) | One framed gallery image, cropped to the aspect, or the placeholder when there is none. |
| [`ProductGalleryThumbs`](/themes/sdk/reference/product/parts-2#productgallerythumbs) | A row of thumbnails, the shown image's marked, each showing its image when pressed; nothing for fewer than two images. |
| [`BundleConfigurator`](/themes/sdk/reference/product/parts-2#bundleconfigurator) | A standalone bundle: its items with the choice among them, the live price and an add-the-bundle-to-cart button. |
| [`BundleSuggestions`](/themes/sdk/reference/product/parts-2#bundlesuggestions) | A panel of bundle offers with their saving, the reason each is suggested and a configure button. |
| [`WishlistButton`](/themes/sdk/reference/product/parts-2#wishlistbutton) | A heart button that saves a product to the shopper's favourites and takes it out again; nothing when the store has favourites turned off. |
| [`WishlistLink`](/themes/sdk/reference/product/parts-2#wishlistlink) | A heart with the number of saved products, linking to the shopper's favourites page; nothing when the store has favourites turned off. |
| [`ProductBadges`](/themes/sdk/reference/product/parts-2#productbadges) | A product's badges as colour-coded labels; nothing without badges. |
| [`ProductKeySpecs`](/themes/sdk/reference/product/parts-2#productkeyspecs) | The attributes the store shows by the product title, such as a game's platform: a small name over its values with their icons; nothing without any. |
| [`ProductSharePanel`](/themes/sdk/reference/product/parts-3#productsharepanel) | A share dialog with copy-link, email, WhatsApp, Facebook, X and the device's own share sheet. |
| [`ProductSpecs`](/themes/sdk/reference/product/parts-3#productspecs) | The specification table: a titled section per group with a row of name and value each; nothing without rows. |
| [`SpecValueLabel`](/themes/sdk/reference/product/parts-3#specvaluelabel) | One attribute value as the shopper reads it: its icon or logo beside the text. |
| [`SpecValues`](/themes/sdk/reference/product/parts-3#specvalues) | All values of one attribute, each with its icon, side by side and wrapping; nothing for an attribute without values. |
| [`ProductTableLink`](/themes/sdk/reference/product/parts-3#producttablelink) | A link opening a table sheet: at the side, or from the bottom on phones. |
| [`ProductTableView`](/themes/sdk/reference/product/parts-3#producttableview) | One product table in place: its intro, the unit switch, the table and the measuring guide; the chosen variant's row is highlighted. |
| [`ProductTabContent`](/themes/sdk/reference/product/parts-3#producttabcontent) | One tab's content. The description with its keywords, the specification table, the guides and downloads, the warranty, the merchant's text or a product table. |
| [`ProductTrustBadge`](/themes/sdk/reference/product/parts-3#producttrustbadge) | The trust badge an installed review app draws on the product page, such as the store's rating with that app; nothing when no app offers one. |
| [`RatingStars`](/themes/sdk/reference/product/parts-3#ratingstars) | Five stars with as many filled as the rating rounds to. |
| [`RatingSummary`](/themes/sdk/reference/product/parts-3#ratingsummary) | The average rating large, with the stars and a bar per star rating showing how many reviews gave it. |
| [`ReviewCard`](/themes/sdk/reference/product/parts-3#reviewcard) | One review: the reviewer's shortened name and initials, the verified badge, the date, the stars, the title and the text. |
| [`ReviewForm`](/themes/sdk/reference/product/parts-4#reviewform) | The write-a-review form: a star picker, name, email, title and text, a thank-you once sent and a product picker for a bundle. |
| [`ReviewSkeleton`](/themes/sdk/reference/product/parts-4#reviewskeleton) | Three placeholder cards shaped like [`ReviewCard`](/themes/sdk/reference/product/parts-3#reviewcard), for the time the reviews load. |
| [`ReviewsEmpty`](/themes/sdk/reference/product/parts-4#reviewsempty) | The message for a product without reviews, with a button that asks for the first one. |
| [`ReviewsFooter`](/themes/sdk/reference/product/parts-4#reviewsfooter) | The load-more button under a review list, or the count of reviews seen once there are no more. |
| [`ReviewsHeader`](/themes/sdk/reference/product/parts-4#reviewsheader) | The reviews heading with the review count and a write-a-review button. |

## [Defaults](/themes/sdk/reference/product/defaults-1) [#defaults]

| Name | What it is |
| --- | --- |
| [`VariantPicker`](/themes/sdk/reference/product/defaults-1#variantpicker) | The complete variant picker of the nearest product, built from its parts. |
| [`BundleSelector`](/themes/sdk/reference/product/defaults-1#bundleselector) | The complete bundle offer of the product page: its items, groups, suggested sets and savings. |
| [`NotifyMe`](/themes/sdk/reference/product/defaults-2#notifyme) | "Notify me" for a variant that cannot be bought now: one email, sent once when it can be. |
| [`ProductGallery`](/themes/sdk/reference/product/defaults-3#productgallery) | The nearest product's gallery, following the picked variant's image. |
| [`ProductDetails`](/themes/sdk/reference/product/defaults-4#productdetails) | The product's key attributes, then where it can be activated and whether it works in the shopper's country; nothing for a product with neither. |
| [`ProductHeader`](/themes/sdk/reference/product/defaults-5#productheader) | The product page's heading block: tags, the title, the maker and SKU, and the rating with its review count. |
| [`ProductHighlights`](/themes/sdk/reference/product/defaults-6#producthighlights) | The merchant's highlighted selling points as a two-column list with chevrons; nothing without any. |
| [`ProductTabs`](/themes/sdk/reference/product/defaults-7#producttabs) | The product page's tabs as the merchant arranged them: built-in content, their own text and product tables; nothing when all are empty. |
| [`Reviews`](/themes/sdk/reference/product/defaults-8#reviews) | The complete reviews panel: heading, score, the reviews with load more, and the write-a-review form. |

## [Constants](/themes/sdk/reference/product/constants) [#constants]

| Name | What it is |
| --- | --- |
| [`productRegions`](/themes/sdk/reference/product/constants#productregions) | The regions of the product page's main section, for `Slot`. |

## [Types](/themes/sdk/reference/product/types-1) [#types]

| Name | What it is |
| --- | --- |
| [`Availability`](/themes/sdk/reference/product/types-1#availability) | Whether and how a product or variant can be bought, with its label in the page language. |
| [`BundleRef`](/themes/sdk/reference/product/types-1#bundleref) | The fixed bundle a product card sells as one item. |
| [`CountryLabel`](/themes/sdk/reference/product/types-1#countrylabel) | A country with its name in the page language. |
| [`ExpectedDate`](/themes/sdk/reference/product/types-1#expecteddate) | When a pre-ordered or upcoming product is expected to ship. |
| [`ExpectedPrecision`](/themes/sdk/reference/product/types-1#expectedprecision) | How exact a promised date is. |
| [`GiftCardKind`](/themes/sdk/reference/product/types-1#giftcardkind) | Whether a gift card product is loaded with an amount or redeems for a set item. |
| [`PersonalizationField`](/themes/sdk/reference/product/types-1#personalizationfield) | A text the shopper fills in to personalise their item, such as an engraving. |
| [`Product`](/themes/sdk/reference/product/types-1#product) | A product with everything a product page shows of it. |
| [`ProductBadge`](/themes/sdk/reference/product/types-1#productbadge) | A merchant-managed label on a product, such as "New" or "Sale", already in the page language. |
| [`ProductCoverage`](/themes/sdk/reference/product/types-1#productcoverage) | Where a region-locked product, such as a licence key, can be used. |
| [`ProductOption`](/themes/sdk/reference/product/types-1#productoption) | A choice the shopper makes to pick a variant, such as colour or size. |
| [`ProductOptionDisplay`](/themes/sdk/reference/product/types-1#productoptiondisplay) | How the picker presents an option's values. |
| [`ProductOptionValue`](/themes/sdk/reference/product/types-1#productoptionvalue) | One value of a product option, such as "Red". |
| [`ProductPageView`](/themes/sdk/reference/product/types-2#productpageview) | Everything a product page shows beyond the product itself. |
| [`ProductSafety`](/themes/sdk/reference/product/types-2#productsafety) | What the EU product safety rules (2023/988, Art. 19) require a listing to show. |
| [`ProductSafetyContact`](/themes/sdk/reference/product/types-2#productsafetycontact) | Who answers for a product's safety. |
| [`ProductTab`](/themes/sdk/reference/product/types-2#producttab) | A product page tab. A built-in one, the merchant's text, or a table. |
| [`ProductTabBuiltin`](/themes/sdk/reference/product/types-2#producttabbuiltin) | A built-in tab's content: what the product already holds. |
| [`ProductTable`](/themes/sdk/reference/product/types-2#producttable) | A product table. A size chart, nutrition facts or specifications. |
| [`ProductTableColumn`](/themes/sdk/reference/product/types-2#producttablecolumn) | One column of a product table, such as a measurement. |
| [`ProductTableColumnType`](/themes/sdk/reference/product/types-2#producttablecolumntype) | How a column's cells read. |
| [`ProductTablePlacement`](/themes/sdk/reference/product/types-2#producttableplacement) | Where a table shows. |
| [`ProductTableRow`](/themes/sdk/reference/product/types-2#producttablerow) | One row of a product table, such as a size. |
| [`ProductTabsDisplay`](/themes/sdk/reference/product/types-2#producttabsdisplay) | Tabs or an accordion. A tab bar, or one heading per tab. |
| [`ProductWarranty`](/themes/sdk/reference/product/types-2#productwarranty) | The warranty that comes with a product. |
| [`RatingCount`](/themes/sdk/reference/product/types-2#ratingcount) | How many reviews gave one star rating. |
| [`RatingStats`](/themes/sdk/reference/product/types-2#ratingstats) | A product's review score. |
| [`Review`](/themes/sdk/reference/product/types-3#review) | A published review of a product. |
| [`ReviewPage`](/themes/sdk/reference/product/types-3#reviewpage) | One page of a product's reviews with its score. |
| [`ReviewPolicy`](/themes/sdk/reference/product/types-3#reviewpolicy) | How the store checks reviews, from its own settings. |
| [`Spec`](/themes/sdk/reference/product/types-3#spec) | One row of a product's specification table. |
| [`SpecGroup`](/themes/sdk/reference/product/types-3#specgroup) | A titled section of a product's specification table. |
| [`SpecValue`](/themes/sdk/reference/product/types-3#specvalue) | One value of a spec as the shopper reads it. |
| [`Swatch`](/themes/sdk/reference/product/types-3#swatch) | The swatch a variant option value shows instead of a text button. |
| [`UnavailableReason`](/themes/sdk/reference/product/types-3#unavailablereason) | Why a variant cannot be bought right now. |
| [`Variant`](/themes/sdk/reference/product/types-3#variant) | One buyable version of a product, such as the red one in size M. |
| [`VariantPickerValue`](/themes/sdk/reference/product/types-3#variantpickervalue) | One value of an option in the variant picker, with what choosing it would lead to. |
| [`VariantPickerOption`](/themes/sdk/reference/product/types-3#variantpickeroption) | One option of the variant picker, such as colour or size. |
| [`VariantPickerState`](/themes/sdk/reference/product/types-3#variantpickerstate) | The variant picker's state: the options with their values, the current choice and the variant it picks. |
| [`VariantPickerClasses`](/themes/sdk/reference/product/types-3#variantpickerclasses) | Class names for the pieces of [`VariantPicker`](/themes/sdk/reference/product/defaults-1#variantpicker) and [`VariantOption`](/themes/sdk/reference/product/parts-1#variantoption). |
| [`VariantPickerProps`](/themes/sdk/reference/product/types-3#variantpickerprops) | Props of [`VariantPicker`](/themes/sdk/reference/product/defaults-1#variantpicker). |
| [`VariantOptionProps`](/themes/sdk/reference/product/types-4#variantoptionprops) | Props of [`VariantOption`](/themes/sdk/reference/product/parts-1#variantoption). |
| [`VariantOptionValueProps`](/themes/sdk/reference/product/types-4#variantoptionvalueprops) | Props of [`VariantOptionValue`](/themes/sdk/reference/product/parts-1#variantoptionvalue). |
| [`VariantSwatchProps`](/themes/sdk/reference/product/types-4#variantswatchprops) | Props of [`VariantSwatch`](/themes/sdk/reference/product/parts-1#variantswatch). |
| [`ProductGalleryState`](/themes/sdk/reference/product/types-4#productgallerystate) | The image viewer of a product page: its images, the one shown and the zoomed view. |
| [`QuantityStepperProps`](/themes/sdk/reference/product/types-4#quantitystepperprops) | Props of [`QuantityStepper`](/themes/sdk/reference/product/parts-1#quantitystepper). |
| [`AddToCartButtonProps`](/themes/sdk/reference/product/types-4#addtocartbuttonprops) | Props of [`AddToCartButton`](/themes/sdk/reference/product/parts-1#addtocartbutton). |
| [`WalletButtonsProps`](/themes/sdk/reference/product/types-4#walletbuttonsprops) | Props of [`WalletButtons`](/themes/sdk/reference/product/parts-1#walletbuttons). |
| [`WholesaleBreak`](/themes/sdk/reference/product/types-4#wholesalebreak) | One quantity break of a wholesale price list. |
| [`WholesaleTiersView`](/themes/sdk/reference/product/types-4#wholesaletiersview) | What a wholesale buyer sees beside the price: the list price and the quantity breaks. |
| [`WholesaleTiersProps`](/themes/sdk/reference/product/types-4#wholesaletiersprops) | Props of [`WholesaleTiers`](/themes/sdk/reference/product/parts-1#wholesaletiers). |
| [`AvailabilityBadgeProps`](/themes/sdk/reference/product/types-4#availabilitybadgeprops) | Props of [`AvailabilityBadge`](/themes/sdk/reference/product/parts-1#availabilitybadge). |
| [`BuyFieldsProps`](/themes/sdk/reference/product/types-4#buyfieldsprops) | Props of [`PersonalizationFields`](/themes/sdk/reference/product/parts-1#personalizationfields) and [`GiftCardFields`](/themes/sdk/reference/product/parts-1#giftcardfields). |
| [`BundleSelectionGroup`](/themes/sdk/reference/product/types-4#bundleselectiongroup) | A group of bundle items the shopper picks a number of, such as "Choose 2 sauces". |
| [`BundleSelectionItem`](/themes/sdk/reference/product/types-4#bundleselectionitem) | One item a bundle offers with the product page's product. |
| [`BundleSelectionState`](/themes/sdk/reference/product/types-4#bundleselectionstate) | The bundle offered on the product page and the shopper's choice in it. |
| [`BundleSelectorProps`](/themes/sdk/reference/product/types-4#bundleselectorprops) | Props of [`BundleSelector`](/themes/sdk/reference/product/defaults-1#bundleselector). |
| [`NotifyMeCopy`](/themes/sdk/reference/product/types-5#notifymecopy) | Texts of [`NotifyMe`](/themes/sdk/reference/product/defaults-2#notifyme) that replace the platform's own. |
| [`NotifyMeProps`](/themes/sdk/reference/product/types-5#notifymeprops) | Props of [`NotifyMe`](/themes/sdk/reference/product/defaults-2#notifyme). |
| [`NotifyMeReason`](/themes/sdk/reference/product/types-5#notifymereason) | Why a shopper asks to hear when a variant can be bought. |
| [`NotifyMeState`](/themes/sdk/reference/product/types-5#notifymestate) | The state of a notify-me form: the address, the newsletter choice and the request. |
| [`NotifyMeStatus`](/themes/sdk/reference/product/types-5#notifymestatus) | Where a notify-me request stands. |
| [`ProductScopeProps`](/themes/sdk/reference/product/types-5#productscopeprops) | Props of [`ProductScope`](/themes/sdk/reference/product/parts-1#productscope). |
| [`ProductBuy`](/themes/sdk/reference/product/types-5#productbuy) | The buy box of the nearest product: the chosen variant, the quantity and adding it to the cart. |
| [`GalleryAspect`](/themes/sdk/reference/product/types-5#galleryaspect) | How a gallery frame crops its image. |
| [`ProductGalleryImageProps`](/themes/sdk/reference/product/types-5#productgalleryimageprops) | Props of [`ProductGalleryImage`](/themes/sdk/reference/product/parts-2#productgalleryimage). |
| [`ProductGalleryProps`](/themes/sdk/reference/product/types-5#productgalleryprops) | Props of [`ProductGallery`](/themes/sdk/reference/product/defaults-3#productgallery). |
| [`ProductGalleryThumbsProps`](/themes/sdk/reference/product/types-5#productgallerythumbsprops) | Props of [`ProductGalleryThumbs`](/themes/sdk/reference/product/parts-2#productgallerythumbs). |
| [`BundleConfiguratorProps`](/themes/sdk/reference/product/types-5#bundleconfiguratorprops) | Props of [`BundleConfigurator`](/themes/sdk/reference/product/parts-2#bundleconfigurator). |
| [`BundleSuggestionsProps`](/themes/sdk/reference/product/types-5#bundlesuggestionsprops) | Props of [`BundleSuggestions`](/themes/sdk/reference/product/parts-2#bundlesuggestions). |
| [`Bundle`](/themes/sdk/reference/product/types-5#bundle) | A bundle: products sold together at a saving. |
| [`BundleGroup`](/themes/sdk/reference/product/types-5#bundlegroup) | A group of bundle items the shopper picks a number of, such as "Choose 2 sauces". |
| [`BundleItem`](/themes/sdk/reference/product/types-6#bundleitem) | One item a bundle holds. |
| [`BundleQuote`](/themes/sdk/reference/product/types-6#bundlequote) | The price of a bundle with the shopper's choice in it. |
| [`BundleQuoteInput`](/themes/sdk/reference/product/types-6#bundlequoteinput) | What to price: one bundle with the shopper's choice in it. |
| [`BundleQuoteRefusal`](/themes/sdk/reference/product/types-6#bundlequoterefusal) | Why a bundle could not be priced. |
| [`BundleRecommendation`](/themes/sdk/reference/product/types-6#bundlerecommendation) | A bundle recommended for a product, with the choice that suits the shopper and its price. |
| [`BundleRecommendationReason`](/themes/sdk/reference/product/types-6#bundlerecommendationreason) | Why a bundle is recommended with the product. |
| [`WishlistButtonProps`](/themes/sdk/reference/product/types-6#wishlistbuttonprops) | Props of [`WishlistButton`](/themes/sdk/reference/product/parts-2#wishlistbutton). |
| [`WishlistLinkProps`](/themes/sdk/reference/product/types-6#wishlistlinkprops) | Props of [`WishlistLink`](/themes/sdk/reference/product/parts-2#wishlistlink). |
| [`WishlistProduct`](/themes/sdk/reference/product/types-6#wishlistproduct) | The product a `toggle` saves or removes. |
| [`WishlistState`](/themes/sdk/reference/product/types-6#wishliststate) | The shopper's favourites. |
| [`GiftCardDraft`](/themes/sdk/reference/product/types-6#giftcarddraft) | What the shopper fills in to send a gift card. |
| [`GiftCardIssue`](/themes/sdk/reference/product/types-6#giftcardissue) | Why a gift card field is not accepted. |
| [`GiftCardState`](/themes/sdk/reference/product/types-6#giftcardstate) | A gift card product's amount, recipient and delivery as the shopper fills them in. |
| [`PersonalizationIssue`](/themes/sdk/reference/product/types-6#personalizationissue) | Why a personalisation text is not accepted. |
| [`PersonalizationState`](/themes/sdk/reference/product/types-7#personalizationstate) | The personalisation texts of the product page's item and what the shopper has typed. |
| [`ProductBadgesProps`](/themes/sdk/reference/product/types-7#productbadgesprops) | Props of [`ProductBadges`](/themes/sdk/reference/product/parts-2#productbadges). |
| [`ProductDetailsProps`](/themes/sdk/reference/product/types-7#productdetailsprops) | Props of [`ProductDetails`](/themes/sdk/reference/product/defaults-4#productdetails). |
| [`ProductHeaderProps`](/themes/sdk/reference/product/types-7#productheaderprops) | Props of [`ProductHeader`](/themes/sdk/reference/product/defaults-5#productheader). |
| [`ProductHighlightsProps`](/themes/sdk/reference/product/types-7#producthighlightsprops) | Props of [`ProductHighlights`](/themes/sdk/reference/product/defaults-6#producthighlights). |
| [`ProductKeySpecsProps`](/themes/sdk/reference/product/types-7#productkeyspecsprops) | Props of [`ProductKeySpecs`](/themes/sdk/reference/product/parts-2#productkeyspecs). |
| [`ProductSharePanelProps`](/themes/sdk/reference/product/types-7#productsharepanelprops) | Props of [`ProductSharePanel`](/themes/sdk/reference/product/parts-3#productsharepanel). |
| [`ProductSpecsProps`](/themes/sdk/reference/product/types-7#productspecsprops) | Props of [`ProductSpecs`](/themes/sdk/reference/product/parts-3#productspecs). |
| [`ProductTabContentProps`](/themes/sdk/reference/product/types-7#producttabcontentprops) | Props of [`ProductTabContent`](/themes/sdk/reference/product/parts-3#producttabcontent). |
| [`ProductTableLinkProps`](/themes/sdk/reference/product/types-7#producttablelinkprops) | Props of [`ProductTableLink`](/themes/sdk/reference/product/parts-3#producttablelink). |
| [`ProductTableLinks`](/themes/sdk/reference/product/types-7#producttablelinks) | Link tables by option: where they show in the variant picker. |
| [`ProductTableViewProps`](/themes/sdk/reference/product/types-7#producttableviewprops) | Props of [`ProductTableView`](/themes/sdk/reference/product/parts-3#producttableview). |
| [`ProductTabsProps`](/themes/sdk/reference/product/types-7#producttabsprops) | Props of [`ProductTabs`](/themes/sdk/reference/product/defaults-7#producttabs). |
| [`SpecValueLabelProps`](/themes/sdk/reference/product/types-7#specvaluelabelprops) | Props of [`SpecValueLabel`](/themes/sdk/reference/product/parts-3#specvaluelabel). |
| [`SpecValuesProps`](/themes/sdk/reference/product/types-7#specvaluesprops) | Props of [`SpecValues`](/themes/sdk/reference/product/parts-3#specvalues). |
| [`RatingStarsProps`](/themes/sdk/reference/product/types-7#ratingstarsprops) | Props of [`RatingStars`](/themes/sdk/reference/product/parts-3#ratingstars). |
| [`RatingSummaryProps`](/themes/sdk/reference/product/types-7#ratingsummaryprops) | Props of [`RatingSummary`](/themes/sdk/reference/product/parts-3#ratingsummary). |
| [`ReviewCardProps`](/themes/sdk/reference/product/types-7#reviewcardprops) | Props of [`ReviewCard`](/themes/sdk/reference/product/parts-3#reviewcard). |
| [`ReviewFormProps`](/themes/sdk/reference/product/types-7#reviewformprops) | Props of [`ReviewForm`](/themes/sdk/reference/product/parts-4#reviewform). |
| [`ReviewInput`](/themes/sdk/reference/product/types-7#reviewinput) | What a shopper fills in to review a product. |
| [`ReviewResult`](/themes/sdk/reference/product/types-7#reviewresult) | How sending a review ended. |
| [`ReviewSkeletonProps`](/themes/sdk/reference/product/types-7#reviewskeletonprops) | Props of [`ReviewSkeleton`](/themes/sdk/reference/product/parts-4#reviewskeleton). |
| [`ReviewTarget`](/themes/sdk/reference/product/types-7#reviewtarget) | The product a review is written for; a bundle lets the shopper choose among its products. |
| [`ReviewsBy`](/themes/sdk/reference/product/types-7#reviewsby) | Which product or products a review list is about. |
| [`ReviewsEmptyProps`](/themes/sdk/reference/product/types-8#reviewsemptyprops) | Props of [`ReviewsEmpty`](/themes/sdk/reference/product/parts-4#reviewsempty). |
| [`ReviewsFooterProps`](/themes/sdk/reference/product/types-8#reviewsfooterprops) | Props of [`ReviewsFooter`](/themes/sdk/reference/product/parts-4#reviewsfooter). |
| [`ReviewsHeaderProps`](/themes/sdk/reference/product/types-8#reviewsheaderprops) | Props of [`ReviewsHeader`](/themes/sdk/reference/product/parts-4#reviewsheader). |
| [`ReviewsProps`](/themes/sdk/reference/product/types-8#reviewsprops) | Props of [`Reviews`](/themes/sdk/reference/product/defaults-8#reviews). |
| [`SubmitReviewState`](/themes/sdk/reference/product/types-8#submitreviewstate) | The state of sending a review. |

<AnchorRedirect to={{"hooks":"/themes/sdk/reference/product/hooks-1","usevariantpicker":"/themes/sdk/reference/product/hooks-1","useproductgallery":"/themes/sdk/reference/product/hooks-1","usebundleselection":"/themes/sdk/reference/product/hooks-1","usenotifyme":"/themes/sdk/reference/product/hooks-1","usenearestproduct":"/themes/sdk/reference/product/hooks-1","useproductbuy":"/themes/sdk/reference/product/hooks-1","usebundlequote":"/themes/sdk/reference/product/hooks-1","usebundlerecommendations":"/themes/sdk/reference/product/hooks-1","useproductbundles":"/themes/sdk/reference/product/hooks-2","userelatedproducts":"/themes/sdk/reference/product/hooks-2","usewishlist":"/themes/sdk/reference/product/hooks-2","useoptionalproductpage":"/themes/sdk/reference/product/hooks-2","useproductpage":"/themes/sdk/reference/product/hooks-2","useproducttabs":"/themes/sdk/reference/product/hooks-2","useproducttablelinks":"/themes/sdk/reference/product/hooks-2","useproducttables":"/themes/sdk/reference/product/hooks-2","usereviews":"/themes/sdk/reference/product/hooks-2","usesubmitreview":"/themes/sdk/reference/product/hooks-2","parts":"/themes/sdk/reference/product/parts-1","variantoption":"/themes/sdk/reference/product/parts-1","variantoptionvalue":"/themes/sdk/reference/product/parts-1","variantswatch":"/themes/sdk/reference/product/parts-1","quantitystepper":"/themes/sdk/reference/product/parts-1","addtocartbutton":"/themes/sdk/reference/product/parts-1","walletbuttons":"/themes/sdk/reference/product/parts-1","wholesaletiers":"/themes/sdk/reference/product/parts-1","availabilitybadge":"/themes/sdk/reference/product/parts-1","personalizationfields":"/themes/sdk/reference/product/parts-1","giftcardfields":"/themes/sdk/reference/product/parts-1","productscope":"/themes/sdk/reference/product/parts-1","productgalleryimage":"/themes/sdk/reference/product/parts-2","productgallerythumbs":"/themes/sdk/reference/product/parts-2","bundleconfigurator":"/themes/sdk/reference/product/parts-2","bundlesuggestions":"/themes/sdk/reference/product/parts-2","wishlistbutton":"/themes/sdk/reference/product/parts-2","wishlistlink":"/themes/sdk/reference/product/parts-2","productbadges":"/themes/sdk/reference/product/parts-2","productkeyspecs":"/themes/sdk/reference/product/parts-2","productsharepanel":"/themes/sdk/reference/product/parts-3","productspecs":"/themes/sdk/reference/product/parts-3","specvaluelabel":"/themes/sdk/reference/product/parts-3","specvalues":"/themes/sdk/reference/product/parts-3","producttablelink":"/themes/sdk/reference/product/parts-3","producttableview":"/themes/sdk/reference/product/parts-3","producttabcontent":"/themes/sdk/reference/product/parts-3","producttrustbadge":"/themes/sdk/reference/product/parts-3","ratingstars":"/themes/sdk/reference/product/parts-3","ratingsummary":"/themes/sdk/reference/product/parts-3","reviewcard":"/themes/sdk/reference/product/parts-3","reviewform":"/themes/sdk/reference/product/parts-4","reviewskeleton":"/themes/sdk/reference/product/parts-4","reviewsempty":"/themes/sdk/reference/product/parts-4","reviewsfooter":"/themes/sdk/reference/product/parts-4","reviewsheader":"/themes/sdk/reference/product/parts-4","defaults":"/themes/sdk/reference/product/defaults-1","variantpicker":"/themes/sdk/reference/product/defaults-1","bundleselector":"/themes/sdk/reference/product/defaults-1","notifyme":"/themes/sdk/reference/product/defaults-2","productgallery":"/themes/sdk/reference/product/defaults-3","productdetails":"/themes/sdk/reference/product/defaults-4","productheader":"/themes/sdk/reference/product/defaults-5","producthighlights":"/themes/sdk/reference/product/defaults-6","producttabs":"/themes/sdk/reference/product/defaults-7","reviews":"/themes/sdk/reference/product/defaults-8","constants":"/themes/sdk/reference/product/constants","productregions":"/themes/sdk/reference/product/constants","types":"/themes/sdk/reference/product/types-1","availability":"/themes/sdk/reference/product/types-1","bundleref":"/themes/sdk/reference/product/types-1","countrylabel":"/themes/sdk/reference/product/types-1","expecteddate":"/themes/sdk/reference/product/types-1","expectedprecision":"/themes/sdk/reference/product/types-1","giftcardkind":"/themes/sdk/reference/product/types-1","personalizationfield":"/themes/sdk/reference/product/types-1","product":"/themes/sdk/reference/product/types-1","productbadge":"/themes/sdk/reference/product/types-1","productcoverage":"/themes/sdk/reference/product/types-1","productoption":"/themes/sdk/reference/product/types-1","productoptiondisplay":"/themes/sdk/reference/product/types-1","productoptionvalue":"/themes/sdk/reference/product/types-1","productpageview":"/themes/sdk/reference/product/types-2","productsafety":"/themes/sdk/reference/product/types-2","productsafetycontact":"/themes/sdk/reference/product/types-2","producttab":"/themes/sdk/reference/product/types-2","producttabbuiltin":"/themes/sdk/reference/product/types-2","producttable":"/themes/sdk/reference/product/types-2","producttablecolumn":"/themes/sdk/reference/product/types-2","producttablecolumntype":"/themes/sdk/reference/product/types-2","producttableplacement":"/themes/sdk/reference/product/types-2","producttablerow":"/themes/sdk/reference/product/types-2","producttabsdisplay":"/themes/sdk/reference/product/types-2","productwarranty":"/themes/sdk/reference/product/types-2","ratingcount":"/themes/sdk/reference/product/types-2","ratingstats":"/themes/sdk/reference/product/types-2","review":"/themes/sdk/reference/product/types-3","reviewpage":"/themes/sdk/reference/product/types-3","reviewpolicy":"/themes/sdk/reference/product/types-3","spec":"/themes/sdk/reference/product/types-3","specgroup":"/themes/sdk/reference/product/types-3","specvalue":"/themes/sdk/reference/product/types-3","swatch":"/themes/sdk/reference/product/types-3","unavailablereason":"/themes/sdk/reference/product/types-3","variant":"/themes/sdk/reference/product/types-3","variantpickervalue":"/themes/sdk/reference/product/types-3","variantpickeroption":"/themes/sdk/reference/product/types-3","variantpickerstate":"/themes/sdk/reference/product/types-3","variantpickerclasses":"/themes/sdk/reference/product/types-3","variantpickerprops":"/themes/sdk/reference/product/types-3","variantoptionprops":"/themes/sdk/reference/product/types-4","variantoptionvalueprops":"/themes/sdk/reference/product/types-4","variantswatchprops":"/themes/sdk/reference/product/types-4","productgallerystate":"/themes/sdk/reference/product/types-4","quantitystepperprops":"/themes/sdk/reference/product/types-4","addtocartbuttonprops":"/themes/sdk/reference/product/types-4","walletbuttonsprops":"/themes/sdk/reference/product/types-4","wholesalebreak":"/themes/sdk/reference/product/types-4","wholesaletiersview":"/themes/sdk/reference/product/types-4","wholesaletiersprops":"/themes/sdk/reference/product/types-4","availabilitybadgeprops":"/themes/sdk/reference/product/types-4","buyfieldsprops":"/themes/sdk/reference/product/types-4","bundleselectiongroup":"/themes/sdk/reference/product/types-4","bundleselectionitem":"/themes/sdk/reference/product/types-4","bundleselectionstate":"/themes/sdk/reference/product/types-4","bundleselectorprops":"/themes/sdk/reference/product/types-4","notifymecopy":"/themes/sdk/reference/product/types-5","notifymeprops":"/themes/sdk/reference/product/types-5","notifymereason":"/themes/sdk/reference/product/types-5","notifymestate":"/themes/sdk/reference/product/types-5","notifymestatus":"/themes/sdk/reference/product/types-5","productscopeprops":"/themes/sdk/reference/product/types-5","productbuy":"/themes/sdk/reference/product/types-5","galleryaspect":"/themes/sdk/reference/product/types-5","productgalleryimageprops":"/themes/sdk/reference/product/types-5","productgalleryprops":"/themes/sdk/reference/product/types-5","productgallerythumbsprops":"/themes/sdk/reference/product/types-5","bundleconfiguratorprops":"/themes/sdk/reference/product/types-5","bundlesuggestionsprops":"/themes/sdk/reference/product/types-5","bundle":"/themes/sdk/reference/product/types-5","bundlegroup":"/themes/sdk/reference/product/types-5","bundleitem":"/themes/sdk/reference/product/types-6","bundlequote":"/themes/sdk/reference/product/types-6","bundlequoteinput":"/themes/sdk/reference/product/types-6","bundlequoterefusal":"/themes/sdk/reference/product/types-6","bundlerecommendation":"/themes/sdk/reference/product/types-6","bundlerecommendationreason":"/themes/sdk/reference/product/types-6","wishlistbuttonprops":"/themes/sdk/reference/product/types-6","wishlistlinkprops":"/themes/sdk/reference/product/types-6","wishlistproduct":"/themes/sdk/reference/product/types-6","wishliststate":"/themes/sdk/reference/product/types-6","giftcarddraft":"/themes/sdk/reference/product/types-6","giftcardissue":"/themes/sdk/reference/product/types-6","giftcardstate":"/themes/sdk/reference/product/types-6","personalizationissue":"/themes/sdk/reference/product/types-6","personalizationstate":"/themes/sdk/reference/product/types-7","productbadgesprops":"/themes/sdk/reference/product/types-7","productdetailsprops":"/themes/sdk/reference/product/types-7","productheaderprops":"/themes/sdk/reference/product/types-7","producthighlightsprops":"/themes/sdk/reference/product/types-7","productkeyspecsprops":"/themes/sdk/reference/product/types-7","productsharepanelprops":"/themes/sdk/reference/product/types-7","productspecsprops":"/themes/sdk/reference/product/types-7","producttabcontentprops":"/themes/sdk/reference/product/types-7","producttablelinkprops":"/themes/sdk/reference/product/types-7","producttablelinks":"/themes/sdk/reference/product/types-7","producttableviewprops":"/themes/sdk/reference/product/types-7","producttabsprops":"/themes/sdk/reference/product/types-7","specvaluelabelprops":"/themes/sdk/reference/product/types-7","specvaluesprops":"/themes/sdk/reference/product/types-7","ratingstarsprops":"/themes/sdk/reference/product/types-7","ratingsummaryprops":"/themes/sdk/reference/product/types-7","reviewcardprops":"/themes/sdk/reference/product/types-7","reviewformprops":"/themes/sdk/reference/product/types-7","reviewinput":"/themes/sdk/reference/product/types-7","reviewresult":"/themes/sdk/reference/product/types-7","reviewskeletonprops":"/themes/sdk/reference/product/types-7","reviewtarget":"/themes/sdk/reference/product/types-7","reviewsby":"/themes/sdk/reference/product/types-7","reviewsemptyprops":"/themes/sdk/reference/product/types-8","reviewsfooterprops":"/themes/sdk/reference/product/types-8","reviewsheaderprops":"/themes/sdk/reference/product/types-8","reviewsprops":"/themes/sdk/reference/product/types-8","submitreviewstate":"/themes/sdk/reference/product/types-8"}} />
