Elements and Script Changelog

Changelog

All notable changes to Tipser Elements project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

v4.5.0

2023-10-03

Added

  • Upgraded branding to Bolt
  • Stability fixes

v4.5.0

2023-09-19

Added

  • Tipser Elements and Tipser Script redesign and rebrand

Fixed

  • Various performance fixes

v4.4.3

2023-08-30

Added

  • Direct to Checkout now supports skipping PDP for existing products

v4.4.2

2023-08-30

Fixed

  • Minor stability fixes for Dynamic Import & GB support

v4.4.1

2023-08-29

Fixed

  • Upgraded Stripe and fixed issues with Create React App and Strict mode compatibility
  • Lazy initialisation of shopping cart and token creation for better performance

v4.4.0

2023-08-29

Added

  • Full support for UK market checkout with Stripe
  • Multiple minor fixes to checkout

v4.3.0

2023-08-03

Added

  • Beta support to Dynamic Import and Express Checkout for Tipser Elements
  • Direct to Checkout refinements - Tipser Script support
  • Support to dynamic Bolt Embed script configuration depending on the account configuration

v4.2.4

2023-03-29

Fixed

  • Shopper account creation checkbox default selection is now properly recognized

v4.2.3

2023-03-15

Fixed

  • Multiple minor UI fixes to checkout
  • Clearing cart on Direct to Checkout action
  • Shopper account creation is default checked on US markets
  • Optimized UI of Direct to Checkout on mobile
  • Fixed accidental Direct to Checkout modal closing
  • Fixed promo code button input overflowing the label

v4.2.2

2023-03-10

Fixed

  • Link replacement didn't open the checkout when the anchor element contained an HTML element that captured an event. Now, anchor can contain any element within and the dialog will be correctly opened.

v4.2.1

2023-03-09

Added

  • Introduced new beta API for Link Replacement with DOM mutation observer in both Script and Elements
  • Added demo site for Link Replacement

Changed

  • Footer links lead now to the updated privacy policy for US and UK customers to allow passing customer support directly to merchant
  • Optimized performance of Direct to Checkout to avoid unnecessary rerenders

Removed

  • Removed previously ignored Lint errors and warnings to ensure stronger typing

v4.2.0

2023-02-20

Added

  • Introduced a new beta API for easy direct to checkout implementation on both Tipser Script and Tipser Elements

[4.1.0]

Fixed

  • Checkout and Confirmation Pages display incorrect discount amount when there is also discounted (free) shipping.
  • When a payment via credit card fails a nice error message appears now - previously there was no message to a shopper

Changed

  • As logged shopper, when a payment is completed with a new card, the card is remembered for the next purchases

v4.0.14

2023-01-18

Changed

  • Updated cart and checkout purchase consent for UK and US markets

v4.0.13

2023-01-05

Changed

  • Login Box on Checkout Page is relocated to a more intuitive position -> to the top of the page.h

Fixed

  • Completing PayPal's express checkout won't freeze anymore on infinite loading state.

v4.0.12

2022-12-20

Fixed

  • Changing billing address on Checkout Page shouldn't crash Tipser Elements anymore.

v4.0.11

2022-12-14

Changed

  • Introduced a distinction in communication with the user for purchases from merchants who run their own customer support and from merchants whose customer support is run by Tipser.
  • Introduce Payment Receipt page as replacement for order confirmation page for merchants, that own customer support.
  • Minor changes to views and texts, related to introduction of customer support handled by merchants.

Added

  • Billing address to Confirmation Page

Fixed

  • Minor errors on Confirmation Page and Checkout Page

[4.0.10]

Fixed

  • Quick fix of visibility of US Duty Warning on Cart Page - the warning hidden temporarily.

v4.0.9

2022-10-25

Fixed

  • TypeError that appeared in context of CodeSandbox and similar

v4.0.8

2022-10-10

Fixed

  • Shipping information address form on mobile was in two columns instead of one, making it hard to read.

v4.0.7

2022-10-06

Fixed

  • Fixed buy buttons sometimes being disabled when interacting with variants on the product view page

v4.0.6

2022-09-26

Fixed

  • Fix error when React sometimes was loosing event in checkout form

v4.0.5

2022-09-07

Changed

  • Hide Out Of Stock items from variants selector when there are in total more than 30
  • Fix readability issue in select, setting its max-height

Fixed

  • Fix error handling for delivery address

v4.0.4

2022-08-18

Changed

  • Update visa logo

v4.0.3

2022-07-20

Fixed

  • Fixed redirecting to confirmation page on Tipser Script

v4.0.2

2022-07-14

Fixed

  • Added proper support for shoppers without shipping address

v4.0.1

