Commit Graph

3716 Commits

Author SHA1 Message Date
Tung Du ed83dfbafa Shopper → Mini Cart → Can remove product (https://github.com/woocommerce/woocommerce-blocks/pull/5937) 2022-03-24 22:37:17 +07:00
Tung Du 6e375408f7 Mini Cart: Fix footer buttons hover style (https://github.com/woocommerce/woocommerce-blocks/pull/6086)
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2022-03-24 22:34:36 +07:00
Tom Cafferkey b3fca9a1b9 Add static keyword to function (https://github.com/woocommerce/woocommerce-blocks/pull/6112) 2022-03-24 09:55:46 +00:00
Tomasz Tunik fdb8dde033 Fix site editor E2E tests for Gutenberg latest (https://github.com/woocommerce/woocommerce-blocks/pull/6080)
* Add handling of editor context via GUTENBERG_EDITOR_CONTEXT env var
* Fix flaky tests around editing templates
* Wait for save template response to complete
2022-03-23 14:18:00 +01:00
Saad Tarhi f8c5e910d2 Shopper → Cart → Can update product quantity (https://github.com/woocommerce/woocommerce-blocks/pull/6025)
* Add XPath expressions

* Add "setCartQuantity" utility function

* Add "productIsInCart" utility function

* Add "update product qty" e2e test

* Clean up test file

* Fix test on headless mode

* Add Increase/Decrease qty test cases

* Decrease the query chain for better maintainability

* Rename expression functions/file for more clarity

* Resolve conflict with trunk

Co-authored-by: Saad Tarhi <saad.tarhi@automattic.com>
2022-03-23 13:51:56 +01:00
Niels Lange 9346e723f3 Shopper can place an order as logged in user (https://github.com/woocommerce/woocommerce-blocks/pull/6037)
* Shopper can place an order as logged in user

* Fill billing address for logged in user

Co-authored-by: Saad Tarhi <saad.trh@gmail.com>
2022-03-23 13:23:22 +01:00
Niels Lange e4088cc398 Update documentation-guidelines.md 2022-03-23 12:22:06 +01:00
Tarun Vijwani 532952dd31 Critical flows: Shopper → Checkout → Can view empty checkout message (https://github.com/woocommerce/woocommerce-blocks/pull/6042)
* Added new test case for Critical flows: Shopper → Checkout → Can view empty checkout message
2022-03-23 15:17:48 +04:00
Niels Lange 512ae84b09 Shopper → Checkout → Can choose payment option (https://github.com/woocommerce/woocommerce-blocks/pull/5839)
* Shopper can choose payment option

* Empty cart before and after each test

Co-authored-by: Saad Tarhi <saad.trh@gmail.com>
2022-03-23 12:01:33 +01:00
Tom Cafferkey 7d0c2847f5 Refactor BlockTemplateUtils (https://github.com/woocommerce/woocommerce-blocks/pull/6019)
* Refactor BlockTemplateUtils.php

* Update comments

* Code review feedback

Co-authored-by: Tom Cafferkey <tom@Toms-MBP-2.broadband>
2022-03-23 09:16:07 +00:00
renovate[bot] 39b873fe76 Update dependency @types/react-dom to v17.0.14 (https://github.com/woocommerce/woocommerce-blocks/pull/6084)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-23 09:49:50 +01:00
renovate[bot] 323eca31bc Update dependency @types/gtag.js to v0.0.10 (https://github.com/woocommerce/woocommerce-blocks/pull/6082)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-23 09:00:13 +01:00
renovate[bot] 630bc9ee99 Pin dependency prettier to 2.0.5 (https://github.com/woocommerce/woocommerce-blocks/pull/6081)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-23 08:51:15 +01:00
renovate[bot] fa6e6cfb33 Update dependency @types/react to v17.0.41 (https://github.com/woocommerce/woocommerce-blocks/pull/6083)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-23 08:50:25 +01:00
Tomasz Tunik e1ae6b4552 Update GitHub actions/setup-node and add optionalDependencies handling (https://github.com/woocommerce/woocommerce-blocks/pull/6032)
* Update actions/setup-node to v2 and to use ,nvmrc file

* Fix order of actions for Bundle Size workflow

* Use actions/setup-node cache instead of actions/cache

+ ensure we always install with npm ci

* restore linting setup job to cache npm

* Don't install ndb in CI

Move ndb package to optionalDependencies and update
the CI workflows to not install optional dependencies

* Update actions/setup-node to v3

* Update actions/checkout to v3

* Update download and upload-artifact actions to v3

* Update actions/stale to v5
2022-03-23 08:41:43 +01:00
Tung Du 937bab7688 Fix: Mini Cart Contents: only show the active view (https://github.com/woocommerce/woocommerce-blocks/pull/6053) 2022-03-23 09:58:03 +07:00
Alba Rincón 1f9e4675fc Add `CurrencyCode` type (https://github.com/woocommerce/woocommerce-blocks/pull/6035)
* Create the CurrencyCode and use it for the currency `code` instead of the type `string`

Using the CurrencyCode type, the allowed values for the `code` property are restricted
to the ISO 4217 codes and not any string.

* Add and remove some currency codes to match the ones on WooCommerce

The WooCommerce supported list can be found here: https://github.com/woocommerce/woocommerce/blob/trunk/plugins/woocommerce/includes/wc-core-functions.php#L475

* Use CurrencyCode type on CurrencyInfo and CurrencyResponse instead of string
2022-03-23 00:30:56 +01:00
Alba Rincón e7a061d56f Show the skeleton only when the slider is loading and disabled (on the first load) (https://github.com/woocommerce/woocommerce-blocks/pull/6078)
It should not be shown when the user changes the input range
2022-03-22 23:38:53 +01:00
Alba Rincón 13311e7bee Rename Legacy Template block to Classic Template block (https://github.com/woocommerce/woocommerce-blocks/pull/6021)
The internal ID has been kept after a comment by @tjcafferkey. This causes a
bit of inconsistency in the internal code, but it was deemed that it would have
been better as users who have customized templates using this
blocks ID will have saved this in their database, and it would result
in a corrupt block when loaded, and we didn't want to support both IDs at the
moment.

Otherwise, most other references to the legacy template, are now using the word
“classic”.

Co-authored-by: Alba Rincón <alba@albasauatticmbp.home>
2022-03-22 23:34:43 +01:00
Mike Jolley 89e86b4999 Create deprecated_dependency wrapper to log errors conditionally (https://github.com/woocommerce/woocommerce-blocks/pull/6074)
Store Editing  E2E tests are failing because of an upstream regression, not related to this PR
2022-03-22 15:06:14 +01:00
Tung Du 9c22f241ca Mini Cart: Improve template part description (https://github.com/woocommerce/woocommerce-blocks/pull/6054) 2022-03-22 08:56:02 +07:00
Tung Du 64ae9330a2 Shopper → Mini Cart → Can see correct tax (https://github.com/woocommerce/woocommerce-blocks/pull/5979)
Co-authored-by: Lucio Giannotta <lucio.giannotta@a8c.com>
2022-03-22 08:54:06 +07:00
renovate[bot] c735812df9 Update dependency @types/lodash to v4.14.180 (https://github.com/woocommerce/woocommerce-blocks/pull/6058)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-16 04:49:56 +00:00
renovate[bot] eaabd1eee9 Update dependency @types/gtag.js to v0.0.9 (https://github.com/woocommerce/woocommerce-blocks/pull/6057)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-16 04:46:20 +00:00
renovate[bot] 6421f80ed2 Update dependency @testing-library/react to v12.1.4 (https://github.com/woocommerce/woocommerce-blocks/pull/6056)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-16 02:35:25 +00:00
renovate[bot] fad55e9295 Pin dependency @woocommerce/e2e-utils to 0.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/6055)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-16 02:20:32 +00:00
Mike Jolley c299411e28 7.2 testing notes 2022-03-15 11:53:56 +00:00
Mike Jolley f68890170a 7.2.0 changelog 2022-03-15 11:33:20 +00:00
Mike Jolley f926b24480 Checkout: Missing country error for virtual orders (edge case) (https://github.com/woocommerce/woocommerce-blocks/pull/6050)
* Make shipping address field optional on checkout routes

* Make update_customer_from_request use billing for shipping if omitted

* making shipping optional when needed

Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2022-03-14 13:53:08 +00:00
Mike Jolley c401369e04 Revert "Remove .gitattributes file (https://github.com/woocommerce/woocommerce-blocks/pull/5242)" (https://github.com/woocommerce/woocommerce-blocks/pull/6049)
This reverts commit 6ae286f670.
2022-03-14 12:42:34 +00:00
Thomas Roberts a6bff7e6e8 Change `shippingRatesLoading` to `isLoadingRates` (https://github.com/woocommerce/woocommerce-blocks/pull/5999)
* Change `shippingRatesLoading` to `isLoadingRates`

* Revert isLoadingRates back to old name in payment method interface

* Update docs with correct names returned by usePaymentMethodInterface

* Update TS to name the selectShippingRate method correctly

* Change method name on usePaymentMethodInterface back
2022-03-14 11:29:25 +00:00
Daniel Dudzic 5a8e94d86e Product Ratings: Add Global Styles font size and spacing support (https://github.com/woocommerce/woocommerce-blocks/pull/5927)
* Product Ratings: Add font size and spacing support

* Fix useTypographyProps hook

* Set SkipSerialization for Ratings block props

* Add additional hasSpacingStyleSupport check for the spacing

Co-authored-by: Luigi <gigitux@gmail.com>
Co-authored-by: Tomasz Tunik <tomasztunik@gmail.com>
2022-03-11 16:52:00 +01:00
Mike Jolley 011c4cb6fd Add missing chunk to register_block_type_assets 2022-03-11 15:34:25 +00:00
Albert Juhé Lluveras 0819ab2797 Correctly load JS translations from WC core (II) (https://github.com/woocommerce/woocommerce-blocks/pull/6036)
* Correctly load JS translations from WC core (II)

* typo

* empty instead of count

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2022-03-11 14:18:45 +00:00
Mike Jolley 8e057a03f5 Remove X- Prefixes from custom headers (https://github.com/woocommerce/woocommerce-blocks/pull/6020)
* Remove X- Prefixes from custom headers

* Fix docs

* Handle deprecated X-WC-Store-API-Nonce header if received

* Send old nonce until future version removes this

* Add todo and cut off date

* wc_deprecated_argument

* Update todo name

* typo

* Back compat in batch

* Flip Nonce logic to make it easier to support both in client bw compat logic
2022-03-11 12:07:08 +00:00
Tomasz Tunik 2ad55b5b9e Fix box-sizing on Global Styles blocks with border width control (https://github.com/woocommerce/woocommerce-blocks/pull/6043)
Set box-sizing to border-box on affected blocks: Featured product, featured category, sale badge.
2022-03-11 13:01:15 +01:00
Luigi Teschio f78b2d8619 Remove not used attributes (https://github.com/woocommerce/woocommerce-blocks/pull/5974)
* Remove not used attributes woocommerce/woocommerce-blocks#5952

remove not used attributes

* remove not necessary jsdoc comments

Co-authored-by: Tomasz Tunik <tomasztunik@gmail.com>
2022-03-11 12:44:51 +01:00
Tung Du 75bf08d2c9 Fix: Exclude Button block from the Empty Mini Cart Contents block insterter (https://github.com/woocommerce/woocommerce-blocks/pull/6034) 2022-03-11 08:17:37 +07:00
renovate[bot] dcec8f38b5 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/5724)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-10 18:16:25 +01:00
Seghir Nadir d694b9b089 Ignore storybook dist folder when running eslint (https://github.com/woocommerce/woocommerce-blocks/pull/6033)
* ignore storybook dist folder

* Add reports folder to .eslintignore

Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
2022-03-10 17:25:29 +01:00
Luigi Teschio 807720a28d Remove not necessary todo woocommerce/woocommerce-blocks#5827 (https://github.com/woocommerce/woocommerce-blocks/pull/6039)
Remove not necessary todo
2022-03-10 14:53:42 +01:00
Mike Jolley 7f512d1c26 Merge branch 'trunk' of https://github.com/woocommerce/woocommerce-gutenberg-products-block into trunk 2022-03-10 13:38:55 +00:00
Mike Jolley bfdd50cb63 7.3.0-dev in package.json 2022-03-10 13:38:52 +00:00
Mike Jolley 5165611e45 Remove deprecated data controls in favour of those from the `@wordpress/data` package (https://github.com/woocommerce/woocommerce-blocks/pull/5574)
* Remove expected warnings from test suite

* Switch dispatch and select usage to `controls`, from `@wordpress/data`

* Wrap render with act

* resolveSelect to wait for resolution

* resolveSelect
2022-03-10 13:22:05 +00:00
Christos Lilitsas 28d647d02c Clear notices session after handling (https://github.com/woocommerce/woocommerce-blocks/pull/5983) 2022-03-10 12:29:58 +00:00
Tarun Vijwani 349c668f01 Critical flows: Shopper → Cart → Can view empty cart message (https://github.com/woocommerce/woocommerce-blocks/pull/6024)
* Added test case for Critical flows: Shopper → Cart → Can view empty cart message
2022-03-10 15:50:07 +04:00
Tarun Vijwani 0530048f4c Critical flows: Shopper → Cart → Can remove product (https://github.com/woocommerce/woocommerce-blocks/pull/6015)
* Added test case for Critical flows: Shopper → Cart → Can remove product
2022-03-10 15:47:53 +04:00
Tomasz Tunik f15d628610 Fix 404 and 500 errors in E2E test logs, editor and front-end. (https://github.com/woocommerce/woocommerce-blocks/pull/5989)
* Change atomic blocks to not use custom webpack build paths

we want to always load lazy loaded components from their default paths
to avoid having to handle importing components in different ways for
regular and atomic component packages

* Add footer parts to test themes

The Site Editor is expecting the footer parts to be there or it will try to
load them anyways and throw a 404. It's not breaking, but it's polluting
the console.

* Use REST API to tear down the templates

Previously, we used a util called `trashAllPosts` which navigated to the post UI
and deleted all the posts to tear down any side-effects of template editing tests.

However, with a [recent change](14e20f72b5),
WP Core removed the UI for those and that made our tests meet a 500 error.

Using the REST API should also make everything faster.

* Remove deprecated pupeteer waitFor usage

was still present in attribute-filter.test.js

* Update package-lock.json

* pin package versions

* Unify all atomic blocks to register on php side

* Remove Atomic Blcoks chunk_translation handling from AllBlocks

Before it was responsible for enabling translations for all the atomic blocks

* Add per atomic block chunk_translation registration

* update @wordpress/e2e-test-utils to 6.0.2

* add optional puppeteer

* pin workflows node version to 16.13.2

* upgrade package-lock

* upgrade package-lock

* set react and react-dom as peerDeps

* remove atomic block registration

Co-authored-by: Lucio Giannotta <lucio.giannotta@a8c.com>
Co-authored-by: Luigi <gigitux@gmail.com>
2022-03-10 11:00:23 +01:00
Alex Florisca a67876e7d7 Update debug script name (https://github.com/woocommerce/woocommerce-blocks/pull/6014)
* Update debug script name

* rename to test:debug
2022-03-09 15:37:36 +00:00
Mike Jolley 235f260c04 Merge branch 'trunk' of https://github.com/woocommerce/woocommerce-gutenberg-products-block into trunk 2022-03-09 12:26:19 +00:00
Mike Jolley 04df284fe0 7.3.0-dev 2022-03-09 12:26:15 +00:00
Mike Jolley c3bf23fd4e Prefetch cart and checkout block assets when cart has contents (https://github.com/woocommerce/woocommerce-blocks/pull/5553)
* Prefetch block resources when cart has contents

* Fix error when cart is undefined
2022-03-09 12:25:36 +00:00
Niels Lange d9dd7a0df6 Shopper can choose shipping option (https://github.com/woocommerce/woocommerce-blocks/pull/5844) 2022-03-09 13:23:52 +01:00
Mike Jolley 22e206d00a Remove `internal` comments from Store API file comments (https://github.com/woocommerce/woocommerce-blocks/pull/6005)
* Remove internal comments

* Remove line break

* Notices
2022-03-09 10:20:47 +00:00
Alex Florisca fcadeaa2e1 E2E test improvements and consolidatng (https://github.com/woocommerce/woocommerce-blocks/pull/6013)
* Refactor e2e tests slightly for better efficiency

* Add "proceedToCheckout" shopper method & refactor code

* Use "beforeEach" in case we add more test cases

I've kept the "afterAll" function to reset any side effects at the end
of this file's tests

* Use "beforeEach" in "checkout-place-order-as-guest" file

* Use BASE_URL in shopper.block.goToBlockPage

Co-authored-by: Saad Tarhi <saad.tarhi@automattic.com>
2022-03-09 10:16:24 +00:00
Tung Du e735ffe5c2 Refactor: Use an alternative mini cart icon to fix the Mini Cart styling issues (https://github.com/woocommerce/woocommerce-blocks/pull/5985) 2022-03-09 16:13:52 +07:00
renovate[bot] 9503f03f9b Update dependency follow-redirects to v1.14.9 (https://github.com/woocommerce/woocommerce-blocks/pull/6018)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-09 03:07:12 +00:00
renovate[bot] 072c39b269 Update dependency @types/puppeteer to v5.4.5 (https://github.com/woocommerce/woocommerce-blocks/pull/6017)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-09 03:02:53 +00:00
Tung Du 22cdefd3da Cart: Accepted Payment Methods block: Use utility instead of the local function (https://github.com/woocommerce/woocommerce-blocks/pull/6001) 2022-03-09 07:06:32 +07:00
Alex Florisca 2e674dd6c0 Critical flow: Can see correct tax (https://github.com/woocommerce/woocommerce-blocks/pull/5900)
* Tax is displayed correctly e2e test

* Add extra utils to shopper

* add single e2e test script oin package.json

* Feedback changes from Niels

* Test tax is correct on summary page

* Check if CI test passes

* Longer timeout for tax test

* change timeout in jest config

* increate jest timeout

* Test

* Test

* Test

* setTimeout outside of tests to 120000

* Address raluca's feedback and timeout everywheregaa

* Increase timeout on  for search box

* set jest timeout to 120000

* Raluca's suggestions

* Debug

* Increase search timeout to 5000

* Only run Tax e2e tests in CI for quicker debug - REMOVE THIS

* use waitforSelector

* 30s delay for toMatchElement

* Let'shope this works

* Remove toMatchElement

* waitForSelector

* Run debug test only

* Debug tax test

* debug taxes

* shopper using toMatchElement again

* Remove the 30000 timeout delay from toMatchElement

* Run all tests but only once

* Remove tax test

* Revert "Remove tax test"

This reverts commit 7db34120e1e91f4fd26514fdb9525cac2a6066bb.

* Delete the minicart test

* Revert "Revert "Remove tax test""

This reverts commit 31dd654e52f37fcd02ccd25336958248bef495c6.

* Revert "Delete the minicart test"

This reverts commit 5595f0834a975d097a300bc0c7cbf643caa8b764.

* tax test

* block addToCart

* Put back block functions

* Refactor block.addToCart

* mini-cart e2e test uses shopper.block.emptyCart()

* only run shopper tests in CI

* Run frontend and shopper tests and change waitFor -> waitForTimeout

* Run frontend tests in CI

* Run CI e2e tests again

* Skip legacy template blocks

* Skip legacy template test but run all others

* Switch to storefront instead of twentytwentyone after legacy-template-blocks tests finish

* Tidy up

* fix typo

* Fix ESLint issue

Co-authored-by: Saad Tarhi <saad.trh@gmail.com>
Co-authored-by: Saad Tarhi <saad.tarhi@automattic.com>
2022-03-08 14:50:16 +00:00
Saad Tarhi 1e15672b7b Shopper → Checkout → Can place an order as guest (https://github.com/woocommerce/woocommerce-blocks/pull/6009)
* Add "goToCheckout" method in "shopper.block"

Instead of using "shopper.goToCheckoutBlock" method, it will much easier
to maintain the following structure "shopper.block.goToCheckout"

* Create a constant for billing details

* Create "fillBillingDetails" shopper method

* Add "placeOrder" method to "shopper"

* Enable "Cash on delivery" payment method for our test

* Update "@woocommerce/e2e-utils" package

Some new useful e2e utility functions weren't avaiable in the previous version

* Add E2E test for "Can place an order as guest"

* Fix mini-cart failing E2E tests

In case this fix woocommerce/woocommerce-blocks#6006 isn't merged yet, this commit can be used to pass all
E2E tests

Co-authored-by: Saad Tarhi <saad.tarhi@automattic.com>
2022-03-08 14:52:40 +01:00
Luigi Teschio fc01576a38 Additional classes are visible on frontend page woocommerce/woocommerce-blocks#5881 (https://github.com/woocommerce/woocommerce-blocks/pull/5991)
Additional classes are visible on frontend page
2022-03-08 14:24:52 +01:00
Tung Du 75b5181e0e Shopper → Mini Cart → Can view empty cart message and start shopping button (https://github.com/woocommerce/woocommerce-blocks/pull/5918) 2022-03-08 17:01:27 +07:00
Tomasz Tunik 6e185e0e2b Move __experimentalSelector outside of hasSpacingStyleSupport check (https://github.com/woocommerce/woocommerce-blocks/pull/6011) 2022-03-08 10:38:42 +01:00
Saad Tarhi c0aec1e85b Fix mini cart failling tests (https://github.com/woocommerce/woocommerce-blocks/pull/6006)
Set the correct "emptyCart" utility function

Co-authored-by: Saad Tarhi <saad.tarhi@automattic.com>
2022-03-08 00:09:20 +01:00
Luigi Teschio 4b80f92c02 Add feature gate for enabling the global styles for Product Sale Badge block only for the feature plugin (https://github.com/woocommerce/woocommerce-blocks/pull/6008)
* Add feature gate for the global styles for Product Sale Badge block woocommerce/woocommerce-blocks#6007

Add feature gate for the global styles for Product Sale Badge block

* add a check for the spacing support
2022-03-07 18:39:11 +01:00
Luigi Teschio 299f5e1bfa Hide Mini Cart Block on Cart and Checkout page (https://github.com/woocommerce/woocommerce-blocks/pull/5996)
* Hide Mini Cart Block on cart and checkout page woocommerce/woocommerce-blocks#5931

hide Mini Cart Block on cart and checkout page

* instead to not render nothing, use visibility hidden
2022-03-07 17:29:06 +01:00
Saad Tarhi c122008d70 Test Google's "ndb" E2E testing tool (https://github.com/woocommerce/woocommerce-blocks/pull/5997)
* install ndb as a development dependency

* Add "debug" script to package.json to launch "ndb"

* Create a minimal test example

This test file is used as an example, we will add later a script in
package.json to call only this file

* Create a temporary npm script to run it from "ndb"

We want to be able to run only a selected file using "ndb", so we need to
create an npm script for it

* Clean up test file

* Clean up & ready PR to merge

Co-authored-by: Saad Tarhi <saad.tarhi@automattic.com>
2022-03-07 17:10:17 +01:00
Saad Tarhi dee5032d41 Shopper → Cart → Can proceed to checkout (https://github.com/woocommerce/woocommerce-blocks/pull/5901)
* Shopper → Cart → Can proceed to checkout

* Refactor the code for E2E testing

Introduce some discussed solution to structure and optimize the code

* Resolve some conflicts with the trunk branch

* Remove method overriding and refactor code

We are trying to avoid overriding exiting E2E Woo's utility functions

Instead we can use our own "shopper.block"

* Use a consistent constant naming convention

Co-authored-by: Saad Tarhi <saad.tarhi@automattic.com>
2022-03-07 16:23:31 +01:00
Mike Jolley eae1d75c86 Store API: Consistent error code and hook naming (https://github.com/woocommerce/woocommerce-blocks/pull/5992)
* Update error codes with `woocommerce_rest_` prefixes.

* Update action and filter hooks with woocommerce_store_api_ prefix

* Update hook docs

* Update error code mismatches

* Update hook name in tests

* update hook name in tests

* phpcs
2022-03-07 13:51:07 +00:00
Alex Florisca e14448e151 Update testing instructions for 6.8.0 and 6.9.0 releases (https://github.com/woocommerce/woocommerce-blocks/pull/5855)
* Update testing instructions for 6.9.0 release

* Edit 6.8.0 testing notes

* Update 6.8.0 testing docs
2022-03-07 12:06:50 +00:00
Thomas Roberts 6b8ef2773a Try move shipping related dat to a `@wordpress/data` store (https://github.com/woocommerce/woocommerce-blocks/pull/5896)
* Add address-related items to wc/store/cart data store

* Add useUpdateCustomerData hook

This allows us to have a single hook responsible for updating the customer information on the server.

* Add useUpdateCustomerData hook in Checkout block

* Remove shippingAsBilling from previousCustomerData ref type

* Add useShippingAsBillingCheckbox hook

* Remove checkbox handling from useCheckoutAddress

* Merge with woocommerce/woocommerce-blocks#5810 changes

* Move shipping as billing to checkout state context provider

* Subscribe to changes

* Cache customerDataToUpdate

* Combine customerDataType and customerDataContextType

* Fix notice context

* Clean up inline docs for push changes

* Add useShippingData hook

* Add shipping related selectors to cart store

* Update useShippingDataContext to useCustomerData hook

* Update uses of useShippingDataContext to get data from hook instead

* Remove rogue linebreak

* Re-add linebreak

* Re-add linebreak, remove shippingAsBilling

* Re-add linebreak

* Use useShippingData and useCustomerData instead of context

* Fix fromEntriesPolyfill to use number or undefined as an index option

* Convert derive-selected-shipping-rates to TS

* Add SelectShippingRateType

* Get needsShipping from new hook and not context

* Get address data from useCustomerData instead of useShippingDataContext

* Move selectedRates, selectShippingRate and isSelectingRate

* Remove items from ShippingDatacontext that are available in data stores

* Get shipping data from stores, not context in payment method interface

* Consider shipping rates to be loading if customer data is updating

* Get rates from useShippingData hook instead of context

* Fix incorrect TypeScript types and incorrectly named destructure

* Move useShippingData into shipping folder

* Update tests to mock useShippingData instead of context

* Remove empty string fallback from shipping phone

* Get types from Cart declaration instead of Picking them

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2022-03-04 17:43:45 +00:00
Thomas Roberts 719c7f7c23 [Experiment] Try to memoize/cache filter results so that we don't call third party filters too often (https://github.com/woocommerce/woocommerce-blocks/pull/5143)
* Add memoized/cached filter runs

* Add function to check equality of object's members

* Add function to check equality of arg and extensions vs prev values for a filter name

* Memoize/Cache values of previously run filters

* Add docs and null check to shallow equality check

* Update packages/checkout/filter-registry/index.ts

Co-authored-by: Raluca Stan <ralucastn@gmail.com>

Co-authored-by: Raluca Stan <ralucastn@gmail.com>
2022-03-04 14:42:38 +00:00
Thomas Roberts db1989aefb Remove `fromEntriesPolyfill` (https://github.com/woocommerce/woocommerce-blocks/pull/5981)
* Remove fromEntriesPolyfill

* Remove further instances of fromEntriesPolyfill
2022-03-04 14:42:16 +00:00
Mike Jolley 9157930349 Remove v1 from Store Keys (https://github.com/woocommerce/woocommerce-blocks/pull/5987) 2022-03-04 14:03:52 +00:00
Mike Jolley fd03b79995 StoreAPI: Rename namespace to remove `\Blocks` (https://github.com/woocommerce/woocommerce-blocks/pull/5982)
* Composer config

* Update namespace in deprecated.php

* Bulk update namespace

* Revert rename in deprecated class

* bw compat

* Store API: Add dedicated container and make Store API code self-contained (https://github.com/woocommerce/woocommerce-blocks/pull/5986)

* Move ArrayUtils to StoreApi

* Move PaymentContext/PaymentResult

* Move create account functionality to checkout endpoint. Update tests.

* Move get_routes_from_namespace to blocks

* Move RestApi logic within StoreApi namespace/directory

* StoreAPI Container

* Update functions

* Update extend docs

* Run Doc build script

* Missing container calls for 3rd party extensions

* Fix doc toc
2022-03-04 13:28:37 +00:00
Mike Jolley c612b28e46 Remove lodash forEach usage (https://github.com/woocommerce/woocommerce-blocks/pull/5965)
* Remove lodash forEach usage

* Store built parents rather than deleting them
2022-03-04 12:04:15 +00:00
Tung Du 892d7c268d Shopper → Mini Cart → Can update product quantity (https://github.com/woocommerce/woocommerce-blocks/pull/5963) 2022-03-04 17:40:13 +07:00
Tung Du 43529e5735 Shopper → Mini Cart → Can go to Cart page (https://github.com/woocommerce/woocommerce-blocks/pull/5977) 2022-03-04 16:57:34 +07:00
Luigi Teschio 31b179eb49 Revert "Add wc-block-mini-cart__contents class for the Mini Cart block (https://github.com/woocommerce/woocommerce-blocks/pull/5800)" (https://github.com/woocommerce/woocommerce-blocks/pull/5984)
This reverts commit 54ce880762.
2022-03-03 09:52:51 +01:00
Tung Du 33ac2d5f4b Shopper → Mini Cart → Can proceed to checkout (https://github.com/woocommerce/woocommerce-blocks/pull/5978) 2022-03-03 08:24:30 +07:00
Lucio Giannotta 08a99165ca Add mock theme with Woo Templates for E2E tests (https://github.com/woocommerce/woocommerce-blocks/pull/5920)
This PR adds a block-enabled theme with templates for WooCommerce
which is intended to be used when testing the more complex scenarios
such as template fallbacks.

Additionally, since theme-dependent logic seems to be becoming more
and more useful (see woocommerce/woocommerce-blocks#5913), this PR also adds a utility function used to
explicitly declare theme dependencies of a test (`useTheme`).

Said function will activate the theme before running a given suite and then
reactivate the previous theme, as to make sure to not have any side-effects
(such as the ones described in woocommerce/woocommerce-blocks#5913 above).

Closes woocommerce/woocommerce-blocks#5660
2022-03-02 15:49:00 +01:00
colinleroy 6f8a3b14af Avoid crash in InboxNotifications if woocommerce-admin is entirely disabled. (https://github.com/woocommerce/woocommerce-blocks/pull/5954)
* Avoid calling plugin_dir_url a lot

* Fix crash if woocommerce admin is disabled

With Woocommerce's PR
https://github.com/woocommerce/woocommerce/pull/31991 applied, if
woocommerce admin is disabled via the woocommerce_admin_disabled
filter, the InboxNotifications block could crash.

* Fix coding style

* Simplify code path

* Remove unused initialization
2022-03-02 12:28:18 +00:00
Christos Lilitsas c35bf8ee67 Store API: Refactored validation handling and introduced `woocommerce_store_api_cart_errors` hook (https://github.com/woocommerce/woocommerce-blocks/pull/5904)
* Introduce 'wooocommerce_store_api_validate_cart' action

This action can be used by third party developers to add extra 'errors' in cart route responses. This is meant to function as a replacement of the legacy 'woocommerce_check_cart_items' hook.

* Introduce a new 'wooocommerce_blocks_draft_order_updated' action

The new action can be used to modify the finalized draft order object.
Additionally, developers can use it to throw a RouteException in order to prevent access to the checkout block.

The PR also shuffles some existing code that checks the order instance and sets the draft order ID before the 'woocommerce_blocks_checkout_update_order_meta' gets fired.

* Fix PHPCS

* Revert changes to Checkout route

* Add some extra content to the 'woocommerce_blocks_checkout_update_order_meta' docblock on the effect of exceptions thrown from callbacks

* Add __experimental prefix to 'wooocommerce_store_api_validate_cart' action

* Remove long ooo

* Add example

* Refactor cart error getters as wrappers to the validate functions

* Refactor stock_exceptions_to_wp_errors to return a single wp error.

* Add type hint in custom exception

* Fix namespace versioning and some minor improvements

* Move InvalidCartException catcher from AbstractCartRoute to AbstractRoute

* Introduce the __experimental_woocommerce_store_api_cart_errors filter

* Handle all notices and group them into a single WP_Error instance

* Cleanup doc and update example

* Cleanup NoticeHandler

* Fix doc

* Fix WP_Error namespace

* Update NoticeHandler unit tests

* Fix Unit tests typo

* Add docs to tests to bypass precommit scripts

* Refactor wp error grouping with merge_from

* Remove previous cart getters and refactor the get_cart_errors

* Fix CartSchema error getter and minor fixes

* Revert NoticeHandler exception namespace

* Unit test fix for get_cart_errors

* Switch back to do_action

* Update the example doc

* Duplicate use statement

* Update docblock in validate_cart() method for validation hooks

* Update action docs

* Remove __experimental prefix

Co-authored-by: Manos Psychogyiopoulos <psyx@somewherewarm.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2022-03-02 12:21:31 +00:00
renovate[bot] 78a4c060a3 Update dependency @types/lodash to v4.14.179 (https://github.com/woocommerce/woocommerce-blocks/pull/5976)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 11:37:57 +00:00
Tom Cafferkey e8855a5af3 Full Store Editing: Technical documentation (https://github.com/woocommerce/woocommerce-blocks/pull/5939)
* templates README and block-template-controller README

* Add execution scenario to block template controller readme

* Amend return value to block template controller readme

* Add source file link to block template controller docs

* LegacyTemplate.php overview

* Legacy Template JavaScript block README

* Update requirements of templates feature

* Doc updates based on feedback, and change Legacy Template references to Classic Template in anticipation of naming convention updates

* Update classic-template.md README

* Reword part of the add_block_templates section

* Update assets/js/blocks/legacy-template/README.md

Co-authored-by: Michael P. Pfeiffer <frontdevde@users.noreply.github.com>

* Update docs/readme.md

Co-authored-by: Michael P. Pfeiffer <frontdevde@users.noreply.github.com>

* Update docs/templates/README.md

Co-authored-by: Michael P. Pfeiffer <frontdevde@users.noreply.github.com>

* Update docs/templates/README.md

Co-authored-by: Michael P. Pfeiffer <frontdevde@users.noreply.github.com>

* Update README for blocktemplatecontroller

* Review feedback for Woo FSE technical documentation

Co-authored-by: Michael P. Pfeiffer <frontdevde@users.noreply.github.com>
2022-03-02 08:57:53 +00:00
renovate[bot] d54383b417 Update dependency @types/jquery to v3.5.14 (https://github.com/woocommerce/woocommerce-blocks/pull/5975)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-03-02 04:39:06 +00:00
dependabot[bot] 6bdd1e648b Bump url-parse from 1.5.3 to 1.5.10 (https://github.com/woocommerce/woocommerce-blocks/pull/5955)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.3 to 1.5.10.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.3...1.5.10)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-01 17:19:47 +01:00
Luigi Teschio 0f52c23eb4 Add font-style and font-weight support for ProductCategory List woocommerce/woocommerce-blocks#5670 (https://github.com/woocommerce/woocommerce-blocks/pull/5928)
Add font-style and font-weight support for ProductCategory List
2022-03-01 15:50:56 +01:00
Tung Du 22eccc8614 Shopper → Mini Cart → Can view filled mini cart contents block (https://github.com/woocommerce/woocommerce-blocks/pull/5923) 2022-03-01 18:25:13 +07:00
Michael P. Pfeiffer cabf4e7db6 Update to dev version 2022-03-01 12:15:30 +01:00
github-actions[bot] 537e0a3536 Release: 7.1.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5959)
* Empty commit for release pull request

* Add Changelog to readme.txt

* Update allow-plugins list as release build doesnt work otherwise

* Add testing instructions

* Update testing instructions

* Update version number in README.md

Co-authored-by: Lucio Giannotta <lucio.giannotta@a8c.com>

* Add phpcodesniffer to Composer allow-plugins

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Michael P. Pfeiffer <michael@cssconf.eu>
Co-authored-by: Michael P. Pfeiffer <frontdevde@users.noreply.github.com>
Co-authored-by: Lucio Giannotta <lucio.giannotta@a8c.com>
2022-03-01 12:10:42 +01:00
Mike Jolley 49b65c7bcf Refactor ExtendRestApi as ExtendSchema and expose `register_endpoint_data` as a public function (https://github.com/woocommerce/woocommerce-blocks/pull/5941)
* Create Extend class under schema namespace

* ExtendRestApi -> ExtendSchema

* ExtendSchema helper functions

* Move tests

* Fix tests

* Fix docs

* Typos

* Remove invalid param

* phpcs formatting

* Update docs/contributors/documentation-guidelines.md

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Update docs/extensibility/filtering-payment-methods.md

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Update docs/extensibility/README.md

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Update docs/extensibility/available-slot-fills.md

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Asserttrue comment

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
2022-03-01 10:34:05 +00:00
Luigi Teschio 6fbb97f043 Add margin support on the Product Image block (https://github.com/woocommerce/woocommerce-blocks/pull/5925)
* Add margin support on the Product Image block woocommerce/woocommerce-blocks#5671

Add margin support on the Product Image block

* fix tests

* more specific selector

* update mixin
2022-02-28 18:41:10 +01:00
Mike Jolley 4927605129 Use text indent in input fields instead of padding (https://github.com/woocommerce/woocommerce-blocks/pull/5947) 2022-02-28 17:16:31 +00:00
Tomasz Tunik 475b50573d Global Styles support for Product Price block (https://github.com/woocommerce/woocommerce-blocks/pull/5950)
* Add Global Styles support to product price block

- This comes sat a cost of losing control over regular vs sale price
- This includes refactor of attribute from align to textAlign
   which is a reserved supports feature attribute and textAlign is
   used across the Gutenberg project

* Add experimentalSelector and register as PHP block

This is required to make the GlobalStyles work inside of
the InnerContent block. Ie. All Products block.

* move sharedConfig supports outside of isFeaturePluginBuild check

* restore regularPriceClassName

* remove douplicated block registration on php side
2022-02-28 12:36:55 +01:00
Tomasz Tunik 61427b9e60 Change label from Remove to Reset (https://github.com/woocommerce/woocommerce-blocks/pull/5951)
This is to reflect how we agreed it would be best
  when working on Featured Product block
2022-02-28 11:39:52 +01:00
Lucio Giannotta 8ad1dff1f4 Rename templates to more e-commerce friendly names (https://github.com/woocommerce/woocommerce-blocks/pull/5935) 2022-02-28 08:00:01 +01:00
Thomas Roberts 7915a793fa Await expectations in checkout frontend test (https://github.com/woocommerce/woocommerce-blocks/pull/5942) 2022-02-25 18:21:10 +00:00
Tom Cafferkey c1bba93a20 Determine if we need to load the mini-cart from the theme (https://github.com/woocommerce/woocommerce-blocks/pull/5946) 2022-02-25 16:49:25 +00:00
Tarun Vijwani 55c3ec201f Add Testing Details In Contributors Guide (https://github.com/woocommerce/woocommerce-blocks/pull/5879)
* Add testing details in contributors guide
2022-02-25 18:51:58 +04:00
Marko Kaznovac 4a32932469 Change `curl` example calls to use `sh` code block (https://github.com/woocommerce/woocommerce-blocks/pull/5944) 2022-02-25 13:21:50 +00:00
Raluca Stan e01592e736 Add constants for C & C pages in our E2E tests (https://github.com/woocommerce/woocommerce-blocks/pull/5938)
* Add constants for C & C pages in our E2E tests

Inspired by WC E2E this will avoid going to admin to find out the links for these pages.

* Select C & C pages by using the main navigation links

* Fix function calls

* Revert back to using constants for C & C block pages' URLs

reverts 9587a0bd5efa5d97b484cd8d1bf927ff50f8e014 and bd7e2f996792d887756c0a0f4a10e6886574e77b
2022-02-25 10:44:16 +01:00
Daniel Dudzic 5a3c7be9a4 Revise Storybook entries for Checkout Blocks/totals components (https://github.com/woocommerce/woocommerce-blocks/pull/5853)
* Revise Storybook entries for Checkout Blocks/totals components

Revise Storybook entries for Checkout Blocks/totals components

Co-authored-by: Luigi Teschio <gigitux@gmail.com>

* Fix a typo in the Item label value

* set disable value for description and disable control for 'showRateAfterTaxName' prop

Co-authored-by: Luigi Teschio <gigitux@gmail.com>
2022-02-25 09:58:09 +01:00
Mike Jolley 528137c3b0 Fix spelling of two action hooks in Store API (https://github.com/woocommerce/woocommerce-blocks/pull/5926)
* Deprecate and rename hooks with incorrect spelling

* Update docs
2022-02-24 15:25:40 +00:00
Luigi Teschio 8caaeec998 Add Global Styles support for the Add To Cart Button block woocommerce/woocommerce-blocks#5666 (https://github.com/woocommerce/woocommerce-blocks/pull/5816)
* Add Global Styles support for the Add To Cart Button block woocommerce/woocommerce-blocks#5666

Add Global Styles support for the Add To Cart Button block

* remove support to font size

* try: fix the style override issue for add to cart button (https://github.com/woocommerce/woocommerce-blocks/pull/5843)

* restore typography support

* fix font weight

* add support for font weight

Co-authored-by: Tung Du <dinhtungdu@gmail.com>
2022-02-24 15:35:23 +01:00
Tung Du 49c5659eb9 Shopper → Mini Cart → Can open/close the drawer (https://github.com/woocommerce/woocommerce-blocks/pull/5894) 2022-02-24 21:02:24 +07:00
renovate[bot] e2618a2e31 Update dependency follow-redirects [SECURITY] (https://github.com/woocommerce/woocommerce-blocks/pull/5929)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-24 12:13:11 +00:00
Albert Juhé Lluveras f3f2dd76f5 Correctly load JS translations from WC core (https://github.com/woocommerce/woocommerce-blocks/pull/5910)
* Correctly load JS translations from WC core

* Needs wp-i18n dependency to load later

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2022-02-24 12:37:11 +01:00
Thomas Roberts bbe68f395e Change tests that use the incorrect `waitForSelector` API (https://github.com/woocommerce/woocommerce-blocks/pull/5932)
* Change tests that use the incorrect waitForSelector API

* Use .toMatchElement instead of just .toMatch

* Use sentence case for page title check
2022-02-24 11:31:26 +00:00
Thomas Roberts 918de7bc75 Ensure screenshots can be attached in jest html report (https://github.com/woocommerce/woocommerce-blocks/pull/5919)
* Ensure screenshots can be attached in jest html report

* Force tests to fail in ci

* Console log for testing

* Console log for testing

* Check on hook failure as well as test failure

* Revert "Force tests to fail in ci"

This reverts commit 6efebd63bba4792214f5b24824fb405cf38b1367.

* Take full page screenshot only when error type is not hook_failure

* Remove console log
2022-02-24 09:06:24 +00:00
Tarun Vijwani 2a5a40279f Removed negative margin-bottom from .wc-block-checkout__additional_fields class (https://github.com/woocommerce/woocommerce-blocks/pull/5899) 2022-02-24 12:29:30 +04:00
dependabot[bot] be54e48860 Bump follow-redirects from 1.14.7 to 1.14.8 (https://github.com/woocommerce/woocommerce-blocks/pull/5840)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-23 17:31:38 +00:00
colinleroy 7cb936bb10 Avoid calling plugin_dir_url a lot (https://github.com/woocommerce/woocommerce-blocks/pull/5915) 2022-02-23 12:20:32 +00:00
Mike Jolley a58b2d0ac4 Store API: Introduce API Versioning System (https://github.com/woocommerce/woocommerce-blocks/pull/5911)
* Fix missing dependency

* Min version exceeds required 5.6

* Move exceptions

* Move schemas under V1 namespace

* Move routes to v1

* Move RouteException

* Route versioning

* Update route and schema identifiers/init

* Rework route init to support multiple versions and multiple schema

* Tests for cart routes

* Cart coupons tests

* Batch

* extensions

* Update docs

* Update remaining tests

* woocommerce_store_api_route_version was unused

* Revert unrelated change

* Fix phpcs

* Update src/StoreApi/docs/guiding-principles.md

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Update src/StoreApi/docs/cart-items.md

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Update src/StoreApi/RoutesController.php

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Note about v1 unversioned endpoints

* Remove unused get_route_version

* 409 comment in tests

* Remove copy pasted comments

* Update all usage to v1

* Correct namespace

* More v1 namespaces

* More missing v1

* fix mocks

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
2022-02-23 12:00:45 +00:00
renovate[bot] 73f6a28e94 Update dependency react-number-format to v4.9.1 (https://github.com/woocommerce/woocommerce-blocks/pull/5922)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-23 11:31:12 +00:00
Tomasz Tunik 1805d29cc9 Add to Featured Product block option to remove custom image (https://github.com/woocommerce/woocommerce-blocks/pull/5886)
* adds toolbar option to remove custom image

removing custom image will reset it back to the default
product image if available

* update copy as per discussion

went with just Reset as it is commonly used in WordPress
and will have translation available
2022-02-23 08:16:47 +01:00
renovate[bot] 4f5ec713df Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/5921)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-23 03:55:08 +00:00
Mike Jolley 0714fa41bd Customer Data Store and revised handling for Shipping As Billing (https://github.com/woocommerce/woocommerce-blocks/pull/5817)
* Add address-related items to wc/store/cart data store

* include shippingAsBilling in return value of useCustomerData

* Add useUpdateCustomerData hook

This allows us to have a single hook responsible for updating the customer information on the server.

* Add useUpdateCustomerData hook in Checkout block

* Remove the updating customer data work from the useCustomerData hook

* Remove shippingAsBilling from previousCustomerData ref type

* Add useShippingAsBillingCheckbox hook

* Control shippingAsBilling from single hook

* Remove checkbox handling from useCheckoutAddress

* Remove CustomerDataContext typedef

* Merge with woocommerce/woocommerce-blocks#5810 changes

* Move shipping as billing to checkout state context provider

* Unused import

* Subscribe to changes

* Only receiveCartContents when updating customer data via checkout

* Cache customerDataToUpdate

* rename debounced function

* Combine customerDataType and customerDataContextType

* Change case of CustomerDataType

* debouncedUpdateCustomerData typo

* Fix notice context

* Clean up inline docs for push changes

* Comment on dirty state

* Phone is always set

* shippingAddress is never undefined

* setBillingPhone

* receiveCartContents explanation

* Tweak customerData to avoid null

* useShippingAsBilling

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2022-02-22 17:45:01 +00:00
Luigi Teschio a02e79ea38 Fix Global Styles for Product Image, Product Category List and Product Tag List Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/5852)
* fix Global Styles for Product Image, Product Category List and Product Tag List blocks

fix Global Styles for Product Image, Product Category List and Product Tag List blocks

* Block style font-size was applying wrong value for fontSize

* Add missing __experimentalSkipSerialization to Category List

Co-authored-by: Tomasz Tunik <tomasztunik@gmail.com>
2022-02-22 18:06:33 +01:00
Luigi Teschio 6e05f2dcf9 update innerBlock template for Featured Product and Featured Category blocks woocommerce/woocommerce-blocks#5676 (https://github.com/woocommerce/woocommerce-blocks/pull/5867)
update innerBlock template for Featured Product and Featured Category blocks
2022-02-22 15:49:11 +01:00
Albert Juhé Lluveras 530730e1a8 Remove hover effect from disabled Mini Cart button (https://github.com/woocommerce/woocommerce-blocks/pull/5909) 2022-02-22 15:40:48 +01:00
Tom Cafferkey 94b2d95693 Change tempalte ID when loading the mini cart template part (https://github.com/woocommerce/woocommerce-blocks/pull/5916) 2022-02-22 10:24:50 +00:00
Raluca Stan 858fffd697 Pass context information about parent block to the existing Slots (https://github.com/woocommerce/woocommerce-blocks/pull/5885)
* Pass context information about containing block to the existing Slots

* Fix images added to the Slots docs

* Use the parent's block name for the context prop passed to Slot fills
2022-02-22 10:33:52 +01:00
Tung Du 399a204138 Fix: Ensure `shopper.goToBlockPage` works with any theme (https://github.com/woocommerce/woocommerce-blocks/pull/5914) 2022-02-22 11:34:51 +07:00
Tung Du 47f8993a8d Shopper → Mini Cart → Can see the icon with a badge (https://github.com/woocommerce/woocommerce-blocks/pull/5877) 2022-02-22 09:50:59 +07:00
dependabot[bot] b7646e4640 Bump url-parse from 1.5.3 to 1.5.9 (https://github.com/woocommerce/woocommerce-blocks/pull/5905)
Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.3 to 1.5.9.
- [Release notes](https://github.com/unshiftio/url-parse/releases)
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.3...1.5.9)

---
updated-dependencies:
- dependency-name: url-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-21 19:24:49 +00:00
Albert Juhé Lluveras 0008e8b7f1 Update some Cart and Checkout extensibility docs to include the Mini Cart block (https://github.com/woocommerce/woocommerce-blocks/pull/5815)
* Update some Cart and Checkout extensibility docs to include the Mini Cart block

* Add Mini Cart to blocks-registry docs
2022-02-21 16:29:29 +01:00
mrleemon fcaf683fdc Fix typo (https://github.com/woocommerce/woocommerce-blocks/pull/5903) 2022-02-21 14:48:58 +00:00
Lucio Giannotta 341a742916 E2E tests for Product Tag Template and Legacy Block (https://github.com/woocommerce/woocommerce-blocks/pull/5888)
Also: 

* Add fixtures for tags
* Teardown both categories and tags when tests are done
2022-02-21 13:26:22 +01:00
Lucio Giannotta d64ebc72dc E2E tests for Product Category Template and Legacy Block (https://github.com/woocommerce/woocommerce-blocks/pull/5820) 2022-02-21 12:38:36 +01:00
Lucio Giannotta 5de9fec527 E2E tests for Product Archive Template and Legacy Block (https://github.com/woocommerce/woocommerce-blocks/pull/5748)
Also:
* Refactors the function to add a custom paragraph
* Add front-end test for archive template
* Use WordPress data to guarantee block presence
* Use WordPress data instead of selectors to match blocks
2022-02-21 12:01:56 +01:00
Lucio Giannotta 497820dcb9 E2E tests for Single Product Template (https://github.com/woocommerce/woocommerce-blocks/pull/5722)
* Add empty block theme to mock E2E tests
* Install empty theme in the test WP instance
2022-02-21 11:01:42 +01:00
Luigi Teschio 71bd69ad07 Pre-hydrate Mini Cart Block woocommerce/woocommerce-blocks#5882 (https://github.com/woocommerce/woocommerce-blocks/pull/5892)
* Pre-hydrate Mini Cart Block woocommerce/woocommerce-blocks#5882

Pre-hydrate Mini Cart Block

* try to fix test

* fix wrong behaviour
2022-02-18 14:44:10 +01:00
Tung Du dceb480e00 fix shopping button icon (https://github.com/woocommerce/woocommerce-blocks/pull/5859) 2022-02-17 16:19:01 +01:00
Raluca Stan 888d3d85b2 Update info about /checkout get endpoint data (https://github.com/woocommerce/woocommerce-blocks/pull/5807) 2022-02-17 10:13:41 +01:00
Luigi Teschio 54ce880762 Add wc-block-mini-cart__contents class for the Mini Cart block (https://github.com/woocommerce/woocommerce-blocks/pull/5800)
* Add wc-block-mini-cart__contents class for the Mini Cart block woocommerce/woocommerce-blocks#5418

Add wc-block-mini-cart__contents class for the Mini Cart block

* removed comment
2022-02-16 17:18:44 +01:00
Daniel Dudzic 5e55c1ae4a Mini Cart Block contents: Remove item border bottom (https://github.com/woocommerce/woocommerce-blocks/pull/5739)
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
2022-02-16 16:13:26 +01:00
Panos (Panagiotis Synetos) b8e4e37bb5 👌IMPROVE: Update readme.md to include required node version and npm run dev command (https://github.com/woocommerce/woocommerce-blocks/pull/5865) 2022-02-16 13:20:41 +00:00
Lucio Giannotta a9fd133c26 Post release version bump (7.1.0-dev) 2022-02-16 12:23:02 +01:00
github-actions[bot] beb0188116 Release: 7.0.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5842)
* Fix All Products block pagination not showing up (https://github.com/woocommerce/woocommerce-blocks/pull/5850)
* Fix regression for Twenty Twenty-Two theme with sale prices being underlined (https://github.com/woocommerce/woocommerce-blocks/pull/5851)

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Lucio Giannotta <lucio.giannotta@a8c.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
Co-authored-by: Tomasz Tunik <tomasztunik@gmail.com>
2022-02-16 12:18:36 +01:00
renovate[bot] d85f02112a Update dependency @types/react to v16.14.23 (https://github.com/woocommerce/woocommerce-blocks/pull/5857)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-16 04:35:29 +00:00
renovate[bot] f3894aabcd Update dependency @testing-library/react to v12.1.3 (https://github.com/woocommerce/woocommerce-blocks/pull/5856)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-16 04:22:50 +00:00
Tomasz Tunik b7c0fd60ce Fix regression for Twenty Twenty-Two theme with sale prices being underlined (https://github.com/woocommerce/woocommerce-blocks/pull/5851)
class name on price container in Product by * blocks changed from 'wc-block-components-product-price' to 'wc-block-grid__product-price'
2022-02-15 22:45:00 +01:00
Alex Florisca 3f1ebfd631 Update version numbers in bug report template (https://github.com/woocommerce/woocommerce-blocks/pull/5818) 2022-02-15 16:08:38 +00:00
Albert Juhé Lluveras cd6ceecd3a Fix All Products block pagination not showing up (https://github.com/woocommerce/woocommerce-blocks/pull/5850) 2022-02-15 16:31:50 +01:00
Luigi Teschio 30e10295c1 Rating Product block: Add support for global style (https://github.com/woocommerce/woocommerce-blocks/pull/5521)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* add custom save function

* Rating Product block: add support for global style woocommerce/woocommerce-blocks#4965

Rating Product block: add support for global style

* add feature flag

* fix import after merge

* fix global style css generation

* restore css for classic product rating html element

* don't apply the global style to PHP blocks

* remove registration
2022-02-15 15:48:45 +01:00
Tarun Vijwani 6cfadd9eb4 Fix for inconsistent spacing for checkout input fields (https://github.com/woocommerce/woocommerce-blocks/pull/5743)
Added margin top to :only-child to fix the inconsistent spacing for checkout input fields
2022-02-15 16:17:24 +04:00
Tung Du c7c914218e Fix: Mini Cart template part editor height (https://github.com/woocommerce/woocommerce-blocks/pull/5825) 2022-02-15 16:57:53 +07:00
Tung Du e513968a2d Add Shopping Button Inner block (https://github.com/woocommerce/woocommerce-blocks/pull/5614) 2022-02-15 13:48:06 +07:00
Luigi Teschio 8ae22fbc51 Remove not necessary div woocommerce/woocommerce-blocks#5419 (https://github.com/woocommerce/woocommerce-blocks/pull/5687)
Remove not necessary div
2022-02-14 17:39:04 +01:00
Luigi Teschio fba8b3767f Product Image block: Enable global style (https://github.com/woocommerce/woocommerce-blocks/pull/5562)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* add custom save function

* move hooks in a specific folder

* fix crash on WP 5.8

* Featured Category block: Add support for global style woocommerce/woocommerce-blocks#4965

Featured Category block: Add support for global style

* fix border color

* Product Image block: enable global style woocommerce/woocommerce-blocks#4965

Product Image block: enable global style woocommerce/woocommerce-blocks#4965

* fix test
2022-02-14 11:57:55 +01:00
Niels Lange 6946a0c189 Remove obsolete * in comment 2022-02-14 17:55:28 +07:00
Luigi Teschio d096b21504 Tag List block: Add support for global style (https://github.com/woocommerce/woocommerce-blocks/pull/5528)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* add custom save function

* move hooks in a specific folder

* Tag List block: add support for global style woocommerce/woocommerce-blocks#4965

Tag List Block: add support for global style

* add feature flag
2022-02-14 11:34:28 +01:00
Luigi Teschio 481f4c8e8e Sale Product Block: Enable global style (https://github.com/woocommerce/woocommerce-blocks/pull/5565)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* add custom save function

* move hooks in a specific folder

* fix crash on WP 5.8

* Featured Category block: Add support for global style woocommerce/woocommerce-blocks#4965

Featured Category block: Add support for global style

* fix border color

* Sale Product block: enable global style woocommerce/woocommerce-blocks#4965

Sale Product block: enable global style woocommerce/woocommerce-blocks#4965

* add comment
2022-02-14 11:32:13 +01:00
Luigi Teschio f2dad05e0d Category List block: add support for global style (https://github.com/woocommerce/woocommerce-blocks/pull/5516)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* Enable global style for category list block woocommerce/woocommerce-blocks#4965

Enable global style for category list block

* fix import after merge

* add save function

* add feature flag
2022-02-14 11:29:17 +01:00
Tom Cafferkey d178761252 Fix reverting customisations by refactoring pre_get_block_file_template (https://github.com/woocommerce/woocommerce-blocks/pull/5746)
* Refactor maybe_return_blocks_template to get_woocommerce_block_file_template

* Remove unused method and rename get_woocommerce_block_file_template to get_block_file_template

* Account for product-archive template fallbacks

* Fix bug with clearing customizations of templates using the deprecated plugin ID
2022-02-10 14:15:09 +00:00
Mike Jolley 0a8fe0a0c6 Remove `useSelectShippingRate` hook and adjust how local state works for `PackageRates` (https://github.com/woocommerce/woocommerce-blocks/pull/5802)
* Convert radio component to TS and support uncontrolled components

* Further radio control to typescript changes

* Combine useSelectShippingRate and useSelectShippingRates

* Remove useSelectShippingRate hook

* Move local radio checked state to PackageRates

* This is a Controlled component - update inline docs

* useSelectShippingRates -> useSelectShippingRate rename
2022-02-10 11:59:43 +00:00
Raluca Stan 051bb64138 Fix wide appender buttons overlap in Cart & Checkout blocks in the Editor (https://github.com/woocommerce/woocommerce-blocks/pull/5801)
* Add the correct appender button for non empty groups

* Revert "Add the correct appender button for non empty groups"

This reverts commit 4b41d7d7f82461813b3464d1b4f931c442bce3be.

* Force position relative for custom InnerBlocks.ButtonBlockAppender  appenders.

Removing InnerBlocks.ButtonBlockAppender  from renderAppender = {InnerBlocks.ButtonBlockAppender } results in the black appender button beeing shown only when the block is selected, and we need the appender to be visible by default.
2022-02-10 11:33:48 +01:00
Luigi Teschio a594ea5ef5 Fix Mini Cart doesn't update data (https://github.com/woocommerce/woocommerce-blocks/pull/5741)
* Remove api hydration for the Mini Cart Block woocommerce/woocommerce-blocks#5729

Remove api hydration for the Mini Cart Block

* fix PHP error

* send event when the button is clicked

* fix import order
2022-02-10 10:26:09 +01:00
Saad Tarhi d53551d4a7 Fix/cart button focus hover states (https://github.com/woocommerce/woocommerce-blocks/pull/5712)
* Add hover & focus styles for component buttons

We are using an old version of the "@wordpress/component" package,
that's why we are not getting the latest style fixes from Gutenberg.

The reason to not using the latest version is that we had some issues
with the bundle size.

The current solution is to set our own focus & hover styles

* Replace raw value with Sass variable

* Fix hover style for the mini cart block

We don't have the outlined button yet. This styles is unique for the
mini cart button.

To refactor this code, maybe we should create a reusable outlined button

* Add variant to the Woo Block Button component

To refactor our code, adding a "variant" prop looks logical since we are
have already "contained" & "outlined" buttons. So, for future need for an
outlined button, no need to manually apply the same style again.

The "contained" variant is set by default for legacy reasons. Our Button
component was first built as a contained one.

* Fix height difference: oulined & contained buttons

The outlined buttons have more height because of the added border value.

To fix it we can replace the border with the inner shadow.

Co-authored-by: Saad Tarhi <saad.tarhi@automattic.com>
2022-02-09 18:32:05 +01:00
renovate[bot] 74c5e7fbd1 Update dependency nanoid to 3.1.31 [SECURITY] (https://github.com/woocommerce/woocommerce-blocks/pull/5797)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-09 12:24:22 +00:00
Luigi Teschio 62cabea003 Set focus on Empty Mini Cart Contents Block (https://github.com/woocommerce/woocommerce-blocks/pull/5744)
* Set focus on Empty Mini Cart Contents Block woocommerce/woocommerce-blocks#4618

Set focus on Empty Mini Cart Contents Block

* fix useEffect logic
2022-02-09 10:51:30 +01:00
Tomasz Tunik ee6d1b5ae3 Add to cart button ignored redirect to cart setting (https://github.com/woocommerce/woocommerce-blocks/pull/5708)
* Expose products settings in wcSettings

For the time being we expose only what is used by the blocks
which is `cartRedirectAfterAdd`. In the future more can be added
as needed. Setting is accessible via `getSetting( 'productsSettings' )`.

We namespace the settings under productsSettigns to reflect
the domain and how settings are organised in Woo admin and to
inform that this is an object with more settings within.

This setting normally was available **only** if AJAX add to cart was set
as a js global `wc_add_to_cart_params.cart_redirect_after_add`.
By accessing the option directly we ensure it’s exposed
to blocks regardless of if AJAX option is enabled.

* update AddToCartButton to respect cartRedirectAfterAdd

This adds the redirect directly on the AddToCartButton after succesful
add to cart action. This follows convention that redirects or other side
effects shouldn’t happen as part of the action but rather be part of the
control that triggers such flow.
2022-02-09 09:26:25 +01:00
renovate[bot] 4156e0f532 Update dependency @testing-library/jest-dom to v5.16.2 (https://github.com/woocommerce/woocommerce-blocks/pull/5750)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-09 04:07:40 +00:00
renovate[bot] a9697cb3b5 Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/5749)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-09 04:04:30 +00:00
Thomas Roberts 3c16e7f533 Spread metadata when loading block in frontend (https://github.com/woocommerce/woocommerce-blocks/pull/5732) 2022-02-08 10:33:27 +00:00
Alex Florisca 16d5e773bc Reformatted prettier files (https://github.com/woocommerce/woocommerce-blocks/pull/5735) 2022-02-07 16:59:44 +00:00
Raluca Stan b72744988b Update release-initial-checklist.md (https://github.com/woocommerce/woocommerce-blocks/pull/5690)
* Update release-initial-checklist.md

This PR creates a new section `If this release is deployed to WordPress.org...` similar to the one in `patch-initial-checklist.md`

* Update patch release checklist
2022-02-07 16:16:00 +01:00
Mike Jolley e85e610b2a Free order handling (https://github.com/woocommerce/woocommerce-blocks/pull/5720) 2022-02-07 11:21:14 +00:00
Tung Du 4dab187dbe Fix: only allow Mini Cart block in Widgets and Site Editor (https://github.com/woocommerce/woocommerce-blocks/pull/5653)
* fix: exclude Mini Cart from the blocks editor

* fix: explicitly register Mini Cart blocks for Site Editor and Widgets

* add check to loading the block on frontend

* add e2e tests for widget area

* improve test title

Co-authored-by: Luigi <gigitux@gmail.com>
2022-02-07 11:29:22 +01:00
Alex Florisca 9b3fdbb0b0 Ts blocks (https://github.com/woocommerce/woocommerce-blocks/pull/5668)
* filter-element-label -> ts

* filter-submit-button -> ts

* form -> ts

* load-more-button -> ts

* loading-mask -> ts

* pagination -> ts

* ProductList -> ts (in progress)

* ProductList -> ts continued

* ProductList -> ts - done + fix some ts errors

* ProductList -> ts continued

* ProductList -> ts

* Tidy up

* Extract type for RegisteredBlockComponent

* Feedback from Mike

* Fix unit tests
2022-02-07 09:34:30 +00:00
Tom Cafferkey d533ae42e7 Add a Remove Image option to the Featured Category block (https://github.com/woocommerce/woocommerce-blocks/pull/5719) 2022-02-07 08:35:02 +00:00
Tomasz Tunik 729de5ea05 Revert "fix: accessibility of search products block (https://github.com/woocommerce/woocommerce-blocks/pull/5691)" (https://github.com/woocommerce/woocommerce-blocks/pull/5717)
This reverts commit d4d3f18453.
2022-02-04 11:26:34 +01:00
Daniel Dudzic 0b28bdf0dd Add stories for Button component woocommerce/woocommerce-blocks#5250 (https://github.com/woocommerce/woocommerce-blocks/pull/5706)
* Add stories for Button component woocommerce/woocommerce-blocks#5250

Add stories for Button component
Co-authored-by: gigitux <gigitux@gmail.com>

* Button: Change With Spinner story title to Loading
2022-02-03 13:29:06 +01:00
Tomasz Tunik d4d3f18453 fix: accessibility of search products block (https://github.com/woocommerce/woocommerce-blocks/pull/5691)
When output with php the block had correct accessibility on
the frontend but in the editor or when rendered as block
the correct aria label was missing because of misspelled
aria-label attribute.

Also fixed wrong value type provided for tabIndex in editor
while at it.
2022-02-02 19:56:56 +01:00
Luigi Teschio 86bbf5a037 Attribute Filter block: Enable global style (https://github.com/woocommerce/woocommerce-blocks/pull/5557)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* add custom save function

* move hooks in a specific folder

* fix crash on WP 5.8

* Featured Category block: Add support for global style woocommerce/woocommerce-blocks#4965

Featured Category block: Add support for global style

* fix border color

* Attribute Filter block: enable global style woocommerce/woocommerce-blocks#4965

Attribute Filter block: enable global style woocommerce/woocommerce-blocks#4965

* fix eslint error

* fix test

* add comments about !important
2022-02-02 18:41:39 +01:00
Tomasz Tunik d68f6d25b8 Fix Twenty Twenty-Two Products by Category block item tile styling issues (https://github.com/woocommerce/woocommerce-blocks/pull/5684)
* fixes products by category added to cart style

fixes woocommerce/woocommerce-blocks#5285 - View cart after adding item to cart was squeezed
in on the same line as the Add to Cart button

* fixes products by category sale price styles

fixes woocommerce/woocommerce-blocks#5286 - sale price was underlined because of the default
styles on the used ins HTML element
2022-02-02 18:21:39 +01:00
renovate[bot] 0554288807 Update dependency @types/react to v16.14.22 (https://github.com/woocommerce/woocommerce-blocks/pull/5696)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-02 15:05:42 +00:00
Mike Jolley 67283c02be Compare assets from builds (https://github.com/woocommerce/woocommerce-blocks/pull/5634)
* Comparison workflow

* Update locks
2022-02-02 14:56:16 +00:00
Mike Jolley 81bb982c5e Include issue submission link in the footer of all documention (.md files) (https://github.com/woocommerce/woocommerce-blocks/pull/5655)
* Add links to single routes in main index woocommerce/woocommerce-blocks#4473

* Footer

* Feedback template

* Remove footer from existing MD files

* Add doc footer script

* Apply script to all docs

* Fix examples
2022-02-02 14:27:46 +00:00
Tomasz Tunik eb54c4bec0 fix: Category List element not visible on all products item edit (https://github.com/woocommerce/woocommerce-blocks/pull/5688)
fixes woocommerce/woocommerce-blocks#5674 - item edit relied on data from @woocommerce/previews
productsPreview which was missing mock data for product category
2022-02-02 12:57:52 +01:00
Alex Florisca 072115ee75 Update version to 7.0.0-dev (https://github.com/woocommerce/woocommerce-blocks/pull/5705) 2022-02-02 11:57:48 +00:00
github-actions[bot] 8ce88ad3c4 Release: 6.9.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5680)
* Empty commit for release pull request

* Empty commit for release pull request

* Update readme.txt

* Update versions

* Update testing notes and changelog

* Empty commit for release pull request

* Empty commit for release pull request

* Update readme.txt

* Update versions

* Update testing notes and changelog

* Empty commit for release pull request

* Empty commit for release pull request

* Update readme.txt

* Update versions

* Update testing notes and changelog

* Empty commit for release pull request

* Empty commit for release pull request

* REadme.txt update

* new zip for testing

* update zip file

* Add `CopyWebpackPlugin` to ensure `block.json` is copied to `build` (https://github.com/woocommerce/woocommerce-blocks/pull/5692)

* Add CopyWebpackPlugin and add block metadata to build

* Check build directory for block.json

* New zip file

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
2022-02-02 11:40:45 +00:00
Luigi Teschio accce8e024 Fix 404 HTTP error for Product Title, Product Summary, and Product Stock indicator blocks woocommerce/woocommerce-blocks#5468 (https://github.com/woocommerce/woocommerce-blocks/pull/5649)
Fix 404 HTTP error for Product Title, Product Summary, and Product Stock indicator blocks
2022-02-02 10:20:17 +01:00
renovate[bot] bc9ae24aaa Update dependency @testing-library/jest-dom to v5.16.1 (https://github.com/woocommerce/woocommerce-blocks/pull/5698)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-02 08:19:03 +00:00
renovate[bot] 61bd3cb4eb Update storybook monorepo to v6.4.17 (https://github.com/woocommerce/woocommerce-blocks/pull/5697)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-02 04:51:46 +00:00
renovate[bot] ba476ac34d Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/5695)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-02-02 02:17:49 +00:00
Mike Jolley 2b5f115d41 Remove custom `Icon` component in favour of `@wordpress/icons` where possible (https://github.com/woocommerce/woocommerce-blocks/pull/5599)
* Remove atom icon

* Swap icon usage to WordPress package

* remove unused icons from library

* Use @wordpress/primitives

* Product cats block to listView

* On-sale to use percent instead of tag icon

* add to cart button use button icon

* on sale products block icon

* Handpicked products use stack icon

* Products by stock box icon

* Make sparkles woo purple

* Fix icon name

* Correct more tag name

* fix path to icons

* Update snaps

* Update readme to explain updated usage

* Import SVG and path from primitives

* Missing isFeaturePluginBuild

* Update assets/js/icons/README.md

Co-authored-by: Raluca Stan <raluca.stan@automattic.com>

* Update assets/js/icons/README.md

Co-authored-by: Raluca Stan <raluca.stan@automattic.com>

* Update assets/js/icons/README.md

Co-authored-by: Raluca Stan <raluca.stan@automattic.com>

* update lock

Co-authored-by: Raluca Stan <raluca.stan@automattic.com>
2022-02-01 16:54:38 +00:00
Thomas Roberts 5e32fb0576 Add `CopyWebpackPlugin` to ensure `block.json` is copied to `build` (https://github.com/woocommerce/woocommerce-blocks/pull/5692)
* Add CopyWebpackPlugin and add block metadata to build

* Check build directory for block.json
2022-02-01 16:42:15 +00:00
Tung Du 995d41e2a9 Fix: Empty Mini Cart contents overflow issue (https://github.com/woocommerce/woocommerce-blocks/pull/5635)
* fix: add wrapper for empty mini cart contents inner blocks. Allow inner content to be scrollable

* fix overflow issue for the editor

* add padding for the empty cart view
2022-02-01 17:19:41 +01:00
Luigi Teschio 9d1464baf3 Featured Product: Enable global style (https://github.com/woocommerce/woocommerce-blocks/pull/5555)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* add custom save function

* move hooks in a specific folder

* fix crash on WP 5.8

* Featured Category block: Add support for global style woocommerce/woocommerce-blocks#4965

Featured Category block: Add support for global style

* fix border color

* Featured Product block: enable global style woocommerce/woocommerce-blocks#4965

Featured Product block: enable global style

* fix border color

* fix eslint error

* fix opacity

* fix border radius

* fix opacity

* disable font-size support

* restore height for featured product and featured category
2022-02-01 15:01:31 +01:00
Thomas Roberts 426eb51830 Update Checkout block E2E fixture and increase node version in GH actions (https://github.com/woocommerce/woocommerce-blocks/pull/5678)
* Remove unnecessary setup step and use node v16 in E2E action

* Ensure storefront is active

* Use new checkout fixture

* Try with only checkout test

* Update package.json

* Run all tests, not just checkout
2022-02-01 11:14:16 +00:00
Luigi Teschio 2438fcd434 Disable font-size for the Featured Category block woocommerce/woocommerce-blocks#5681 (https://github.com/woocommerce/woocommerce-blocks/pull/5682)
Disable font-size for the Featured Category block
2022-01-31 18:03:54 +01:00
Manos Psychogyiopoulos 6ed7034223 Add inner wrapper div in 'td.wc-block-cart-item__product' (https://github.com/woocommerce/woocommerce-blocks/pull/5240)
* Add inner wrapper div in td.wc-block-cart-item__product

Adding this wrapper element is necessary in order to be able to "fake" item grouping in a theme-agnostic manner: https://user-images.githubusercontent.com/1783726/118831630-97855600-b8c8-11eb-8906-c7f9ada769e7.png

* Whoops

* Remove classnames function

* Update indentation for QuantitySelector

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2022-01-31 15:18:29 +00:00
Niels Lange 83ae876898 Keep top margin for create account section in editor (https://github.com/woocommerce/woocommerce-blocks/pull/5633) 2022-01-31 22:15:46 +07:00
Tomasz Tunik 54ca9e16b0 Fix ReadMore component maxLines prop reactivity (https://github.com/woocommerce/woocommerce-blocks/pull/5673)
when changing property value of maxLines component would not
update until remounted or reloaded with new settings
2022-01-31 13:56:19 +01:00
Thomas Roberts c7aa3a75b9 Update tests to use `useEvent` (https://github.com/woocommerce/woocommerce-blocks/pull/5573)
* Update payment-method-data-context tests to use userEvent

* Update mini cart block tests to use userEvent

* Update payment methods tests to use userEvent
2022-01-31 10:53:21 +00:00
Thomas Roberts afd9d42805 Add Checkout Order Summary inner block tests (https://github.com/woocommerce/woocommerce-blocks/pull/5675)
* Add fake items fixture

* Add test for rendering items in sidebar

* Add test for items with addons

* Add textContentMatcherAccrossSiblings helper

This is needed to match text when it's spread over a few elements

* Add test to ensure subtotal renders correctly

* Add test to ensure discounts are rendered correctly

* Add test to ensure fees are shown correctly

* Add test to check coupon entry form isn't present when coupons disabled

* Add more mock data to useStoreCart

* Mock useShippingDataContext

* Rename useStoreCartValue to useStoreCartReturnValue

* Remove unnecessary coupon button test

This should be tested within the TotalsCoupon component

* Add tests for shipping presence

* Add test for coupons

* Remove cart items fixtures

These are no longer needed

* Move the findByText utils to the utils folder

* Move inner blocks test to correct directory
2022-01-31 10:53:08 +00:00
Thomas Roberts a46f13c6c5 Move Checkout block attributes into metadata (`block.json`) (https://github.com/woocommerce/woocommerce-blocks/pull/5594)
* Add block title to AbstractBlock class

* Add block title to Checkout block

* Include all block.json files in tsconfig

* Add get_block_title method to Checkout.php

* Remove redundant block_title field

* Add block.json and remove static attributes from attributes.ts

* Register block using attributes from block.json

* Add metadata_path to AbstractBlock

* Add function to AssetsApi to get the metadata path from the plugin root

* Register the block using metadata if it's set in the block's class

* Remove get_block_title method

* Only add supports and attributes to the block when not registering with metadata

* Change get_block_metadata to get_block_metadata_path

* Change indentation to tabs in block.json

* Update comment to clarify why attributes and supports are set later

* Check if path to metadata is not empty instead of set and not empty

* Move checkout block out of cart-checkout directory

* Update get_block_metadata_path function to find block.json automatically

* Remove metadata path from AbstractBlock

* Check if there's a metadata file and register blocks with metadata if so

* Move deprecated attributes out of metadata and into attributes.ts

* Re-add deprecated attributes to checkout index

* Move order notes test

* Move test for checkout phone number in edito

* Fix indentation in checkout/block.json

* Move checkout terms tests

* Try forcing storefront theme in e2e tests

* Revert "Try forcing storefront theme in e2e tests"

This reverts commit 5b0fd47a2c39aadb0141a4ed28cbc0e6baa89625.

* Try capturing screenshot on test failures

* Try uploading error in try catch

* Try uploading artefacts on error

* Test uploading artefacts

* Screenshot just before looking for edit post layout

* Revert "Screenshot just before looking for edit post layout"

This reverts commit 61dff027789ce13a0d84e7b6f11e431637c5a450.

* Revert "Test uploading artefacts"

This reverts commit adf5cc55bcdb677f889bf5a62803b4150d98e665.

* Revert "Try uploading artefacts on error"

This reverts commit 7441a832a113a95fef89cc1b8db6dc79271be516.

* Revert "Try uploading error in try catch"

This reverts commit ca412ce505d56286b164f588a201a451f6bceeb6.

* Revert "Try capturing screenshot on test failures"

This reverts commit 0de6e97df19b116091a7bb3b8652713867d2d80f.

Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
2022-01-28 16:37:06 +00:00
Mike Jolley d8fb1933ef Fix devtool config broken in woocommerce/woocommerce-blocks#5589 2022-01-28 14:34:36 +00:00
Mike Jolley 1f6f97d860 Implement `@wordpress/scripts` analyze script (https://github.com/woocommerce/woocommerce-blocks/pull/5589)
* Add analyze-bundles command, replacing explore

* Replace source map explorer from webpack in favour of BundleAnalyzerPlugin

* Update deps

* update locks
2022-01-28 11:40:23 +00:00
Tung Du d6e6470937 Fix Mini Cart Edit template link (https://github.com/woocommerce/woocommerce-blocks/pull/5615) 2022-01-27 20:47:35 +07:00
Thomas Roberts b7560ebed5 Add tests for Checkout Terms block (https://github.com/woocommerce/woocommerce-blocks/pull/5621)
* Install @wordpress/block-editor package

* Add test for checkout terms frontend block

* Add tests for checkout terms in editor

* Add tests for Checkout Terms in editor

* Use void 0 as function's return type

* Update tests to use toBeInTheDocument and split checkbox test in two

* Use void 0 for empty function
2022-01-27 12:34:52 +00:00
Tung Du 6f4c00a2fd Fix: Exclude Mini Cart and other blocks inside the Mini Cart Contents block (https://github.com/woocommerce/woocommerce-blocks/pull/5616) 2022-01-27 17:10:53 +07:00
Tom Cafferkey 9934533375 Revert "Allow LegacyTemplate block to be reinserted, only on WooCommerce block templates. (https://github.com/woocommerce/woocommerce-blocks/pull/5545)" (https://github.com/woocommerce/woocommerce-blocks/pull/5643)
This reverts commit cf9c82e02e.
2022-01-27 09:45:00 +00:00
Tung Du 7e67bf62ca Fix: Mini Cart global style is not applied (https://github.com/woocommerce/woocommerce-blocks/pull/5618) 2022-01-27 08:38:49 +07:00
Luigi Teschio 2370ce4378 Featured Category block: add support for global style (https://github.com/woocommerce/woocommerce-blocks/pull/5542)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* add custom save function

* move hooks in a specific folder

* fix crash on WP 5.8

* Featured Category block: Add support for global style woocommerce/woocommerce-blocks#4965

Featured Category block: Add support for global style

* fix border color

* fix opacity

* fix border radius

* fix order rules css
2022-01-26 18:16:50 +01:00
renovate[bot] 2ab6037812 Update storybook monorepo to v6.4.14 (https://github.com/woocommerce/woocommerce-blocks/pull/5641)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-26 11:49:54 +00:00
Niels Lange 6ae286f670 Remove .gitattributes file (https://github.com/woocommerce/woocommerce-blocks/pull/5242) 2022-01-26 11:46:01 +07:00
renovate[bot] 57aab872fa Update dependency jest-html-reporters to v2.1.7 (https://github.com/woocommerce/woocommerce-blocks/pull/5640)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-26 02:42:57 +00:00
renovate[bot] 5de563b823 Update dependency @types/wordpress__block-editor to v6.0.5 (https://github.com/woocommerce/woocommerce-blocks/pull/5639)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-26 02:32:45 +00:00
renovate[bot] c87a944f77 Update dependency @babel/core to v7.16.12 (https://github.com/woocommerce/woocommerce-blocks/pull/5638)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-26 02:21:51 +00:00
Alex Florisca 4ba300d6d1 Prevent third party blocks from breaking the entire checkout/cart block (https://github.com/woocommerce/woocommerce-blocks/pull/5297)
* Prevent third party blocks from breaking the entire checkout block

* Fixed types and block error boundary around forced blocks

* Move InnerBlocksComponentWrapper and remove extra }

* Allow HTML nodes to be rendered in the component tree, not just eleents
2022-01-25 12:01:19 +00:00
Seghir Nadir 40ba5710a5 Update review automation to use Rubik name 2022-01-24 21:33:23 +01:00
Luigi fe0dfa81b1 update readme and add testing instructions for release 6.7.2 and 6.7.3 2022-01-24 15:08:59 +01:00
Luigi Teschio b0a3e95527 update checklist for the deploy process (https://github.com/woocommerce/woocommerce-blocks/pull/5619) 2022-01-24 14:15:21 +01:00
Luigi Teschio e52549208e Enable Mini Cart template-parts only for experimental builds woocommerce/woocommerce-blocks#5598 (https://github.com/woocommerce/woocommerce-blocks/pull/5606)
Enable Mini Cart template-parts only for experimental builds
2022-01-24 09:41:34 +01:00
Niels Lange 59c8ddc531 Show single express payment button in full width (https://github.com/woocommerce/woocommerce-blocks/pull/5601)
* Show single express payment button in full width

* Change :first-child:nth-last-child(1) to :only-child
2022-01-24 10:22:02 +07:00
Tung Du 718f2dbc6f Mini Cart Contents: Support link and text colors (https://github.com/woocommerce/woocommerce-blocks/pull/5566) 2022-01-22 00:39:04 +07:00
Thomas Roberts aaaf6787a3 Add tests for phone field on checkout (https://github.com/woocommerce/woocommerce-blocks/pull/5604) 2022-01-21 13:24:48 +00:00
Mike Jolley c25f8ec531 Manually update dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/5602)
* Add markdown-it and follow-redirects to package.

* fix eslint warning
2022-01-21 12:09:07 +00:00
Thomas Roberts 0d7b8ab95a Add tests for order notes component (https://github.com/woocommerce/woocommerce-blocks/pull/5605) 2022-01-21 12:07:36 +00:00
Luigi fc9e623079 update version plugin 2022-01-20 14:39:19 +01:00
github-actions[bot] 79f4d10310 Release: 6.8.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5570)
* Empty commit for release pull request

* Update readme.txt with 6.8.0 changelog

* initialize_session if it does not yet exist before calling the session class (https://github.com/woocommerce/woocommerce-blocks/pull/5577)

* Add testing notes for 6.8.0

* update testing release notes

* update testing notes

* Fix default `stockStatusOptions` in tag and attribute blocks (https://github.com/woocommerce/woocommerce-blocks/pull/5590)

* Fix default stockStatusOptions in tag and attribute blocks

These should be an array of keys, not objects.

* Fix stockStatus definition on PHP side

* Swap state to debounce.

* Improve presentation of stock filters

* Remove state usage for display options

* Remove debounce

* Consistent panel titles

* Fix global style for Product Summary block, Product Stock Indicator block, and Product Title block (https://github.com/woocommerce/woocommerce-blocks/pull/5595)

* Fix global style for Product Summary block, Product Stock Indicator block, and ProductTitle block

Fix global style for Product Summary block, Product Stock Indicator block, and ProductTitle block

* add feature flag

* fix lint errors

* fix global style bugs on Product Title block

* update testing release notes

* update new build with fixes

* Restore correct font style when the block is loaded in the editor (https://github.com/woocommerce/woocommerce-blocks/pull/5600)

* Restore correct font style when the block is loaded in the editor

Restore correct font style when the block is loaded in the editor

* fix style on Twenty Twenty theme

* update link for download the zip of the new release

* update readme.txt

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi <gigitux@gmail.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2022-01-20 14:35:47 +01:00
Mike Jolley bcba16e4a5 Prevent Redirect URL leaking between payment gateways (https://github.com/woocommerce/woocommerce-blocks/pull/5560)
* Reset redirectUrl to blank if not included in response.

* Force redirect URL for successful responses

* Revert "Force redirect URL for successful responses"

This reverts commit 61aae8b459843237b5428be8fa0cdb9500cd0485.
2022-01-20 11:25:40 +00:00
Luigi Teschio dd36c00180 Restore correct font style when the block is loaded in the editor (https://github.com/woocommerce/woocommerce-blocks/pull/5600)
* Restore correct font style when the block is loaded in the editor

Restore correct font style when the block is loaded in the editor

* fix style on Twenty Twenty theme
2022-01-20 10:02:17 +01:00
renovate[bot] 8c7db9b875 Update dependency @types/jquery to v3.5.13 (https://github.com/woocommerce/woocommerce-blocks/pull/5591)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 17:05:05 +00:00
Luigi Teschio 5f37425c90 Fix global style for Product Summary block, Product Stock Indicator block, and Product Title block (https://github.com/woocommerce/woocommerce-blocks/pull/5595)
* Fix global style for Product Summary block, Product Stock Indicator block, and ProductTitle block

Fix global style for Product Summary block, Product Stock Indicator block, and ProductTitle block

* add feature flag

* fix lint errors

* fix global style bugs on Product Title block
2022-01-19 15:02:30 +01:00
Mike Jolley c492a97d83 Fix default `stockStatusOptions` in tag and attribute blocks (https://github.com/woocommerce/woocommerce-blocks/pull/5590)
* Fix default stockStatusOptions in tag and attribute blocks

These should be an array of keys, not objects.

* Fix stockStatus definition on PHP side

* Swap state to debounce.

* Improve presentation of stock filters

* Remove state usage for display options

* Remove debounce

* Consistent panel titles
2022-01-19 11:42:21 +00:00
renovate[bot] 48af5544c0 Update dependency config to v3.3.7 (https://github.com/woocommerce/woocommerce-blocks/pull/5592)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-19 03:53:40 +00:00
Mike Jolley 0040f2fd0c initialize_session if it does not yet exist before calling the session class (https://github.com/woocommerce/woocommerce-blocks/pull/5577) 2022-01-17 15:20:15 +00:00
Tom Cafferkey cf9c82e02e Allow LegacyTemplate block to be reinserted, only on WooCommerce block templates. (https://github.com/woocommerce/woocommerce-blocks/pull/5545)
* Set attribute of legacy template block when block is inserted

* Allow inserter on Woo templates only

* Allow correct legacy block straight from the inserter

* Use WP Data store outside component to register block

* Pass in all attribute data when registering block

* Accommodate templates targetted at specific products or taxonomies

* Replace beginsWith with startsWith

* Replace test data with production data

* Conditionally use stores selector if it exists

* Unsubscribe if the store does not exist

Co-authored-by: Lucio Giannotta <lucio.giannotta@a8c.com>
2022-01-17 10:50:57 +00:00
Mike Jolley 37bf7a8067 When processing payments, use the woocommerce_hold_stock_minutes option (https://github.com/woocommerce/woocommerce-blocks/pull/5546) 2022-01-17 10:42:27 +01:00
Luigi Teschio 2a2aee49df Stock Indicator block: Add support for global style (https://github.com/woocommerce/woocommerce-blocks/pull/5525)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* add custom save function

* Stock indicator block: add support for global style woocommerce/woocommerce-blocks#4965

Stock indicator block: add support for global style

* fix import after merge
2022-01-17 10:11:26 +01:00
Luigi Teschio dfa98dcb5e Price Filter block: enable global style woocommerce/woocommerce-blocks#4965 (https://github.com/woocommerce/woocommerce-blocks/pull/5559)
Price Filter block: enable global style woocommerce/woocommerce-blocks#4965
2022-01-17 10:10:26 +01:00
Niels Lange 599e395dc1 Fix inconsistent HTML of rating section (https://github.com/woocommerce/woocommerce-blocks/pull/5552) 2022-01-14 18:32:28 +07:00
Thomas Roberts c950f29400 Remove extra padding for cart sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/5430)
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
2022-01-13 17:10:18 +00:00
Raluca Stan b1bef86632 Fix Using / for division is deprecated warnings seen when building the project (https://github.com/woocommerce/woocommerce-blocks/pull/5556) 2022-01-13 15:01:36 +01:00
Tung Du 61afd2b6ce Fix: fatal error when page contains edited template or template part (https://github.com/woocommerce/woocommerce-blocks/pull/5558) 2022-01-13 17:52:42 +07:00
Alex Florisca a8d979c47b Default all product images to "cropped" and actual image width (https://github.com/woocommerce/woocommerce-blocks/pull/5551)
* Default imageSizing for the all products block to 'cropped'

* set max-width:100%, width: auto on product grid images
2022-01-12 17:50:48 +00:00
Luigi Teschio d2ef7143d9 Summary Product block: Add support for global style (https://github.com/woocommerce/woocommerce-blocks/pull/5524)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* add custom save function

* Summary Product block: add support for global style woocommerce/woocommerce-blocks#4965

Summary Product block: add support for global style

* add color global style under feature flag

* fix import after merge

* fix typo
2022-01-12 16:31:25 +01:00
Luigi Teschio 9ad060b352 Product Title block: add support global style (https://github.com/woocommerce/woocommerce-blocks/pull/5515)
* Product title: add support global style woocommerce/woocommerce-blocks#4965

* add specific type

* add custom save function

* move hooks in a specific folder

* fix crash on WP 5.8

* fix global style title color (https://github.com/woocommerce/woocommerce-blocks/pull/5548)

Co-authored-by: Tung Du <dinhtungdu@gmail.com>
2022-01-12 14:33:46 +01:00
dependabot[bot] 56c68265b6 Bump postcss from 8.2.10 to 8.2.13 (https://github.com/woocommerce/woocommerce-blocks/pull/5543)
Bumps [postcss](https://github.com/postcss/postcss) from 8.2.10 to 8.2.13.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.2.10...8.2.13)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-01-12 13:11:30 +00:00
renovate[bot] a6e199b222 Update dependency @babel/cli to v7.16.8 (https://github.com/woocommerce/woocommerce-blocks/pull/5550)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-12 03:27:51 +00:00
renovate[bot] 6f04bac4e0 Update Node.js to v16.13.2 (https://github.com/woocommerce/woocommerce-blocks/pull/5549)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-12 03:25:53 +00:00
Mike Jolley d47c82ed61 remove prepare statement (https://github.com/woocommerce/woocommerce-blocks/pull/5471) 2022-01-11 15:36:43 +00:00
Luigi Teschio cba17c2ef9 Mini Cart block: re-enable background support woocommerce/woocommerce-blocks#4965 (https://github.com/woocommerce/woocommerce-blocks/pull/5539)
Mini Cart block: re-enable background support woocommerce/woocommerce-blocks#4965
2022-01-11 15:08:16 +01:00
Mike Jolley a5bd8f0564 Fix All Products Block Tests due to incorrect Stock Filter addition (https://github.com/woocommerce/woocommerce-blocks/pull/5541)
* Remove stock filter from all products block

* Add missing stock filter to product-category block
2022-01-11 11:25:05 +00:00
Mike Jolley a1695861f2 Add minimum quantity, maximum quantity, and step (multiple_of) to the Cart Block and Store API (https://github.com/woocommerce/woocommerce-blocks/pull/5406)
* add min and step to Store API

* add min and step support

* typo

* Update assets/js/base/components/quantity-selector/index.tsx

* Update assets/js/base/components/quantity-selector/index.tsx

* Fix debounce callback

* Style qty input to show steps

* Implement quantity_limits in API

* Quantity validation

* Update product API

* Normalize on + -

* Separate add to cart events from cart item events in regards to limits

* Prevent qty change for editable line items

* Unify filters

* Remove step number indicator from buttons ¯\_(ツ)_/¯

* Normalize on mount

* Update docs

Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2022-01-11 11:09:59 +00:00
Raluca Stan 33e3d9179a Update patch-initial-checklist.md (https://github.com/woocommerce/woocommerce-blocks/pull/5538)
Update the patch release checklist to include the email confirmation step
2022-01-11 11:58:51 +01:00
Mike Jolley e19abbc0c2 Remove Built-in Stripe Integration in favour of Stripe Extension (https://github.com/woocommerce/woocommerce-blocks/pull/5449)
* Remove Stripe from PHP side

* Remove stripe from client

* fix const name in tests

* Update docs
2022-01-11 10:53:38 +00:00
Raluca Stan 7073e3bb5f Update release-initial-checklist.md (https://github.com/woocommerce/woocommerce-blocks/pull/5537)
Add information about the the confirmation email step for the release
2022-01-11 10:28:26 +00:00
Thomas Roberts df6e27e22f Add margin below shipping packages in checkout (https://github.com/woocommerce/woocommerce-blocks/pull/5529)
* Add margin below shipping packages in checkout

* Add margin below shipping packages in checkout but not in cart
2022-01-11 10:27:37 +00:00
jonny-bull 87cb033cbd Add stock level filter to product blocks (https://github.com/woocommerce/woocommerce-blocks/pull/4943) 2022-01-10 13:39:24 +00:00
Tung Du 14c1017feb Mini Cart Contents block improvements (https://github.com/woocommerce/woocommerce-blocks/pull/5446) 2022-01-08 08:19:01 +07:00
Tung Du 4b159f0fcd Allow inserting blocks to filled mini cart (https://github.com/woocommerce/woocommerce-blocks/pull/5527) 2022-01-08 07:51:20 +07:00
Raluca Stan a574e12863 Add back 6.8.0-dev version after 6.7.1 patch 2022-01-07 18:13:49 +01:00
Raluca Stan 9759ccbf0a Merge branch 'release/6.7.0' with 6.7.1 details into trunk 2022-01-07 18:11:25 +01:00
github-actions[bot] b60afb534b Release: 6.7.1 (https://github.com/woocommerce/woocommerce-blocks/pull/5536)
* Force a string token property for the activePaymentMethod

* Empty commit for release pull request

* Update readme.txt with 6.7.1 info

* Add testing notes for 6.7.1

* Bumping version strings to new version.

Co-authored-by: Raluca Stan <ralucastn@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
2022-01-07 18:00:35 +01:00
Raluca Stan fc01458670 Update release initial checklist template (https://github.com/woocommerce/woocommerce-blocks/pull/5526)
* Update release initial checklist template

This PR includes more information about updating the Woo Blocks version in the WooCommerce repository:
- it updates the PR used as an example
- it updates the url for the composer.json file in WC repo
- it add info about how to update the composer.json and lock files

* Update .github/release-initial-checklist.md
2022-01-07 17:46:25 +01:00
Raluca Stan 5c232fa7a1 Force a string token property for the activePaymentMethod (https://github.com/woocommerce/woocommerce-blocks/pull/5535) 2022-01-07 14:41:25 +01:00
Albert Juhé Lluveras ea64dadb16 Update PR assignment automation to match new Team Kirigami name (https://github.com/woocommerce/woocommerce-blocks/pull/5534) 2022-01-07 13:40:41 +01:00
Tom Cafferkey 8bee57378b Query legacy and correct plugin slug for WooCommerce block templates (https://github.com/woocommerce/woocommerce-blocks/pull/5519) 2022-01-07 10:17:08 +00:00
Luigi Teschio c54440d0e1 Add wide and full alignment support for legacy template block (https://github.com/woocommerce/woocommerce-blocks/pull/5433)
* add align wide and full support for legacy template block

* fix PHP warning

* add a comment on get_markup_with_classes_by_attributes

* rename function

* add align wide and full support for legacy template block

* fix PHP warning

* add a comment on get_markup_with_classes_by_attributes

* rename function

* fix regex

* update regex

* update regex

* fix code styling
2022-01-07 10:47:48 +01:00
Luigi Teschio 340669bb90 Filter Products By Price block: don't allow to insert negative values on inputs (https://github.com/woocommerce/woocommerce-blocks/pull/5123)
* Don't allow to insert negative values on input for Filter Products By Price block woocommerce/woocommerce-blocks#2695

Don't allow to insert negative values on input for Filter Products By Price block

* renaming util functions and add comments
2022-01-06 15:30:34 +01:00
Luigi Teschio 549e10fabb Mini Cart Block: The color of the badge reflects the global style (https://github.com/woocommerce/woocommerce-blocks/pull/5477)
* Mini Cart Block: the color of the badge reflects the global style woocommerce/woocommerce-blocks#4965

Mini Cart Block: the color of the badge reflects the global style woocommerce/woocommerce-blocks#4965

* disable background
2022-01-06 09:47:34 +01:00
Lucio Giannotta 168984edc2 Move Woo Blocks template directories to latest Gutenberg convention (https://github.com/woocommerce/woocommerce-blocks/pull/5464)
* Align Woo Block template locations with the newest convention

While we now support both the old and new conventions for the templates
paths, our own repo should be aligned with the latest convention.

See: woocommerce/woocommerce-blocks#5455
Fixes: woocommerce/woocommerce-blocks#5343

* Simplify `generate_template_slug_from_path` function
* Change `BlockTemplatesController` constructor to get correct dir names
* Update Mini Cart template path
2022-01-05 19:28:51 +01:00
Lucio Giannotta 78a25b235f Legacy Template: Add warning about block removal (https://github.com/woocommerce/woocommerce-blocks/pull/5208)
Legacy blocks were previous locked for removal to avoid unintended
consequences. However, this would lock the ability to move the block within
other e.g. layout blocks and unnecessarily limit merchant customization ability.

Now that we have reverted this decision, merchants could delete this block,
which is likely **not** what they want to do. While we investigate other, more
long-term, solutions, we are adding a warning notice.

Refs woocommerce/woocommerce-blocks#5180. Fixes woocommerce/woocommerce-blocks#5207.

* Rename legacy blocks to avoid confusion with the term “Template”
2022-01-05 19:18:23 +01:00
Luigi Teschio 64696e06df Mini Cart Contents: Fix missing custom background (https://github.com/woocommerce/woocommerce-blocks/pull/5448)
* fix missing custom background mini cart contents

* fix naming
2022-01-05 13:53:12 +01:00
renovate[bot] d5af28a16f Update dependency eslint-plugin-import to v2.25.4 (https://github.com/woocommerce/woocommerce-blocks/pull/5518)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 04:08:56 +00:00
renovate[bot] a888ec33a2 Update babel monorepo to v7.16.7 (https://github.com/woocommerce/woocommerce-blocks/pull/5517)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2022-01-05 04:06:56 +00:00
Mike Jolley 7f2af8c1a6 Validate available payment methods before attempting payment or updating order statuses (https://github.com/woocommerce/woocommerce-blocks/pull/5440)
* Make payment method required

* removed unused imports

* Remove PUT method

* Validate available method when updating order

* Enable bacs for tests
2022-01-04 18:04:08 +00:00
Malith Senaweera 65835d3689 Fix duplicated error notices (https://github.com/woocommerce/woocommerce-blocks/pull/5476)
* Fix duplicated error notices

StoreNoticeProvider is already being used within Block component. This
removal prevents duplicated error notices within the Payment Options
section

* Move StoreNoticeProvider from payment block

Remove StoreNoticeProvider from payment block and move it to the parent
frontend block to avoid unnecessarily loading the notice provider
2022-01-04 17:37:46 +00:00
Mike Jolley 7cb46eb092 Prevent duplicate hooks in hook docs (https://github.com/woocommerce/woocommerce-blocks/pull/5472)
* Update wp-hooks-generator

* Update inline hook documentation into consistent format

1. Hook docs for the same hook should be identical
2. Prefix with `Hook: ` so the case of the hook is not changed.
3. Use `@see` instead of `@hooked`. Hooked is not a standard PHP Doc tag.

cc @Aljullu

* Update hook doc script to support duplicate hooks across files

* Remove unused variables in function

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2022-01-04 14:12:08 +00:00
Raluca Stan 3fd22f385d Update 6.8.0-dev tag 2022-01-04 12:33:01 +01:00
github-actions[bot] afcd224e73 Release: 6.7.0 (https://github.com/woocommerce/woocommerce-blocks/pull/5478)
* Empty commit for release pull request

* Update readme.txt with 6.7.0 changelog

* Add testing notes for the 6.7.0 release

* Fix typo in testing notes

* Update Testing Notes

* Remove item from testing notes for 6.7.0

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Raluca Stan <ralucastn@gmail.com>
2022-01-04 12:23:10 +01:00
Raluca Stan a07146f501 Bumping version strings to new version. 2022-01-04 11:47:59 +01:00
Raluca Stan f1e7c7d706 Remove item from testing notes for 6.7.0 2022-01-04 10:07:44 +01:00
Raluca Stan 695fb19f62 Update Testing Notes 2022-01-03 17:52:36 +01:00
Raluca Stan 70f8bc9500 Fix typo in testing notes 2022-01-03 15:59:35 +01:00
Raluca Stan 5c0f3bfd33 Add testing notes for the 6.7.0 release 2022-01-03 15:58:09 +01:00
Raluca Stan 2ad7fdd313 Update readme.txt with 6.7.0 changelog 2022-01-03 14:30:11 +01:00
Luigi Teschio 723eabee80 Add global style for Active Filters block (https://github.com/woocommerce/woocommerce-blocks/pull/5465)
* Enable global style for active filters block

* show blacklisted blocks in full site editing side

* fix test

* --amend

* fix check
2022-01-03 10:41:19 +01:00
Mike Jolley 0e53cea85c Fix initial population of address data in `useCustomerData` hook (https://github.com/woocommerce/woocommerce-blocks/pull/5473)
* Re-init customer data once cart has loaded

* Tweak typedef

* Track changes without capturing blank initial state in useCheckoutAddress
2021-12-31 16:10:43 +01:00
Raluca Stan 6eb3f9e17a Account for products without variations in the On Sale Products block (https://github.com/woocommerce/woocommerce-blocks/pull/5470)
* Account for products without variations in the prime_product_variations function

* Update src/BlockTypes/AbstractProductGrid.php

Co-authored-by: Mike Jolley <mike.jolley@me.com>

* Fix whitespace

* Remove unnecessary variable declaration

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2021-12-30 14:53:56 +01:00
Thomas Roberts a8e094473c Revert "Remove extra padding for cart sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/5247)" (https://github.com/woocommerce/woocommerce-blocks/pull/5429)
This reverts commit a60cd66692.
2021-12-30 12:24:18 +00:00
Niels Lange 17a0325b72 Correct name of lazy loaded translation file (https://github.com/woocommerce/woocommerce-blocks/pull/5453) 2021-12-30 12:23:02 +00:00
renovate[bot] 088be50f3c Update dependency jest-environment-puppeteer to v6.0.3 (https://github.com/woocommerce/woocommerce-blocks/pull/5469)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-29 04:07:31 +00:00
renovate[bot] c8ca9deea3 Update dependency @types/lodash to v4.14.178 (https://github.com/woocommerce/woocommerce-blocks/pull/5468)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-29 04:05:36 +00:00
renovate[bot] cabfd59023 Update dependency @types/jquery to v3.5.11 (https://github.com/woocommerce/woocommerce-blocks/pull/5467)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-29 02:52:05 +00:00
renovate[bot] a08553899c Pin dependency expect-puppeteer to 6.0.2 (https://github.com/woocommerce/woocommerce-blocks/pull/5466)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-29 02:41:54 +00:00
Lucio Giannotta 0367117d15 Move block templates and parts directories to the Gutenberg 12.1.0 convention (https://github.com/woocommerce/woocommerce-blocks/pull/5455)
Gutenberg 12.1.0 has changed the convention for the directory paths from
`block-templates` and `block-template-parts` to `templates` and `parts` respectively.

Allow compatibility with themes which follow both conventions and also make sure that
we remain backwards-compatible.

Fixes woocommerce/woocommerce-blocks#5450

Some of this fix has a dependency on WooCore

See: WooCommerce/woocommercewoocommerce/woocommerce-blocks#31522
2021-12-28 23:32:15 +01:00
Lucio Giannotta 4d616d7a76 Fix custom templates with fallback being incorrectly attributed (https://github.com/woocommerce/woocommerce-blocks/pull/5447)
* Fix custom templates with fallback being incorrectly attributed

Category and tags templates can fallback to the generic archive if, e.g., the theme
provides one for the latter but not for the former. However, since Gutenberg is not
aware of this fallback mechanism, it would incorrectly attribute the custom template
to the user instead of the theme.

Here we are explicitly setting the `has_theme_file` to make sure Gutenberg knows
we do, in fact, have a theme fail (if not what it expects).

Also skip the loop if template is duplicate but has no fallback

Fixes woocommerce/woocommerce-blocks#5441
2021-12-24 16:15:19 +01:00
Thomas Roberts 5036c69638 Add E2E tests for Filter blocks (Price, Attribute, and Active Filters) (https://github.com/woocommerce/woocommerce-blocks/pull/4562)
* Add clear and fill input test util

* Add tests for Filter Products by Price

* Add class name to filter products by price block in editor

* Update wp-env

* Fix formatting

* Update lock

* Revert "Update lock"

This reverts commit f4e809e000430eea3972c94fd2aea0a19ba6961b.

* Create product attributes during setup

* Remove product attributes during teardown

* Add attributes in fixture-data

* Add two new products, for attribute testing

* Load attributes into store and apply them to products

* Add class to Filter by Attribute when editing

This is so it can be targeted in E2E tests more easily.

* Add tests for Filter Product by Attribute

* Fix formatting in attribute-filter.test.js

* Add tests for active filters block

* Add doc block for ensuteCleanAttributes

* Update wording of title test in all filter block E2E

* Update test wording to read better

* Update snapshots

* Use pptr-testing-library selectors to click elements

This makes the tests easier to reason with, and lets us take a step back from the implementation details (classnames etc.)

* Add saveOrPublish test util

* Use pptr-testing-library selectors to click elements in attribute filter

* Use pptr-testing-library selectors to click elements in price filter

* Add `puppeteer-testing-library`

* Use puppeteer-testing-library API to look for H6 button

* Use correct argument in jest-puppeteer.dev.config

* Update package.json & package-lock.json

* remove tests for 5.3

* remove snapshots

* Remove ensureCleanAttributes

* Remove puppeteer-testing-library, install missing expect-puppeteer package and update tests

The puppeteer-testing-library, although added by gutenberg is not actively used.
I have removed it and realised that the added functionality can be easily replaced by expect-puppeteer.
This is a package that we specify in the jest configuration but it was not part of our package.json.
The selectors from puppeteer-testing-library have been replaced with .toClick and the utility clearAndFillInput with .toFill

The Filter by Attribute block has been skiped until tests are fixed.

* Add back setupPageSettings to jest setup

* Fix filter by attribute block test

* Fix linting error

Co-authored-by: Raluca Stan <ralucastn@gmail.com>
2021-12-23 17:26:10 +01:00
Lucio Giannotta ba9c602006 Remove “Page” suffix from template titles (https://github.com/woocommerce/woocommerce-blocks/pull/5434) 2021-12-23 17:20:52 +01:00
Thomas Roberts 20cac18474 Don't show shipping price when no options are available (https://github.com/woocommerce/woocommerce-blocks/pull/5444)
* Add isCheckout prop to NoShippingPlaceholder and TotalsShipping

* Pass isCheckout to TotalsShipping in Checkout sidebar

* Show the NoShippingPlaceholder if no rates are found

* Show better error message when no shipping is available in checkout
2021-12-23 13:24:08 +00:00
Tung Du b2eecf3bb0 Fix: Mini Cart: Default content for empty state (https://github.com/woocommerce/woocommerce-blocks/pull/5421) 2021-12-22 18:03:58 +07:00
Niels Lange 9a1cd85779 Remove text decorations from product filter (https://github.com/woocommerce/woocommerce-blocks/pull/5384) 2021-12-22 15:33:37 +07:00
renovate[bot] 047abeab84 Update dependency eslint-plugin-import to v2.25.3 (https://github.com/woocommerce/woocommerce-blocks/pull/5438)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-22 04:15:47 +00:00