Commit Graph

2109 Commits

Author SHA1 Message Date
renovate[bot] 4e2b78135b Update dependency mini-css-extract-plugin to v1.3.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3420)
* Update dependency mini-css-extract-plugin to v1.3.1

* update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-11-25 11:30:09 +00:00
Darren Ethier 0b09a5a906 fix deploy script not doing tags for patch releases not deployed to wp.org (https://github.com/woocommerce/woocommerce-blocks/pull/3451) 2020-11-23 16:51:10 -05:00
Albert Juhé Lluveras 94064c1597 Fix checkbox and textarea styles in Twenty Twenty One when it has dark controls (https://github.com/woocommerce/woocommerce-blocks/pull/3450)
* Fix textarea styles in Twenty Twenty One when has dark controls

* Fix checkbox styles in Twenty Twenty One when has dark controls
2020-11-23 15:20:31 -05:00
Albert Juhé Lluveras e125dfd97b Fix radio controls and checkboxes in Twenty Twenty One dark theme (https://github.com/woocommerce/woocommerce-blocks/pull/3446)
* Fix radio controls in Twenty Twenty One dark theme

* Fix checkbox control in Twenty Twenty One dark theme
2020-11-23 14:43:36 -05:00
Mike Jolley cf9dc1b6bf Fix Twenty Twenty One Button and Placeholder Styling (https://github.com/woocommerce/woocommerce-blocks/pull/3443)
* Reset product list padding

* Adjust placeholder color if css variable exists

This is 2021 specific but may become more prominant.

* FIx editor button styles in 2021

* Adjust button sizes based on columns

* Adjust padding
2020-11-23 14:21:36 -05:00
Albert Juhé Lluveras 5a38fca235 Fix Twenty Twenty One Price filter, Active filters and radio control styling (https://github.com/woocommerce/woocommerce-blocks/pull/3444)
* Fix price slider styling in Twenty Twenty One

* Fix price slider styling in Twenty Twenty One

* Fix radio control styling in Twenty Twenty One and remove usage of mixin

* Force 0 padding on active filters list
2020-11-23 17:30:27 +01:00
opr a7461de3b3 Hide spinner on cart block's "Proceed to Checkout" link when page unloads (https://github.com/woocommerce/woocommerce-blocks/pull/3436)
* Hide spinner on cart's "proceed to checkout" button when page unloads

This is required because of a feature of Safari where the page state is saved, including all class names, when a transition occurs. Navigating using the back button restores the page to that cached state, so the spinner class remains on the button. Resetting the state just before the page gets cached stops this from happening.

* Change comment case to sentence case.
2020-11-23 13:20:04 +00:00
opr fcfe5ee7dc Stop hidden products from being linked in cart and checkout blocks (https://github.com/woocommerce/woocommerce-blocks/pull/3415)
* Add catalog_visibility to CartItemSchema.php

This is used to get whether the product is visible in the catalogue, visible in the shop only, visible in search results only, or visible everywhere. We need to know this so we can pass it to the ProductImage and ProductName components.

* Remove links from CartLineItemRow if not visible in catalogue

Added catalog_visibility to lineItems prop, and when the product is not visible in the catalogue do not wrap product image in a link. Also pass down the hasLink prop to ProductName.

* Add hasLink prop to ProductName

When this prop is false we should not output the link around the product name. This is for when the product is hidden from the catalogue but we still want to show its name somewhere.

* Add tests and storybook for ProductName

* Add catalog_visibility check to OrderSummaryItem

When the catalogue visibility of a product is set to hidden or search, then the product name in the checkout sidebar should not be hyperlinked.

* Reverse logic for hiding link on product image & disabling link on name

Following a point from @budzanowski we do not need the hasLink prop, making use of disabled is probably a better idea.

* Remove tabindex from a in ProductName & output span if name is disabled

This change removes the need to pass a tabindex to the a in ProductName. This is because a disabled ProductName will now never output an a tag. When the ProductName is disabled a span is output instead, which has no tabindex by default.

This change also reverses the logic to decide whether the a or span should be output so as to make the code more readable and flow better.

* Update storybook and tests/snapshots for ProductName
2020-11-23 13:03:08 +00:00
renovate[bot] f6c8d91b9d Update dependency @testing-library/jest-dom to v5.11.6 (https://github.com/woocommerce/woocommerce-blocks/pull/3418)
* Update dependency @testing-library/jest-dom to v5.11.6

* update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-11-20 14:24:01 -05:00
renovate[bot] 756aae0be2 Update Node.js to v12.19.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3417)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-20 14:03:53 -05:00
Darren Ethier 36d4123ba2 if express payment is active, don’t show payment method options (https://github.com/woocommerce/woocommerce-blocks/pull/3432) 2020-11-20 12:45:12 -05:00
Mike Jolley 76b62f514c Refresh PaymentRequest after cancelling payment to prevent addresses remaining populated on repeat attempts (https://github.com/woocommerce/woocommerce-blocks/pull/3430)
* Re-init after a cancelation

* Remove empty data when normalising

* combine conditonals

* Move callbacks within effect
2020-11-20 11:40:58 -05:00
Mike Jolley 849e351a0e Sync shipping address with billing address when shipping address fields are disabled (https://github.com/woocommerce/woocommerce-blocks/pull/3358)
* Correct docblock description

* Sync shipping address changes with billing data

* Update inline documentation

* Revert address sync because it fails when shipping is disabled explicitely

* Avoid loading shipping address from customer is shipping is disabled

* Rather than update order from the wc/store/checkout request, update the customer object

This is turn is synced to order, but also allows the cart calcultions to use the posted data. This means that taxes will be updated based on address data even if not displayed on the checkout.

* Add action that combines billing and shipping updates

* Add route for updating billing and shipping address

* Sync billing data to server on change

* Shared constants for billing data

* Skip address update if missing country

* Allow null values to skip formatting

* Add billing to cart schema

* Removed unwanted hooks from previous commit

* Decoding is handled in useStoreCart

* Remove hook

* Make shipping context hold state

* Make billing context hold state

* Add address processors

* Cart does not have billing

* Update tests, remove some unrelated changes affecting the diff

* Revert "Update inline documentation"

This reverts commit 0393f49316de3152c6dcf6fda1192c06a74f1b55.

* Make shippingRatesAreResolving conditonal based on API request

* Shared address processor in cart and checkout

* Rename REST endpoint

* CustomerDataProvider and hook

* Update shipping address type defs

* Rename customer address endpoint, and remove update-shipping

* Update tests

* Fix tests by restoring country validation

* typo

* Update assets/js/base/hooks/cart/use-store-cart.js

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>

* Simplify debounce and request handling

* Remove state from address sync

This will mean billing is "forgotten" if using the checbox, but this greatly simplifies logic.

* Rename shipping rates loading to customer data loading

* Sync based on useStoreCart data

* Made cart API less strict on addresses

* Fix useCheckoutAddress sync

* Add note on currentShippingAsBilling

* Use incoming isCart

* Add more detailed inline comment for shippingAsBilling toggle event

* Combine customer billing and shipping ref

* Update address docblock

* Error handling in pluckAddress

* Fix cart response after rebase

* Update customer tests

* Update src/StoreApi/Routes/CartUpdateCustomer.php

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-11-20 15:13:35 +00:00
opr 5ded3a9058 Ensure "Add a note to your order" section is styled correctly when disabled (https://github.com/woocommerce/woocommerce-blocks/pull/3427)
* Pass disabled prop to FormStep in order-notes-step.js

This way we can add the disabled class to the div or fieldset rendered by FormStep.

* Add disabled class & style for disabled FormStep components

Allows us to style disabled elements that cannot have the disabled attribute (divs) the same way as disabled fieldsets are.

* Update test snapshot for FormStep

This is because we added a class to the div/fieldset element when it is disabled.

* Remove redundant selector from form-step styles

Because we now add the --disabled modifier to the class, we no longer need the disabled selector. The new class-name based selector covers both fieldsets and divs.
2020-11-20 10:48:26 +00:00
opr 897abcb73a Prevent checkout step heading text overlapping actual heading on small viewports (https://github.com/woocommerce/woocommerce-blocks/pull/3425)
* Change style rules for checkout step headings

This is required because when the checkout heading text is too long it collided and overlapped the heading content due to its absolute position. In this commit we add a grey line to the left of the checkout step heading to ensure consistency with the checkout step container's styling.

* Remove position rule from checkout-step heading content

This was no longer needed as it nothing relied on the position of this element.
2020-11-20 10:44:24 +00:00
Mike Jolley caaf9e14c2 Improve Stripe (chrome pay) express payment method availability (https://github.com/woocommerce/woocommerce-blocks/pull/3424)
* Check price >= 30

* Force payment methods to react to order totals change

* Fix express payments reducer so it overwrites

* Fallback to 0 if undefined
2020-11-20 10:10:04 +00:00
Bartosz Budzanowski 4cf3bf214b Use latest ( tracked ) patch releases. (https://github.com/woocommerce/woocommerce-blocks/pull/3406) 2020-11-19 12:23:38 +01:00
Rua Haszard 8395954c7a Support a plain js config argument to payment method registration APIs (https://github.com/woocommerce/woocommerce-blocks/pull/3404)
* handle plain options passed to registerPaymentMethod:
- no need for a callback dance
- support the previous API: if a function is passed, call it as before

* update Stripe for new registerPaymentMethod interface

* update docs & all built-in payment methods to simpler API

* handle plain options arg to registerExpressPaymentMethod:
- add legacy fallback if passed a function
- update stripe express payment method
- update docs
- remove unused `assertValidPaymentMethodCreator` util

* use correct case for `JavaScript`

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>

* typedefs for payment registration options + tidies for regular methods

* typedef express payment options arg & tidy stripe/payment-request:
- use camelCase for config instance (not a constructor/type)

* mention typedefs in payment method dev docs

* use @wordpress/deprecated to warn if callback passed to payment register

* update unit tests for new payment method API

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-11-19 11:06:33 +13:00
renovate[bot] adea8e33e4 Update dependency reakit to v1.3.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3421)
* Update dependency reakit to v1.3.0

* update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-11-18 16:38:29 +01:00
Albert Juhé Lluveras 3f01676d16 Exclude checkout-draft orders from WC Admin reports and My Account > Orders (https://github.com/woocommerce/woocommerce-blocks/pull/3379)
* Exclude checkout-draft orders from WC Admin reports

* Hook into order query args

* Add comments before applying filters

* Revert "Add comments before applying filters"

This reverts commit 83b695665c05a3a9e7669e8777080c6ff10d8421.

* Revert "Hook into order query args"

This reverts commit 94cec6c83cf5b5ce05cd106daf217c0b08f13a03.

* Hide draft orders from My Account > Orders

* Move filter to its own file

* Use custom plugin namespace for filter
2020-11-18 10:11:37 +01:00
Albert Juhé Lluveras e3163dc00d Add FeatureGating parameter to Package in tests (https://github.com/woocommerce/woocommerce-blocks/pull/3413) 2020-11-17 12:25:38 +00:00
Mike Jolley ec22a5c6c4 Cart and checkout should respect the global "Hide shipping costs until an address is entered" setting (https://github.com/woocommerce/woocommerce-blocks/pull/3383)
* Remove custom fieldconfig for shipping calculator so required fields for shipping are collected

* If the store config requires an address before shipping, do not return rates or totals

Totals, calculated by the cart, would be set to 0 in this scenario which could lead to customer confusion (why is the rate $10 but shipping shown as $0?)

* The shipping total row is missing a border

* Revert "If the store config requires an address before shipping, do not return rates or totals"

This reverts commit f3a4f24f5785392eb43bfc69a5548d398c47d8bb.

* Add hasCalculatedShipping to schema and hooks

* Show shipping notices with updated wording based on if shipping has calculated yet or not

* Refactor shipping row display to use new API props

* Remove block level isShippingCostHidden

* fix test

* Correct the math in the shipping preview in cart

* Document null

* Remove test—this option no longer exists

* Remove unused settings/constants
2020-11-17 11:58:38 +00:00
Mike Jolley 7b9898deeb Fix cart block isLarge console error in the editor when running WordPress 5.6 beta (https://github.com/woocommerce/woocommerce-blocks/pull/3408)
* Remove isLarge prop from Button component

* More isLarge button
2020-11-17 11:07:26 +00:00
Mike Jolley 582d9e87fc Show Express Payment Method Error Notices after Payment Failure (https://github.com/woocommerce/woocommerce-blocks/pull/3410)
* Strip tags from stripe error notices

* Revise abortPayment - this does not need to provide or handle responses

* Decode entities in responseData

* Correctly handle checkoutResponse props

* Show one error at a time from express methods

* Set ID to context to avoid need to manually define it
2020-11-17 10:51:27 +00:00
Albert Juhé Lluveras 6753023e08 Move feature flag PHP logic to a service class (https://github.com/woocommerce/woocommerce-blocks/pull/3343)
* Move feature flag PHP logic to a service class

* Add legacy methods

* Inject a FeatureGating class instance into Package

* Make is_experimental_build and is_feature_plugin_build methods non static
2020-11-17 08:46:12 +01:00
Albert Juhé Lluveras 624a8601bc Fix: orders not being placed when paying with an Express payment method from the Cart block (https://github.com/woocommerce/woocommerce-blocks/pull/3403)
* Fix Express payment methods in Cart block

* Create a draft order inside get_draft_order_object() if the ID doesn't match a draft order
2020-11-16 13:12:56 +00:00
Seghir Nadir a576ba8d67 Introduce ExtendRestApi (https://github.com/woocommerce/woocommerce-blocks/pull/3356)
* initial prototype for ExtendRestApi

* return before assign

* fix phplint errors

* declare Throwable

* remove empty init

* return initial data if shape is not correct

* Add IDENTIFIER to schema classes

* refactor ExtendRestApi to not use filters

* remove extra check

* implement ExtendRestAPI injected into StoreAPI schemas

* use $extend instead of $extend_schema

* fix phpcs issues

* update schema

* fix data type

* address review

* fix object cast

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-11-16 13:31:27 +01:00
Rua Haszard 32b7d31c63 Expose `discount_type` in Store API coupon endpoints (https://github.com/woocommerce/woocommerce-blocks/pull/3399)
* add `discount_type` to store api coupons endpoints

* add `discount_type` field to coupon API docs

* add comment documenting when discount_type appeared in API response
2020-11-16 10:30:08 +13:00
Darren Ethier 4a488efb56 Fix incorrect usage of static method in Stripe payment method integration (https://github.com/woocommerce/woocommerce-blocks/pull/3400)
* bump phpcs compat check to php 7

* implement order_meta adjustment directly.
2020-11-14 11:04:48 -05:00
Bartosz Budzanowski ca8fe37e89 Print wordpress version in e2e tests. (https://github.com/woocommerce/woocommerce-blocks/pull/3401) 2020-11-14 14:52:30 +01:00
Darren Ethier 5d4fde02f1 fix package-lock.json 2020-11-13 10:37:19 -05:00
Darren Ethier 0363856256 update package-lock (needed after all recent renovate updates). 2020-11-13 08:26:45 -05:00
renovate[bot] 663bdcddbf Update dependency react-test-renderer to v17 (https://github.com/woocommerce/woocommerce-blocks/pull/3393)
* Update dependency react-test-renderer to v17

* Update package-lock.json

* Update dependencies order.

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: budzanowski <bartosz.budzanowski@gmail.com>
2020-11-11 20:08:29 +01:00
renovate[bot] dcb90c1a26 Update dependency mini-css-extract-plugin to v1 (https://github.com/woocommerce/woocommerce-blocks/pull/3392)
* Update dependency mini-css-extract-plugin to v1

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: budzanowski <bartosz.budzanowski@gmail.com>
2020-11-11 19:08:40 +01:00
renovate[bot] ffc76ddbdf Update dependency promptly to v3.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3391)
* Update dependency promptly to v3.2.0

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: budzanowski <bartosz.budzanowski@gmail.com>
2020-11-11 19:02:29 +01:00
renovate[bot] d83f2c37e0 Update dependency core-js to v3.7.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3389)
* Update dependency core-js to v3.7.0

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: budzanowski <bartosz.budzanowski@gmail.com>
2020-11-11 18:56:27 +01:00
renovate[bot] 2b64c0eaec Update dependency eslint to v7.13.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3390)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-11 18:52:41 +01:00
renovate[bot] 9059525d3c Update dependency @types/react to v16.9.56 (https://github.com/woocommerce/woocommerce-blocks/pull/3388)
* Update dependency @types/react to v16.9.56

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: budzanowski <bartosz.budzanowski@gmail.com>
2020-11-11 18:51:53 +01:00
Darren Ethier e1b3bae4b4 Add note about internal notifications of release and fix smoke test link. 2020-11-11 09:39:26 -05:00
Darren Ethier 28d38890d3 add note about posting to internal slack and fix smoke testing link. 2020-11-11 09:37:40 -05:00
budzanowski 3f9aed0fb0 Update to 3.9.0-dev version. 2020-11-10 17:30:55 +01:00
github-actions[bot] 062e0b0226 Release: 3.8.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3384)
* generating changeset for pull request

* Update changelog for the 3.8.0 release.

* Update testing instructions.

* Update testing documentation.
2020-11-10 17:12:25 +01:00
Darren Ethier 2727acc6b9 Fix PHP8 Unsupported Types with Operators warnings for PHP8 (https://github.com/woocommerce/woocommerce-blocks/pull/3381)
* fix unsupported types with operators warning for PHP 8 with cart item conditional checks

* verify draft order object instance before using

* ensure per_page value is cast to integer

* correctly account for categories value and type in conditional

* add more instanceof checks

* Correct variable name in array check

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-11-09 15:55:31 -05:00
Darren Ethier 07e9e679cf update checklists to include reference to `#woo-core-releases` slack channel. 2020-11-09 15:50:54 -05:00
Gerhard Potgieter c770098cd6 Add WordPress.org assets folder and add latest assets. (https://github.com/woocommerce/woocommerce-blocks/pull/3377) 2020-11-09 08:07:15 -05:00
Mike Jolley f1df45ddd2 Show the phone number field in the billing section when shipping is disabled in settings (https://github.com/woocommerce/woocommerce-blocks/pull/3376)
* Add missing context docs for shouldCreateAccount

* shouldCreateAccount context docs

* No need to handle showOrderNotes in component—just don't render it

* Only render notes if needed

* Create PhoneNumber component to insert when needed
2020-11-09 11:00:31 +00:00
Mike Jolley 5a450fc142 Change delimiter used for spltChunks from tilde to hyphens (https://github.com/woocommerce/woocommerce-blocks/pull/3360)
* Change delimiter used for chunks to hyphens

* Add automaticNameDelimiter to all configs
2020-11-09 10:44:58 +00:00
Darren Ethier e09444c525 Force node 12 for action (https://github.com/woocommerce/woocommerce-blocks/pull/3380)
Currently our repository doesn't support node 14.x and this branch of node recently became LTS so GitHub actions now default to that version. This is an attempt to force a specific version of node for the action.
2020-11-06 10:49:19 -05:00
Darren Ethier ea4cd86c69 Release 3.7.1 2020-11-05 08:16:05 -05:00
Darren Ethier f3fdbd7b59 Fix account creation bugs (https://github.com/woocommerce/woocommerce-blocks/pull/3371)
* account for registration enabled setting when creating accounts

* default to false instead of global setting for initial allowCreateAccount attribute

* consider global allows signup value for whether account creation checkbox shows

* include existing hook when determining if checkout signup is available:
- woocommerce_checkout_registration_enabled hook

* use public api for registration settings (via WC_Checkout)

* initial round of test fixes

* fix logic flaw exposed by tests and align tests with actual values in real use

* return early if WC_Checkout is not available

* remove temporary test group and uncomment new test.

* improve test method name

* fix comment to match new routine name

* ensure block shows login prompt when store disables checkout signup

* fix incorrect conditional order and cover with tests

Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
2020-11-05 15:22:43 +13:00
renovate[bot] f11cd7a50f Update dependency @stripe/stripe-js to v1.11.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3365)
* Update dependency @stripe/stripe-js to v1.11.0

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-11-04 17:36:45 +01:00
renovate[bot] f50f510f63 Update storybook monorepo to v6.0.28 (https://github.com/woocommerce/woocommerce-blocks/pull/3369)
* Update storybook monorepo to v6.0.28

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-11-04 15:10:06 +01:00
renovate[bot] ebe7023a75 Update dependency html-react-parser to v0.14.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3368)
* Update dependency html-react-parser to v0.14.1

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-11-04 15:09:55 +01:00
renovate[bot] bd98a5b30e Update dependency @types/react to v16.9.55 (https://github.com/woocommerce/woocommerce-blocks/pull/3367)
* Update dependency @types/react to v16.9.55

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-11-04 15:09:48 +01:00
renovate[bot] c8ac09bceb Update dependency @testing-library/react to v11.1.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3366)
* Update dependency @testing-library/react to v11.1.1

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-11-04 12:47:35 +01:00
renovate[bot] 6d87a3f1f6 Update dependency @octokit/graphql to v4.5.7 (https://github.com/woocommerce/woocommerce-blocks/pull/3364)
* Update dependency @octokit/graphql to v4.5.7

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-11-04 11:24:59 +01:00
Darren Ethier 6f08922ea0 Improve smoke testing docs (https://github.com/woocommerce/woocommerce-blocks/pull/3351)
* Improve smoke testing docs and change location in docs

* add smoke testing to release pull request checklists
2020-11-03 11:40:26 -05:00
Seghir Nadir 4d82f1c14c Add __experimental_woocommerce_blocks_checkout_order_processed action (https://github.com/woocommerce/woocommerce-blocks/pull/3238)
* Add woocommerce_blocks_checkout_order_processed action

* pass order object as well

* remove empty post data

* add prefix and docs

* pass order object
2020-11-03 15:41:42 +01:00
Darren Ethier 49894c1f42 Fix approved-with-labels workflow
So apparently the action expects different encoding for the different label options (!)
2020-11-02 15:41:22 -05:00
Darren Ethier 16a0b02cba Create approved-with-labels.yml
Adds `status: ready to merge` and removes `status: needs review` labels from approved pull requests.
2020-11-02 13:46:50 -05:00
Darren Ethier 64210fab1b Add new doc referencing feature flags and experimental interfaces. (https://github.com/woocommerce/woocommerce-blocks/pull/3348)
* add doc for feature flag and experimental interfaces

* add new doc to TOC

* update pull request template to include checklist item for experimental/feature flag items

* tweak wording for experimental prefix

* fix bad formatting of bold for lines

* fix double slash in url

* add missing sentence case

* remove account signup as that is not included in Cart and Checkout block logic.

* Fix typo
2020-10-30 10:35:50 -04:00
Albert Juhé Lluveras 9069a8d509 Update composer.lock to v. 2 (https://github.com/woocommerce/woocommerce-blocks/pull/3335) 2020-10-30 09:37:33 +01:00
Rua Haszard 330d91f4b6 3.8.0-dev version bump 2020-10-30 09:42:48 +13:00
github-actions[bot] f4eeb5d0c6 Release: 3.7.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3339)
* generating changeset for pull request

* generating changeset for pull request

* tweak wording - testing instructions are focused on new features

* testing instructions (tbc) for 3.7.0

* link in 3.7.0

* add instructions for checkout signup

* 3.7.0 changelog

* Add missing doc links to TOC for release testing notes.

* fix typo in "replace"

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>

* add testing instructions for various issues fixed in 3.7

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-10-30 09:38:18 +13:00
Rua Haszard 01132107a4 Allow shoppers to sign-up for an account from the Checkout block (https://github.com/woocommerce/woocommerce-blocks/pull/3331)
* expose checkout signup feature to release build (feature plugin):
- remove isExperimental from block/editor js (the block is already gated
  to plugin only)
- gate entire service class to feature plugin && Woo >= 4.7
  - this ensures our custom email and set password flow are only active
    for supported woo version, if blocks plugin is active
  - also refactored the gating logic so the woo version check is used to
    gate all code

* eslint action told me to delete comment `.` ... ?

* remove experimental feature flag for checkout signup front-end:
- "Create Account?" checkbox in address/contact component
- logged-out prompt logic - handle case when signup is enabled and guest
checkout is not enabled, i.e. checkout requires automatic signup

* fix formatting issues

* add allowCreateAccount to proptypes for CheckoutForm and AddressStep
2020-10-29 10:42:49 +13:00
renovate[bot] 814b84f973 Update dependency wordpress-compose to v3.22.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3330)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-28 13:32:13 -04:00
renovate[bot] a6047110f4 Update storybook monorepo to v6.0.27 (https://github.com/woocommerce/woocommerce-blocks/pull/3332)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-28 13:15:36 -04:00
renovate[bot] e49e306940 Update dependency commander to v6.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3329)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-28 12:49:26 -04:00
renovate[bot] a5e6dd4d3d Update dependency eslint to v7 (https://github.com/woocommerce/woocommerce-blocks/pull/3333)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-28 12:07:34 -04:00
renovate[bot] ee092f2d3d Update dependency @testing-library/jest-dom to v5.11.5 (https://github.com/woocommerce/woocommerce-blocks/pull/3327)
* Update dependency @testing-library/jest-dom to v5.11.5

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-10-28 16:29:42 +01:00
renovate[bot] 10304dbc5e Update dependency axios to v0.21.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3328)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-28 11:29:21 -04:00
renovate[bot] 9a58cd8c7f Update dependency @types/react to v16.9.54 (https://github.com/woocommerce/woocommerce-blocks/pull/3306)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-28 11:04:56 -04:00
Seghir Nadir 2482e307e0 Save order after creating an account (https://github.com/woocommerce/woocommerce-blocks/pull/3260)
* Save order after creating an account

* create account before saving

* fix tests

* remove order from createOrder

* rename variable

* fix tests
2020-10-28 15:18:22 +01:00
Albert Juhé Lluveras 55007b4601 Enable react-hooks/exhaustive-deps ESLint flag (https://github.com/woocommerce/woocommerce-blocks/pull/3325) 2020-10-28 10:14:46 +01:00
Albert Juhé Lluveras 109a7c3f54 Fix React hook dependency warnings in filter an All Products blocks (https://github.com/woocommerce/woocommerce-blocks/pull/3285)
* Fix wrong JSDocs

* Fix React hook dependency warnings in usePrevious hook

* Fix React hook dependency warnings in Filter an All Products blocks
2020-10-27 16:39:08 +01:00
Albert Juhé Lluveras 55e1a15149 Fix React hook dependency warnings in Cart & Checkout blocks + withAttributes HOC (https://github.com/woocommerce/woocommerce-blocks/pull/3314)
* Fix React hook dependency warnings in Cart & Checkout blocks

* Fix React hook dependency warnings in withAttributes HOC

* Fix select validation

* Fix test

* Remove unnecessary optional chaining

* Undo merge of two useEffects
2020-10-27 15:37:18 +01:00
Bartosz Budzanowski f66aa18e43 Change items organisation on smaller viewports. (https://github.com/woocommerce/woocommerce-blocks/pull/3299)
* Change items organisation on smaller viewports.

* Justify and gap.

* Align cost to quantity.
2020-10-27 15:23:27 +01:00
Bartosz Budzanowski 58734be009 Fix Gutenberg e2e tests failures. (https://github.com/woocommerce/woocommerce-blocks/pull/3324)
* Add e2e utils file.

* Update tests to use new utils.

* Remove allow failures.
2020-10-27 13:24:53 +01:00
renovate[bot] 7323392746 Update dependency @types/jest to v26.0.15 (https://github.com/woocommerce/woocommerce-blocks/pull/3305)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-26 14:26:35 -04:00
renovate[bot] 643a7ceace Update dependency @testing-library/react to v11.1.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3304)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-26 13:53:13 -04:00
Darren Ethier d288daa6f5 Fix PHP 8 error when argument is not invocable in AssetsDataRegistry::add_data (https://github.com/woocommerce/woocommerce-blocks/pull/3315)
* fix php 8 error when $data is not invocable

`is_callable` is the preferred way for checking whether a variable value is invocable or not.

* use is_callable in AbstractDependencyType
2020-10-26 13:28:25 -04:00
Darren Ethier 552981899c convert `composer/installers` to range instead of pinned dependency (https://github.com/woocommerce/woocommerce-blocks/pull/3323) 2020-10-26 09:17:28 -04:00
Bartosz Budzanowski abed796bd6 Respect Enable Taxes setting for checkout block taxe display. (https://github.com/woocommerce/woocommerce-blocks/pull/3291)
* Respect Enable Taxes setting for checkout block taxes display.

* Refactor logic into a named const.
2020-10-26 11:34:30 +01:00
renovate[bot] e1bfb747f9 Update dependency react-test-renderer to v16.14.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3307)
* Update dependency react-test-renderer to v16.14.0

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-10-23 11:38:22 +02:00
renovate[bot] e6fc57748d Update dependency @stripe/stripe-js to v1.10.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3303)
* Update dependency @stripe/stripe-js to v1.10.0

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-10-23 11:30:04 +02:00
Remi Corson 181797906a E2E WC Core Terms Consistency (https://github.com/woocommerce/woocommerce-blocks/pull/3310)
* E2E WC Core Terms Consistency

fixes 3309

* fix test text

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-10-22 09:49:55 -04:00
Albert Juhé Lluveras 10ceda5851 Use @wordpress/base-styles and @automattic/color-studio as a base for our styles (https://github.com/woocommerce/woocommerce-blocks/pull/3300)
* Use colors variables instead of hardcoded values when possible

* Update WC colors from @automattic/color-studio

* Decrease specificity of price-slider CSS selectors

* Update colors to WC purple

* Update bright colors

* Update grays

* Update blacks and whites

* Add @todo comment

* Remove unnecessary blank line

* Remove purple color from price slider handle

* Fix colors not shown in SVG background

* Remove unnecessary box-shadow declaration

* Add theming docs

* Refactor/remove SCSS variables

* Add @todo comment to breakpoints

* Update package-lock.json
2020-10-22 12:40:32 +02:00
Seghir Nadir 9b5e436cc7 add draft order to woocommerce_valid_order_statuses_for_payment_complete (https://github.com/woocommerce/woocommerce-blocks/pull/3298) 2020-10-22 11:29:10 +01:00
renovate[bot] 8dfcad481f Update babel monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/3302)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-21 09:30:00 -04:00
Albert Juhé Lluveras 4f60b6367e Fix 3D secure payment errors (https://github.com/woocommerce/woocommerce-blocks/pull/3272)
* Add errors to UI in onCheckoutAfterProcessingWithError

* Fix missing useEffect dependency

* Typo

* Reset source id if Stripe intent fails

* Remove default error on onCheckoutAfterProcessingWithError

* Add missing useEffect dependency

* Only add default error message if there is no errors in any other context

* Fix useEffect running too many times

* Add type-defs and minor improvements

* Only count error notices
2020-10-20 11:50:33 +02:00
Darren Ethier b28c2f56e8 Update js-css-linting.yml (https://github.com/woocommerce/woocommerce-blocks/pull/3297) 2020-10-19 10:08:23 -04:00
Seghir Nadir b488c4a1c7 Document how to update E2E WP versions. (https://github.com/woocommerce/woocommerce-blocks/pull/3284)
* add guide to update WP version

* typo
2020-10-19 14:37:21 +01:00
Darren Ethier 884442bc27 Add a php coding standards action (https://github.com/woocommerce/woocommerce-blocks/pull/3292)
* add a php coding standards action

* add temporary php coding standards error to test action

* fix php standards error

* remove php linting check from travis run

* update woocommerce sniffs package

* try php 8 for linting

* revert back to php 7.4
2020-10-19 06:52:24 -04:00
Darren Ethier 6add52ccb7 Add workflow for linting js and css (https://github.com/woocommerce/woocommerce-blocks/pull/3294)
* Add workflow for linting js and css

* try alternative action to see if we get annotations

* add deliberate linting errors to validate new workflow behaviour

* try to fix annotations?

* maybe invalid check-name?

* try a different eslint action

* fix eslint fails

* remove js/css linting from travis

* remove unnecessary build execution
2020-10-18 12:49:59 -04:00
Bartosz Budzanowski 4e322d99cc Escape basename paths with spaces correctly. (https://github.com/woocommerce/woocommerce-blocks/pull/3290) 2020-10-16 15:36:34 +02:00
Albert Juhé Lluveras e4225dd54d Some changes/additions to the release checklist (https://github.com/woocommerce/woocommerce-blocks/pull/3269)
* Create ZIP before writing testing steps

* Add a note to restore the release branch

* Add a link to the milestones page

* Revert "Add a note to restore the release branch"

This reverts commit 362bf8779be2023c8015bb71a1328eca9bab4997.
2020-10-15 12:24:35 +02:00
renovate[bot] 02d6cea895 Update dependency downshift to v6 (https://github.com/woocommerce/woocommerce-blocks/pull/3281)
* Update dependency downshift to v6

* regenerate package-lock for downshift v6

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
2020-10-15 14:49:00 +13:00
Rua Haszard c7b4e3aa76 Use store-themed set password form for checkout signup (https://github.com/woocommerce/woocommerce-blocks/pull/3236)
* use my-account/lost-password endpoint url for set password (tbd):
- companion for working on https://github.com/woocommerce/woocommerce/issues/27754

* use more appropriate (new) set-password endpoint

* add version check - use new woo core endpoint if woo version is new enough

* use my-account/lost-password for setting password in checkout signup:
- this has been available forever - no need for a version check
- page will show `Lost password`; looking at options for overriding that

* use more explicit `newaccount` action for set password url if available

* tweak feature gating for checkout signup:
- only available in dev builds (will change soon)
- only available if Woo core 4.7 or newer
- checkout signup relies on fixes in 4.7+ (tbc) to
  my-account/lost-password endpoint for setting initial password
- standardise feature gate logic so is consistent, ensure feature is
  disabled in API/backend, hide editor option, and disable front end
- add new setting `wcVersion` to allow feature gating on woo version

* fix woo-version feature gate of checkout signup:
- fixed version logic, explicit 4.7.0 reference version
- refactor version compare routine so can be used for woo or WP version

* revamp Woo 4.7+ logic so PHPunit tests aren't dependent on Woo version:
- Woo-version feature gating is implemented at integration layer:
  - checkout REST API
  - register/override new account email handler
2020-10-15 14:13:49 +13:00
renovate[bot] 2aa507fef5 Update dependency commander to v6 (https://github.com/woocommerce/woocommerce-blocks/pull/3280)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-14 17:57:01 -04:00
renovate[bot] dd3ea82fe0 Update storybook monorepo to v6.0.26 (https://github.com/woocommerce/woocommerce-blocks/pull/3278)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-14 17:38:04 -04:00