2022-07-13

Fixed

  • Small stylystic improvements in checkout UI

v4.0.0

2022-07-07

Added

  • Support for Bolt's one-click checkout

v3.3.27

2022-09-07

Changed

  • Hide Out Of Stock items from variants selector when there are in total more than 30

v3.3.26

2022-08-06

Changed

  • Update visa logo

v3.3.17

2022-06-06

Changed

  • goToProduct() function returns a Promise so it is now detectable if it's failing

v3.3.16

2022-05-19

Changed

  • class te-error is appended to form input’s wrapper element with validation errors (and additionally te-error-required if the validation error is caused by missing required field)

v3.3.15

2022-05-12

Added

  • exported CartPromoCode component

v3.3.14

2022-05-05

Fixed

  • TipserElementsProvider config prop can be updated dynamically
  • added to cart popup appears after each add to cart action (earlier it appeared every second add to cart)

v3.3.13

2022-04-14

Added

  • Replaced the old Tipser logo in the footer with the new "Tipser by Bolt logo"

Changed

  • tipserTokenAnonymous cookie removed

Fixed

  • product tile HTML structure
  • minor stylistic fixes in the checkout component

v3.3.12

2022-04-05

Fixed

  • full area of product tile is now clickable (before only the image and the button were clickable)

v3.3.11

2022-03-30

Added

  • Possibility to pass sessionId in config

Fixed

  • minor styling fixes

v3.3.10

2022-03-07

Fixed

  • Added new event for AB tests measurements

v3.3.9

2022-03-01

Added

  • "Notify me when back in stock" section on product details (experimental)

Changed

  • Different way of presenting payment method icons in the footer

Fixed

  • Fixed Google Pay and Apple Pay icons loading delay on checkout
  • Correctly including sale prices in price summary on the cart page
  • [Tipser Script] Enforcing unmounting components when the route is changed (known problem for our Angular users)

v3.3.8

2022-01-27

Fixed

  • total value on cart popup includes currently active campaign

v3.3.7

2022-01-25

Deprecated

  • eventsHandlers config property has been renamed to eventHandlers

Fixed

  • subtotal value on checkout page is now correct
  • product availability section styling
  • freeze of modal view on ios devices
  • always full list of items is visible on cart page (including not available items)
  • cart is empty if there are no items (earlier cart was empty if there are no available items)

v3.3.6

2022-01-21

Fixed

  • no duplicated purchase events in case of PayPal on Klarna market
  • applying empty checkout page when all the products in the checkout are OoS or removed from inventory

v3.3.5

2022-01-18

Changed

  • DropdownContextProvider and useDropdownContext has been removed.

v3.3.4

2022-01-18

Fixed

  • Context availability for modular dropdown component

v3.3.3

2022-01-17

Changed

  • new version of product availability section
  • native select dropdown for product variants (iPhone)
  • new default CheckoutPayment component with enabled alternative payment options

Fixed

  • optimized import for global styles
  • product dialog main image on iphone 11
  • modular CheckoutCustomerAddressBilling and CheckoutCustomerAddressDelivery style fixes

v3.3.2

2022-01-04

Fixed

  • updated support links in the footer
  • added missing translations in Footer and CartExpressPayment

v3.3.1

2021-12-30

Changed

  • new version of product availability section (as A/B test)
  • new version of the modal footer

v3.3.0

2021-12-23

Changed

  • new CheckoutPage and CartPage implementation and design
  • new structure and styles for CheckoutCustomerAddressDelivery Modular Checkout component

v3.2.3

2021-12-16

Fixed

  • fixed the broken styles for disabled buttons
  • fixed z-indexes on the "sold by merchant" explanation popup in the product dialog
  • removed window usage from global scope for the basic SSR support
  • supported payment methods icon are now being displayed on the cart page even if there is no express payment options available

v3.2.2

2021-12-10

Fixed

  • category field in analytics events

v3.2.1

2021-11-25

Added

  • added onAnalyticsEvent event to eventsHandlers section of the configuration as a replacement to document.addEventListener('tw-track', analyticsHandler); way of subscribing to analytics events

Changed

  • Change in HTML/CSS structure of Collection/Store underlying ProductTile element
  • legal consent text and payment logos are no longer being displayed on the cart page when there is no express payment methods available
  • using image urls with img.tipser.com prefix instead of res.cloudinary.com/tipser

Deprecated

  • Deprecated document.addEventListener('tw-track', analyticsHandler); way of subscribing to analytics events

Removed

  • PaypalExpressButton and PaymentRequestButton are no longer exported. CartExpressPayment and CheckoutPaymentMethodSelector components should be used instead.

v3.2.0

2021-11-04

