Skip to content

Commit

Permalink
Cornerstone update 5.6.0 (#49)
Browse files Browse the repository at this point in the history
* feat(storefront)BCTHEME75: add keyboard focus on write-a-review modal (bigcommerce#1835)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront)bctheme-225:fix filter top outline on focus (bigcommerce#1829)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront)BCTHEME-224: change role for sort by select (bigcommerce#1837)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront):bctheme-212 fix rating icons focus border (bigcommerce#1819)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront)BCTHEME-216: fix outline styles for breadcrumbs on focus (bigcommerce#1824)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* Fixed merge conflict

* feat(content): MERC-7162 Add header bottom global region

* Removed broken import from tools.scss file

* BCTHEME-213 Add Info and Add Coupon forms on Cart Page tabbable when hidden (bigcommerce#1820)

* Releasing 4.11.0-rc.1

* Update GitHub Action to use Node 12

Node 12 is now supported for Stencil CLI, so we'll use it for this action going forward.

* Add examples of useful GitHub Actions for theme development

* Releasing 4.11.0

* fix(payments): INT-3211 Change width size for apple pay button

* Update Changelog

* feat(storefront): STRF-8630 update cornerstone to be compatible with handlebars v4

* fix(storefront): BCTHEME-197 Logo focus of voice over has wrong (100% of the screen) width (bigcommerce#1831)

* fix(storefront): BCTHEME-222 Rating and Other filter sections are not accessible by keyboard (bigcommerce#1838)

* BCTHEME-210 Carousel hidden when one or more of its images not found (bigcommerce#1816)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* BCTHEME-214 Wishlist first option has no bottom outline when in focus (bigcommerce#1825)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-217 Product link has incorrect voice over focus on Cart Page (bigcommerce#1830)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-172 Card content truncated on zooming browser to 400% (bigcommerce#1803)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* BCTHEME-185 Sort By dropdowns need visual focus border (bigcommerce#1833)

* BCTHEME-188 Product cards should link to products (bigcommerce#1842)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* BCTHEME-184 Options on change modal need focus border (bigcommerce#1839)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* BCTHEME-199 Zooming and scaling must not be disabled (bigcommerce#1843)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* BCTHEME-202 Notification of number of products not announced (bigcommerce#1845)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* BCTHEME-190 Content should not scroll in two directions when zoomed (bigcommerce#1853)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* feat(storefront)BCTHEME-205: add filter reset announcement (bigcommerce#1858)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* feat(storefront) BCTHEME-206: add announcement fot filtered result on Shop-by-price (bigcommerce#1854)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront)BCTHEME-164: fix image in modal for IE11 (bigcommerce#1840)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-279 fix logo displaying (bigcommerce#1865)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* feat(storefront):add to cart notification (bigcommerce#1860)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* BCTHEME-44 Cornerstone quick view (bigcommerce#1857)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-277 Certain Special Characters not rendering under Wishlists (bigcommerce#1873)

* fix(storefront): BCTHEME-219 Social icons not clickable in modal after reopening (bigcommerce#1874)

* fix(storefront): BCTHEME-282 Fix aria-labels for collapsibleFactory elements (bigcommerce#1868)

* BCTHEME-269 Remove layout shifts to improve CLS indicator from Lighthouse performance report (bigcommerce#1869)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-233 Cornerstone - Unable to Compare Products from Recently Viewed Items (bigcommerce#1877)

* feat(storefront): BCTHEME-290 add aria labelwith price for product list item (bigcommerce#1878)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* BCTHEME-209 Search result not notified by screen reader (bigcommerce#1867)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-289 Add aria label with price to Product Grid Item (bigcommerce#1875)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-268 Update carousel images to improve LCP indicator from Lighthouse performance report (bigcommerce#1876)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* feat(storefront): BCTHEME-187 improve localization and add default and fallback messages (bigcommerce#1850)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-297 Cornerstone 4.11.0 - Product Image Carousel Becomes Unresponsive on Product Page (bigcommerce#1879)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* Resolved issues after merging PRs for 4.12 release

* Releasing 4.12.0-rc.1

* Reduce lodash usage in compare-products.js and image-gallery.js

* Releasing 4.12.0-rc.2

* Releasing 4.12.0-rc.3

* Releasing 4.12.0-rc.4

* Upload bundle analysis as part of github action

* feat(search): ES-1590 display error message if search fails

* feat: (STRF-8747) add new stencil config files to .gitignore

* Releasing 4.12.0

* Revert "Releasing 4.12.0"

* feat(storefront): BCTHEME-299 update  changelog for release 4.12

* Releasing 4.12.0

* Updated CHANGELOG.md before 4.12 release

* Reverting cornerstone version to 4.12-rc.4

* Releasing 4.12.0

* Reverting 4.12 changes

* Releasing 4.12.0

* Reverted 4.12 release commit and updated package.json versions

* Releasing 4.12.0

* Revert fix(storefront): BCTHEME-219 Social icons not clickable in modal

* Don't load social icons in quick view

* Bump stencil-utils

* fix(storefront): BCTHEME-305 Price Lists - Price in the cart is not updated when changing currency on mobile

* fix(storefront): BCTHEME-314 ccount >Payment Methods throws Server Error when using Cornerstone theme (bigcommerce#1898)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-315 Write a Review modal cause TypeError (bigcommerce#1899)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* Releasing 4.12.1

* feat(payments): PAYPAL-712 Checkout page - Smart Payment Button styli… (bigcommerce#1866)

feat(payments): PAYPAL-712 Checkout page - Smart Payment Button styling (Cornerstone)

* feat(storefront): BCTHEME-116 move tax field after grand total when tax inclusive (bigcommerce#1903)

* fix(storefront): BCTHEME-105 Cornerstone - Body text size above 14px is cut off on cart shipping dropdowns (bigcommerce#1881)

* feat(storefront): BCTHEME-69 Add tooltips for carousel bullets (buttons) (bigcommerce#1889)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-319 Write a review modal extra executions (bigcommerce#1902) (bigcommerce#1902)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-232 Faceted search filters are hidden from screen readers (bigcommerce#1897)

* fix(storefront): BCTHEME-292 Social icon tooltip displaying should be fixed (bigcommerce#1907)

* BCTHEME-293 Product list item Quick view button is not tabbable (bigcommerce#1900) (bigcommerce#1900)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-273 fix contrast ratio for Skip to Main Content element (bigcommerce#1880)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* feat(storefront): BCTHEME-275 add upsell banner contrast (bigcommerce#1891)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-274 fix contranst ratio for brand name (bigcommerce#1882)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-288 Shoppers are not anchor-linked to reviews on PDPs if product description tabs are enabled (bigcommerce#1883)

* fix(storefront): BCTHEME-308 HTML Entity displayed as is via system/error message on a Storefront (bigcommerce#1888)

* STRF-8769 Moved zoomSize and productSize to the upper level, cause product.js is not availabe on the Quick View (bigcommerce#1884)

* Bump versions of Ruby (bigcommerce#1905)

To fix issue bigcommerce#1904

* Changelog update

* fix(storefront): BCTHEME-104 Selecting product options doesn't update image on PDP in Internet Explorer (bigcommerce#1913)

* fix(storefront): BCTHEME-11 hide product options that are out of stock on cart (bigcommerce#1911)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-301 Header content placed out of the header block on mobile (bigcommerce#1908) (bigcommerce#1908)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-85 “Sort by” dropdown selection not reflected on search results page for News and Information tab (bigcommerce#1910) (bigcommerce#1910)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-86 Cornerstone - Text hover color does not change when Dropdown menu display mode is set to Alternative (bigcommerce#1918) (bigcommerce#1918)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-321 fix social icon tooltip overlaying (bigcommerce#1914)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* Resolving eslint error after merging

* fix(storefront): BCTHEME-30 fix misaligned tooltip for required product option (bigcommerce#1915)

Co-authored-by: yurytut1993 <66325265+yurytut1993@users.noreply.github.com>

* fix(storefront): BCTHEME-87 Product images squashed in Category view in AMP (bigcommerce#1921) (bigcommerce#1921)

* fix(storefront): BCTHEME-313 Parse HTML entities in jsContext (bigcommerce#1917)

* Added Changelog item for BCTHEME-313

* Releasing 5.0.0-rc.1

* feat(payments): PAYPAL-823 Add new banner on the cart page (bigcommerce#1901)

* Releasing 5.0.0-rc.2

* Releasing 5.0.0

* feat(storefront): BCTHEME-304 add pagination for wishlists (bigcommerce#1906)

* fix(storefront): BCTHEME-341 fix placeholder contrast ratio (bigcommerce#1933)

* fix(storefront): BCTHEME-37 Cornerstone - Image Zoom Does Not Work on Internet Explorer (bigcommerce#1923) (bigcommerce#1923)

* feat(storefront): BCTHEME-306 show price range on option selection (bigcommerce#1924)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-16 Cornerstone - loading of thumbnail image delayed on cart page (bigcommerce#1925 (bigcommerce#1925)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-193 fix not being able to change product qty with keyboard multiple times (bigcommerce#1927)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-345 define a main region on pages (bigcommerce#1929)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* fix(storefront): BCTHEME-346 add announcement for shipping estimator error messages (bigcommerce#1932)

Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>

* feat(storefront): BCTHEME-343 No tooltips provided for carousel buttons (bigcommerce#1934) (bigcommerce#1934)

* feature(storefront): Empty cart message not read by screen reader (bigcommerce#1935) (bigcommerce#1935)

* feat(storefront): BCTHEME-344 Carousel buttons do not receive focus (bigcommerce#1937) (bigcommerce#1937)

* fix(storefront): BCTHEME-155 fix recaptcha announcement for hidden content (bigcommerce#1943)

* fix(storefront): BCTHEME-379 fix non-text contrast on add to cart button (bigcommerce#1946)

* fix(storefront): BCTHEME-369 fix announcement on adding to cart by screen reader (bigcommerce#1950)

* feat(storefront): BCTHEME-373 Alt text not provided for ratings (bigcommerce#1949)

* feat(storefront): BCTHEME-78 Add Play/Pause button to carousel (bigcommerce#1944)

* fix(storefront): BCTHEME-366 Error message on PLPs not announced by screen reader (bigcommerce#1956)

* fix(storefront): BCTHEME-361 fix subscription message announcement (bigcommerce#1952)

* feat(payments): PAYPAL-903 Product Page Banners (Cornerstone) - creat… (bigcommerce#1948)

* feat(payments): PAYPAL-903 Product Page Banners (Cornerstone) - create custom price event

* feat(payments): PAYPAL-903 Product Page Banners (Cornerstone) - create custom price event
- CR fixes

Co-authored-by: Alex Saiannyi <67792608+bc-alexsaiannyi@users.noreply.github.com>

* BCTHEME-327: PDP - Empty "Description" is Hiding All Tabs When in Tab View (bigcommerce#1947)

* feat(storefront): BCTHEME-388 Dots on carousel should have similar colours as other slider controls (bigcommerce#1958)

* fix(storefront): BCTHEME-384 When default option is out of stock add to cart button does not populate for in stock options (bigcommerce#1955)

* fix(storefront): BCTHEME-383 Selecting certain option types pushes window view to the bottom of the page (bigcommerce#1959)

* Fixed merge conflict

* STRF-8898 'Show More' gives no additional options when filter clicked (bigcommerce#1945)

* Releasing 5.1.0-rc.1

* BCTHEME-387: Updates Cornerstone variants to meet the updated verticals outlined in BCTHEME-387. (bigcommerce#1962)

Co-authored-by: Dante Muñoz <dante.munoz@c02v90c0htdh.lan>

* Releasing 5.1.0-rc.2

* Releasing 5.1.0

* feat(storefront): STRF-8948 Fix Sort By on Search Page (bigcommerce#1971)

* fix(storefront): BCTHEME-368 fix announcement for shop by price filter selection (bigcommerce#1966)

* fix(storefront): BCTHEME-207 fix focus on sort by (bigcommerce#1964)

* fix(storefront): BCTHEME-385 move a phrase from html to en.json (bigcommerce#1972)

* feat(storefront): BCTHEME-390 Integrate accessibility scripts to product images slider on PDP (bigcommerce#1965)

* fix(storefront): BCTHEME-354 If multiple Pick List Options are applied, customers cannot select 'none' on both (bigcommerce#1975)

* fix(storefront): BCTHEME-356 Required checkbox message blocks the checkbox (bigcommerce#1963)

* Updated Changelog PR link for BCTHEME-212 Fixed review rating icons focus border.

* feat(storefront): BCTHEME-391 Move focus on filter items Modal after show more button was clicked and accessibility refactoring (bigcommerce#1977)

* feat(storefront) BCTHEME-381 add suffient text for swatch option (bigcommerce#1976)

* fix(storefront): BCTHEME-398 Make every product option group id unique (bigcommerce#1979)

* fix(storefront): BCTHEME-264 fix update discount banner on PDP (bigcommerce#1974)

* fix(storefront): BCTHEME-372 Error message not announced automatically (bigcommerce#1983)

* fix(storefront): BCTHEME-400 If product options are not required, the 'None' option will remain selected even if another option is chosen (bigcommerce#1980)

* fix(storefront): BCTHEME-334 Add alt attribute for no image placeholders (bigcommerce#1984)

* fix(storefront): BCTHEME-401 Category pages are creating alt attribute within the span tag (bigcommerce#1987)

* fix(storefront): BCTHEME-362 fix cut off cart button on zooming 400 (bigcommerce#1988)

* Releasing 5.2.0-rc.1

* Releasing 5.2.0

* Reverting 5.2.0 to 5.2.0-rc.1

* Releasing 5.2.0

* Revert "Releasing 5.2.0"

* Releasing 5.2.0

* Revert "Releasing 5.2.0" 2nd time

* Releasing 5.2.0

* feat(storefront): BCTHEME-200 add notifications announcement on carousel change (bigcommerce#1986)

* fix(storefront): BCTHEME-392 fixed line breaks on Dropdown Menu (bigcommerce#1996)

* fix(storefront): BCTHEME-347 Add unique identifiers to product cards (bigcommerce#1999)

* fix(storefront): BCTHEME-409 Update focus trap in Modal (bigcommerce#1998)

* fix(search): ES-2031 add error message for when star search is not availabble in facted search

* feat(search): ES-1590 render error msg for brand page

* fix(search): ES-2031 make search error more generic

* feat(search): ES-2031 add change to changelog

* feat(storefront): BCTHEME-322 add sold-out badges for products on PLP (bigcommerce#2003)

* BCTHEME-426: Insufficient link text for "Read More" links (bigcommerce#2012)

* BCTHEME-422: Announce email field as mandatory (bigcommerce#2011)

* BCTHEME-420: 'Skip to main content' is not visible (bigcommerce#2010)

* fix(storefront): BCTHEME-427 Insufficient button label on cart page (bigcommerce#2013)

* feat(storefront): BCTHEME-231 Add placeholder for failed to load carousel images and update scalability (bigcommerce#2009)

* fix(storefront): BCTHEME-429 Unlabelled edit fields on cart page (bigcommerce#2016)

* fix(storefront): BCTHEME-428 Insufficient link text on cart page (bigcommerce#2014)

* fix(storefront): BCTHEME-424 Alt text should include product name for ratings (bigcommerce#2015)

* fix(storefront): IE11 - Clicking on Search Does Not Display Search Bar (bigcommerce#2017)

* Releasing 5.3.0-rc.1

* Fixing 'Skip to main' content mobile display

* Releasing 5.3.0-rc.2

* Releasing 5.3.0

* Revert Releasing 5.3.0

* Remove AddThis for social sharing, replace with provider sharing links (bigcommerce#1997)

* Updated changelog

* Releasing 5.3.0

* fix(search): ES-2071 removed adding selected filters for price filter since not needed (bigcommerce#2018)

* fix(storefront): BCTHEME-431 remove horizontal scroll on swatch options PDP (bigcommerce#2023)

* fix(search): ES-2138 fixed count showing issue for category facet

* fix(storefront): BCTHEME-349 improve email validation for forms (bigcommerce#2029)

* feat(storefront): BCTHEME-445 replace page builder ssl settings with new global region for html widget (bigcommerce#2026)

* fix(storefront): BCTHEME-447 extend keyboard support for radio buttons (bigcommerce#2028)

* feat(storefront): BCTHEME-446 Improve performance of analyzing homepage carousel image (bigcommerce#2027)

* fix(storefront): BCTHEME-395 Wish List drop down is truncated on product page (bigcommerce#2001)

* fix(storefront): BCTHEME-434 Hamburger Menu Icon missing on Google AMP Pages (bigcommerce#2022)

* fix(storefront): BCTHEME-449 remove main tag duplicates (bigcommerce#2032)

* feat(storefront): BCTHEME-425 Incorrect focus order for product carousels (bigcommerce#2034)

* Releasing 5.4.0-rc.1

* fix(storefront): DEV-426 Fix GitHub workflows for default storefront

* Releasing 5.4.0

* fix(storefront): BCTHEME-325 Apple pay button displaying needs to be fixed (bigcommerce#2043)

* fix(storefront): BCTHEME-457 Update focus tooltip styles contrast to achieve accessibility AA Complaince (bigcommerce#2047)

* Use https:// for schema markup (bigcommerce#2039)

* fix(storefront): BCTHEME-423 Search result on search page not notified by screen reader (bigcommerce#2024)

* feat(payment): PAYPAL-968 added banner widgets to page builder (bigcommerce#2021)

* fix(storefront): bctheme-448 fix multiple swatch options (bigcommerce#2040)

* feat(storefront): BCTHEME-476 Scale focus trap for all modals (bigcommerce#2049)

* Releasing 5.5.0-rc.1

* Releasing 5.5.0

* fix(storefront): BCTHEME-496 Translation Gap: Delete from Cart confirmation popup. (bigcommerce#2065)

* fix(storefront): BCTHEME-512 add translation for invalid quantity value error on cart (bigcommerce#2062)

* fix(storefront): BCTHEME-459 fix product quantity change error (bigcommerce#2052)

* Fix eslint grunt check

* build(deps): bump underscore from 1.12.0 to 1.13.1 (bigcommerce#2053)

* Updated CHANGELOG.md for bigcommerce#2052

* fix(storefront): BCTHEME-514 Translation Gap: Gift Certificate -> Code required message (bigcommerce#2064)

* fix(storefront): BCTHEME-490 Translation Gap: Compare products error message (bigcommerce#2061)

Co-authored-by: yurytut1993 <66325265+yurytut1993@users.noreply.github.com>

* fix(storefront): BCTHEME-492 Translation Gap: Compare page fields (Description, Rating and Availability) (bigcommerce#2059)

* fix(storefront): BCTHEME-479 Logo on AMP Product details page (PDP) does not fit header (bigcommerce#2054)

* fix(storefront): BCTHEME-477 Add to cart button and Wishlist should be on one line on desktop (bigcommerce#2050)

* fix(storefront): BCTHEME-535 Translation Gap: Cart -> Shipping estimator error messages. (bigcommerce#2066)

* fix(storefront): BCTHEME-507 Translation Gap: Account -> Wish List -> Name required message. (bigcommerce#2060)

* fix(storefront): BCTHEME-452 Unable to select 'None' on unrequired Swatch Options (bigcommerce#2068)

* Fix eslint errors in cart.js, shipping-estimator.js and test in cart.spec.js (bigcommerce#2072)

* fix(storefront): STRF-9126 Facebook social share returns an error for blog pages

* fix(storefront): BCTHEME-544 fix potential shift on change options modal on Cart (bigcommerce#2071)

* fix(storefront): BCTHEME-543 Product images in quick view can be squashed (bigcommerce#2075)

* fix(storefront): BCTHEME-601 Enter press on Compare checkbox cause quick view opening (bigcommerce#2074)

* feat(storefront): BCTHEME-608 Translation mechanism for config.json values should be implemented (bigcommerce#2076)

* Update CHANGELOG.md

* Updated CHANGELOG.md for bigcommerce#2024

* Releasing 5.6.0-rc.1

* Add missing quotes for Country and State/Province fields of Shipping Estimator to pass functional tests (bigcommerce#2079)

* Releasing 5.6.0-rc.2

* Releasing 5.6.0

---------

Co-authored-by: Alex Saiannyi <67792608+bc-alexsaiannyi@users.noreply.github.com>
Co-authored-by: BC-tymurbiedukhin <66319629+BC-tymurbiedukhin@users.noreply.github.com>
Co-authored-by: Tymur Biedukhin <tymur.biedukhin@bigcommerce.com>
Co-authored-by: Erik Christensen <erik.christensen@bigcommerce.com>
Co-authored-by: Juned Kazi <junedkazi@users.noreply.github.com>
Co-authored-by: yurytut1993 <66325265+yurytut1993@users.noreply.github.com>
Co-authored-by: Nathan Booker <bookernath@users.noreply.github.com>
Co-authored-by: Nathan Booker <nathan.booker@bigcommerce.com>
Co-authored-by: Marco Loyo <marco.loyo@bigcommerce.com>
Co-authored-by: Jairo Panduro <jairo.panduro@bigcommerce.com>
Co-authored-by: Pascal Zajac <pascalzajac@hotmail.com>
Co-authored-by: Yurii Zusik <yurii.zusik@bigcommerce.com>
Co-authored-by: sacr3dc0w <mshettles@gmail.com>
Co-authored-by: alex.saiannyi <alexander.saiannyi@bigcommerce.com>
Co-authored-by: Kevin Wang <kwang30@gmail.com>
Co-authored-by: MaxGenash <max.henash@bigcommerce.com>
Co-authored-by: David Huynh <david.huynh@bigcommerce.com>
Co-authored-by: Andrii Fetisov <54856617+bc-fetisov@users.noreply.github.com>
Co-authored-by: jairo-bc <68893868+jairo-bc@users.noreply.github.com>
Co-authored-by: Andrew A. Barber <hello@andrewbarber.me>
Co-authored-by: Brian Davenport <bdav87@gmail.com>
Co-authored-by: Olga Lashkul <32959076+helga1507@users.noreply.github.com>
Co-authored-by: Dante Munoz <35115108+DanteMunoz@users.noreply.github.com>
Co-authored-by: Dante Muñoz <dante.munoz@c02v90c0htdh.lan>
Co-authored-by: Nataliya Solyanik <nataliya.solyanik@bigcommerce.com>
Co-authored-by: bc-krishsenthilraj <39140274+bc-krishsenthilraj@users.noreply.github.com>
Co-authored-by: Senthil Krishnasamy <senthil.krishnasamy@bigcommerce.com>
Co-authored-by: Yevhenii Buliuk <82589781+bc-yevhenii-buliuk@users.noreply.github.com>
Co-authored-by: Andrii Vitvitskyi <andrii.vitvitskyi@bigcommerce.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: bc-vlad-dlogush <83779098+bc-vlad-dlogush@users.noreply.github.com>
  • Loading branch information
1 parent e34788f commit ecbd9d3
Show file tree
Hide file tree
Showing 54 changed files with 476 additions and 152 deletions.
5 changes: 0 additions & 5 deletions .github/workflow-examples/poll_for_changed_configuration.yml
Expand Up @@ -49,13 +49,8 @@ jobs:
TOKEN: ${{ secrets.STENCIL_ACCESS_TOKEN_PRODUCTION }}
run: stencil init -u $URL -t $TOKEN -p 3000

<<<<<<< HEAD
- name: Check for an updated configuration on the live store
run: stencil pull
=======
- name: Check for an updated configuration on the live default storefront (channel ID 1)
run: stencil pull -c 1
>>>>>>> 5.5.0

- name: Create Pull Request
id: cpr
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Expand Up @@ -2,13 +2,32 @@

## Draft

## 5.6.0 (06-15-2021)
- Translation mechanism for config.json values have been implemented. [#2076](https://github.com/bigcommerce/cornerstone/pull/2076)
- Enter press on Compare checkbox cause quick view opening. [#2074](https://github.com/bigcommerce/cornerstone/pull/2074)
- Product images in quick view can be squashed. [#2075](https://github.com/bigcommerce/cornerstone/pull/2075)
- Fixed shift in change options popup on Cart page.[#2071](https://github.com/bigcommerce/cornerstone/pull/2071)
- Fixed possibility to select 'None' on multi unrequired Swatch Options. [#2068](https://github.com/bigcommerce/cornerstone/pull/2068)
- Translation Gap: Account -> Wish List -> Name required message. [#2060](https://github.com/bigcommerce/cornerstone/pull/2060)
- Translation Gap: Cart -> Shipping estimator error messages. [#2066](https://github.com/bigcommerce/cornerstone/pull/2066)
- Add to cart button and Wishlist should be on one line on desktop. [#2050](https://github.com/bigcommerce/cornerstone/pull/2050)
- Logo on AMP Product details page (PDP) doesn't fit header. [#2054](https://github.com/bigcommerce/cornerstone/pull/2054)
- Translation Gap: Compare page fields (Description, Rating and Availability). [#2059](https://github.com/bigcommerce/cornerstone/pull/2059)
- Translation Gap: Compare products error message. [#2061](https://github.com/bigcommerce/cornerstone/pull/2061)
- Translation Gap: Gift Certificate -> Code required message. [#2064](https://github.com/bigcommerce/cornerstone/pull/2064)
- Added translation for invalid quantity value error on Cart. [#2062](https://github.com/bigcommerce/cornerstone/pull/2062)
- Translation Gap: Delete from Cart confirmation popup. [#2065](https://github.com/bigcommerce/cornerstone/pull/2065)
- Fixed NaN error on increase/decrease product quantity by adding field validation. [#2052](https://github.com/bigcommerce/cornerstone/pull/2052)
- Fixed social share links on blog post. [#2077](https://github.com/bigcommerce/cornerstone/pull/2077)

## 5.5.0 (05-20-2021)
- Scale focus trap for all modals. [#2049](https://github.com/bigcommerce/cornerstone/pull/2049)
- Fixed displaying swatch name for multiple swatch options on page. [#2040](https://github.com/bigcommerce/cornerstone/pull/2040)
- Added settings for payment banners. [#2021](https://github.com/bigcommerce/cornerstone/pull/2021)
- Use https:// for schema markup. [#2039](https://github.com/bigcommerce/cornerstone/pull/2039)
- Update focus tooltip styles contrast to achieve accessibility AA Complaince. [#2047](https://github.com/bigcommerce/cornerstone/pull/2047)
- Apple pay button displaying needs to be fixed. [#2043](https://github.com/bigcommerce/cornerstone/pull/2043)
- Fixed search result on search page not notified by screen reader. [#2024](https://github.com/bigcommerce/cornerstone/pull/2024)

## 5.4.0 (04-26-2021)
- Incorrect focus order for product carousels. [#2034](https://github.com/bigcommerce/cornerstone/pull/2034)
Expand Down
4 changes: 4 additions & 0 deletions assets/js/test-unit/theme/cart.spec.js
Expand Up @@ -5,6 +5,10 @@ import Cart from '../../theme/cart.js';
var dataSpy;
var UpdateSpy;
var c = new Cart();
c.context = {
shippingCountryErrorMessage: `The 'Country' field cannot be blank.`,
shippingProvinceErrorMessage: `The 'State/Province' field cannot be blank.`,
};
beforeEach(function() {
UpdateSpy = spyOn(utils.api.cart, 'itemUpdate');

Expand Down
2 changes: 1 addition & 1 deletion assets/js/theme/account.js
Expand Up @@ -33,7 +33,7 @@ export default class Account extends PageManager {
const $reorderForm = classifyForm('[data-account-reorder-form]');
const $invoiceButton = $('[data-print-invoice]');

compareProducts(this.context.urls);
compareProducts(this.context);

// Injected via template
this.passwordRequirements = this.context.passwordRequirements;
Expand Down
2 changes: 1 addition & 1 deletion assets/js/theme/brand.js
Expand Up @@ -11,7 +11,7 @@ export default class Brand extends CatalogPage {
}

onReady() {
compareProducts(this.context.urls);
compareProducts(this.context);

if ($('#facetedSearch').length > 0) {
this.initFacetedSearch();
Expand Down
36 changes: 27 additions & 9 deletions assets/js/theme/cart.js
@@ -1,9 +1,10 @@
import PageManager from './page-manager';
import { bind, debounce } from 'lodash';
import giftCertCheck from './common/gift-certificate-validator';
import checkIsGiftCertValid from './common/gift-certificate-validator';
import { createTranslationDictionary } from './common/utils/translations-utils';
import utils from '@bigcommerce/stencil-utils';
import ShippingEstimator from './cart/shipping-estimator';
import { defaultModal, modalTypes } from './global/modal';
import { defaultModal, ModalEvents } from './global/modal';
import swal from './global/sweet-alert';
import CartItemDetails from './common/cart-item-details';

Expand Down Expand Up @@ -90,7 +91,7 @@ export default class Cart extends PageManager {
invalidEntry = $el.val();
$el.val(oldQty);
return swal.fire({
text: `${invalidEntry} is not a valid entry`,
text: this.context.invalidEntryMessage.replace('[ENTRY]', invalidEntry),
icon: 'error',
});
} else if (newQty < minQty) {
Expand Down Expand Up @@ -157,9 +158,20 @@ export default class Cart extends PageManager {

utils.api.productAttributes.configureInCart(itemId, options, (err, response) => {
modal.updateContent(response.content);
const $productOptionsContainer = $('[data-product-attributes-wrapper]', this.$modal);
const modalBodyReservedHeight = $productOptionsContainer.outerHeight();
$productOptionsContainer.css('height', modalBodyReservedHeight);
const optionChangeHandler = () => {
const $productOptionsContainer = $('[data-product-attributes-wrapper]', this.$modal);
const modalBodyReservedHeight = $productOptionsContainer.outerHeight();

if ($productOptionsContainer.length && modalBodyReservedHeight) {
$productOptionsContainer.css('height', modalBodyReservedHeight);
}
};

if (this.$modal.hasClass('open')) {
optionChangeHandler();
} else {
this.$modal.one(ModalEvents.opened, optionChangeHandler);
}

this.productDetails = new CartItemDetails(this.$modal, context);

Expand Down Expand Up @@ -275,6 +287,7 @@ export default class Cart extends PageManager {
text: string,
icon: 'warning',
showCancelButton: true,
cancelButtonText: this.context.cancelButtonText,
}).then((result) => {
if (result.value) {
// remove item from cart
Expand Down Expand Up @@ -365,9 +378,10 @@ export default class Cart extends PageManager {

event.preventDefault();

if (!giftCertCheck(code)) {
if (!checkIsGiftCertValid(code)) {
const validationDictionary = createTranslationDictionary(this.context);
return swal.fire({
text: $certInput.data('error'),
text: validationDictionary.invalid_gift_certificate,
icon: 'error',
});
}
Expand Down Expand Up @@ -456,6 +470,10 @@ export default class Cart extends PageManager {
this.bindGiftCertificateEvents();

// initiate shipping estimator module
this.shippingEstimator = new ShippingEstimator($('[data-shipping-estimator]'));
const shippingErrorMessages = {
country: this.context.shippingCountryErrorMessage,
province: this.context.shippingProvinceErrorMessage,
};
this.shippingEstimator = new ShippingEstimator($('[data-shipping-estimator]'), shippingErrorMessages);
}
}
7 changes: 4 additions & 3 deletions assets/js/theme/cart/shipping-estimator.js
Expand Up @@ -6,11 +6,12 @@ import collapsibleFactory from '../common/collapsible';
import swal from '../global/sweet-alert';

export default class ShippingEstimator {
constructor($element) {
constructor($element, shippingErrorMessages) {
this.$element = $element;

this.$state = $('[data-field-type="State"]', this.$element);
this.isEstimatorFormOpened = false;
this.shippingErrorMessages = shippingErrorMessages;
this.initFormValidation();
this.bindStateCountryChange();
this.bindEstimatorEvents();
Expand Down Expand Up @@ -63,7 +64,7 @@ export default class ShippingEstimator {

cb(result);
},
errorMessage: 'The \'Country\' field cannot be blank.',
errorMessage: this.shippingErrorMessages.country,
},
]);
}
Expand All @@ -85,7 +86,7 @@ export default class ShippingEstimator {

cb(result);
},
errorMessage: 'The \'State/Province\' field cannot be blank.',
errorMessage: this.shippingErrorMessages.province,
},
]);
}
Expand Down
2 changes: 1 addition & 1 deletion assets/js/theme/category.js
Expand Up @@ -35,7 +35,7 @@ export default class Category extends CatalogPage {

this.makeShopByPriceFilterAccessible();

compareProducts(this.context.urls);
compareProducts(this.context);

if ($('#facetedSearch').length > 0) {
this.initFacetedSearch();
Expand Down
2 changes: 1 addition & 1 deletion assets/js/theme/common/gift-certificate-validator.js
@@ -1,5 +1,5 @@
export default function (cert) {
if (typeof cert !== 'string') {
if (typeof cert !== 'string' || cert.length === 0) {
return false;
}

Expand Down
39 changes: 39 additions & 0 deletions assets/js/theme/common/models/forms.js
Expand Up @@ -22,6 +22,45 @@ const forms = {
notEmpty(value) {
return value.length > 0;
},

/**
* validates a field like product quantity
* @param value
* @returns {boolean}
*
*/
numbersOnly(value) {
const re = /^\d+$/;
return re.test(value);
},

/**
* validates increase in value does not exceed max
* @param {number} value
* @param {number} max
* @returns {number}
*
*/
validateIncreaseAgainstMaxBoundary(value, max) {
const raise = value + 1;

if (!max || raise <= max) return raise;
return value;
},

/**
* validates decrease in value does not fall below min
* @param {number} value
* @param {number} min
* @returns {number}
*
*/
validateDecreaseAgainstMinBoundary(value, min) {
const decline = value - 1;

if (!min || decline >= min) return decline;
return value;
},
};

export default forms;
58 changes: 36 additions & 22 deletions assets/js/theme/common/product-details.js
Expand Up @@ -5,6 +5,9 @@ import 'foundation-sites/js/foundation/foundation.reveal';
import ImageGallery from '../product/image-gallery';
import modalFactory, { alertModal, showAlertModal } from '../global/modal';
import { isEmpty, isPlainObject } from 'lodash';
import nod from '../common/nod';
import { announceInputErrorMessage } from '../common/utils/form-utils';
import forms from '../common/models/forms';
import { normalizeFormData } from './utils/api';
import { isBrowserIE, convertIntoArray } from './utils/ie-helpers';
import bannerUtils from './utils/banner-utils';
Expand All @@ -23,6 +26,12 @@ export default class ProductDetails extends ProductDetailsBase {
this.storeInitMessagesForSwatches();

const $form = $('form[data-cart-item-add]', $scope);

this.addToCartValidator = nod({
submit: $form.find('input#form-action-addToCart'),
tap: announceInputErrorMessage,
});

const $productOptionsElement = $('[data-product-option-change]', $form);
const hasOptions = $productOptionsElement.html().trim().length;
const hasDefaultOptions = $productOptionsElement.find('[data-default]').length;
Expand All @@ -41,7 +50,10 @@ export default class ProductDetails extends ProductDetailsBase {
}
};

$(window).on('load', () => $.each($productSwatchLabels, placeSwatchLabelImage));
$(window).on('load', () => {
this.registerAddToCartValidation();
$.each($productSwatchLabels, placeSwatchLabelImage);
});

if (context.showSwatchNames) {
this.$swatchOptionMessage.removeClass('u-hidden');
Expand All @@ -65,7 +77,11 @@ export default class ProductDetails extends ProductDetailsBase {
});

$form.on('submit', event => {
this.addProductToCart(event, $form[0]);
this.addToCartValidator.performCheck();

if (this.addToCartValidator.areAll('valid')) {
this.addProductToCart(event, $form[0]);
}
});

// Update product attributes. Also update the initial view in case items are oos
Expand All @@ -85,6 +101,19 @@ export default class ProductDetails extends ProductDetailsBase {
this.previewModal = modalFactory('#previewModal')[0];
}

registerAddToCartValidation() {
this.addToCartValidator.add([{
selector: '[data-quantity-change] > .form-input--incrementTotal',
validate: (cb, val) => {
const result = forms.numbersOnly(val);
cb(result);
},
errorMessage: this.context.productQuantityErrorMessage,
}]);

return this.addToCartValidator;
}

storeInitMessagesForSwatches() {
if (this.swatchGroupIdList.length && isEmpty(this.swatchInitMessageStorage)) {
this.swatchGroupIdList.each((_, swatchGroupId) => {
Expand Down Expand Up @@ -317,35 +346,20 @@ export default class ProductDetails extends ProductDetailsBase {
const quantityMin = parseInt($input.data('quantityMin'), 10);
const quantityMax = parseInt($input.data('quantityMax'), 10);

let qty = parseInt($input.val(), 10);

let qty = forms.numbersOnly($input.val()) ? parseInt($input.val(), 10) : quantityMin;
// If action is incrementing
if ($target.data('action') === 'inc') {
// If quantity max option is set
if (quantityMax > 0) {
// Check quantity does not exceed max
if ((qty + 1) <= quantityMax) {
qty++;
}
} else {
qty++;
}
qty = forms.validateIncreaseAgainstMaxBoundary(qty, quantityMax);
} else if (qty > 1) {
// If quantity min option is set
if (quantityMin > 0) {
// Check quantity does not fall below min
if ((qty - 1) >= quantityMin) {
qty--;
}
} else {
qty--;
}
qty = forms.validateDecreaseAgainstMinBoundary(qty, quantityMin);
}

// update hidden input
viewModel.quantity.$input.val(qty);
// update text
viewModel.quantity.$text.text(qty);
// perform validation after updating product quantity
this.addToCartValidator.performCheck();
});

// Prevent triggering quantity change when pressing enter
Expand Down
5 changes: 3 additions & 2 deletions assets/js/theme/common/utils/form-utils.js
Expand Up @@ -135,8 +135,9 @@ function announceInputErrorMessage({ element, result }) {
}
const activeInputContainer = $(element).parent();
// the reason for using span tag is nod-validate lib
// which does not add error message class while initialising form
const errorMessage = $(activeInputContainer).find('span');
// which does not add error message class while initialising form.
// specific class is added since it can be multiple spans
const errorMessage = $(activeInputContainer).find('span.form-inlineMessage');

if (errorMessage.length) {
const $errMessage = $(errorMessage[0]);
Expand Down
24 changes: 24 additions & 0 deletions assets/js/theme/common/utils/translations-utils.js
Expand Up @@ -26,3 +26,27 @@ export const createTranslationDictionary = (context) => {
return acc;
}, {});
};

const defaultPageBuilderValues = {
pdp_sale_badge_label: 'On Sale!',
pdp_sold_out_label: 'Sold Out',
'pdp-sale-price-label': 'Now:',
'pdp-non-sale-price-label': 'Was:',
'pdp-retail-price-label': 'MSRP:',
'pdp-custom-fields-tab-label': 'Additional Information',
};

/**
* defines Translation for values from page builder (locally could be found in config.json)
*/
export const translatePageBuilderValues = () => {
$('[data-page-builder-key]').each((_, selector) => {
const $item = $(selector);
const itemText = $item.text().trim();
const itemDefaultTranslation = $item.data('default-translation');

if (itemText === defaultPageBuilderValues[$item.data('page-builder-key')] && itemText !== itemDefaultTranslation) {
$item.text(itemDefaultTranslation);
}
});
};

0 comments on commit ecbd9d3

Please sign in to comment.