All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Updating the
showCollections
prop to indicate that it is now deprecated.
- The logic of the
loading
attribute depends only on thefetchpriority
value and no longer on the image resizing
- Calls sponsored products on product list.
fetchpriority
prop forImage
to allow fetch priority.
- Support options for different sponsored badge positions.
- Adds
@vtex-apps/intelligent-search-apps
on CODEOWNERS.
- When a product is sponsored, renders the sponsored tag above the product's name.
- When a product is sponsored, adds HTML data properties so that they can be observed by the Activity Flow script.
variant
cookie.
- Added a prop to set the max description dynamically
- I18n on ProductSummaryImage file.
- Fixes of i18n on ProductSummaryShelf.md
- Fixes of i18n on ProductSummaryList.md
- Adds
rootPath
to Session API requests.
- Fixes of i18n on readme.md
- Shipping options filter to ProductSummaryList.
- German translation.
- Indonesian translation.
- Portuguese, English, Spanish, and Thai translations.
- SEO: Use
h3
as default tag forProductSummaryName
instead ofh1
- Thai translation.
- French translation.
- Product Summary documentation.
- Arabic, Norwegian and Norwegian variant translation
- Spanish, French, Italian, Japanese, Korean, Dutch and Romanian translation and removed Pseudolanguage
- Product Summary SKU selector Doc: fixed hyperlinks.
- Version param to images to permit caching it on CDN.
- I18n Bg and Bs.
- I18n En, Fr, It, Ko and Ro.
- The ability to dynamically choose the SKU that will be initially selected
asyncOnly1P
topriceBehavior
.
- Update default seller after the simulation call.
listName
is sent via runtime params, not query string. This fixes the issue with other conflicting query strings.trackListName
prop now defaults to true
listName
to legacy Product Summaries
- Crowdin configuration file.
trackListName
prop now defaults to false
- Seller to be the default seller instead of the first available seller.
actionOnClick
not being passed toProductSummary
slot.- Product summary position now starts at 1.
- Position and list name to
productClick
GTM event. ProductSummaryCustom
now accepts thelistName
andposition
props. This is intended to be used by Shelves and Search Result galleries.trackListName
prop toProductSummaryCustom
. It controls whether it should pass thelistName
prop to the PDP url or not.
- I18n IT, FR, KO and NL translations
- Crowdin configuration file
- Verification to check if it
isMobile
inProductSummaryImages
to add image hover handles
- Autocomplete closing when clicking on the Add to Cart button.
actionOnClick
when clicking on the Add to Cart button.
- Option to match only a substring when defining the Product Image's label.
-I18n Ro and JP.
- Crowdin configuration file.
- New CSS Handle
imageWrapper
inproduct-summary-image
.
- React key error in lists.
- Apply modifiers to overridden classes on sku-selector
- Support for a second criteria to match the hover image beyond the label option.
- Main product image was still appearing when a hover image with transparency was being displayed.
product-summary-specification-badges
.product-summary-brand
.product-summary-price
.
- Refactor
product-summary-spacer
to TypeScript. - Refactor
product-summary-column
to TypeScript. - Refactor
product-summary-name
to TypeScript. - Refactor
product-summary-sku-selector
to TypeScript. - Refactor
product-summary-buy-button
to TypeScript. - Refactor
product-summary.shelf
to TypeScript. - Refactor
product-summary-image
to TypeScript. - Migrate to
[email protected]
.
- Typo in property access.
- Use first available seller instead of always using the first.
- Context import.
- New prop
listName
tolist-context.product-list
. - Missing
productClick
pixel event tolist-context.product-list
.
actionOnProductClick
prop toProductSummaryList
.
ProductSummaryImage
can now receive a custom placeholder image by using theplaceholder
prop.
- Default value for
orderBy
query variable, performed by theProductSummaryList
component.
- Move
useSimulation
call fromProductSummaryPrice
to theProductSummary
.
priceBehavior
prop.
- Uses product list structured data
ProductSummary
prop toProductSummaryList
.
- new
product-summary-sku-name
- Missing product items on simulation.
- Async simulation.
- Updated
product-summary-price
'sREADME.md
file to remove theDeprecated
badge from the title
Readme.md
file.
- Make
ProductDescription
render HTML.
- Update tooling and fix lint issues.
- Bump dependencies versions.
list-context.product-list-static
block.
- Updated Product Summary and Product Summary Buy Button docs to create a clearer information about Minicart versions.
- New component
ProductSummaryListWithoutQuery
.
- New option
alwaysAddToCart
for propbuyButtonBehavior
.
- New prop
tag
onProductSummaryName
- Fixed Product Summary Price block documentation by adding deprecation badge and disclaimer.
ProductImage
crashing if there is no image to display.
href
prop inProductSummaryCustom
.
collection
prop inProductSummaryList
's schema had the wrong type, which caused it to receive invalid values from CMS.
- Product Impression Events on legacy product summary.
- Product Summary Image - README.md Documentation
aspectRatio
andmaxHeight
onProductImage
.
- Add Product Summary List in the Product Summary README.
- Add descriptions for each exported block.
- graphql-tag removed from deps since
parse
, from graphql-js already does the job. It is not ideal to use gql from 'graphql-tag' since our current webpack config only strips away the gql when explicitly importing, and not using gql in the code.
- Error caused by wrong hooks order on ProductSummaryList
ProductSummaryList
:installmentCriteria
prop to use inproducts
query.ProductSummaryList
: Messages and translations to be able to editskusFilter
andinstallmentCriteria
in site editor.
- Props passed to
ProductSummaryList
ProductSummaryList
: Consume new products query.
- Prevent image DPI from changing.
- import product search query directly.
- Improve performance of ProductSummaryList by memoing data.
- Remove
skuId
from query string if no SKU is selected.
- Only display
mainImageLabel
image if no image variant sku is selected.
containerRef
fromProductSummary
since it doesn't need it anymore.
- Missing error handling logic for productSearch query.
ProductSummaryList
component.
- Allow
product-bookmark
.
- Add missing
nameContainer
CSS handle.
mainImageLabel
prop toProductSummaryImage
containerRef
prop to theproduct-summary
.
add-to-cart-button
to the allowed list for product-summary.shelf interface.
brandId
on the propTypes.
- Allow
rich-text
andflex-layout
insideproduct-summary.shelf
.
- Support for priceRange product resolver.
- Make product image fit its container.
- Fixed lazy prop on ProductSummaryImage.
- New CSS handles.
ProductSummaryName
line height.
showDiscountValue
to ProductSummaryPrice.
- Temporarily disable
showSavings
.
- Add
data-testid
toProductSummaryBuyButton
to make it easier to test the component.
- Allow
product-teaser.summary
onproduct-summary-column
.
- Images not visible and with
width
/height
props set are set tolazy
.
showSavings
to ProductSummaryPrice.
- Prop
buyButtonBehavior
toProductSummaryBuyButton
. ProductSummarySKUSelector
component.
- Pixel event when updating item quantity.
- CSS handle to
ProductSummaryName
.
- Set max-width of
300px
toProductSummary
component.
- ImagePlaceholder to flexible
product-sumary-image
.
- Fixes issue where the image placeholder was getting huge.
width
andheight
props onproduct-summary-image
.
BuyButton
adding to cart when the product has more than one SKU.
- Create
product-summary-specification-badges
.
- Cleans up some dependencies--uses
debounce
library in favour oflodash/debounce
.
customToastURL
prop to be passed down intoBuyButton
.
- Add missing pricing messages
- Flexible component titles.
- Protect against empty arrays in parsing from catalog function.
product-summary-quantity
to the shelf's allowed array
ProductSummaryBrand
component
- Interaction with the quantity input in the minicart was trigerring the link.
- Fix styles issues with overflows.
- Prop
hoverImageLabel
toproduct-summary-image
. - Created function to normalize product-summary and use it uniformly in other components.
- Allow product-teaser.summary.
- Add capability to show assembly options of assembly options.
- Use private function provided by BuyButton component to normalize its props.
- Prop to show muted state.
- Uses link with product id instead of
/p
only
ProductSummaryContext
.
- Use
vtex.product-summary-context
instead of local context.
product-identifier
as allowed block.
- Uses product id to link to product page
- Build assets with new builder hub.
- Missing interface to handle Wishlist button when using
product-summary.shelf
.
- Add
product-rating-inline
toproduct-summary-column
.
- Updated
vtex.pixel-manager
.
- ProductSummaryPrice content properties to
contentSchemas.json
.
- List and Selling price range feature to
ProductSummaryPrice
.
- Use absolute path for definitions in
interfaces.json
.
- Send cart events to Pixel Manager when updating quantity of product.
contentSchemas.json
for definition of content properties.- i18n content edition support through CMS.
- Include
labelListPrice
prop inproductSummaryPrice
.
- ProductQuantityStepper was sending undefined seller param to updateItems mutation.
- Show
ImagePlaceholder
when the image cannot be fetched (e.g.: offline).
- Attachment related messages had IDs like storefront props and were not showing properly after message scope change.
- Add a
imagePlaceholder
CSS handler.
- Fix
ProductImage
product evaluation.
- Do not render
ProductPrice
when selling price is zero. - Remove content loader from
ProductImage
and put a placeholder when the product has no image.
- Interfaces to inject the
wishlist
plugins. inlinePrice
height to fit its parent's height.
- Rename
product-summary.unstable--flex
toproduct-summary.shelf
- Allow
product-rating-inline
inproduct-summary.unstable--flex
.
- Scope Messages
- Legacy should use attachment list component from legacy.
- Rename interface
_
toproduct-summary-space
to prevent conflict.
- Added new experimental
product-summary.unstable--flex
, under anunstable--
flag.
- Product shape prop-types.
- Use
cartIndex
to correctly update items quantity on cart.
- Replace
background-image
forimg
on Image component.
- Add tachyons class
w-100
toProductSummaryNormal
container.
- Remove spread on
getSchema
that was crashing site editor.
- Add tests.
- Add interface to inject the
wish-list
plugin in the normal mode. - Add
showQuantitySelector
props to set the quantity selector visibility in the inline mode.
- Use Apollo local state managment into the
ProductQuantityStepper
instead of theorderFormConsumer
.
- Use most generic language files.
- Add new type of product summary (inline price).
- Start using assembly resolvers from
store-graphql
- Show assembly options removed from item by user
- Fix tests.
- Incorrect click area on product.
- Add snapshot tests.
- Remove enzyme.
- Create a API Docs.
- Add the optimistic minicart strategy props to the
BuyButton
.
- Remove unused prop
showButtonOnHover
.
- Remove fixed height in
ProductName
andProductPrice
.
- Remove fixed width.
- Use initialQuantity of item composition to decide what attachment to show
- Put the products' quantity selector in a different line of product price to avoid information overlapping.
ProductSummary
Information uses the whole space.
- Add the product description into the product summary - normal mode.
- Buy button types not working properly.
- Display buy button on mobile devices.
- Storefront label names when option is only for web devices.
- Create different components for each display mode (
ProductSummaryNormal
,ProductSummarySmall
andProductSummaryInline
).
- Fix misuse of
isEmpty
fromRamda
.
- Add better guard in
ProductImage
when productClusters is empty.
- Image container and info size proportion for inline mode
- Make price font smaller if price > 100 in inline mode
- Fix
ProductImage
crash with productClusters prop undefined.
- Extract internal components to better reuse.
- Fix styles for inline mode broken by previous wrong rebases
- Remove
blocks.json
- Adapt to use choiceType on assembly options as enums (SINGLE, TOGGLE, MULTIPLE)
- Make inline content occupy full width
- While updating item quantity, show spinner over price
- Make price and quantity stepper align on baseline and not center
- Render method only rendering the price.
- Replace generic html tags to html5 tags for a more semantic approach.
- Use
ProductName
as H2 element.
- Fix different images size in
ProductSummary
.
- Pass more informations to
BuyButton
.
- Fix crash when products doesn't exist.
- Adjust the way to import render-runtime components.
- Bump vtex.styleguide to 9.x.
- Update React builder to 3.x
- Quantity stepper for inline mode
- Support for products with attachments (for delivery)
- Break index file into smaller components
- Remove
undefined
css classes.
- Bye
pages.json
! Welcomestore-builder
.
- Fix price's typography class.
- Variable component height.
- Changed price color.
- Support to CSS modules.
- Add messages-builder and move locales to
messages/
folder.
- Add buy button display option on StoreFront.
- Unavailable button layout.
- Remove
min-heigth
invtex.price
class.
- Unnecessary
BuyButton
rendering.
BuyButton
position whenProductPrice
didn't have all fields.
- Improve padding and font weights
- Update store components version
- Update dependencies in
package.json
.
- Add Design Tokens on Product Summary.
- Fix svg warning caused by the
ContentLoader
.
- Now, buy button doesn't move the product summary box when is hidden.
- Add the
showBorders
property to the schema. - Add optional function that runs when a product is clicked.
- Buy button not showing on hover's action when this option is active on frontstore.
- Export the
labelSellingPrice
of ProductPrice through the props.
- Add sellerId in
BuyButton
component.
- New display modes of the summary (small and inline).
- Availability verification
- Update the
store-components
version.
- Using
ProductName
own schema
- Show product: sku, reference and brand to the schema.
- Rename the main file to
index.js
- Content loader to work on Firefox.
ProductSummary
content loader style and logic.
- button text position
- the default value which indicates if the
CollectionBadges
should be displayed or not.
BuyButton
passed props.
- Add the
showCollections
property to the schema.
- Prop to set whether or not to show the collection badges.
- Error when
productClusters
wereundefined
.
- Integration with
vtex.store-components/CollectionBadges
isLayout
to schema properties.
- Added isOneClickBuy attribute.
- Add internationalization into
ProductSummary
schema
ProductSummary
schema to reuse theProductPrice
one
- Fix
vtex.store-components
dependency. - Fix Installments property passed to ProductPrice component.
- Update product price name.
- Update
vtex.storecomponents
dependency version to1.x
- Remove
@vtex/buy-button
and@vtex/product-details
dependencies and usevtex.storecomponents
.
- Remove
afterClick
param of BuyButton call.
- Change dependencies to use the buy button being provided by
vtex.storecomponents
app instead of npm module.
- Move buy button to outside of product page link
- Update productSummary to get
skuId
, and pass throughBuyButton
component.
- Fix Link component params to use
linkText
in a prop slug
- Add the Product Image component which is responsible to display a main image and a list of thumbnail images of a Product.
- Use the Link Component from render module.
- Use Price, ProductName and DiscountBadge from npm-storecomponents.
- Fix components style that was overwritten by the Link Component.
- Removed ProductImage Component and it's dependencies.
- Fix summary style on mobile screens with the shelf component
- Add the component dynamic schema props to hide the
showButtonOnHover
property ifhideBuyButton
is activated.
- Does not show list price when it is equal to selling price
- Always shows the buy button on mobile if
showButtonOnHover
is activated (smartphones and tablets)
- Add default schema props to the Product Summary
- Component Create the VTEX Store Component Product Summary