Changed

  • directToCheckoutMode: true causes the user to see the cart page instead of the checkout page after "add to cart" button on the ProductListing / ProductPage component is clicked. The only exception is when customCartUrl is not defined but customCheckoutUrl is defined. In such a case the user is presented with a checkout page.
  • checkout page can no longer be editable (the editable prop has been removed from the CheckoutProductList component)
  • error popups are now being hidden after 10 seconds instead of staying visible forever

v3.1.13

2021-10-27

Added

  • promo code component introduced on the cart page

Fixed

  • missing payment method in purchase analytics event
  • delivery address is properly submitted after checkout page refresh

v3.1.12

2021-10-25

Added

  • Support for Norwegian language
  • Support for Norway market

Fixed

  • Scroll blocking implementation for iOS Safari when the modal dialog is open

v3.1.11

2021-10-22

Fixed

  • Fixed Klarna logo which was truncated on the cart view in modal

v3.1.10

2021-10-21

Added

  • Support for modalUi.hideCartIcon config option
  • Support for eventHandlers.onModalClose config option

Fixed

  • Stripe script is not loaded when there is no API key (not causing warning)

v3.1.9

2021-10-13

Changes

  • added informational popup when availablity or price of the cart products changed during express checkout session
  • prompting using variant selector from the user on mobile when add to cart is clicked without variant selected
  • removed the second billing address form from checkout page
  • correctly displaying payment method on the checkout confirmation page

Fixed

  • Fixes in corner cases handling on cart page (out of stock products, price changes)
  • Displaying the error about incorrect shipping country immediately instead of after loading time
  • Fixed z-indexes of popups on cart and checkout so that they are always appearing on top
  • Fixed occasional infinite loop on the checkout page

v3.1.8

2021-10-01

Fixed

  • quick fix for translations problem in the payment selector that occurs on Preact

v3.1.7

2021-10-01

Fixed

  • fixed missing confirmation view for express payments when confirmation page is on the same page as checkout

v3.1.6

2021-09-30

Changed

  • better presentation of error messages on the credit card form

Fixed

  • "add to cart" button is now disabled for the duration of the add to cart request
  • fixed the modular cart crash when the onPendingChange callback is not provided

v3.1.5

2021-09-28

Changed

  • Activated express payments and payment method selector components on the default implementations of cart and checkout pages (on the supporting markets)

Fixed

  • Removed the unsupported data-name attributes from the payment method SVG icons
  • "PayPal" payment method is being properly displayed to the user in the confirmation page instead of blank space

v3.1.4

2021-09-24

Changed

  • Added more payment option icons in the cart phase

Fixed

  • Solved the problem with PayPal not appearing on production

v3.1.3

2021-09-22

Added

  • Support for data-tipser-modular-cart-express-payment and data-tipser-modular-checkout-payment components in the HTML syntax

v3.1.2

2021-09-21

Changed

  • Merchant logos are now in rounded shape
  • Improved behavior and styles for the "Pay" button on the Stripe payment module
  • getCartItems function returns cached results is no cart changes occured as a result of the user action

v3.1.1

2021-09-15

Fixed

  • Icons on cart page have correct sizes

v3.1.0

2021-09-15

Added

  • CartExpressPayment available in ModularCart
  • CartExpressPayment available on CartPage when flag enableExpressPaymentsOnCartPage = true is in config
  • CartGoToCheckoutButton available in ModularCart
  • CheckoutPaymentMethodSelector available in ModularCheckout
  • CheckoutPaymentMethodSelector available on CheckoutPage when enablePaymentSelectorOnCheckoutPage = true flag is in config

Changed

  • Native variant selector contains stock counts next to the variants

Fixed

  • Added missing className prop on part of the components
  • Long variant names are cut with ellipsis, and they do not break the layout down

v3.0.26

2021-08-12

Fixed

  • Fixed the problem with incorrect layout of checkout
  • Fixed object-fit setting

v3.0.25

2021-08-10

Added

  • Introduced a pilot version of PayPal payments for the US market
  • Displaying merchant logos (if available) next to the package header in the CartPage and CheckoutPage components

Fixed

  • Incorrect behavior of product thumbnails on the ProductListing and ProductPage components (they were not occupying the full available space)
  • The month name on the confirmation page is now using the proper locale

Changed

  • Changed the icons on the order confirmation page to cleaner versions
  • Introduced a better way to present the package details (the section that is expanding after clicking on a package header) on the CartPage and CheckoutPage components

v3.0.24

2021-07-27

Changed

  • Increased the speed of animation of extending / collapsing description in the product listing component

v3.0.23

2021-07-27

Fixed

  • The support links in the checkout confirmation page are now localised

