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.
- Update GitHub actions/cache to v4
- Prop
splitItemofminicart-product-list
- Drawer component onVisibilityChanged property to handle open/close state
- Logic of the useViewCartPixel hook
- Fixes of i18n on readme.md accorrding to task LOC-10558.
- Send
vtex:viewCartevent to analytics when minicart is opened
- Provide
originalTotalprop (sum of item list prices) tocheckout-summaryextension point
- Indonesian and Thai translations.
- Portuguese, Spanish and Italian translations.
- Schema to the
checkout button, this makes it possible to define via admin where the user will be directed after the click
- Quantity update by using item index instead of uniqueid
- Do not emit
cartChangedpixel event if orderForm is still updating (denoted by the most recent item'sadditionalInfoproperty beingundefined)
- Brackets in
minicart-checkout-button(documentation).
- Prop
finishShoppingButtonLinkofminicart-checkout-button.
- Bug Fixed on pixelHelper if validation.
- Norwegian variant translation.
- Spanish translation
- Hungarian and Arabic translation.
- Crowdin configuration file
- New
blockvariation
- New condition in
getNameWithoutVariantatpixelHelper.tsto check if item.name is the same as item.skuName.
- New
popupWithLinkvariation.
- Pass paymentData as prop to Summary component
- GTM events to follow Google's defined patterns
- I18n Jp and No.
- I18n Ro.
- Crowdin configuration file.
- New property
allowedOutdatedDatatohandleQuantityChangeandhandleRemoveevents.
- Property
priceIsIntin pixel events, so it's possible to properly identify when to divide price by 100 in pixel apps.
classesprop to all exported components.
vtex.css-handlesdependency is now on major1.x.
- I18n Ro and Cs.
- Crowdin configuration file.
- Ignore assemblies values on
itemCountMode.
totalAvailableanddistinctAvailablevalues foritemCountMode.
totalAvailableanddistinctAvailablevalues foritemCountMode.
- Use navigate when redirecting to checkout
- Mini cart not rendering variation link when in mobile version.
- Translations for
bg,ca,da,de,el,fi,fr,it,ko,nl,pl,ru,sk,sl,sv, anduk.
- Fix broken links in the app documentation
- Memoize change and remove callbacks to avoid re-rendering product list items unnecessarily.
customPixelEventIdprop.
MinicartIconprop tominicart.v2.
- Added
itemCountModeprop inminicart.v2.
- Default empty state layout.
- New property
productIdtoaddToCart,removeFromCartandcartChangedevents.
- Missing
rootPathingoToCheckoutfunction.
- Build failing to find entry point for
minicartblock.
backdropModeonminicart.v2.
- Bump dependency versions.
referenceIdtoaddToCartandcartChangedpixel event payloads.
- Updated
CODEOWNERSfile with responsible teams for each directory. - Updated
.all-contributorsrc. - Add
quantityDisplayprop inminicart.v2.
- Import queries and mutation directly.
- Faulty verification at BaseContent component.
- Transparency effect in 'drawer' variant.
- [Legacy] Correctly add SKUs that might have attachments.
OrderItemsProviderinsideProductList.
cartIdpixel event.
- Duplicated components being rendered due to a faulty verification at BaseContent component.
Advanced configurationsection in the documentation.
- Design improvements.
- Popup minicart behavior when
openOnHoveris set totrue.
- Use
render-runtimenavigatefunction to proceed to cart in order to benefit from apollo cache.
BaseContentcan now render anychildrenblocks passed to it.minicart-checkout-buttoninterface.- New
minicartCheckoutButtonCSS handle.
- Default blocks implementation to use these new features.
labelDiscountTextCSS handle tominicart.
- New fields
detailUrlandimageUrlto items inaddToCart,removeFromCartandcartChangedevents.
- Missing
h-100token onminicart-base-content.
- New pixel event
cartChangedwhen an item is removed or added.
- Remove variant name from product name in
removeFromCartevent. Making the name consistent across events.
- Lazy load minicart.v2 content
- Render minicart button on SSR
- New CSS handles.
- New
minicart-empty-stateinterface.
- Update some dependencies, fix tests.
- Link to Cart now varies depending on the version of
vtex.checkoutinstalled in the account.
MinicartLegacy.jsrenamed back toindex.js.
- New
minicart.v2,minicart-base-content,minicart-product-listandminicart-summaryinterfaces. - Support for a flexible minicart implementation using these new blocks.
- New
openOnHoverprop.
- New
iconsPropsprop.
- New items that must be added in the local state are filtered using "id" and "seller".
- Expose
iconLabelto be edited in Site Editor.
- Add missing data necessary to pixel events.
- Use ButtonWithIcon component, removing deprecation warning.
- New CSS handles to all components.
- Removed unused
react-device-detectdependency.
- Allow
sandboxblock on footer.
- Add render type to lazy
addToCartmutation would add items to the minicart even though they were already there.
- Removed overflow-hidden token inserted when only one item on minicart.
- Problem when modifying cart in checkout screen and item still being displayed on minicart after coming back to store screen.
- Added
linkButtonfield for the finish shopping button
- Use
sellingPriceWithAssembliesfield to display item price.
- Pixel events of
addToCartandremoveFromCart.
- Add a new prop that controls if the minicart should show the total price of the items in the cart if the price is bigger than 0.
- Offline Minicart adding repeated items when user navigates.
- Some synchronization issues on offline scenarios.
- Local items being deleted even when the server returned an error.
- Pass prop
isPartialto the product summary extension point.
- Add a new prop that controls if the minicart should show the total quantity of items or just the quantity of different items.
- Protect against undefined totalizers case.
- Build assets with new builder hub.
- Add rootPath prefix to checkout redirect.
- Migrate to pixel-manager v1.
- Use an overlay div instead of
react-outside-click-handleron Popup.
- Fix total purchase value when the product is unavailable for shipping in the selected address.
- Separate local state resolvers into separate functions and add tests.
- Add Lint to repo, fix basic issues.
- Fixed the case when an item is added offline and the user closes and then accesses the store again still offline.
isOpenstate is now coming from Apollo Local State.
- Export MiniCart schema and create test case for it. (Releasing again.)
- Add offline minicart logic allowing users to add an item to the cart when there is no network connection.
- Export MiniCart schema and create test case for it.
- Fix bug on Popup mode where clicks inside the minicart were closing it.
- Use
react-portalto add Popup and Sidebar on the top level of the body.
- Fix props passed to
addToCartevent.
- Scope messages by domain
- Add the
removeFromCartevent.
- Fixes
Cannot read property 'replace' of nullbug ontoHttps.
- Implement multiple status to simulate request queue and be able to continuously sync local state and server.
- Stringify and parse local state order form to prevent bugs in apollo link state.
- Make items mutations be based on index and nothing related to sku id.
- Remove unused
itemMetadatafields from orderForm and minicart queries.
- Correctly get orderForm from server mutation on replay mutation method.
- Add toast when request to checkout fails.
- Add default fields to all items to prevent bugs when adding item to cart with missing field.
- Use the new Apollo Local State API to manage the orderForm and the minicart items to a faster UX.
- Use most generic languages files.
- Use
inlinePriceproduct summary type.
- Using
store-iconsinstead ofdreamstore-icons
- Fix Tests.
- Use assembly resolvers of
store-graphql
- Fix
package.jsondependencies.
- Setup tests and snapshot test.
classNamesnot found.
showRemoveButton,showSku,enableQuantitySelectorandmaxQuantityprops that were not used.Imagecomponent that was not used.
- Total discount was not showing, even when enabled.
- Fix warnings.
- Minicart flick when scroll is being displayed.
- Revert the
link-stateconfiguration.
- Remove block elements inside inline elements.
- Using html5 tags to a more semantic structure.
- Styles section on docs.
- Improve tokens description on docs.
- Implement an optimistic strategy using apollo-link-state so the minicart operations feel faster.
- Create a API docs
- Minor refact on blocks language.
- Pass composition item to product summary
- Small margin adjustments for shipping cost view
- Add shipping fee string id to context.json
- Protect against
itemMetadatanull
- Add icons from
vtex.dreamstore-icons.
- Remove inherit component from
blocks.json
- Send to product-summary the "choice type" of each assembly option (SINGLE, TOGGLE or MULTIPLE)
Add possibility of showing shipping cost above footer
Rename large prop to isSizeLarge for better description
- Adjust the way to import render-runtime components
- Bump vtex.styleguide to 9.x.
- Update React builder to 3.x
- Create isSingleChoiceOption function and calculate parent item price correctly.
- Fixed price overlapping in the mobile view.
- Fix icon vertical aligment in the header in mobile view.
- Remove
undefinedcss classes. - Change
store/producttostore.producton Link.
- Bye
pages.json! Welcomestore-builder.
- Replace URL just for legacy file manager url format.
- Icon aligment.
- Create
groupItemsWithParentsfunction, add tests. Group parent items with its attachments.
- Support to messages builder.
- Remove unnecessary declarations on
manifes.json.
- Bump major version of
vtex.styleguideandvtex.store-components. - Add design tokens on selling price label.
- Fix minimum items length to scrolling in minicart.
- CSS module classes' name to be in CamelCase.
- Don't render the discount label when there is no discount.
- Items sort by insertion order.
- Support to CSS Modules
- Mixed Content error, insecure http image
- Poor image quality
- Set cart badge color to bg-emphasis
- Vertically center number on mini cart badge
- Replace delete button after click with spinner, Fix price loading and add error when something goes wrong when removing from cart.
- Use of
vtex.use-svglib to display icons.
- Fix scrim not covering entire screen.
- Update the
MiniCartContentcomponent to use theProductSummaryfrom thevtex.product-summaryinsteadMiniCartItem. - Update the size of
Sidebarto 80% of original value. - Add shadow scrim.
- Replace typography and color classes with design tokens.
- Use icons from the dreamstore icon pack.
- Close the
SideBarafter clicking some product's link.
- Update the
SideBarcomponent to use theAnimationfrom thestore-components.
Sidebarheader to use border instead of shadow, according to the design.
- Redesign of the
MiniCartContentfooter layout, now there are three rows aligned on the right side of the footer.
- Empty message position of the
MiniCartContentto be vertically centered in the pop-up mode.
- Hide label in screens thinner than the laptop resolution.
- Fixes being able to scroll the body on mobile with the
Sidebaropen.
- Refactor the
global.css.
MiniCartto receive the icon's classnames.CartIconto fill the parents color.
Sidebarheader design colors.
MiniCartbagde position.
- Update the
Styleguideversion. - Update the
store-componentsversion.
NumericStepperfrom styleguide into theMiniCartItem.
- Change
MiniCartItemquantity.
- Add CSS class to
MiniCartlabel.
- Fix box position to be compatible with the new header design
- Discount label text.
- props
iconLabel,iconSize,iconColortoMinicartcomponent
MiniCartoverflow hidden property which was affecting all the screens with at most 400px of width.
- Content Loader while the
MiniCartItem's image isn't loaded.
MiniCartItem's name width.
MiniCartContentprop-types.- Remove item.
- Animation into the
SideBar.
- OrderFormContext component
- Removed Graphql queries and mutation
- Open sidebar independent of configuration if on mobile.
Popupto appear when theMiniCartbutton is clicked instead of on hover.
maxQuantityundefined warning.- Loading mixed (insecure) display content warning.
- Minicart SideBar type.
- Fix duplicate items showing when changing the quantity.
- Quantity Selector into the
MiniCartItem
- Hide the quantity badge when the quantity is less then 0
- Add internationalization into minicart schema
- The mini cart components to use the store components.
- PropTypes to reuse the mini cart's one.
- Update folder structure
- Fix minicart render error when cannot fetch the orderForm from graphql.
- Fix minicart locales
- Add badge to show the quantity of items in the mini cart.
- Add arrow indicator to mini cart content.
- Add event listener on minicart that will be used to update minicart badge.
- Refetch order form data when a new product is added to the mini cart.
- Add a spinner when remove button is pressed.
- Add feature that allows to remove a minicart item.
- Publish first version of the app.