v3.0.22

2021-07-26

Added

  • Added delivery notification info to the standard checkout on the Swedish market

Changed

  • Changed the way that the product description is presented on the product listing component
  • Responsive layout of the icons at the bottom of the confirmation page

v3.0.21

2021-07-23

Changed

  • POS terms in CheckoutLegal component are now rendered as HTML (it's now possible to use anchors and other HTML syntax)
  • ProductListing component is now displaying expandable description section instead of description overlay

v3.0.20

2021-07-20

Added

  • included merchant name in several places on the shopping UX
  • exported useCartContext hook for accessing the cart context inside ModularCart component
  • introduced disableEmptyCartRecommendations prop to the CheckoutPage component

Fixed

  • cart size indicator animation on the CartIcon component is triggered every time a product is added to the cart (not only the first time)

v3.0.19

2021-07-16

Fixed

  • Fixed a problem with confirmation page not appearing for embedded checkout with Klarna
  • Products list on the confirmation page is no longer editable
  • Fixed the tax value on the checkout confirmation page after refreshing the page

v3.0.18

2021-07-15

Changed

  • TipserScript: styles are appended to the head elements instead of body
  • UX: items number is no longer displayed in the "summary" section of the standard checkout (there was no need to display it twice)

v3.0.17

2021-07-13

Added

  • introduced updatePosData() internal function
  • default styles to the cart phase of Tipser dialog (unless inheritStyles: true option is used)

Changed

  • Changed the position and translation of the "Edit cart" button in the cart phasse

Fixed

  • Fixed an occasional problem with incorrect products appearing in the color relation section

v3.0.16

2021-07-09

Fixed

  • Validation of the state field in the delivery form works correctly after refreshing the checkout page
  • Fixed Stripe checkout form occasionally crashing when the browser window is resized

v3.0.15

2021-07-07

Added

  • trackProductImpression internal function to track product impressions manually

Fixed

  • fixed product tile styles
  • product tile and product listing components are now sending impression events correctly

v3.0.14

2021-06-28

Added

  • better validation of the phone number in the checkout address form

v3.0.13

2021-06-18

Added

  • Possibility to disable the click action on product item in ModularCart component by disableProductClickAction prop (Elements) and data-tipser-modular-cart-disable-product-click-action attribute (Script)

v3.0.12

2021-06-17

Fixed

  • Gotham font import for inheritStyles: false option
  • Updating cart view after adding item to cart from internal function

Changed

  • Increased default z-indexes for the Tipser Dialog so that it's always closable

v3.0.11

2021-06-14

Fixed

  • Variant dropdown auto-opening issue on React 17

v3.0.10

2021-06-11

Fixed

  • Solved the issue with submitting delivery address on checkout introduced by 3.0.9
  • Checkout address form submit issue introduced in 3.0.9

v3.0.9

2021-06-11

Fixed

  • Tipser Script: Dynamic adding of modular product child components works correctly
  • Removed US payment provider logos from the EU checkout pages
  • Restored the "edit cart" button on the checkout page
  • Fixed CartIcon button not reacting to click after Tipser modal was open for a specific customer environment

v3.0.8

2021-06-03

Fixed

  • Using CheckoutCustomerAddressDelivery and CheckoutPaymentRequestButton together doesn't cause problems with selecting shipping address on payment request window

v3.0.7

2021-05-31

Fixed

  • Customer data is available on confirmation page after payment using CheckoutPaymentRequestButton component
  • Tax calculation works correctly in case of combining external address form and CheckoutPaymentRequestButton

v3.0.6

2021-05-26

Added

  • lang config option impacts Klarna Checkout language
  • variantId field added to checkout-related tw-track events
  • support for "preowned" label in product-related components
  • CartPage component: syncing cart between browser tabs

Fixed

  • CheckoutPaymentRequestButton no longer crashes with useStandaloneAddressForm=true prop
  • Purchase tw-track event is now being correctly send in Checkout 2.0 after successful transaction

v3.0.5

2021-05-19

Added

  • CheckoutPaymentRequestButton component (to be used in ModularCheckout context) displaying ApplePay or GooglePay payment option, depending on the environment
  • label for pre-owned products in ProductPage

v3.0.4

2021-05-19

Fixed

  • fixed odd rendering of HTML product descriptions in some cases
  • fixed handling of customUrl.checkoutConfirmationUrl when custom history implementation from react-router 5 is provided

v3.0.3

2021-05-12

Added

  • new Element components: ProductTile, ProductListing, Carousel, ModularCart
  • new Script tags: data-tipser-product-tile, data-tipser-product-listing, data-tipser-modular-cart-page
  • config property modalUi: {inheritStyles: true} removing fixed styles from product and checkout dialog for more convenient application of custom CSS
  • Script: added support for attribute
  • added cart summary step before checkout step in the dialog
  • prefixed with te- the generic class names like label, value, uppercase, sales, regular, colliding with Bootstrap standard class names
  • added te-promo-code-toggle css class
  • added showBackToCartButton prop to CheckoutProductList component

Changed

  • renamed Checkout to CheckoutPage (Elements) and data-tipser-checkout to data-tipser-checkout-page (Script)
  • renamed readOnly prop of CheckoutProductList component (defaults to true) with editable (defaults to false) with inverse logic

Fixed

  • fixed the problem with promo code not updating Klarna price in Checkout V1
  • renamed generic classnames colliding with bootstrap-styled pages
  • fixed oversized buy button in checkout
  • promo code functionality in checkout is now working correctly
  • fixed the problem with wrong product images on the product details page
  • fixed useCheckoutContext() hook (now works correctly with both with Klarna and Stripe)
  • fixed subtotal price field in checkout

v3.0.2

2021-04-19

Fixed

  • using the correct version of the CSS file by Tipser Script
  • fixed the problem with infinite redirect cycle that may happen on the confirmation page when using enableCheckoutV2: true flag with Tipser Widget and customUrls.confirmationUrl

Changed

  • displaying 0.00 as prices on empty checkout

v3.0.1

2021-04-15

Fixed

  • promo code savings information in CheckoutSummary (data-tipser-modular-checkout-summary) component is now displaying price ex. tax, as expected, after the delivery address is specifed
  • fixed a bug with promo code application error not appearing to the user

Changed

  • product variant separator has been changed from "x" to "-" in a various places of the UI, e.g. "S x White" variant name will be now displayed as "S - White"

v3.0.0

2021-04-15

Changed

v2.3.31

2021-11-10

Changed

  • return image url with img.tipser.com prefix instead of res.cloudinary.com/tipser in CloudinaryImg.getImageUrl

v2.3.30

2021-07-23

Added

  • delivery notification info on Swedish checkout

v2.3.29

2021-07-20

Added

  • pos terms are rendered as HTML code

v2.3.28

2021-07-15

Changed

  • updated the analytics payloads

v2.3.27

2021-07-07

Changed

  • updated the analytics payloads

v2.3.26

2021-06-29

Changed

  • ProductTile and ProductListing components are now sending impression events

v2.3.25

2021-06-29

Added

  • trackProductImpression internal function to allow Tipser impressions tracking for customers building their own product tiles

v2.3.25

2021-06-28

Changed

  • changed the way article field is formatted in the "add to cart" request to the Tisper API

v2.3.24

2021-06-18

Changed

  • addToCart internal function now sends "product click", "product description" events to analytics

v2.3.23

2021-05-26

Added

  • the lang config option impacts the Klarna locale
  • sending variantId in tw-track events

Fixed

  • product details info styles fixed on Safari

v2.3.22

2021-05-17

Added

  • CheckoutPaymentRequestButton component with Apple Pay and Google Pay support

Fixed

  • finalizing checkout is now possible when the billing address form is missing in ModularCheckout

v2.3.21

2021-05-17

Fixed

  • fixed new lines formatting in product description

v2.3.20

2021-05-15

Fixed

  • fixed odd rendering of HTML product descriptions in some cases

v2.3.19

2021-05-13

Fixed

  • reset styles of class "label" and "value" colliding with Bootstrap

v2.3.18

2021-05-12

Added

  • TipserScript: added support for data-tipser-modular-cart attribute

Changed

  • rename Checkout to CheckoutPage

Deprecated

  • Checkout component will be removed soon (please use CheckoutPage instead)

Fixed

  • changed the generic class names colliding with Bootstrap styles
  • removed redundant comma from collapsed address form in checkout

v2.3.17

2021-04-28

Added

  • useCartContext hook is now exported

Changed

  • trying to call tipser.elements() function more than once will display a warning on the JS console and return a cached instance from the original call
  • Unified the product list UX across cart, checkout and confirmation pages

v2.3.16

2021-04-27

Added

  • new configuration option under customUrls called cartUrl controlling

Fixed

  • Fixed oversized image problem for some specific products

Changed

  • Products at the product list are no longer clickable on the default confirmation page

v2.3.15

2021-04-27

Fixed

  • Fixed the problem with promo code not updating Klarna price in Checkout V1

v2.3.14

2021-04-26

Added

  • te-promo-code-toggle CSS class on the promo code toggle element in the standard checkout for easier hiding it via CSS

Fixed

  • Subtotal price is now correctly displayed in Checkout v2 when there is no discounts
  • useCheckoutContext() hook is now working correctly even with Checkout v1 being used

v2.3.11

2021-04-21

Fixed

  • incorrect rendering of the product image on the default product dialog sometimes on the mobile breakpoint
  • too many render cycles of ProductImage component in some circumstances

v2.3.10

2021-04-19

Added

  • new config props for AddedToCart component called duration and className
  • product brand and variant name to AddedToCart popup

Fixed

  • fixed the problem with infinite redirect cycle that may happen on the confirmation page when using enableCheckoutV2: true flag with Tipser Widget and customUrls.confirmationUrl

v2.3.9

2021-04-13

Fixed

  • removed delay when rendering Modular Checkout with Tipser Script
  • ProductPrice component is not displaying tax information for the US market

Changed

  • the currency is no longer displayed on CheckoutProductList component when there is no products in the checkout

v2.3.8

2021-04-12

Fixed

  • Fixed the “zip code does not match state” error not being displayed to the user after submitting the delivery address form
  • ModularCheckout.Empty section is no longer getting ignored in Checkout V2 when opening the checkout page with an empty cart
  • "Added to cart" popup shows the price of the specific variant added instead of of master product price

Changed

  • Removed “org. no” row on the checkout merchant summary on the US market

v2.3.7

2021-04-08

Fixed

  • Visual errors in ProductThumbnails component
  • Modular Checkout not rendering with Tipser Script when checkout module elements are added dynamically

v2.3.6

2021-04-08

Fixed

  • Modular Checkout not rendering with Tipser Script when used with enableCheckoutV2 flag enabled

v2.3.5

2021-04-08

Added

  • Alternative TipserScript tags: data-tipser-product-tile, data-tipser-product-listing, data-tipser-product-page, data-tipser-product-id, data-tipser-collection, data-tipser-collection-id

Changed

  • Unified order summary across the checkout page and confirmation page in the checkout component for US

Fixed

  • Modular Checkout not rendering with Tipser Script when used with enableCheckoutV2 flag enabled
  • Swiping problem solved in ProductThumbnails with direction: "horizontal"

v2.3.4

2021-04-01

Changed

  • The error object returned from failed promises (e.g. from the "internal functions", like addToCart) has now a simple structure of {id: string, message: string}

v2.3.3

2021-03-31

Changed

  • The new Tipser Checkout 2.0 API is now enabled only for the users who use the enableCheckoutV2 config option

v2.3.2

2021-03-30

Added

  • <ModularCart.Empty> and <ModularCart.NonEmpty> sections to be used within ModularCart

Fixed

  • ModularCart displays a loader until the cart data is loaded from the backend, instead of rendering immediately
  • ModularCart is sending tw-track events ([action: VIEW: Target: CART], [action: ADD: Target: CART], [action: REMOVE: Target: CART])

v2.3.0

2021-03-26

Added

  • ModularCart component with CartProductList and CartSummary subcomponents
  • Integration with the more robust Tipser Checkout 2.0 API, that is enabled with enableCheckoutV2 configuration option
  • readOnly prop on CheckoutProductList to disable making any modifications to the checkout on the checkout page (disabled by default)
  • customs warning displayed on the CheckoutSummary component, when the US checkout has products imported from outside of US

Changed

  • On the checkout address state pickers removed the states that are not supported by Tipser (like American Samoa or Guam)
  • Checkout stylistic improvement: the pay button now has more width and padding
  • "added to cart" popup is being displayed after adding a product to cart even when there is no Cart component on page (before having a Cart component was a hard dependency)

Deprecated

  • CheckoutCartProducts and CheckoutCartSummary components. Renamed to CheckoutProductList and CheckoutSummary respectively

v2.2.14

2021-03-05

Changed

  • ProductImage component contains only main product image with new props (enableDots, enableSwipe, swipeAnimation, enableArrows)

Added

  • ProductThumbnails component for displaying thumbnails in ModularProduct
  • ProductTile component as the new official way to render a product tile

Changed

  • ProductImage component contains only main product image with new props (enableDots, enableSwipe, swipeAnimation, enableArrows)

Deprecated

  • <Product viewMode="compact" /> syntax as a way to render a product tile

Fixed

  • Label of the add to cart button is changed to "added to cart" (for a few seconds) when a product is added to cart

v2.2.13

2021-02-24

Fixed

  • Resolved the problem with creating Klarna checkout on some specific publisher URLs

v2.2.12

2021-02-22

Added

  • ModularProduct and ModularCheckout: Exported useProductContext and useCheckoutContext for external users

Fixed

  • Analytic events "product clicked" and "product detail viewed" are now sent every time when product dialog is displayed

v2.2.11

2021-02-22

Fixed

  • Brought back the checkout event in the Checkout and ModularCheckout components

v2.2.10

2021-02-19

Added

  • Exposed more internal functions: getCartItems and removeFromCart

Changed

  • Internal functions addToCart and addToCartAndGoToCheckout are not returning promises

v2.2.9

2021-02-17

Added

  • configuration option prePopulatedAddress that makes it possible to prepopulate user's address forms,
  • updateConfig function on Tipser Script instance object to update the configuration dynamically.
  • Tipser Script: added checkout-delivery-address-change and checkout-billing-address-change HTML

v2.2.8

2021-02-15

Added

  • Modular Checkout: hidePayButton prop in CheckoutPayment component
  • Modular Checkout: checkoutContext.payment.paymentForm.submit() function is now available allowing to implement custom pay button for Stripe payments

v2.2.7

2021-02-15

Fixed

  • Product dialog styles for tablet
  • TipserScript: Order of context events. The first checkout-context-change will be sent after checkout-context-ready event.
  • Problems with validation in checkout addresses if the fields were auto-completed by the browser
  • Analytics: when the user changes the quantity of the items in the cart, sending "add to cart" or "remove to cart" with a proper quantity field
  • Modular checkout: submit function exposed from the checkout context now triggers form revalidation.
  • Modular checkout: delivery address do not send billing address when the checkbox (billing address same as delivery) is hidden.
  • Analytics: "Product purchased" is now being sent to the publisher's code via tw-track event

v2.2.6

2021-02-04

Added

  • CheckoutCartProducts now lets the user to enter product quantity larger than 10.
  • "Same billing and delivery address" checkout available for ModularCheckout (visible by default, if CheckoutCustomerAddressBilling component is available under CheckoutCustomerAddressBilling, but can be hidden with hideUseAsBillingAddressCheckbox property on CheckoutCustomerAddressBilling element)
  • Accepted cart icons in Stripe payment form.
  • New prop for CheckoutCustomerAddressDelivery and CheckoutCustomerAddressBilling called submitBehavior (accepted values: "none", "collapse") controlling if the form should collapse after submission
  • New prop for CheckoutCustomerAddressBilling called (accepted values: "none", "validDeliveryAddress") controlling if this element should appear right away (if the value is "none") or only after the delivery address form is filled with valid data
  • New prop for CheckoutPayment called dependsOn (accepted values: "none", "validAddress") controlling if this element should appear right away (if the value is "none") or only after the address form(s) is filled with valid data
  • Padlock icon and loading indicator over the buy button in the CheckoutPaymentStripe element
  • useInternalFunctions hook that allows to use addToCart, addToCartAndGoToCheckout, goToProduct and goToCheckout in imperative way
  • Tipser Script: ProductPage component available from the HTML syntax via the data-tipser-product-page attribute
  • Tipser Script: all React attributes of ModularCheckout and ModularProduct modules have a html counterpart. For example, CheckoutCustomerAddressDelivery element has a React property called hideSubmitButton, which can be controlled by data-tipser-hide-submit-button attribute in HTML
  • TipserScript: customer's own "submit" button can be used to submit the billing and delivery address forms in ModularCheckout, using the checkout-context-ready and checkout-context-change HTML events

Changed

  • URL hash property from Store component will be collection name instead of collection id.
  • CSS class names and styles structure in modular product component.

Fixed

  • Add to cart request failure will not cause the white screen anymore.

v2.2.5

2021-01-25

Fixed

  • Close button on the dropdown with cart summary

v2.2.4

2021-01-22

Added

  • ModularCheckout.Empty section in ModularCheckout that is displayed when there is no product in the checkout

Fixed

  • Checkout: when the last product is removed from the cart, Checkout component will display a list of similar products

v2.2.3

2021-01-21

Added

  • Tipser Script: Payment status change event that can be used to render modular checkout parts conditionally

Fixed

  • Checkout: when the last product is removed from the cart, Checkout component will display a list of similar products
  • Resolved an issue with too many shopping cart requests being sent from the Cart component

v2.2.2

2021-01-21

Fixed

  • Checkout component will not crash if a user has a product with stock count 0 during the first render

v2.2.1

2021-01-20

Added

  • <CheckoutOrderConfirmation>, <CheckoutOrderProcessing and CheckoutLegal components are supported by Tipser Script

Fixed

  • Checkout used from Tipser Script works correctly
  • Klarna payment in modal works correctly
  • Missing billing address form on page does not block the payment form
  • Incorrect data in billing address form blocks the payment form
  • The checkbox to use delivery address as billing address is not visible in case of modular checkout

v2.2.0

2021-01-18

Added

  • Support for className prop for modular checkout components
  • Support for className prop for modular product components
  • Simplified modular checkout syntax (replaced syntax with just )
  • Added helper components to distinguish checkout statuses (ModularCheckout.New, ModularCheckout.Processing and ModularCheckout.Confirmed)

Breaking changes

  • ModularProduct component with empty children is no longer supported. Use ProductPage component instead!
  • Renamed modular checkout components to have common prefix (e.g. CustomerAddressDelivery renamed to CheckoutCustomerAddressDelivery )
  • Split checkout into two components: Checkout and ModularCheckout

Known issues

  • Checkout does not work in case of Tipser Script (React version is not affected)
  • Klarna payment in modal doesn't work

v2.1.69

2021-01-14

Added

  • Stripe checkout is respecting customUrls.checkoutConfirmationUrl config
  • Tipser Elements Script: data-tipser-modular-product-id component is emitting two custom HTML events: product-context-ready and product-variant-changed

Changed

  • Stripe checkout: the buy button becoming disabled after it has been first clicked (to avoid multiple clicks)

Fixed

  • Checkout confirmation page won't crash if re-visited after user's shopping cart has expired

v2.1.68

2021-01-08

Added

  • Support for customLabels configuration options for modular components

Changed

  • Trying to use Tipser components without a wrapping TipserElementsProvider will now throw an error with a much cleaner error message

v2.1.67

2021-01-05

Added

  • New language in config: de-DE-formal
  • Error validation for US delivery address in checkout
  • Simplified React syntax for modular product
  • Html syntax for modular checkout

Changed

  • Cart component styles: cart size indicator scales when the size of cart icon is changed
  • Cart component class names changed: .te-cart-icon to .te-cart, .tipser-icon-cart to .te-cart-icon.

Fixed

  • Cart component now supports className property

v2.1.66

2020-12-21

Changed

  • The label "OFF" (like "-20% OFF") on the product view is now translatable

Fixed

  • Klarna component shows the correct price after the user modifies the order on the checkout page

v2.1.65

2020-12-17

Changed

  • DynamicCollection component now returns product narrowed down to POS whitelisting settings

v2.1.64

2020-12-17

Added

  • Sending the "checkout viewed" event to whisperer and GA when the user opens the new checkout view

Changed

  • Reduced bundle size by about 50 kBs (gzipped) by switching the implementation of checkout animations from JS to CSS

Fixed

  • Overlay with "Update my Cart" button in the modal (when the product quantity / availability changes during the checkout)
  • Fixed the problem with the main product image occasionally not appearing on mobile
  • Closing modal by pressing Esc button is now possible again

v2.1.63

2020-12-10

Fixed

  • Added some missing swedish translations to the new product dialog

v2.1.62

2020-12-10

Changed

  • replaced some divs and spans with semantic HTML tags
  • default useCustomCSS config option set to true
  • [Elements CMS] updated the Contentful client library to the newest version

Fixed

  • fixed a visual glitch with slightly larger delivery cost font size on the new product dialog (compared to other fields)

v2.1.61

2020-12-09

Added

  • Don't display Details link button when there is no StyleWith component
  • Support for className attribute in Product, Collection, Store and CartIcon components
  • CartIcon component is now using the top-level class name te-cart-icon (consistent with each other class names)

Changed

  • Clicking outside of the new product dialog causes it to close

Deprecated

  • the old cart-icon class name of the CartIcon component

Fixed

  • Scroll to top of the modal when click on Similar Product
  • Inconsistent way of displaying currency in the cart preview overlay

v2.1.60

2020-12-02

Added

  • DynamicCollection element that renders product tiles returned by search results

Changed

  • Replaced all the clickable div elements in the HTML with button elements (moving towards more semantic HTML)

Fixed

  • Removed horizontal scrollbar from the new modal (activated by openOldDialog:false setting)

v2.1.57

2020-11-26

Fixed

  • Fixed some minor stylistic issues and added the missing label translations to the new modal (activated by openOldDialog:false setting)

v2.1.56

2020-11-26

Added

  • Introduced elements.openProductDialog and elements.openCheckoutDialog in the widget

Fixed

  • Cart icon no longer appears in the Klarna Checkout dialog

v2.1.54

2020-11-25

Changed

  • Product variant selector in ProductContext component now uses a visually nicer implementation of the dropdowns instead of raw HTML (native) dropdowns

Fixed

  • "Show description" link in the ProductContext component now correctly scrolls down to the product description section

v2.1.53

2020-11-19

Fixed

  • Fixed the missing "Out of stock" label on the add to cart button and not blocking it in some corner cases on the Product with viewMode="full" component (a regression introduced in the previous version)