Commit Graph

2933 Commits

Author SHA1 Message Date
github-actions 2aadfdc652 generating changeset for pull request 2021-02-15 17:29:46 +00:00
github-actions bd08f3988e generating changeset for pull request 2021-02-15 17:29:46 +00:00
Mike Jolley be4d32d705 Pages must be published to be valid (https://github.com/woocommerce/woocommerce-blocks/pull/3843) 2021-02-15 16:48:30 +00:00
Mike Jolley 51789e2105 Login via account page (https://github.com/woocommerce/woocommerce-blocks/pull/3844) 2021-02-15 16:46:02 +00:00
Thomas Roberts edf79c699a Catch errors during cart validation (https://github.com/woocommerce/woocommerce-blocks/pull/3703)
* Add new exceptions for out of stock scenarios

These are needed to differentiate between the different stock validation errors, and so we can create the correct error message.

* Catch new out of stock exceptions when checking the cart for errors

This is so we can get the cart sent back to the client, if we don't catch these, then the route will just return a 500 error and crash.

* Add ArrayUtils class

This will contain methods used to operate on arrays that don't fit anywhere else.

* Handle the case in Checkout where the error is already a WP_Error

This will happen when the cart fails validation.

* Handle StockAvailabilityException in AbstractRoute

This will happen when an item or number of items in the cart are out of stock/insufficient stock.

* Throw exceptions for each type of invalid stock in validate_cart_items

This will allow us to create an error message for each type of violation to display to the user.

* Display additional error notices returned by the API

* Fix wording when throwing exceptions relating to stock

* Handle TooManyInCartException in CartController

* Abstract the merging of cart, status, and additional data into new fn

This allows us to simplify the way errors are returned from the API. The reason we have to add all of the data at once is because of how WP_Error works with the additional data, if there is already existing data in a WP_Error object, it gets moved into additional_data. By adding all of the data in one place, we stop this from happening. Also since we're only adding status and/or cart explicitly, it makes sense to just do it in one place.

* Add get_route_error_response_from_object method

This is so we can differentiate between a string and WP_Error object.

* Remove unnecessary slashes from WP_Error instantiation

* Add option to enclose each item in quotes in natural_language_join

* Abstract adding error messages to error object into single function

A lot of code was repeated, so doing this cuts down on that and ensures any changes only need to be made in one place.

* Create new parent exception for each type of out of stock exception

This is so we don't have to repeat code inside each different exception and we can simply inherit StockAvailabilityException.

* Catch the generic StockAvailabilityException in get_cart_item_errors

* No longer recalculate totals in validate function

It is not needed, the totals are recalculated elsewhere. This call was superfluous.

* Reduce nesting, and only throw exception if error object has errors

* Improve comment on get_route_error_response_from_object method

* Fix nesting when throwing the InvalidStockLevelsInCartException

* Catch errors during cart validation

* Add get_error_message_for_stock_exception_type function

This will be used to get an error message depending on the type of extension, and whether the plural form, or singular form is needed. This abstraction is better because the code is used in more than one place in the API.

* Use error message generation function instead of creating errors individually

* Use specific error codes for each type of error & fix PHPDoc

Now the stock_exceptions_to_wp_errors function will return an array of WP_Errors this is better as the client needs a distinct error code to display and replace notices.

* No longer remove items from cart or modify quantity if there is an error

* Return the WP_Error from RouteException or all Stock WP_Errors

* Fix error in PHPDoc

* No longer necessary to add get_cart_item_errors into an array

This is because the method always returns an array now.

* Rename variables in get_cart_item_errors to be more descriptive

* Improve PHPDoc on get_cart_item_errors

* Replace underscores with hyphens in error code

* Only return WP_Errors that have an actual error in them

* Add unit test for ensure the cart errors relating to stock are handled

* Fix typo in comment

* Use optional chaining to add errors to cart
2021-02-15 14:03:04 +00:00
renovate[bot] c8adb17cd1 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/3842)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-15 12:23:43 +00:00
Albert Juhé Lluveras e5f6a1047c Allow extensions to extend cart item price (https://github.com/woocommerce/woocommerce-blocks/pull/3750)
* Add filter to extend product price

* Extend order summary product price too

* Make it so 'format' is applied to all product price types

* Order

* Pass lineItem to the filter

* Remove code targeting WC Subscriptions

* Rename filter

* Remove unnecessary CSS block that made prices be displayed as blocks

* Use line item totals instead of product price multiplied by quantity to show line item price

* Fix wrong currency usage

* Add comment to disable eslint

* Fix JS error when totals is undefined

* Align order summary item price to the right

* Use extendibility API instead of filters

* Remove __EXPERIMENTAL_CART_ITEM_PRICE_FILTER from docs

* fix rebase

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2021-02-12 00:37:05 +01:00
Seghir Nadir f7894b3c7f remove unsed imports (https://github.com/woocommerce/woocommerce-blocks/pull/3811) 2021-02-11 15:29:43 -05:00
Mike Jolley e9cc965aea Update jetpack autoloader dependency to 2.9.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3832)
* Update jetpack autoloader and make version dependency more permissive

* lock file
2021-02-11 17:53:54 +00:00
Mike Jolley 7772d41007 Extensibility for Block Checkout Address Fields (https://github.com/woocommerce/woocommerce-blocks/pull/3662)
* Pass get_country_locale via assets

* Create helper to prepare and merge address fields

* Use new helper in address form

* Only pass field overrides now that fields are merged

* Fixc configs and remove lodash usage

* Prevent formatting of empty postcodes to suppress api error

* prevent memo on rerender

* Conitonal enqueue of locale data

* define index in increments of 10

* remove address-form

* circ deps changes

* Workaround for core data issue

* fix test

* remove prepareAddressFields export

* Remove old comment

* object from.entries polyfil

* Revert "object from.entries polyfil"

This reverts commit ba343adcf5fd2f843b225aebe340cce9b664c851.

* replace fromentries

* fix final fromentries
2021-02-11 16:49:27 +00:00
Mike Jolley 66fbd9738b Moved Nonce Logic to Cart API Classes (https://github.com/woocommerce/woocommerce-blocks/pull/3812)
* Reduce repetition in SchemaController::initialize

* Ensure AbstractCartRoute has a cart schema when it returns errors

* Move nonce logic to cart

* typo
2021-02-11 16:26:52 +00:00
Seghir Nadir 39ab3070c8 fix double imports 2021-02-11 16:36:24 +01:00
Seghir Nadir d107dc89a9 Allow extensions to extend Cart Item Name in Cart and Checkout. (https://github.com/woocommerce/woocommerce-blocks/pull/3807)
* Add validation function

* Prefix validateElementOrString with __experimental

* Update experimental docs

* Typo

* Update JS docs

* Use an object for applyCheckoutFilter args

* Args doesn't need to be an object

* Wrap validation function execution in a try/catch block

* Only accept strings for the totalLabel filter

* Change applyCheckoutFilter signature

* Add validation function

* Add Product name filter

* rebase

* update second filter call

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2021-02-11 13:40:55 +01:00
renovate[bot] 03551edae8 Update dependency @automattic/color-studio to v2.4.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3819)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-11 10:57:17 +01:00
Thomas Roberts cb09248b07 Add subtotal and sale badge filters - PR to correct branch (https://github.com/woocommerce/woocommerce-blocks/pull/3826)
* Replace filters with an extendibility API to hook into Cart and Checkout blocks

* Update docs

* Add a validate argument

* Add docs comments

* Add tests

* Add validation function

* Prefix validateElementOrString with __experimental

* Update experimental docs

* Typo

* Update comment

* Update JS docs

* Use an object for applyCheckoutFilter args

* Args doesn't need to be an object

* Wrap validation function execution in a try/catch block

* Only accept strings for the totalLabel filter

* Change applyCheckoutFilter signature

* Apply filters for subtotal and sale badge in CartLineItemRow

* Append suffix to prices and SaleBadge if passed in as a prop

* Add subtotal filter to OrderSummaryItem

* Add tests for OrderSummaryItem and ProductPrice

* Rename test for ProductPrice

* Update checkout filter registration plugin name

* Remove obsolete snapshop

* Remove suffix and change to format

This is because we want to make the entire price string editable, not just the part after it.

* Change formatting on SaleBadge to use createInterpolateElement

* Remove tests that are no longer needed.

* Update ProductPrice tests to reflect changes to format prop

* Check that subtotalPriceFormat contains <price/> in OrderSummaryItem

* Fix cart block styling to stop badges overflowing the container

* Add <price/> placeholder in OrderSummaryItem price filter

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2021-02-10 17:12:47 +00:00
renovate[bot] 2e90e95551 Update dependency @stripe/stripe-js to v1.12.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3820)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-10 13:32:18 +00:00
Albert Juhé Lluveras 7b829b8a82 Use cart item key instead of name as the React key in Package (https://github.com/woocommerce/woocommerce-blocks/pull/3814) 2021-02-10 12:37:58 +01:00
renovate[bot] 7afdb11dc4 Update dependency @types/react to v16.14.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3822)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-10 11:11:21 +00:00
renovate[bot] abb3323e00 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/3808)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-10 10:28:53 +01:00
renovate[bot] a9800f5ef7 Update dependency mini-css-extract-plugin to v1.3.6 (https://github.com/woocommerce/woocommerce-blocks/pull/3823)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-10 03:22:45 +00:00
renovate[bot] e70e3e6e40 Update dependency @testing-library/user-event to v12.6.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3821)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-10 02:34:41 +00:00
renovate[bot] a9626c8d06 Update babel monorepo to v7.12.13 (https://github.com/woocommerce/woocommerce-blocks/pull/3818)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-10 01:11:36 +00:00
Albert Juhé Lluveras 1a97bf80b0 Replace filters with an extendibility API to hook into Cart and Checkout blocks (https://github.com/woocommerce/woocommerce-blocks/pull/3774)
* Replace filters with an extendibility API to hook into Cart and Checkout blocks

* Update docs

* Add a validate argument

* Add docs comments

* Add tests

* Add validation function

* Prefix validateElementOrString with __experimental

* Update experimental docs

* Typo

* Update comment

* Update JS docs

* Use an object for applyCheckoutFilter args

* Args doesn't need to be an object

* Wrap validation function execution in a try/catch block

* Only accept strings for the totalLabel filter

* Change applyCheckoutFilter signature
2021-02-09 17:54:38 +01:00
Mike Jolley d90e212f74 Validate order items on post, not on draft order creation (https://github.com/woocommerce/woocommerce-blocks/pull/3810) 2021-02-09 12:43:45 +00:00
Albert Juhé Lluveras 77119d9a7e Update Cart and Checkout sidebar design (https://github.com/woocommerce/woocommerce-blocks/pull/3797)
* Fix ShippingRatesControl not honoring renderOption prop

* Update order summary design

* Updates TotalsCoupon design

* Update Cart block sidebar title design

* Make values bold and labels regular in Cart and Checkout sidebar

* Update styles of shipping rates selector and radio control

* Remove unnecessary overflow rule in Panel content

* Fix shipping options in Checkout block

* Add some Twenty Twenty One fixes

* Fix saved payment methods display

* Remove top spacing no longer necessary in order summary quantity badge

* turn Totals title to bold

* Move right padding from product name to item description

* Take left margin off list items in product details

This is because in themes where a left margin is applied to li elements, the product detail/addon gets indented and it does not sit flush with the edge of the product details container. Adding this rule to the main wc-block-components-product-details  rule will stop other themes indenting <li>s

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2021-02-09 09:10:45 +01:00
Albert Juhé Lluveras 2acdbc088b Align Place Order button to the right (https://github.com/woocommerce/woocommerce-blocks/pull/3803)
* Fix Place Order button alignment

* Change order of Place Order and Return to Cart buttons
2021-02-08 14:42:56 +01:00
Seghir Nadir 1bd65bd948 Add guards to useSlot and move shared code to a new file. (https://github.com/woocommerce/woocommerce-blocks/pull/3772)
* guard against __experimentalUseSlot

* move slot to its own file

* remove todo

* add docblocks

* add docs to errorBoundary

* add docs
2021-02-08 12:37:55 +01:00
Bartosz Budzanowski 116ec41c6a Use default "features" values for payment methods. (https://github.com/woocommerce/woocommerce-blocks/pull/3796)
* Use deafault features values for payment methods.

* Fix config check.

* Fix config check.

* Update documentation.
2021-02-05 15:31:34 +00:00
Bartosz Budzanowski 43a4d0b1cc Revert "Update CODEOWNERS (https://github.com/woocommerce/woocommerce-blocks/pull/3794)" (https://github.com/woocommerce/woocommerce-blocks/pull/3798)
This reverts commit 65d98cef7d.
2021-02-05 11:08:36 +01:00
Thomas Roberts 0f75325fd0 Add new links to experimental docs and update JS testing docs (https://github.com/woocommerce/woocommerce-blocks/pull/3785)
* Remove references to no-longer-existing isFeaturePluginBuild calls

This is because these were moved/removed in woocommerce/woocommerce-blocks#3065 but the docs were not updated fully.

* Update reference to travis to GitHub actions in docs

* Update JS testing doc to have info about Github Actions

* Add documentation for gateway_features_list hook

This was added in woocommerce/woocommerce-blocks#3719 but not documented.
2021-02-05 09:11:05 +00:00
Albert Juhé Lluveras 6ec197007f Decode fees name so special characters are rendered correctly (https://github.com/woocommerce/woocommerce-blocks/pull/3721)
* Decode fees name so special characters are rendered correctly

* Decode fees at hook level

* Fix several tests

* Remove unnecessary check
2021-02-04 18:05:47 +01:00
Bartosz Budzanowski 65d98cef7d Update CODEOWNERS (https://github.com/woocommerce/woocommerce-blocks/pull/3794)
* Update CODEOWNERS

* Add composer files.
2021-02-04 17:15:48 +01:00
Seghir Nadir 99b78a1c9a add price package (https://github.com/woocommerce/woocommerce-blocks/pull/3790) 2021-02-04 15:30:28 +00:00
Mike Jolley 8521264237 4.5.0-dev 2021-02-03 16:13:51 +00:00
github-actions[bot] a748a8ce83 Release: 4.4.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3773)
* generating changeset for pull request

* generating changeset for pull request

* Changelog

* Testing docs

* Increase width of Cart's product column on <= medium screens

* move shipping-rates-control and shipping totals back into base/components/cart-checkout

* fix notice styling

* Move no rates logic to package

* Updating testing instructions

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2021-02-03 16:12:23 +00:00
renovate[bot] 54ab46cb43 Update dependency @octokit/graphql to v4.6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3780)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-03 13:53:12 +00:00
Darren Ethier b991486a84 Fix broken shipping Calculator (https://github.com/woocommerce/woocommerce-blocks/pull/3778)
* move shipping-rates-control and shipping totals back into base/components/cart-checkout

* fix notice styling

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2021-02-03 12:35:17 +01:00
Mike Jolley 6c3fe9e820 Move no rates logic to package (https://github.com/woocommerce/woocommerce-blocks/pull/3767) 2021-02-03 11:19:09 +01:00
renovate[bot] af4b1f8cd9 Update dependency @testing-library/react to v11.2.5 (https://github.com/woocommerce/woocommerce-blocks/pull/3782)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-03 05:56:42 +00:00
renovate[bot] 82d61f771b Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/3779)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-03 04:55:20 +00:00
renovate[bot] 4106c0a895 Update dependency @stripe/react-stripe-js to v1.2.2 (https://github.com/woocommerce/woocommerce-blocks/pull/3781)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-03 03:45:25 +00:00
Thomas Roberts 3c516b8dd2 Increase width of Cart's product column on <= medium screens (https://github.com/woocommerce/woocommerce-blocks/pull/3775) 2021-02-02 15:09:57 +00:00
Bartosz Budzanowski 14297add88 Update checkout payment methods design. (https://github.com/woocommerce/woocommerce-blocks/pull/3439)
* Add left vertical bar to payments methods step.

* Remove horizontal borders around order notes.

* Add class to order notes component.

We need it to traget that element with CSS.

* Update padding on order notes checkbox to match desing.

* Remove full stop to match the design.

* Add label for not saved payment methods option.

* Remove use new payment radio.

* Always show new ayment methods selector

* Remove editor context for now.

* Add accordion component skeleton.

* Small component refactor.

* Use accordion for new payment options.

* Fix jsdoc.

* Add styling.

* Add input styling.

* Hide label if we don't have saved methods.

* Cleanup.

* Cleanup and styling.

* Add target class to aid with alignment.

* Update use new payments label styling.

* Update Place Order button location.

* add full stop to payment method copy

* ensure that there is always a (default) selected payment method:
- using `activePaymentMethod` from context
- this ensures there is a default selected on initial render
- and handles any dynamic changes to available payment methods
  - e.g. COD disappearing when change shipping option
- remove unused / redundant selectedMethod prop - context is best

* use tab-based payment UI for 2 or fewer payment methods:
- move saved payment state to payment context; it's shared state needed
  by both PaymentMethodOptions and SavedPaymentMethodOptions
- show previous tabs UI if:
  - customer has no saved payment methods (cards)
  - store has 2 or fewer payment methods available
- when initialising SavedPaymentMethodOptions, only select one if the
  user hasn't selected a real payment method - this ensures radio
  buttons switch correctly between saved card => `Use another`
- remove various props and local state that is no longer required (🤞🏻)

* experimental - styling tweaks for single payment tab (remove "tab" UI)

* Revert "experimental - styling tweaks for single payment tab (remove "tab" UI)"

This reverts commit e09dd4862b97d989d950a9d67672d83e7b8992e4.

* Add single payment method UI.

* Adjust single method styling.

* Add outline and margin to two methods  version.

* Fix gap for order notes on/off option.

* Update Order button spacing CSS.

* Reuse computed values.

* Remove tabs and single payment option.

* We no longer need this test as the UI was changed.

* Fix payment methods labels height.

* Simplify.

* Remove not needed import.

* Typecheck an option.

* Refactor code.

* Rename.

* Rename.

* Update typdefs.

* Remove border for add order notes.

* Correct spacing for radio-button and label.

* Add simple test. Switch to payment method.

* Update style.

Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2021-02-02 05:51:47 +01:00
Mike Jolley d9e2f62540 Improve nonce handling by rejecting stale values (https://github.com/woocommerce/woocommerce-blocks/pull/3770)
* Improve nonce handling by rejecting previous nonces from cache

* use timestamp instead of previous nonce

* Switch back to time()

* Seconds not ms

* Add comment about the date code
2021-02-01 17:09:18 +00:00
renovate[bot] 799e6f26fe Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/3769)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-01 14:36:46 +00:00
Raluca Stan a3003606a4 Hide categories with 0 products from the Product Categories block (https://github.com/woocommerce/woocommerce-blocks/pull/3765) 2021-01-29 15:46:38 +01:00
Bartosz Budzanowski a0eb52d32b Introduce payment gateway feature check for cart content. (https://github.com/woocommerce/woocommerce-blocks/pull/3719)
* Add supports data to payment methods abstractions. Implement in Stripe.

* Add capabilities to the payment gateway.

* Payment requirements in cart schema.

* Supported features format update.

* Formatting.

* Check required payment features.

* Refactor capabilieties check.

* No need for the cart parameter.

* Allow external modifiacation of features capability.

* Use ExtendRestApi to inject payment requirements into cart endpoint.

* Simplify the code.

* Enable more integrations.

* Enable Stripe payment request.

* Move  the filter to a more correc location.

* Add features check.

* Update typedefs and documentation.

* Update tests with new functionality.

* Style fixes.
2021-01-29 07:28:44 +01:00
Mike Jolley 7ae87ca367 Subscriptions Shipping Packages Integration Points (https://github.com/woocommerce/woocommerce-blocks/pull/3687)
* Expose schemas

* Accept strings for select shipping rate

* strings are allowed

* Refactor shipping package to hold it's own state

* Add extension data to cart hook

* Progress but state is broken

* Move state back to hook

* Progress but state is broken

* use shipping hook updates

* Fix re-render issue

* hide x1

* Shipping slot fill

* Working slot fills

* Do not export package

* Update extend usage in unit tests

* update mock test data

* Package per slotfill

* Resolved merge conflicts

* Update assets/js/blocks/cart-checkout/subscriptions-integration.js

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>

* rename slot

* deriveSelectedRates return doc

* useCallback in throwError

* final class ExtendRestApi

* spacing

* Move shipping rate selection to package level

* remove const for counts

* Remove schemas from extend

* unused use

* move to a single fill for packages

* add todos

* move subs code

* fix extra extensions

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2021-01-28 15:24:01 +01:00
Darren Ethier 5c9b0f448a Enable defaults for new import rules and configure (https://github.com/woocommerce/woocommerce-blocks/pull/3755)
* enable rules and add exceptions

The `import/no-unresolved` and `import/no-extraneous-dependencies` rules defaults are enabled and configuration for adding exceptions for both webpack config resolution and externals or indirect dependencies are added.

* woops forgot to commit eslint-import-plugin-webpack resolver dependency

* I guess node resolver needs installed too?

* remove default resolve (doesn’t seem to help with the GH action errors)

* change config to lowercase for node
2021-01-28 08:53:09 -05:00
Raluca Stan e7af435f08 Fix image link in all products block. (https://github.com/woocommerce/woocommerce-blocks/pull/3722)
* Fix image link in all products block.

- add alt text on product image
- prevent the appearance of both product and placeholder image at the same time
- make anchor with placeholder image accessible

* Add testing for product-elements/image block.
2021-01-28 14:23:20 +01:00
Darren Ethier f2012158f3 Update @wordpress/scripts and eslint and stylint configurations (https://github.com/woocommerce/woocommerce-blocks/pull/3749)
* implement prettier config for importing wordpress/prettier config

* update packages

This updates @wordpress/scripts to latest version so we are using the latest `@wordpress/eslint-plugin` rules.
Also installs a new required dependency due to the above update.

* temporarily convert new rules to warnings to handle in followups.

* fix stylint configuration and temporarily block rule

Latest @wordpress/scripts update requires the `@wordpress/stylelint-config` package instead of the previous builtin configuration. So applies a fix needed from that change.

* update puppeteer dependency version

* package-lock update
2021-01-27 11:49:33 -05:00
Raluca Stan a922e469ca Add missing wrapper from FeaturedCategory & FeatureProduct blocks (https://github.com/woocommerce/woocommerce-blocks/pull/3746)
* Add missing wrapper from FeaturedCategory block

In the rendered block we now have a div.wc-block-featured-category__wrapper around inner elements.

* Add missing inner wrapper for Featured Product block

In the rendered block we now have a div.wc-block-featured-product__wrapper around inner elements.
2021-01-27 16:44:53 +01:00
Raluca Stan 23ac1073ff Fix color for BlockErrorBoundry (https://github.com/woocommerce/woocommerce-blocks/pull/3738)
* Fix color for BlockErrorBoundry

The new color ensures readability on both light and dark themes.

* Remove spaces from scss file
2021-01-27 14:10:58 +01:00
Albert Juhé Lluveras 618a798998 Panel component: allow all kind of nodes as title (https://github.com/woocommerce/woocommerce-blocks/pull/3745)
* Allow all kind of nodes, not only React elements as Panel title

* Move period outside of link
2021-01-27 13:02:54 +01:00
Thomas Roberts 49a56e27ee Add subtotal to cart and checkout and update the CartLineItem component with new styles (https://github.com/woocommerce/woocommerce-blocks/pull/3734)
* Create new vars to differentiate between single and multiple item price

This is because we need to display the subtotal of the item AND the total (subtotal * quantity)

* Add subtotal and move quantity picker

As per the new designs, the quantity picker should be moved below the product metadata, and the product subtotals should appear below the product name.

* Move line item total to top of grid on mobile/medium/small

* Remove CSS for trash icon that is no longer used.

* Remove link style colour override from product name and make total bold

* Remove quantity column from CartLineItem

This is because the quantity picker is now displayed below the product metadata and name.

* Fix margins around quantity picker and its width

* Always disable link to product in OrderSummaryItem

* Add single price below product name in OrderSummaryItem

* Add styles for new OrderItemSummary design

* Move total into its own "column"

This is to stop product description text flowing under the total and making it look untidy.

* Add styles to cater for total price being its own column

* Convert precision after multiplication instead of before

* Remove unnecessary div from OrderSummaryItem

* Remove line height from product names on order summary

* Add more margin to the bottom of the product metadata div

* Delete trash icon

* Only remove margin from the bottom of last product-details

* Move quantity input to below product name in cart skeleton

* Add placeholder for individual price to Cart skeleton
2021-01-27 11:34:59 +00:00
Mike Jolley dfac8d7ca7 Unset blocks on the PHP side if on the widgets page (https://github.com/woocommerce/woocommerce-blocks/pull/3737) 2021-01-27 11:22:55 +00:00
renovate[bot] 8e9c3dafbf Update dependency downshift to v6.1.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3743)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-27 06:00:48 +00:00
renovate[bot] fc0bab0a24 Update dependency @woocommerce/eslint-plugin to v1.1.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3742)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-27 04:14:36 +00:00
renovate[bot] e96f28c74a Update dependency @testing-library/user-event to v12.6.2 (https://github.com/woocommerce/woocommerce-blocks/pull/3741)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-27 03:25:59 +00:00
renovate[bot] c45c17df89 Update dependency @octokit/graphql to v4.5.9 (https://github.com/woocommerce/woocommerce-blocks/pull/3740)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-27 02:41:48 +00:00
Albert Juhé Lluveras 4ae28daca0 Honor hidden property of cart item data and add support for experimenal property (https://github.com/woocommerce/woocommerce-blocks/pull/3732)
* Honor hidden property of cart item data and add support for experimental property

* Add docs to experimental property

* Typo

* Add protection in ProductDetails for the case where 'details' is not an array

* Update ProductDetails so it works properly in cases where 'name' is not provided

* Add snapshot testing to ProductDetails
2021-01-26 15:50:19 +01:00
renovate[bot] 3557b91bae Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/3730)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-26 12:23:07 +01:00
Albert Juhé Lluveras 7f1d785b1c Remove star-rating class from Product rating block (https://github.com/woocommerce/woocommerce-blocks/pull/3717) 2021-01-25 11:19:36 +01:00
Thomas Roberts 96e3ff9662 Change payment processing for subscriptions (https://github.com/woocommerce/woocommerce-blocks/pull/3686)
* Remove savePaymentInfo check when displaying payment methods

This is because the savePaymentInfo is derived from whether the save payment method checkbox shows. This check doesn't make sense to do because it's not a good indicator of whether the payment method is enabled. Subscriptions for example hides the checkbox because it is implied that the method will be saved. We should instead rely on the server-side to only send permitted saved payment methods.

* Add safely_get_request_payment_method

This will allow us to try to get the payment method if it was passed in the request, but will default to an empty string if not. This is different to get_request_payment_method because it doesn't throw any errors. We need it to be different because get_request_payment_method is used when the order definitely needs payment (so a normal checkout scenario, vs. a £0 subscription checkout)

* Add action to update order meta when checking out

This is needed because some extensions rely on this action to add their information to the metadata of order items.

* Remove safely_get_request_payment_method

This is no longer needed.

* Remove @since from experimental hook

* Add PHPDoc for new update_order_meta hook

* Document use of experimental hook

* Reinstate the check for allowing saved cards

* Add method to Stripe integration to determine if saved_cards is enabled

* Add new field to get_payment_method_data

This adds displaySavePaymentMethodCheckbox which will be used to determine if the checkbox to save payment methods should display.

* Add displaySavePaymentMethodCheckbox option to client

This will determine whether the "Save payment information" checkbox will be displayed.

* Add requiresSaving option to Stripe payment method data

This is informed by the saved_cards option and the result of the wc_stripe_display_save_payment_method_checkbox filter.

* Rename displaySavePaymentMethodCheckbox to requiresSaving & fix logic

* Revert negation on display_save_payment method_checkbox filter & rename

We are going to rename the properties we use to determine whether saved cards are shown, or whether the save payment method checkbox is shown, so that their names are more descriptive of what they are for.

* Rename allowSavedCards and requiresSaving in Stripe integration

* Rename savePaymentInfo&requiresSaving to showSavedCards & showSaveOption

This is so we can hide the checkbox independently of hiding the saved payment methods.

* Show deprecated message if payment methods use savePaymentInfo

This is because we are leaving it in to enable backward compatibility but payment methods registering using this should be informed of the change in case it gets removed.

* Update Stripe typedefs and keys of supports object

* Show customer payment methods if showSavedCards is true on the method

* Make PaymentMethodTab accept showSaveOption prop

This will allow us to show the save checkbox only if the payment method says it should be shown.

* Update tests to use new keys in supports when reg'ing payment methods

* Add optional chaining when validating payment method config

This makes the code a little tidier :)

* Update assets/js/blocks-registry/payment-methods/payment-method-config.js

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>

* Add more information to deprecated call in payment method config

* Fix lint error

* Fix prop types for PaymentMethodTab

* Add information about supports on payment methods to docs

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2021-01-24 14:59:13 +01:00
Seghir Nadir e5d256254a Move error to admin notice (https://github.com/woocommerce/woocommerce-blocks/pull/3720) 2021-01-22 08:45:41 -05:00
Albert Juhé Lluveras 03b03380d3 Allow extensions to filter Total label (https://github.com/woocommerce/woocommerce-blocks/pull/3716)
* Allow extensions to filter totals label

* Add docs
2021-01-21 15:45:31 +01:00
Seghir Nadir 5b2b753100 Move Total components to checkout package (https://github.com/woocommerce/woocommerce-blocks/pull/3671)
* move items to package

* move components to package

* fix dep issue

* pass down classname

* move Panel and Price utils

* expose extensions

* fix import

* move cart call to inside slot

* fix unit tests

* fixes after rebase

* move ShippingRatesControl into packages/checkout

This fixes the `wc-blocks-checkout` circular dependency because `Package` was importing from `@woocommerce/checkout`.

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2021-01-20 21:35:53 +01:00
Seghir Nadir 3dfbda1e8c Add circular dependency check and fix it (https://github.com/woocommerce/woocommerce-blocks/pull/3695)
* add circular dependency check and fix it

* only throw error

* udpate error message

* only throw on production

* better defaults

* add variable to travis

* double echo

* echo with -e
2021-01-20 20:33:50 +01:00
Darren Ethier 1693f97a44 Update close-stale-issues.yml
Fix errant space
2021-01-20 10:08:05 -05:00
Darren Ethier 091f6770d1 Add exempt issue label for stale workflow
Added the `Epic` label to the configuration for the stale workflow as epics will generally be long living issues.
2021-01-20 10:07:49 -05:00
Darren Ethier 10cfbb99f0 Update expiry trigger on stale automation workflow
Change days before close value to 10. I'm going to leave the days-before-stale at 60 because 30 is too short for our current velocity.
2021-01-20 10:06:04 -05:00
Bartosz Budzanowski abdf123ffb Update version for the next release. 2021-01-20 14:43:54 +01:00
github-actions[bot] e2a7bb32b0 Release: 4.3.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3698)
* generating changeset for pull request

* generating changeset for pull request

* Update changelog.txt for 4.3.0 release.

* Update testing instructions for 4.3.0 releae.

* Update testing instruction for review.

* Revert "Improve error displayed to customers when an item's stock status changes during checkout. (https://github.com/woocommerce/woocommerce-blocks/pull/3656)"

This reverts commit a30179f165.

* Revert 3656 documentation changes.

* Update test zip link.

* Update release date for 4.2.0.

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: budzanowski <bartosz.budzanowski@gmail.com>
2021-01-20 14:42:14 +01:00
Raluca Stan ed0a440274 add missing aria-label for stars image in review-list-item component (https://github.com/woocommerce/woocommerce-blocks/pull/3706) 2021-01-20 13:45:25 +01:00
renovate[bot] a19bf2c556 Update dependency fs-extra to v9.1.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3712)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-20 07:43:44 +00:00
renovate[bot] 99948532f5 Update dependency eslint to v7.18.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3711)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-20 06:00:34 +00:00
renovate[bot] 4077744c06 Update dependency downshift to v6.0.16 (https://github.com/woocommerce/woocommerce-blocks/pull/3710)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-20 04:21:10 +00:00
renovate[bot] e788d72fb6 Update dependency core-js to v3.8.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3709)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-20 03:54:20 +00:00
renovate[bot] c930a10d63 Update dependency autoprefixer to v10.2.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3708)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-20 02:46:41 +00:00
renovate[bot] c1d0cd4174 Update dependency @stripe/react-stripe-js to v1.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3707)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-20 01:44:26 +00:00
Darren Ethier b4507d3b92 Fix circular dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/3704)
* fix circular dependency in text-input

* fix circular dependency in chip component

* fix circular dependencies in AddressForm component

* fix circular dependencies in product-list

* fix circular dependencies in hooks

* fix circular dependencies in context

* Fix circular dependencies in components/cart-checkout

* fix use-checkout-submit test

- can’t mock the hook alias anymore
- account for undefined object returned from `usePaymentMethods`
2021-01-19 10:55:44 -05:00
Bartosz Budzanowski 806568bf99 Update smoke-testing.md
Add information about product-search action attribute URL.
2021-01-19 09:33:32 +01:00
Thomas Roberts a30179f165 Improve error displayed to customers when an item's stock status changes during checkout. (https://github.com/woocommerce/woocommerce-blocks/pull/3656)
* Add new exceptions for out of stock scenarios

These are needed to differentiate between the different stock validation errors, and so we can create the correct error message.

* Catch new out of stock exceptions when checking the cart for errors

This is so we can get the cart sent back to the client, if we don't catch these, then the route will just return a 500 error and crash.

* Add ArrayUtils class

This will contain methods used to operate on arrays that don't fit anywhere else.

* Handle the case in Checkout where the error is already a WP_Error

This will happen when the cart fails validation.

* Handle StockAvailabilityException in AbstractRoute

This will happen when an item or number of items in the cart are out of stock/insufficient stock.

* Throw exceptions for each type of invalid stock in validate_cart_items

This will allow us to create an error message for each type of violation to display to the user.

* Display additional error notices returned by the API

* Fix wording when throwing exceptions relating to stock

* Handle TooManyInCartException in CartController

* Abstract the merging of cart, status, and additional data into new fn

This allows us to simplify the way errors are returned from the API. The reason we have to add all of the data at once is because of how WP_Error works with the additional data, if there is already existing data in a WP_Error object, it gets moved into additional_data. By adding all of the data in one place, we stop this from happening. Also since we're only adding status and/or cart explicitly, it makes sense to just do it in one place.

* Add get_route_error_response_from_object method

This is so we can differentiate between a string and WP_Error object.

* Remove unnecessary slashes from WP_Error instantiation

* Add option to enclose each item in quotes in natural_language_join

* Abstract adding error messages to error object into single function

A lot of code was repeated, so doing this cuts down on that and ensures any changes only need to be made in one place.

* Create new parent exception for each type of out of stock exception

This is so we don't have to repeat code inside each different exception and we can simply inherit StockAvailabilityException.

* Catch the generic StockAvailabilityException in get_cart_item_errors

* No longer recalculate totals in validate function

It is not needed, the totals are recalculated elsewhere. This call was superfluous.

* Reduce nesting, and only throw exception if error object has errors

* Improve comment on get_route_error_response_from_object method

* Fix nesting when throwing the InvalidStockLevelsInCartException
2021-01-18 17:35:02 +00:00
Darren Ethier 056a446832 change eslint workflow to use different method and action (https://github.com/woocommerce/woocommerce-blocks/pull/3693)
Our existing worfklow was giving a cryptic error that I couldn’t troubleshoot so decided to just switch to a different method
2021-01-17 14:06:24 -05:00
Darren Ethier 869c0a189e Delete clean-up-artifacts.yml
This was just a test so removing.
2021-01-17 10:37:40 -05:00
Darren Ethier 194ed59268 Update clean-up-artifacts.yml 2021-01-17 09:14:32 -05:00
Darren Ethier f9812047f2 Create clean-up-artifacts.yml 2021-01-17 09:12:21 -05:00
Darren Ethier dd1415c73b Fix broken PHPunit tests (https://github.com/woocommerce/woocommerce-blocks/pull/3690)
* Ensure phpunit tests are running against the blocks code and not what is included in WooCommerce core.

* cast to object to correct response expectations.

The change in https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/3679/files#diff-5d8cf88af3d9be56abf0b110a7500b3711552009533d894e07f0e891b4af266eL317 resulted in a change in shape for the response.
2021-01-16 08:48:46 +01:00
renovate[bot] ca471e1320 Update dependency @testing-library/react to v11.2.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3674)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-15 14:24:40 +01:00
renovate[bot] 178d6d9f8a Update dependency @types/jest to v26.0.20 (https://github.com/woocommerce/woocommerce-blocks/pull/3675)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-15 13:25:32 +01:00
renovate[bot] 1502967dc0 Update dependency @testing-library/jest-dom to v5.11.9 (https://github.com/woocommerce/woocommerce-blocks/pull/3673)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-15 13:25:02 +01:00
Vedanshu Jain 6d8aa16d4c Add protection around mock queries in unit tests. (https://github.com/woocommerce/woocommerce-blocks/pull/3602)
* Add protection around mock queries in unit tests.

This adds additional checks before mocking wc_get_orders query results to prevent overriding refunds query. This is needed with WC core 4.9 since it does an addtional wc_get_orders query to preload and hydrate cache for refunds in order to improve performance.

* update jetpack autoloader to 2.7.1

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2021-01-14 15:48:57 +01:00
Albert Juhé Lluveras 5f563fd024 update jetpack autoloader to 2.7.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3683)
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2021-01-14 14:11:55 +01:00
Mike Jolley 8c98c1eaac Support for multiple fee rows in the cart (https://github.com/woocommerce/woocommerce-blocks/pull/3678)
* Inject the routes controller

* Cart totals need to be calculated on cart routes or fees will be missing

* Add fees to schema and response

* Add fees to useStoreCart

* Fix styling of multiple fee rows

* Fix test shape
2021-01-13 16:57:42 +00:00
Mike Jolley 60be55400a Improve Package Handling in CartShippingRateSchema (https://github.com/woocommerce/woocommerce-blocks/pull/3680)
* Generate package names when geting them from the cart

* Split package formatting methods

* Fix variable name
2021-01-13 16:19:22 +00:00
renovate[bot] a4e642f683 Update dependency autoprefixer to v10.2.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3676)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-13 14:49:56 +00:00
Mike Jolley cc95b16d46 Create get_item_responses_from_schema abstraction (https://github.com/woocommerce/woocommerce-blocks/pull/3679) 2021-01-13 14:43:28 +00:00
Mike Jolley 5c19e24ce3 Remove default address_type so it's required (https://github.com/woocommerce/woocommerce-blocks/pull/3651) 2021-01-13 14:06:18 +00:00
Albert Juhé Lluveras 2c8d85d18d Cart & Checkout blocks: print all item data and update variation designs (https://github.com/woocommerce/woocommerce-blocks/pull/3665)
* Cart and Checkout blocks: show all item data and update variations design

* Add class with detail name to product details
2021-01-12 11:04:53 +01:00
David Levin f97c5b8264 Update input colors and alignment (https://github.com/woocommerce/woocommerce-blocks/pull/3597)
* update input colors for dark and light mode + tweak padding and alignment

* update light input dropdown text color

* Fix lint errors

* Fix  package lock.

* Use input-text-active for select options

* Make sizes responsive in radio control

* Unify border colors of text inputs, checkboxes and radio controls

* Unify radio control sizes in mobile/desktop

Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
Co-authored-by: budzanowski <bartosz.budzanowski@gmail.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2021-01-12 10:09:47 +01:00
Seghir Nadir 3d218d1f8e introduce SlotFill for Sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/3361)
* add plugin area

* add invisible errorBoundary

* introduce slot

* change name to OrderMeta

* fix rebase

* refactor slotFill

* wip

* create checkout file

* fix lint issues

* remove custom checkout package

* rebase with trunk

* remove redudant code and move slotfill

* fix wrong import

* switch to wc.blocksCheckout

* update package name

* fix broken import
2021-01-11 13:12:26 +01:00
renovate[bot] 8203259169 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/3666)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-11 09:44:14 +01:00
Bartosz Budzanowski e76331549c Add major for devDependencies. (https://github.com/woocommerce/woocommerce-blocks/pull/3653)
* Add major for devDependencies.

* Update renovate.json

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2021-01-07 12:41:55 +00:00
renovate[bot] 751fc1589d Update dependency sass-loader to v10 (https://github.com/woocommerce/woocommerce-blocks/pull/3422)
* Update dependency sass-loader to v10

* Updates sass config

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2021-01-07 12:40:00 +00:00
Albert Juhé Lluveras b4a37aebd6 Create @woocommerce/checkout to export components to a global (https://github.com/woocommerce/woocommerce-blocks/pull/3654)
* add plugin area

* add invisible errorBoundary

* introduce slot

* change name to OrderMeta

* fix rebase

* wip

* create checkout file

* Import ExperimentalOrderMeta from @woocommerce/checkout

* Rename wc-checkout-packages handle to wc-blocks-checkout

* Only import wc-blocks-checkout in the feature plugin

* Move checkout package to packages folder

* Add @woocommerce/blocks-checkout to tsconfig

* Move TotalsItem to @woocommerce/checkout

* Use Fragment short syntax

* Remove example code

* Honor renderError prop in BlockErrorBoundary

* Rename error boundary

* Add example code

This reverts commit 9b6af7178cbef05589779ef7f5a750d53e7fc8cf.

* Revert "Add example code"

This reverts commit 2f50349692f53c5bb143516365eee7a98d580dfd.

* Add @woocommerce/blocks-checkout to jest config

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2021-01-07 13:02:21 +01:00
renovate[bot] 2f268e0495 Update dependency html-react-parser to v0.14.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3590)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 16:21:54 +00:00
renovate[bot] 06910c8d4c Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/3506)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 15:45:36 +00:00
renovate[bot] c3215f0ad5 Update dependency reakit to v1.3.4 (https://github.com/woocommerce/woocommerce-blocks/pull/3591)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 15:43:34 +00:00
renovate[bot] ed0f1dd07f Update dependency eslint to v7.17.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3589)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 15:03:11 +00:00
renovate[bot] ccef4c1488 Update dependency @testing-library/jest-dom to v5.11.8 (https://github.com/woocommerce/woocommerce-blocks/pull/3610)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 15:01:56 +00:00
renovate[bot] fa33fe1a8e Update dependency wordpress-components to v11.1.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3611)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 15:01:24 +00:00
renovate[bot] 51110deece Update dependency axios to v0.21.1 [SECURITY] (https://github.com/woocommerce/woocommerce-blocks/pull/3638)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 14:59:29 +00:00
renovate[bot] 5b405ebe66 Update Node.js to v12.20.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3643)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 14:58:39 +00:00
renovate[bot] a8c10b40b8 Update dependency downshift to v6.0.10 (https://github.com/woocommerce/woocommerce-blocks/pull/3588)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 14:30:24 +00:00
renovate[bot] 7378f95688 Update dependency postcss to v8.2.2 (https://github.com/woocommerce/woocommerce-blocks/pull/3608)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 14:29:14 +00:00
renovate[bot] 031ffb70f4 Update dependency source-map-explorer to v2.5.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3609)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 14:26:01 +00:00
renovate[bot] 50e5cd7196 Update dependency core-js to v3.8.2 (https://github.com/woocommerce/woocommerce-blocks/pull/3644)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 14:23:49 +00:00
renovate[bot] 81d8193f49 Update dependency react-number-format to v4.4.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3645)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 14:23:21 +00:00
renovate[bot] 6ec38f7767 Update dependency autoprefixer to v10.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3646)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 14:22:39 +00:00
renovate[bot] a7f2894782 Update dependency wordpress-compose to v3.23.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3647)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-06 14:04:25 +00:00
Bartosz Budzanowski 27a439a4ff Add puppeteer directly to dev dependencies. (https://github.com/woocommerce/woocommerce-blocks/pull/3652) 2021-01-06 13:18:07 +00:00
renovate[bot] 58dc6d8572 Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/3642)
* Pin dependencies

* update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2021-01-06 13:11:11 +00:00
budzanowski c45bc3b0ae Fix package-lock.json 2021-01-06 13:38:13 +01:00
Albert Juhé Lluveras 3971b39cc1 Update versions to 4.3.0-dev 2021-01-06 10:51:04 +01:00
github-actions[bot] 50f15fb5ea Release: 4.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3637)
* generating changeset for pull request

* generating changeset for pull request

* Update readme.txt

* Add testing notes

* Update 4.2.0 release date

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2021-01-06 10:48:11 +01:00
Albert Juhé Lluveras fb5c0f3af2 Add tests to AddressForm (https://github.com/woocommerce/woocommerce-blocks/pull/3621)
* Remove unnecessary async key in read more tests

* Add tests to AddressForm component
2021-01-06 10:22:51 +01:00
Darren Ethier f9d05163f9 Add "you don't need lodash/underscore" eslint rule (https://github.com/woocommerce/woocommerce-blocks/pull/3634)
* add you don’t need lodash eslint plugin

* handle lodash.omit eslint errors

- storybook and webpack config implementations were just ignored.
- shared/validation/index.js was converted to use ES6 destructuring to eliminate usage.

* remove lodash assign usage

* convert lodash isNan to Number.isNan

* ignore lodash.flatten lint error for now

* remove usage of lodash.isNil

* add exclusions for lodash rules in main eslintrc file rather than per file.
2021-01-05 08:58:18 -05:00
Bartosz Budzanowski ed612e6e09 Remove setSettings. (https://github.com/woocommerce/woocommerce-blocks/pull/3607)
* Remove setSettings.

* No deprecated warrning from setSettings so we should not expect it.
2021-01-05 14:09:07 +01:00
Thomas Roberts 0e971bb16a Revert test badge name back to Automated Tests (https://github.com/woocommerce/woocommerce-blocks/pull/3640) 2021-01-05 12:38:44 +00:00
Darren Ethier 26f6e183a7 Try using new lines instead of html break tags (https://github.com/woocommerce/woocommerce-blocks/pull/3641) 2021-01-05 07:28:25 -05:00
Thomas Roberts 7bd167b03d Add/GitHub status badges (https://github.com/woocommerce/woocommerce-blocks/pull/3585)
* Add status badges for linting and PHP Code quality

* Add PHP, JavaScript, and E2E Testing badge

* Reorder badges

* Remove travis badge

* Break PHP Unit tests on purpose

This is for testing the GitHub actions badges

* Revert "Break PHP Unit tests on purpose"

This reverts commit 3af4d83d151f59ca8a13d12ba48d69565e8c26c5.

* Break JS/CSS/PHP Linting

* Revert "Break JS/CSS/PHP Linting"

This reverts commit 6b105535933c36f340a364ead57bf3cbc9947dbf.

* Specify trunk branch name on badges
2021-01-05 11:51:52 +00:00
Albert Juhé Lluveras de2796ca4e Convert saved payment methods token to a string (https://github.com/woocommerce/woocommerce-blocks/pull/3627)
* Allow integers in payment_data values

* Revert "Allow integers in payment_data values"

This reverts commit b7f2ca4a5b696091afe796f47e84f584a0b27d9e.

* Enforce payment tokens to be strings
2021-01-05 10:51:23 +01:00
Thomas Roberts 9a537fdab5 Create GitHub actions for automated tests (https://github.com/woocommerce/woocommerce-blocks/pull/3544)
* Create end-to-end-tests.yml for E2E testing action

* Change actions to run on push instead of PR

* Install libstdc++-4.9-dev on E2E tests action

* Add correct apt repository for libstc++

* Reconfigure apt-get commands for installing libstdc++

* Remove accidental inclusion of Travis config from E2E tests action

* Install libkrb5-dev as part of e2e test action

* Run apt commands as sudo

* Install gutenberg plugin and e2e testutils

* Add environment variables to E2E tests

* Rename action and add further config for composer and wp-env

* Rename workflow

* Add jobs for WP 5.6, 5.5, and 5.4

* Fix YML indentation

* Apply 767 permissions to wp-env directory

* Run chmod as sudo

* Comment 5.6 and 5.6 with GB out to test 5.4 more easily

* Remove WP install job, since it should run on each step

* Change order of wp-env start and chmod

* Reorder commands for 5.4 job

* Try running 5.4 tests in isolation

* Reenable tests for all WP versions

* Move commands out of bash script into a series of commands

* Fix indentation on 5.5 job

* Re-enable libkrb5-dev install

* Clean wp-env before each run & upgrade wp-env to 3.0.0

* Update lock file for wp-env@3.0.0

* Reorder wp-env start and clean commands

* Reorder wp-env permissions commands

* Reorder wp-env permissions setup for all jobs

* Reorder wp-env permissions setup for 5.5 and 5.4

* Ensure correct order for env setup and flush permalinks twice

* Update jest snapshots

* Remove rewrite flush command from yml

* Remove npm build from every step and try it just at the start

* Set correct e2e build script

* Add jobs for PHP 8

* Specify PHP 8 minor version

* Run PHP 8 jobs first

* Remove PHP 8 jobs

* Add JS Unit tests job

* Remove js-unit-tests.js workflow

* Remove composer install from every step, add it to its own step

* Cache composer files

* Bust npm cache to test nodegit

* Rename npm cache

* Renove npm cache entirely

* Revert "Renove npm cache entirely"

This reverts commit d6fac6a6ebd9162e48f64daaa8c971320756579e.

* Rename npm cache back to how it was

* Fix yml indentation

* Remove echo from composer cache step

* Revert back to composer example

* Add PHP Unit tests to workflow

* Add PHP Unit tests to workflow

* Rename E2E tests workflow and file

* deliberately break e2e and unit tests to test workflow 👺

* fix php test, should see e2e fail

* revert broken e2e test

* Change steps into jobs, rename workflow

* Remove Travis workflow file

* Add all necessary setup steps to each job

* Rename Setup job and remove dependency

* Add individual jobs for each E2E test environment

* Add npm install and build to setup job

* YML syntax fix

* Remove error-causing chmod

* Rename blocks.ini setup step

Fixes a typographical error.

* Get the latest stable version of WooCommerce for PHPUnit testing

* Add PHP8.0 and PHP5.6 Unit tests

* Run composer update for PHP 5.6 and PHP 8.0

* Revert "Run composer update for PHP 5.6 and PHP 8.0"

This reverts commit 4f90522d0b52b7a8b9e896e9c783795be9dc5399.

* Revert "Add PHP8.0 and PHP5.6 Unit tests"

This reverts commit 66e317dec4af6e3a2ac6f78b6efd050e7fc5aa8e.

Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
2021-01-05 09:27:22 +00:00
Albert Juhé Lluveras 1e2bc1ee72 SearchListControl styles cleanup (https://github.com/woocommerce/woocommerce-blocks/pull/3604)
* Update comment about styles that have been upstreamed

* Remove code that has been upstreamed long time ago

* Fix wrong PR number in comment
2020-12-29 17:02:09 +01:00
Mike Jolley 8763965019 Add the "Fix package lock" script (https://github.com/woocommerce/woocommerce-blocks/pull/3465)
* Add package lock script

* remove -e

* tweak error handling

* more tweaks

* use fetch

* --no-keep-empty

* rebase test

* auto resolve rebase

* git add .

* try checking out

* rm

* remove problematic rebase

* Feedback/instructions

* dupe
2020-12-28 11:41:46 +01:00
github-actions[bot] a8977ac8fd Release: 4.1.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3600)
* update readme

* add testing notes

* fix typo

* update readme

* add zip

* fix title version

* Bumping version strings to new version.

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-12-24 15:40:58 +01:00
Mohammed Faragallah 35363c8595 fix: shipping_address/billing_address use properties instead on items (https://github.com/woocommerce/woocommerce-blocks/pull/3599) 2020-12-24 15:10:44 +01:00
Seghir Nadir 3d92a61102 Fix nonce issues when adding product to cart from All Products (https://github.com/woocommerce/woocommerce-blocks/pull/3598)
* Products extend cart route

* load cart in products
2020-12-24 12:00:51 +01:00
Thomas Roberts 84f83f840c Get the latest stable version of WooCommerce for PHPUnit testing (https://github.com/woocommerce/woocommerce-blocks/pull/3594) 2020-12-23 16:10:25 +01:00
Seghir Nadir 863275bf6b sync shipping with billing when shipping is disabled (https://github.com/woocommerce/woocommerce-blocks/pull/3593)
* sync shipping with billing when shipping is disabled

* default to billing data if shipping is disabled
2020-12-23 16:10:13 +01:00
Rua Haszard 34f364e708 respect merchant setting for Stripe CC `title`: (https://github.com/woocommerce/woocommerce-blocks/pull/3568)
- expose title setting to client and use in UI
2020-12-23 08:52:37 +13:00
Rua Haszard 0783108d19 use consistent product name `WooCommerce Blocks` (https://github.com/woocommerce/woocommerce-blocks/pull/3567)
* use consistent product name `WooCommerce Blocks:
- readme.md title
  + update product vision paragraph
- update references in readme.txt preamble
- update in tests bootstrap message

* add WCCOM/docs links front & centre in readme for convenience
2020-12-23 08:49:45 +13:00
Albert Juhé Lluveras 257c970726 Don't add the hidden class name to elements with the hidden attribute (https://github.com/woocommerce/woocommerce-blocks/pull/3582)
* Revert "Add 'hidden' class name when using the 'hidden' attribute"

This reverts commit 0332e33a60a516506718e8ed4659e45d32dc80a4.

* Add styles for hidden panel content

* Add docs about account for the hidden attribute in styles

* Update docs/theming/README.md

Co-authored-by: Rua Haszard <rua.haszard@automattic.com>

Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
2020-12-22 10:26:59 +01:00
Seghir Nadir a713e56c7a use ReplaceMediaFlow in featured category and feature product (https://github.com/woocommerce/woocommerce-blocks/pull/3579)
* use ReplaceMediaFlow in featured category

* use ReplaceMediaFlow in featured product

* remove redudant prop
2020-12-21 17:09:10 +01:00
Seghir Nadir 94d8d580a2 Fix isDefault on Buttons and switch Toolbar with ToolbarGroup (https://github.com/woocommerce/woocommerce-blocks/pull/3577)
* Fix isDefault notice

* fix Toolbar to ToolbarGroup
2020-12-21 17:03:54 +01:00
Seghir Nadir 800f3c9624 Fix direct call to setState in EditProductSearch body (https://github.com/woocommerce/woocommerce-blocks/pull/3578) 2020-12-21 16:56:58 +01:00
Bartosz Budzanowski 9cfa54579d Fix data type used for paymentData.paymentMethods handling. (https://github.com/woocommerce/woocommerce-blocks/pull/3576)
* Fix data type for used paymentData.paymentMethods.

* This check is no longer necessary.
2020-12-21 16:32:59 +01:00
Albert Juhé Lluveras 7ea0aa4fbc Use em for coupon code button height (https://github.com/woocommerce/woocommerce-blocks/pull/3575) 2020-12-21 14:49:43 +01:00
Albert Juhé Lluveras 4197cfdb2d Add 'hidden' class name when using the 'hidden' attribute (https://github.com/woocommerce/woocommerce-blocks/pull/3569) 2020-12-21 14:47:51 +01:00
Albert Juhé Lluveras 5d01c8d781 Merge markup from Product Title atomic block and ProductName component (https://github.com/woocommerce/woocommerce-blocks/pull/3562)
* Merge markup from ProductTitle atomic block and ProductName component

* Add test

* Remove duplicate decodeEntities call

* Minor improvements
2020-12-21 14:45:27 +01:00
Albert Juhé Lluveras e169929c89 Fix product list images skewed in Widgets editor (https://github.com/woocommerce/woocommerce-blocks/pull/3553) 2020-12-21 14:40:39 +01:00
Albert Juhé Lluveras e3d97d7387 Fix Fees not visible in Cart & Checkout blocks when order doesn't need shipping (https://github.com/woocommerce/woocommerce-blocks/pull/3521) 2020-12-21 14:15:27 +01:00
Albert Juhé Lluveras 28ffe1be49 Replace IconButton component with Button (https://github.com/woocommerce/woocommerce-blocks/pull/3547)
* Replace IconButton component with Button

* Fix All Products editor.scss file not included by Webpack
2020-12-21 14:11:13 +01:00
Bartosz Budzanowski e2e934ec46 Remove customer saved payment methods from context if they are not enabled. (https://github.com/woocommerce/woocommerce-blocks/pull/3551)
* For gateways with disabled saved payment metods, don't show saved items in context.

* Fix style.

* Update name.

* Simplify and fix.

* Whitespace.

* Revert for another PR.

* Formatting fix.
2020-12-21 12:07:31 +01:00
Rua Haszard ceff92b4b8 add fallback screen reader styles (https://github.com/woocommerce/woocommerce-blocks/pull/3557)
* add fallback screen reader styles

* use shared blocks screen-reader styles from mixin:
- tweak mixin to align with focus-reveal style
- add new mixin for focus-reveal style, since it is coupled to
visually-hidden mixin
2020-12-18 08:05:17 +13:00
Mike Jolley 55f0bc73a6 Fix Address Validation in the Store API and client (https://github.com/woocommerce/woocommerce-blocks/pull/3552)
* Trim input values before validation on Checkout

* Fixes required field checking at schema level

* Require country during checkout and ensure values are formatted

* Add handling for rest_invalid_param messages

* Remove prepare_address_fields - handled by schema

* Add address validation to OrderController

* Implement address validation

* Error errors from all endpoints more gracefully

* update non-true description

* required prop

* Update tests

* Fix equalityFn so updates are triggered when address changes

* Remove debounce so fields update if context changes

* Update src/StoreApi/Schemas/AbstractAddressSchema.php

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

* Add missing wp_unslash

* Validate allowed countries should block checkout if no countries are allowed

* Type in locale variable

* Update assets/js/base/utils/errors.js

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

* Fix validator calls

* Remove refererence

* Restore onChange order

* eslint fix

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-12-17 14:52:44 +00:00
Darren Ethier e6a4354777 Update close-stale-issues.yml
Fix heading spacing
2020-12-17 06:04:56 -05:00
Darren Ethier 2443e9082f Update close-stale-issues.yml
Fix quotes in yml
2020-12-16 16:12:40 -05:00
Darren Ethier 2369006de5 Update 390.md 2020-12-16 13:26:35 -05:00
Darren Ethier 796c101675 Update 390.md
clarify some testing notes.
2020-12-16 11:05:50 -05:00
Thomas Roberts ef081ef8a2 Fix select inputs when dark mode is enabled in Twenty Twenty-One (https://github.com/woocommerce/woocommerce-blocks/pull/3554)
* Add CSS rules for dark mode theme setting in Twenty Twenty-One

This is required because the theme may be set to dark mode independently of the browser. The reason we need two rules for this is because the checkout block can be set to have dark mode inputs too, so this rule doesn't need to apply then.

* Add theme-specific class for Twenty Twenty-One
2020-12-16 16:01:46 +00:00
renovate[bot] 0e12c88bf2 chore(deps): update dependency commander to v6.2.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3558)
* chore(deps): update dependency commander to v6.2.1

* Lockfile maintenance

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2020-12-16 15:09:11 +00:00
renovate[bot] 7fc6fcc5f4 chore(deps): update dependency @types/jest to v26.0.19 (https://github.com/woocommerce/woocommerce-blocks/pull/3556)
* chore(deps): update dependency @types/jest to v26.0.19

* Lockfile maintenance

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2020-12-16 13:57:26 +00:00
renovate[bot] 0821550c5a chore(deps): update babel monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/3555)
* chore(deps): update babel monorepo

* Lockfile maintenance

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2020-12-16 12:59:25 +00:00
renovate[bot] 553f8e6da6 chore(deps): update dependency postcss to v8.2.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3559)
* chore(deps): update dependency postcss to v8.2.1

* Lockfile maintenance

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2020-12-16 11:00:58 +00:00
Albert Juhé Lluveras 56485d6da5 Rename version compare functions to isWpVersion and isWcVersion and add docblocks (https://github.com/woocommerce/woocommerce-blocks/pull/3548)
* Add docblocks to compareWithWpVersion and compareWithWooVersion

* Rename functions to isWpVersion and isWcVersion
2020-12-15 16:10:24 +01:00
Darren Ethier 9071cc3a80 GitHub Stale Action: Tweak message for stale activity and bump close boundary (https://github.com/woocommerce/woocommerce-blocks/pull/3550)
* Tweak message for stale activity and bump close boundary

Temporarily, bump the close boundary to 20 days to cover the holiday period.

* revert bump to 90 days
2020-12-15 06:01:44 -05:00
renovate[bot] e1c5ec4020 fix(deps): pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/3526)
* fix(deps): pin dependencies

* Lockfile maintenance

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2020-12-14 16:33:41 +00:00
renovate[bot] 863c07d105 chore(deps): update dependency mini-css-extract-plugin to v1.3.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3531)
* chore(deps): update dependency mini-css-extract-plugin to v1.3.3

* Lockfile maintenance

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2020-12-14 15:52:45 +00:00
renovate[bot] 7705a87f76 chore(deps): update dependency autoprefixer to v10.1.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3528)
* Update dependency autoprefixer to v10.1.0

* Lockfile maintenance

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2020-12-14 14:41:49 +00:00
dependabot[bot] 710343e6d2 Bump ini from 1.3.5 to 1.3.7 (https://github.com/woocommerce/woocommerce-blocks/pull/3545)
* Bump ini from 1.3.5 to 1.3.7

Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

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

* Lockfile maintenance

* Lockfile maintenance

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2020-12-14 13:40:16 +00:00
Mike Jolley 6e66799414 Update usage of legacy packages (inc. ServerSideRender) (https://github.com/woocommerce/woocommerce-blocks/pull/3541)
* Use the @wordpress/server-side-render package

* Add @wordpress/server-side-render dependency

* Update requiredPackagesInWPLegacy for 5.4 support

* Update package lock
2020-12-14 11:55:05 +00:00
Mike Jolley f459ad664c Switch to Fragment Short Syntax (`<>`) (https://github.com/woocommerce/woocommerce-blocks/pull/3536)
* Replace Fragment with shorthand

* Update eslint rules for short fragment syntax
2020-12-14 11:54:34 +00:00
Albert Juhé Lluveras 02174c5431 Add stories to Cart & Checkout totals components (https://github.com/woocommerce/woocommerce-blocks/pull/3533)
* Add stories to Cart & Checkout totals components

* Create @woocommerce/knobs alias

* Update TotalsFooterItem default values so they are in line with other stories
2020-12-14 09:15:50 +01:00
Albert Juhé Lluveras baa97e528f Update minimum required WP version to 5.4 (https://github.com/woocommerce/woocommerce-blocks/pull/3537)
* Update minimum required WP version to 5.4

* Remove WP legacy version check in blocks registration

* Remove no longer needed version check
2020-12-10 15:39:04 +01:00
Mike Jolley dc0220a98c Add Close stale issues workflow (https://github.com/woocommerce/woocommerce-blocks/pull/3540) 2020-12-10 12:45:17 +00:00
Rua Haszard 87d9b01dfb Add storybook demo for CheckboxControl (https://github.com/woocommerce/woocommerce-blocks/pull/3030)
* story for CheckboxControl aka Checkbox

* Rename exported story to Default and use correct component name

This keeps our stories more consistent
2020-12-10 10:38:26 +00:00
renovate[bot] 09009e4f8e Update dependency core-js to v3.8.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3529)
* Update dependency core-js to v3.8.1

* manual refresh lock file

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
2020-12-10 16:10:57 +13:00
Rua Haszard f8208f8c63 Revert "experiment: remove core-js dependency, suspect unused 🧐"
This reverts commit f1794c334f.
2020-12-10 15:21:19 +13:00
Rua Haszard f1794c334f experiment: remove core-js dependency, suspect unused 🧐 2020-12-10 15:19:34 +13:00
renovate[bot] 3109ce7483 Update dependency @types/jest to v26.0.18 (https://github.com/woocommerce/woocommerce-blocks/pull/3527)
* Update dependency @types/jest to v26.0.18

* manual refresh lock file

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
2020-12-10 15:08:11 +13:00
renovate[bot] baa0fce79c Update dependency eslint to v7.15.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3530)
* Update dependency eslint to v7.15.0

* manual refresh lock file

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
2020-12-10 14:18:19 +13:00
Albert Juhé Lluveras 01c1ce8ffb Update WP versions used in Travis e2e tests (https://github.com/woocommerce/woocommerce-blocks/pull/3535)
* Update WP versions used in Travis e2e tests

* Remove WP 5.3 tests

* Remove legacy WP version checks in e2e tests
2020-12-09 17:09:45 +01:00
Albert Juhé Lluveras 8d9d98d8e9 Add missing experimental functions to the feature flags page (https://github.com/woocommerce/woocommerce-blocks/pull/3522)
* Remove no longer used __experimentalPersistItemToCollection function

* Add __experimentalDeRegisterPaymentMethod and __experimentalDeRegisterExpressPaymentMethod to feature flags doc
2020-12-09 15:10:57 +01:00
Mike Jolley 7bbe4926f5 Update Release Template and Docs (https://github.com/woocommerce/woocommerce-blocks/pull/3524)
* Remove release docs from plugin

* Clarify text in release checklists
2020-12-09 11:32:16 +00:00
Albert Juhé Lluveras bc40247d70 Rename Cart & Checkout totals components (https://github.com/woocommerce/woocommerce-blocks/pull/3520)
* Rename TotalsCouponCodeInput to TotalsCoupon

* Rename SubtotalsItem to Subtotal

* Rename TotalsDiscountItem to TotalsDiscount

* Rename TotalsFeesItem to TotalsFess

* Rename TotalsFooterItem folder

* Rename TotalsItem folder

* Rename TotalsShippingItem to TotalsShipping

* Rename TotalsTaxesItem to TotalsTaxes
2020-12-09 08:29:34 +01:00
Mike Jolley 58a65ec6e5 4.1.0-dev 2020-12-08 14:18:42 +00:00
github-actions[bot] dc5ad5701d Release: 4.0.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3509)
* generating changeset for pull request

* generating changeset for pull request

* Update readme changelog

* Update requirements

* Testing instructions

* Update zip file

* Update nonce outside of json parse

* Set logged in cookie on store api requests

* Update zip

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-12-08 13:40:40 +00:00
renovate[bot] be0b17c8d6 Update dependency @woocommerce/components to v5 (https://github.com/woocommerce/woocommerce-blocks/pull/3156)
* Update dependency @woocommerce/components to v5

* Fix lock file.

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: budzanowski <bartosz.budzanowski@gmail.com>
2020-12-07 16:49:41 +01:00
Albert Juhé Lluveras 85e3e8df2f Add missing experimental hook to docs (https://github.com/woocommerce/woocommerce-blocks/pull/3508) 2020-12-07 11:46:22 +00:00
renovate[bot] cb7cf6ab73 Update dependency autoprefixer to v10 (https://github.com/woocommerce/woocommerce-blocks/pull/3216)
* Update dependency autoprefixer to v10

* pin postcss & postcss-loader versions (Renovate will manage updates)

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
2020-12-07 14:09:23 +13:00
Seghir Nadir 231d49406a Introduce pluginArea in Cart and Checkout (https://github.com/woocommerce/woocommerce-blocks/pull/3498)
* add plugin area

* add invisible errorBoundary

* move PluginArea to CheckoutProvider
2020-12-04 10:52:52 +01:00
Bartosz Budzanowski 2293e41f1d Fix:3501 Omit keys in `customerPaymentMethods` that have an empty list as a value. (https://github.com/woocommerce/woocommerce-blocks/pull/3502)
* Don't add empty methods key.
2020-12-03 19:33:33 +01:00
Mike Jolley 6825dc909f Add Formatter Classes to the Store API for Extensions to Consume (https://github.com/woocommerce/woocommerce-blocks/pull/3503)
* Create and register formatter classes

* Update Schema to use formatter classes

* Update tests

* Currency formatter

* Fix tests

* Use wc_get_price_decimals() as default

* Exception on non existing formatter call

* Feedback

* remove setter
2020-12-03 19:17:03 +01:00
Ettore Del Negro daa6454138 CartItems must extend AbastractCartRoute otherwise the cart is not loaded from the session (https://github.com/woocommerce/woocommerce-blocks/pull/3488) 2020-12-03 16:51:23 +01:00
Albert Juhé Lluveras 2e5bcca7c6 Update @wordpress/components to v. 11.1.1 and @wordpress/base-styles to v. 3.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3457)
* Update @wordpress/components and @wordpress/base-styles

* Fix JS warning in Select/downshift

* Remove color definitions that are now imported from @wordpress/base-styles. Fixes woocommerce/woocommerce-blocks#3311

* Use -unit values from @wordpress/base-styles. Fixes woocommerce/woocommerce-blocks#3313

* Update snapshots

* Fix payment methods test

* Don't extract dependencies that are not available in WP 5.3

* Avoid extracting @wordpress/compose since last version doesn't have resize observer

* Remove unnecessary uses of @wordpress/compose in a frontend scripts

* Add missing spaces
2020-12-03 14:04:25 +01:00
Mike Jolley ea52a2a2d5 Drop stock reservation when removing item from cart via the Store API (https://github.com/woocommerce/woocommerce-blocks/pull/3468)
* Remove Blocks version of ReserveStock Class

* When a cart item is removed, remove holds on stock

* Move maybe_release_stock to abstract

* Update ReserveStockException usage
2020-12-02 16:03:24 +00:00
renovate[bot] 7e656711b4 Update dependency html-react-parser to v0.14.2 (https://github.com/woocommerce/woocommerce-blocks/pull/3494)
* Update dependency html-react-parser to v0.14.2

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-12-02 16:08:02 +01:00
renovate[bot] 4ae3cd5555 Update dependency core-js to v3.8.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3493)
* Update dependency core-js to v3.8.0

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-12-02 15:57:34 +01:00
renovate[bot] 01df3ea8ca Update dependency config to v3.3.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3492)
* Update dependency config to v3.3.3

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-12-02 15:45:31 +01:00
Rua Haszard ce6dd93e7b Handle change to logged-in status in checkout API AJAX requests (https://github.com/woocommerce/woocommerce-blocks/pull/3429)
* refactor and reorder checkout processing

* improve handling of checkout POST with mixed success:
- return coupon errors in a property
- don't throw from coupon validation:
  - return info about errors to route handler
  - tweak logic in route handler to prevent subsequent processing
  - default payment result to fail to avoid accidental successful checkout
- in client, catch errors and new customer id:
  - render any errors as notices - i.e. coupon error
  - if a customer ID is included, push into store (so UI updates)

* fix linter whitespace issue from rebase merge

* fix MIA order validation/errors (due to rebase):
- reinstate thrown exception when validating order
- return exception was an experiment, now solved in woocommerce/woocommerce-blocks#3454

* hide "Create account" checkbox if account is created during an error response:
- update store with new user id
- remove stale response.errors handling;
  - current approach (https://github.com/woocommerce/woocommerce-blocks/pull/3454) is to add data to error response

* show a notice informing user that they have signed up

* white space

* Handle header and update typedef

* Remove "errors" schema

* remove errors

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-12-02 14:27:28 +00:00
renovate[bot] b4919b0356 Update dependency @types/jest to v26.0.16 (https://github.com/woocommerce/woocommerce-blocks/pull/3491)
* Update dependency @types/jest to v26.0.16

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-12-02 14:28:52 +01:00
renovate[bot] 1ddff6ea05 Update dependency @octokit/graphql to v4.5.8 (https://github.com/woocommerce/woocommerce-blocks/pull/3490)
* Update dependency @octokit/graphql to v4.5.8

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-12-02 14:28:44 +01:00
renovate[bot] 5bd216baa0 Pin dependency github-label-sync to 2.0.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3489)
* Pin dependency github-label-sync to 2.0.0

* Update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-12-02 14:28:24 +01:00
Rua Haszard 0cb3b3d9a8 refactor and reorder checkout processing (https://github.com/woocommerce/woocommerce-blocks/pull/3454)
* refactor and reorder checkout processing

* move experimental order_processed hook as last step before payment:
+ flesh out docs - intention/purpose, introduced version, link to PR,
relationship to legacy hook

* return current user_id with checkout error responses, so UI can update

* clarify user id comment

* Add store API nonce to all responses

* catch new nonce & update store for POST /checkout errors

* ensure $order hook param and database are in sync

* fetchResponse->errorResponse

* Move payment method ID validation to schema

* Add the nonce inline

* Simplify error method

* Add todo for injection

* Hook docs

* Return user ID as a header instead of in error response

* Default to private methods

* Tidied processing logic/order save placement

* White space removal

* Remove duplicate comment

* Remove root slash

* Remove unused created variable

* Remove woocommerce_registration_error_email_exists filter in error message from API

* Move payment validation

* Moved comments

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-12-02 12:22:42 +00:00
Albert Juhé Lluveras 5683ed1e54 Fix c notice close button color in Twenty Twenty One dark mode (https://github.com/woocommerce/woocommerce-blocks/pull/3472) 2020-12-02 13:09:57 +01:00
Albert Juhé Lluveras 281cc99291 Create IE11 SCSS mixin (https://github.com/woocommerce/woocommerce-blocks/pull/3473) 2020-12-01 09:04:52 +01:00
renovate[bot] ca26289ece Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/3484)
* Lock file maintenance

* Lock file maintenance

* Lock file maintenance

* Lock file maintenance

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2020-11-30 15:21:22 +00:00
Seghir Nadir 8c2c0f73ad Change register_endpoint_data to use an array of params instead of individual params. (https://github.com/woocommerce/woocommerce-blocks/pull/3478)
* use an array args

* allow schema to be empty if nothing was registred
2020-11-30 15:38:10 +01:00
Darren Ethier f4e4bdd1e7 update label sync json 2020-11-27 15:52:06 -05:00
Darren Ethier 8e7a168c9a add label-sync script and config 2020-11-27 15:41:36 -05:00
Albert Juhé Lluveras 4a03e88b45 Typo 2020-11-27 11:55:26 +01:00
renovate[bot] 389f82c53a Update babel monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/3460)
* Update babel monorepo

* update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-11-26 12:16:53 +00:00
renovate[bot] cd39759844 Update Node.js to v12.20.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3459)
* Update Node.js to v12.20.0

* update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-11-26 11:51:42 +00:00
Darren Ethier dcef9838ef bump version to dev after release 2020-11-25 15:36:58 -05:00
github-actions[bot] 671976907e Release: 3.9.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3453)
* generating changeset for pull request

* generating changeset for pull request

* add changelog for version 3.9

* clear vendor folder before doing deploy script

* start testing docs

* more build script improvements

* Finish testing notes

* update testing docs

* Prevent exclude drafts filter being tree shaken (https://github.com/woocommerce/woocommerce-blocks/pull/3463)

* Reverse logic for hiding product name in checkout sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/3464)

The hasLink prop was removed from ProductName and disabled is used instead, this change makes the variable name more descriptive, and uses disabled to signal if the ProductName should link or not.

* update zip file

* tweak changelog

* add link to release post in changelog

* fix release date in readme.txt

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
Co-authored-by: opr <5656702+opr@users.noreply.github.com>
2020-11-25 15:33:23 -05:00
renovate[bot] cdfe3e851e Update dependency @types/react to v16.14.2 (https://github.com/woocommerce/woocommerce-blocks/pull/3461)
* Update dependency @types/react to v16.14.2

* update package-lock.json

* update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-11-25 16:17:06 +00:00
renovate[bot] 364df26e2d Update dependency @testing-library/react to v11.2.2 (https://github.com/woocommerce/woocommerce-blocks/pull/3419)
* Update dependency @testing-library/react to v11.2.2

* update package-lock.json

* update package-lock.json

* restore package-lock.json

* update package-lock.json

* update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-11-25 15:58:09 +00:00
renovate[bot] d7d5b89af0 Update dependency chalk to v4 (https://github.com/woocommerce/woocommerce-blocks/pull/3217)
* Update dependency chalk to v4

* update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-11-25 15:02:58 +00:00
Albert Juhé Lluveras 0b2112c3d5 Prevent exclude drafts filter being tree shaken (https://github.com/woocommerce/woocommerce-blocks/pull/3463) 2020-11-25 13:46:13 +01:00
opr 704fab02d6 Reverse logic for hiding product name in checkout sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/3464)
The hasLink prop was removed from ProductName and disabled is used instead, this change makes the variable name more descriptive, and uses disabled to signal if the ProductName should link or not.
2020-11-25 12:39:02 +00:00
Seghir Nadir bc54dce0c8 make cart endpoint extensible (https://github.com/woocommerce/woocommerce-blocks/pull/3445) 2020-11-25 13:18:44 +01:00
opr 404e669f72 Change left margin of notice's dismiss icon to auto (https://github.com/woocommerce/woocommerce-blocks/pull/3455)
This is needed to ensure the dismiss icon in notices will always be as far over to the right of the parent container as possible.
2020-11-25 11:50:59 +00:00
renovate[bot] 6df3a7e2e0 Update dependency eslint to v7.14.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3462)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-11-25 11:38:26 +00:00
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
renovate[bot] fcf034ced4 Update dependency wordpress-element to v2.18.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3277)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-14 17:20:05 -04:00
renovate[bot] cb02884c2b Update dependency @types/react to v16.9.52 (https://github.com/woocommerce/woocommerce-blocks/pull/3275)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-14 16:45:35 -04:00
Farook Ibrahim b98dac6c62 Fixed: woocommerce/woocommerce-blocks#3084 (https://github.com/woocommerce/woocommerce-blocks/pull/3185) 2020-10-14 18:07:01 +01:00
renovate[bot] 47fe198d49 Update dependency promptly to v3.1.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3276)
* Update dependency promptly to v3.1.0

* regenerate package-lock

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
2020-10-14 18:06:41 +13:00
Albert Juhé Lluveras ef734c9fbe Update version to 3.7.0-dev 2020-10-12 17:48:08 +02:00
github-actions[bot] c62a43043d Release: 3.6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3266)
* generating changeset for pull request

* generating changeset for pull request

* Add 3.6.0 changelog

* Update 'WC tested up to' version

* Add 3.6 testing instructions

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-10-12 17:44:48 +02:00
Albert Juhé Lluveras 89a1ec7206 Ensure new payment methods are only displayed when no saved payment method is selected (https://github.com/woocommerce/woocommerce-blocks/pull/3247)
* Ensure new payment methods are only displayed when no saved payment method is selected

* Simplify logic

* Add tests

* Fix wrong props definition in JSDoc

* Use default parameter instead of default prop for functional component (Label)

* Remove usePaymentMethods mock

* Remove NoPaymentMethods mock

* Fix tests
2020-10-12 14:43:52 +02:00
Albert Juhé Lluveras e04e5d8033 Make 'retry' property on errors from checkoutAfterProcessingWithSuccess/Error observers default to true if it's undefined (https://github.com/woocommerce/woocommerce-blocks/pull/3261)
* Make 'retry' property default to true if it's undefined

* Create new shouldRetry method in useEmitResponse
2020-10-12 10:19:30 +02:00
Albert Juhé Lluveras b98ecd8116 Simplify emitEventWithAbort logic (https://github.com/woocommerce/woocommerce-blocks/pull/3256) 2020-10-09 10:52:04 +02:00
renovate[bot] d9c0d20129 Update dependency mini-css-extract-plugin to v0.12.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3250)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-08 16:45:15 -04:00
renovate[bot] cbedc5bbe4 Update dependency wordpress-compose to v3.21.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3251)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-08 16:24:17 -04:00
renovate[bot] 7e29f5ccee Update dependency @types/react to v16.9.51 (https://github.com/woocommerce/woocommerce-blocks/pull/3249)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-08 16:04:34 -04:00
renovate[bot] 68289f7fff Update Node.js to v12.19.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3248)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-10-08 15:30:37 -04:00
Albert Juhé Lluveras d90d7428bd Restore saved payment method data after closing an express payment method (https://github.com/woocommerce/woocommerce-blocks/pull/3210)
* Restore saved payment method data after closing an exprss payment method

* Fix wrong JSDoc props

* Add tests
2020-10-08 11:21:47 +02:00
Albert Juhé Lluveras e01e191397 Fix wrong propType introduced in woocommerce/woocommerce-blocks#3226 (https://github.com/woocommerce/woocommerce-blocks/pull/3242) 2020-10-06 15:58:41 +02:00
Darren Ethier cec452ee88 Create codeql-analysis.yml
Add codeql scanning to the repo.
2020-10-05 19:29:21 -04:00
Albert Juhé Lluveras 2f7b0ba3b4 Don't load contents of payment method hidden tabs (https://github.com/woocommerce/woocommerce-blocks/pull/3227) 2020-10-05 15:25:40 +02:00
Albert Juhé Lluveras e486b8b906 Refactor payment methods components (https://github.com/woocommerce/woocommerce-blocks/pull/3226)
* Move 'renderedTabs' to its own component

* Move getRenderedTab to its own component

* Remove 'getPaymentMethod' function

* Fix wrong typedef

* Remove unnecessary useRef

* Simplify NewPaymentMethodTab

* Drop 'New' prefix from components name

* Add JSDocs to new components

* Add propTypes to new components
2020-10-05 13:59:20 +02:00
Darren Ethier a3cb613330 Update SECURITY.md 2020-10-01 16:53:34 -04:00
Albert Juhé Lluveras 2ce885c6b7 Load WC Blocks CSS after editor CSS (https://github.com/woocommerce/woocommerce-blocks/pull/3219)
* Load WC Blocks CSS after editor CSS

* Add @todo tag to comment
2020-10-01 11:11:41 +02:00
Rua Haszard f000fb4f7a Support "create account" option in checkout block (https://github.com/woocommerce/woocommerce-blocks/pull/2851)
* prototype 'create account' checkbox in checkout block

* expose store config for generating password/username  to blocks:
+ use FILTER_VALIDATE_BOOLEAN instead of hard-coded `yes`

* stub out signup form in checkout block

* context / provider to store checkout signup form data

* revert signup form - checkout block will always generate username etc

* persist signup checkbox in checkout state & pass to checkout API

* add `create_account` param to order API, fix name in client POST

* handle creating user account as part of order (first cut)

* ensure the order is associated with the new customer

* only show 'create account' checkbox when appropriate (guest checkout)

* remove unnecessary username/password variables

* refactor account-creation logic into functions:
- clarify inputs and outputs
- use RouteException for error handling
- use woo options directly, avoid dependency on WC_Checkout

* update "email exists" error message to use existing error message text

* handle all known errors from wc_create_new_customer + use core message

* only show "create account" checkbox to shopper when necessary:
- if guest checkout is disabled, user must create account - not optional

* only show "create account" if account creation is optional:
- fixes incorrect logic in previous commit
- add some comments to clarify

* fix create account logic in API when checkout requires account:
- use correct woo setting option name
- reverse logic to match option = allow guest false means registration required

* strip html tags from create account error messages

* temporarily force enable autogenerate user/pass in new account API

* fix rebase errors

* add new allowCreateAccount attribute in checkout block

* show/hide `Create account` checkbox dependent on block attribute:
- previously was dependent on store setting

* new create user API, with set initial password email (first cut):
- use core register_new_user for creating the user
  - this triggers core "set new password" email
- generate username using logic lifted from WC core
- rough cut, lots to tidy/polish here

* remove alternative/unused create account function

* set `Customer` role for signups during checkout

* eslint fix - switch case break

* remove comments that mirror code & might go stale

* tidy func comment

* remove unused function

* use store setting `allow signup` for default value of new block option

* refactor order signup logic to service class first cut:
- new CreateAccount service
- hook up via custom action (for now at least)
- paste over existing create account logic (temporary - will be replaced)

* adapt wc_create_new_customer logic in CreateAccount service (WIP)

* set default_password_nag on new account + throw instead of WP_Error

* rename `createAccount` => `shouldCreateAccount` to clarify meaning

* fix checkout block - renamed `shouldCreateAccount` (missed in prev commit)

* prototype sending alternative email template for checkout signup

* add magic link to set password to blocks new account html email

* tidy up new account email templates - set password link, subject/heading

* use same id so merchant setting tweaks apply to our new improved email

* remove logging

* code tidies in CreateAccount service:
- remove unnecessary constructor
- type-hint in should_create_customer_account
- streamline logic in should_create_customer_account - remove
unnecessary `empty` check
- add comments to illuminate different use-cases handled by should_create_customer_account

* don't provide password to new account email templates (no longer used)

* declare dependencies in root namespace

* code tidies on new account email class:
- correct namespace and camelcase name
- declare class in file, don't instantiate; instantiate in client code
(CreateAccount service) when used
- no require/file import, use `use`

* move CustomerNewEmail to folder matching namespace

* use Package->get_path for email template paths:
- CreateAccount service now depends on Package
- CreateAccount passes Package to email class so it can use `get_path`
- note: CustomerNewAccount is not registered with DI container as it
needs to be instantiated after Woo init (for `WC_Email`)
- shift email templates to {plugin}/templates, consistent with WP
convention

* call CreateAccount::from_order_request directly, no custom hook:
- custom hook is not appropriate as we may not want to allow
extensibility in this way - TBD

* add appropriate margin above create account checkbox

* remove unnecessary direct-access protection

* generalise name of error-handling method

* simplify CustomerNewAccount - instantiate directly, when needed

* remove unused new_account_email member - now instantiated on demand

* numerous fixes and updates due to rebase changes

* fix typo in name of CustomerNewAccount php file (missing `n`)

* experiment - link to lost-password form in my-account (prototype branded screen)

* Revert "experiment - link to lost-password form in my-account (prototype branded screen)"

This reverts commit e1dc6dd5e9f0218ede81da92188d813c2d0856d9.

* feature gate CreateAccount service init to dev build only +
+ remove stale comment

* feature gate front end "Create account" checkbox to feature plugin only

* feature gate editor "allow signup" option to dev build only

* feature gate checkout api create account - dev build only

* tweak feature gating PHP logic so it's robust:
- all PHP feature gating is in the service class
- all publicly-available methods return early if feature gate off
- Checkout rest API transparently calls service - no explicit feature
gate at API level

* ensure frontend/editor features are feature gated (isExperimentalBuild is a function)

* feature gate value of checkoutAllowsSignup - can only be true in feature plugin

* fix a / an typo in comment

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

* remove commented code

* hello world unit test (doesn't test anything yet)

* add a command for running unit tests when container already up:
- this should probably move to another PR/branch

* basic tests of core logic in CreateAccount service

* import isExperimentalBuild direct:
- import from alias package was causing an issue, likely a dependency cycle

* refactor from_order_request to return new user ID so it's easier to test

* test creating a customer from an order + rest request:
- i.e. a full end-to-end integration test

* delete redundant test and tidy comments

* generalise test to provider format

* refactor create-dup-user err test to use same approach as success test

* add test for when user should not be created

* don't hard-code options in "create" test, remove redundant provider in no-account-requested test

* de-generalise "user already signed up" test

* add test for malformed email

* flesh out & comment successful signup tests

* flesh out "invalid email" tests

* clarify no account requested test comment

* remove phpunit:quick - I don't think it's needed

* add comment explaining this is an integration test

* experiment – disable feature flag, is this why the tests are failing?

* revert test commit - restore feature gate (experimental flag)

* skip all tests if CreateAccount is disabled due to feature flag

* d'oh - expose CreateAccount:is_feature_enabled so can be used in tests

* add jsdoc for checkout-state shouldCreateAccount field

* remove unnecessary comment + fix whitespace/indentation

* simulate logged-out user for createaccount signup tests

* use a single, compound if statement for early return (review nitpick)

* don't hide `checkoutAllowsSignup` store setting behind feature flag:
- the feature flag should be used to enable/disable behaviour
- it's dangerous to adjust store settings/options based on feature flag

* rejig tests so they require woocommerce_blocks_phase==3:
- make feature gate method private to avoid exposing
- remove feature flag check & test skip for other builds
- set blocks phase in travis config

* remove redundant user-logout in test setup - cleaner to just require this

* use WP function bracket style (same line)

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-10-01 15:07:16 +13:00
renovate[bot] 4102594de0 Update storybook monorepo to v6.0.22 (https://github.com/woocommerce/woocommerce-blocks/pull/3214)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-30 17:08:10 -04:00
renovate[bot] d389382669 Update dependency config to v3.3.2 (https://github.com/woocommerce/woocommerce-blocks/pull/3213)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-30 16:35:05 -04:00
renovate[bot] cb4f01b6a6 Update dependency @types/wordpress__data to v4.6.9 (https://github.com/woocommerce/woocommerce-blocks/pull/3212)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-30 16:14:10 -04:00
Seghir Nadir 1e1f399837 update version to next one 2020-09-29 16:48:47 +01:00
github-actions[bot] f3cfd711fb Release: 3.5.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3208)
* generating changeset for pull request

* generating changeset for pull request

* add changelog

* add testing notes

* update php and wc versions

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-09-29 16:43:19 +01:00
Albert Juhé Lluveras 1f8ea4f494 Remove selectedToken state from PaymentMethods (https://github.com/woocommerce/woocommerce-blocks/pull/3135) 2020-09-29 10:15:45 +02:00
Rua Haszard 7441ce6eec use the "light" bg colour for dropdown list by default (https://github.com/woocommerce/woocommerce-blocks/pull/3189) 2020-09-28 11:25:22 +02:00
Darren Ethier c844b41d6a enable testing-library/no-await-sync-query rule and fix rule violations (https://github.com/woocommerce/woocommerce-blocks/pull/3203) 2020-09-26 17:59:51 -04:00
Darren Ethier 1e6abded42 re-enable @wordpress/no-unused-vars-before-return eslint rule and fix violations (https://github.com/woocommerce/woocommerce-blocks/pull/3202) 2020-09-26 17:00:54 -04:00
Darren Ethier ba6a2e2ace re-enable @wordpress/valid-sprintf eslint rule and fix violations (https://github.com/woocommerce/woocommerce-blocks/pull/3201) 2020-09-26 16:05:00 -04:00
Darren Ethier a6750e0388 Fix esLint rule violations for @wordpress/i18n-translator-comments rule. (https://github.com/woocommerce/woocommerce-blocks/pull/3200)
* re-enable linting for @wordpress/i18n-translator-comments rule

* fix violations for the `@wordpress/i18n-translator-comments` eslint rule
2020-09-26 15:38:17 -04:00
Darren Ethier bb2acf726a Change default branch name to trunk (https://github.com/woocommerce/woocommerce-blocks/pull/3199)
* replace references to main branch with references to trunk

* update travis config to point to trunk not main branch

* more branch name changes
2020-09-26 13:28:16 -04:00
Darren Ethier 70baf77238 Update project-management-automations.yml
Update branch used for workflow
2020-09-26 13:09:54 -04:00
renovate[bot] bc348fe42a Update dependency webpack to v4.44.2 (https://github.com/woocommerce/woocommerce-blocks/pull/3184)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-26 11:30:43 -04:00
renovate[bot] 6e2cb83fcf Update dependency html-react-parser to v0.14.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3153)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-26 10:43:09 -04:00
renovate[bot] 454882453f Update dependency react-test-renderer to v16.13.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3127)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-26 10:23:37 -04:00
renovate[bot] 4bc1172348 Pin dependency @woocommerce/eslint-plugin to 1.0.0-beta.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3126)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-26 10:10:00 -04:00
renovate[bot] 1dc8442a31 Update dependency wordpress-element to v2.17.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3104)
* Update dependency wordpress-element to v2.17.1

* update experimental function to stable version

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-09-26 09:51:21 -04:00
renovate[bot] cede8c6999 Update dependency wordpress-compose to v3.20.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3101)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-26 09:16:46 -04:00
renovate[bot] 685c474581 Update babel monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/3098)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 18:54:36 -04:00
renovate[bot] 646dfdbb45 Update dependency mini-css-extract-plugin to v0.11.2 and revert `@wordpress/base-styles` update. (https://github.com/woocommerce/woocommerce-blocks/pull/3099)
* Update dependency mini-css-extract-plugin to v0.11.2

* revert @wordpress/base-styles update

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-09-25 18:40:06 -04:00
Darren Ethier 7f68bc2ebe Update bundle-size.yml
Fix configuration for bundle-size
2020-09-25 17:58:15 -04:00
renovate[bot] 8bcadda1af Update dependency axios to v0.20.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3056)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 17:56:16 -04:00
renovate[bot] d9e835899d Update dependency reakit to v1.2.5 (https://github.com/woocommerce/woocommerce-blocks/pull/3022)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 15:16:09 -04:00
renovate[bot] c62b614970 Update wordpress monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/3130)
* Update wordpress monorepo

* rollback `@wordpress/e2e-utils` update

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-09-25 14:26:38 -04:00
renovate[bot] 989d9c1e73 Update dependency @testing-library/react to v11 (https://github.com/woocommerce/woocommerce-blocks/pull/3154)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 11:44:06 -04:00
renovate[bot] 8c80bc2803 Update npm to v6.14.8 (https://github.com/woocommerce/woocommerce-blocks/pull/3128)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 11:12:26 -04:00
renovate[bot] 7928973ebb Update Node.js to v12.18.4 (https://github.com/woocommerce/woocommerce-blocks/pull/3151)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 10:43:40 -04:00
renovate[bot] 07a8ae01b9 Update dependency @types/jest to v26 (https://github.com/woocommerce/woocommerce-blocks/pull/3155)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 10:20:45 -04:00
renovate[bot] 70cc671f4f Update dependency @testing-library/jest-dom to v5.11.4 (https://github.com/woocommerce/woocommerce-blocks/pull/3052)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-25 10:03:39 -04:00
renovate[bot] 313dfebcc7 Update dependency @types/react to v16.9.49 (https://github.com/woocommerce/woocommerce-blocks/pull/3054)
* Update dependency @types/react to v16.9.49

* update package-lock.json

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-09-24 19:01:53 -04:00
renovate[bot] a90f2a8bb1 Update dependency @stripe/stripe-js to v1.9.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3021)
* Update dependency @stripe/stripe-js to v1.9.0

* update package-lock for stripe update

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-09-24 18:41:21 -04:00
Darren Ethier eea4ba60af Add puppeteer-core as dev-dependency (https://github.com/woocommerce/woocommerce-blocks/pull/3193)
* add puppeteer-core as dev-dependency

* tweak .travis.yml to hopefully fix e2e test runs on travis

* revert previous changes and configure renovate to only rebase on conflicts
2020-09-24 18:23:27 -04:00
Darren Ethier bfe850445e update wp-scripts to latest version (https://github.com/woocommerce/woocommerce-blocks/pull/3192) 2020-09-24 13:33:02 -04:00
Darren Ethier be66dc35fa Fix broken Express Payment Method use in the Checkout block for logged out or incognito users. (https://github.com/woocommerce/woocommerce-blocks/pull/3165)
* add experimental api for deregistering payment methods

Not going to promote this api just yet.

* fix for express payment method bug

Removes incorrect condition for the purpose of this effect. The Effect is expressly for setting a default active payment method if none is set. Since active payment methods might be either a registered express payment method or a registered payment method, the check for whether the payment method is included or not is breaking express payment method behaviour.

* add test for express active state and deactive state transition

* account for possibilitiy active payment method might not be currently registered.
2020-09-24 10:45:40 -04:00
Darren Ethier f915c7c8a3 re-enable dependency grouping linting and fix errors (https://github.com/woocommerce/woocommerce-blocks/pull/3167) 2020-09-21 09:43:10 -04:00
Darren Ethier 9115160c2f Enable and fix all jsdoc rule violations (https://github.com/woocommerce/woocommerce-blocks/pull/3168)
* add param jsdocs to satisfy jsdoc require-param rule

* Fix jsdoc-checktypes rule violations

* fix jsdoc/require-param-type rule violations

* fix jsdoc/check-param-names violations

* fix jsdoc/require-property-description rule violations

* fix rule violations for jsdoc/valid-types rule

* fix rule violations for jsdoc/require-property rule

* fix jsdoc/no-undefined-types rule violations

* fix jsdoc/check-types rule violations

* fix jsdoc/require-returns-description rule violation

* enable jsdoc/require-returns-type rule

* fix jsdoc/newline-after-description rule violations
2020-09-20 19:54:08 -04:00
Albert Juhé Lluveras f5b18f6fe1 Add useStoreNotices tests (https://github.com/woocommerce/woocommerce-blocks/pull/3162)
* Fix wrong type def

* Add useStoreNotices tests

* Use forEach instead of map
2020-09-18 14:50:45 -04:00
Albert Juhé Lluveras 261844d05b Use noticeContexts from useEmitResponse instead of hardcoded values (https://github.com/woocommerce/woocommerce-blocks/pull/3161) 2020-09-18 14:39:32 -04:00
Albert Juhé Lluveras d641d2e1a4 Don't throw an error when registering a payment method fails (https://github.com/woocommerce/woocommerce-blocks/pull/3134)
* Show all payment methods when it's an admin and let the error boundary handle errors

* Use StoreNoticesContainer in Payment method error boundary so notices have styling

* Filter out saved payment methods for admin users if they don't accept payments

* Simplify update options logic

* For admins, only show payment methods that errored but canPay was not false

* Simplify how new payment method option is appended

* Wrap canMakePayment in a try catch block to handle payment methods that throw an error

* Add an id to payment method error boundary errors

* Add an error boundary to express payment methods

* Hardcode failing content and savePaymentInfo to false if the payment method failed

* Add some new comments

* Add a notice instead of registering the payment method if it fails and user is admin

* Throw error early if stripe failed to load

* Split express and standard payment method error notices

* Don't add payment methods in the editor and instead add a notice

* Fix error id

* Use noticeContext constant

* Add missing JSdoc param

* Remove unnecessary removeNotice
2020-09-18 12:27:54 +02:00
renovate[bot] 1871b4e573 Update dependency @octokit/graphql to v4.5.6 (https://github.com/woocommerce/woocommerce-blocks/pull/3152)
* Update dependency @octokit/graphql to v4.5.6

* Update package-lock locally

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-09-16 14:14:14 +02:00
Albert Juhé Lluveras a285376e96 Fix State label for Spain (https://github.com/woocommerce/woocommerce-blocks/pull/3147) 2020-09-16 10:50:24 +02:00
Darren Ethier e1c5d8a92d Update patch-initial-checklist.md
Update pull request example link for WooCommerce core.
2020-09-15 15:19:13 -04:00
Darren Ethier 1ea441a201 Update release-initial-checklist.md
Update pull request example link for WooCommerce core.
2020-09-15 15:18:35 -04:00
Darren Ethier a71d7374d2 bump dev versions 2020-09-15 09:21:57 -04:00
github-actions[bot] ca2049255d Release: 3.4.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3144)
* generating changeset for pull request

* generating changeset for pull request

* add changelog to readme.txt

* typo fixes to release checklists

* change tested up to for WooCommerce core

* add testing notes for release

* bump version referenced for WP

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-09-15 08:54:17 -04:00
Darren Ethier 7fb3c23c15 Update handling-releases.md
Add a step around reviewing pull request titles and labels.
2020-09-14 12:37:57 -04:00
Darren Ethier 74c8dce1a8 update release doc
Add example query to use for helping determine what merged pulls since the last release are missing in the current release milestone.
2020-09-14 12:26:55 -04:00
Darren Ethier 1e8207ffdd update .gitattributes ans add comment blocks (https://github.com/woocommerce/woocommerce-blocks/pull/3143) 2020-09-14 12:18:00 -04:00
Darren Ethier db876cd69d Update release docs (including release pull request templates) (https://github.com/woocommerce/woocommerce-blocks/pull/3124)
* Update release docs (simplify)

* update templates for releases

* fix grammar

* Add clarification around versioning.

* simplify versioning section

* add clarification around patch release branch creation

* fix typos/improve text

* more improvements to docs
2020-09-14 11:24:34 -04:00
Seghir Nadir 62de2eb6fc Fix an issue with COD not showing when first enabled (https://github.com/woocommerce/woocommerce-blocks/pull/3088)
* Fix issue with COD not showing when first set

* generating changeset for pull request

* generating changeset for pull request

* change condition to arrays only

Co-authored-by: github-actions <github-actions@github.com>
2020-09-14 10:36:14 -04:00
Albert Juhé Lluveras 76ebf9c860 Merge ProductPrice atomic block and component (https://github.com/woocommerce/woocommerce-blocks/pull/3065)
* Merge ProductPrice atomic block and component

* Update assets/js/atomic/blocks/product-elements/price/block.js

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

* Update assets/js/atomic/blocks/product-elements/price/block.js

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

* If product price component has alignment, make it a block

* Make ProductPrice propTypes more specific

* Add align prop to loading product price

* Add stories to ProductPrice component

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-09-14 12:56:10 +02:00
Albert Juhé Lluveras 727935f04c Add several tests to Checkout block in the editor (https://github.com/woocommerce/woocommerce-blocks/pull/3058)
* Add several tests to Checkout block in the editor

* Avoid 'visibility' word for toToggleElement rule

* Refactor matchers so they receives the label instead of the text

* Make initial 'isRequired' optional

* Refactor code that produces two clicks to DRY

* Unify error messages
2020-09-14 09:46:58 +02:00
Albert Juhé Lluveras 62f7d6a061 Update package-lock.json (https://github.com/woocommerce/woocommerce-blocks/pull/3139) 2020-09-11 15:56:36 +02:00
Rua Haszard e5c9243f73 Ensure shopper saved card is used as default payment method (default was being overwritten in some circumstances) (https://github.com/woocommerce/woocommerce-blocks/pull/3131)
* bail out of setting a default payment method if shopper has saved card

* ensure default payment method is only set as active if necessary:
- use functional form of setState; previous state (current payment
  method) is not potentially stale value
- so the default is only set if there really is no active payment method

* remove unnecessary remnant hook dependency 🧟‍♀️
2020-09-11 08:48:23 +12:00
renovate[bot] ceb83c2a03 Update storybook monorepo to v6.0.21 (https://github.com/woocommerce/woocommerce-blocks/pull/3129)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-09 09:23:52 +02:00
Claudio Sanches 71c2b5ba21 Remove "package" tag from files inside "src" and "tests/php" (https://github.com/woocommerce/woocommerce-blocks/pull/2972)
* Don't require package tag or file comment inside src

* Removed package from file headers

* Fixed coding standards

* fix doc blocks for REST API

* update root classes

* update phpdoc blocks for Assets and Block classes

* Domain classes

* update phpdocs for payment classes

* update phpdocs for registry classes

* update utils classes phpdocs

* missed saving one file

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-09-07 14:01:07 -04:00
Darren Ethier 69ba8161b6 Add @woocommerce/eslint-plugin dependency (https://github.com/woocommerce/woocommerce-blocks/pull/3115)
* convert eslint config to use @woocommerce/eslint-plugin

- removes unnecessary dependencies
- adds e2e-tests/specs to eslint ignore (they are automatically generated)
- turns off rules that will be handled in subsequent pulls (to avoid a mammoth changeset for review).
- NOTE: prettier config needs left in because of a bug with the existing version of `@wordpress/eslint-plugin` pulled in (fixed in https://github.com/WordPress/gutenberg/pull/25068) so I left the file for now.

* prettier fixes.

* remove obsolete plugin and fixes for eslint update

This branch brings an update to eslint which also changes some syntax with plugins. So this commit:

- fixes featuer-flag plugin syntax.
- removed obsolete dependency-group plugin (which is now in the `@woocommerce/eslint-plugin` configuration.

* add to-do comment

* fixes for test runs

- this also converts our e2e test scripts to use `wp-script test:e2e`, an advantage of this is it will load CHROMIUM on demand for the e2e test run.

* fixes for test runs

- this also converts our e2e test scripts to use `wp-script test:e2e`, an advantage of this is it will load CHROMIUM on demand for the e2e test run.

* include prettier alias as a dependency

This has to be done because prettier is installed with storybook and thus the alias setup in `@wordpress/scripts` is over-ridden by the storybook import.

* another attempt at e2e-test-fix

* add some debugging and temporarily just add one e2e config test for travis

* more debugging

* try installing full puppeteer and see if fixes

* fix package-lock?

* setupSettings separately from other fixture loading

* add debugging of files

* add another console.log (hopefully trigger travis)

* split out blockPage creation to it’s own as well

* fixed! remove debugging and re-enable travis configs for entire test suite

* fix config and rename e2e-tests to e2e

- fixes the failing product-search test
- tests/e2e-tests was redundant, I changed to `tests/e2e` (this follows a file pattern change made in woocommerce core as well).

* add todo for some eslint properties

* remove unnecessary early function execution

* revert earlier commit and remove duplicate call to createBlockPages
2020-09-07 13:31:10 -04:00
Albert Juhé Lluveras a9bcdb7d08 Create DebouncedValidatedTextInput component (https://github.com/woocommerce/woocommerce-blocks/pull/3108)
* Fix wrong Form component name

* Split CheckoutForm into smaller components for each step

* Centralize call to useCheckoutAddress

* Create DebouncedValidatedTextInput component

* Rename some variables
2020-09-07 19:03:04 +02:00
Albert Juhé Lluveras 1e75a866d8 Split Checkout form component into smaller files (II) (https://github.com/woocommerce/woocommerce-blocks/pull/3106)
* Fix wrong Form component name

* Split CheckoutForm into smaller components for each step

* Centralize call to useCheckoutAddress
2020-09-07 17:43:05 +02:00
Albert Juhé Lluveras fa593359bf Fix Cart&Checkout layout broken in some themes (https://github.com/woocommerce/woocommerce-blocks/pull/3111) 2020-09-07 17:39:53 +02:00
Rua Haszard 2edbd03080 Fix product reviews schema date fields to use new (WP 5.5) `date-time` format (https://github.com/woocommerce/woocommerce-blocks/pull/3109)
* update dates in ProductReviewSchema to 5.5 date-time format:
- https://developer.wordpress.org/rest-api/extending-the-rest-api/schema/#format

* fix formatted date schema - is human readable, not 'date-time'
2020-09-04 08:23:10 +12:00
Albert Juhé Lluveras dfd57b0ee8 useMemo for complex computations in Country/State inputs (https://github.com/woocommerce/woocommerce-blocks/pull/3107) 2020-09-03 10:02:26 +02:00
renovate[bot] 04cbd80b60 Update dependency source-map-explorer to v2.5.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3100)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-09-02 11:08:57 +02:00
Rua Haszard 5c7447f434 Rename js/components to js/editor-components (https://github.com/woocommerce/woocommerce-blocks/pull/3069)
* mass-rename js/components => js/editor-components & update webpack

* mass-change import '@woocommerce/editor-components' +
+ jsprettier quotes fix

* more mass-rename @woocommerce/editor-components

* fix up references to js/editor-components in various places:
- docs/readmes
- jest config
- typescritp config

* fix story path to match new folder/alias 'editor-components'

* fix jest tests: use new alias for editor-components

* include renamed `editor-components` in editor stylesheet cache group
2020-09-02 10:21:46 +02:00
Rua Haszard 62aeb29031 update next-dev version number manually (cc @nerrad) 2020-09-02 14:16:45 +12:00
github-actions[bot] 51e48f43b1 Release: 3.3.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3077)
* generating changeset for pull request

* generating changeset for pull request

* 3.3.0 changelog + add woocommerce contributor (https://github.com/woocommerce/woocommerce-blocks/pull/3067)

* update min required WooCommerce - 4.2 (out of date!)

* require Woo 4.2+ min (L-2 policy)

* draft test instructions for new feature in 3.3.0

* add testing instructions for 3.3.0 bug fixes

* update TOC for testing instructions and add MIA 3.0-3.2 (!)

* add convenient zip file download to testing instructions

* update zip file - missed `composer install --no-dev` step

* clarify testing instructions for product price block +
+ remove mention of MIA screenshots

* retroactively add release notes for all products child block customization options

* add testing instructions for all products child block changes (3.1.0) +
+ use changelog note for testing headings

* Fix product element styling class names (https://github.com/woocommerce/woocommerce-blocks/pull/3095)

* Update sale badge align class names to match other element blocks

* Update product price align class names to match other element blocks

* Fix Product title alignment class names. Fixes woocommerce/woocommerce-blocks#3094

* Make styling attributes apply to Product title block when it's not a link. Fixes woocommerce/woocommerce-blocks#3093

* Linting fixes

* add changelog note for woocommerce/woocommerce-blocks#3095 + use standard changelog prefixes

* update release date

* update zip file link (new test build ft. woocommerce/woocommerce-blocks#3095)

* 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: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-09-02 14:04:27 +12:00
Albert Juhé Lluveras 4de3a0447b Fix product element styling class names (https://github.com/woocommerce/woocommerce-blocks/pull/3095)
* Update sale badge align class names to match other element blocks

* Update product price align class names to match other element blocks

* Fix Product title alignment class names. Fixes woocommerce/woocommerce-blocks#3094

* Make styling attributes apply to Product title block when it's not a link. Fixes woocommerce/woocommerce-blocks#3093

* Linting fixes
2020-09-01 16:52:25 +02:00
Seghir Nadir 4c371e064c Use wp_login_url instead of hardcoding login path (https://github.com/woocommerce/woocommerce-blocks/pull/3090)
* use wp_login_url instead of hardcoding login path

* generating changeset for pull request

* generating changeset for pull request

Co-authored-by: github-actions <github-actions@github.com>
2020-09-01 10:56:11 +01:00
Darren Ethier 4adb9d553e update release pull request workflow
fix improper indentation for expression.
2020-08-31 14:42:54 -04:00
Darren Ethier 06a952fb93 update wordpress deploy workflow
fix incorrect syntax for conditional expression in slack notification steps.
2020-08-31 14:39:30 -04:00
Darren Ethier 7858137b0b Update release pull request workflow
- improve conditional on whether job runs to only run on branches containing 'release/'.
- fix syntax on if conditionals in slack notifications
2020-08-31 14:38:20 -04:00
Seghir Nadir d7a8328528 Fix JS console error when COD is enabled and no shipping method is available. (https://github.com/woocommerce/woocommerce-blocks/pull/3086)
* only return selected shipping methods from useSelectShippingRate

* add docs
2020-08-31 17:15:56 +01:00
Albert Juhé Lluveras 80400e50da Split Checkout block component into smaller files (https://github.com/woocommerce/woocommerce-blocks/pull/3062)
* Rename CheckoutForm to Form

* Create CheckoutForm component

* Simplify directory structure

* Add docs about class name changes

* Add PropTypes to CheckoutForm

* Update skeleton class name

* Extract LoginPrompt

* Move loginToCheckoutUrl to a constant

* Move replaced class name docs to 3.4.0 specific file
2020-08-31 12:17:42 +02:00
Darren Ethier 93e493bef9 Change location of if notification 2020-08-30 20:21:46 -04:00
Darren Ethier a71503ccf9 Add slack notifications to release-pull-request workflow 2020-08-30 12:49:42 -04:00
Darren Ethier 03a7765c8c Create release pull request automation workflow 2020-08-30 12:35:42 -04:00
Darren Ethier b8932cc7bd Update project-management-automations.yml
Update the version used for existing workflow
2020-08-30 12:32:51 -04:00
Darren Ethier 493436ca0f Add templates for release pull request automation (https://github.com/woocommerce/woocommerce-blocks/pull/3073)
* add templates for release pull request automation

* add configuration
2020-08-30 12:31:52 -04:00
renovate[bot] 567d4b7c6b Update dependency @testing-library/react to v10.4.9 (https://github.com/woocommerce/woocommerce-blocks/pull/3053)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-30 11:53:47 +01:00
renovate[bot] 95f4c9dee7 Update dependency @octokit/graphql to v4.5.4 (https://github.com/woocommerce/woocommerce-blocks/pull/3020)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-30 11:53:36 +01:00
Darren Ethier 0244bd5327 Fix deploy scripts for handling composer.json version and version string validation (https://github.com/woocommerce/woocommerce-blocks/pull/3027)
* improve patch version detection and automatically fix incorrect format for version

* don’t include composer.json version update in commit

* update build-plugin zip to account for autoloader generation

* for zip-only do composer dump-autoload command

* regenerate classmap after composer version change reverted in composer.json and/or deployed

* fix condition

* improve/fix version string splitting

* remove lingering debugging

* Add some more info around the question on whether this is deployed to WordPress.org or not

* update release doc about main branch version bumping

* tweak wording in release docs

* fix grammar in user instructions
2020-08-27 09:17:52 -04:00
Rua Haszard 0a1a14f5db upgrade Storybook to 6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3039)
* upgrade Storybook and add core-js:
- core-js is needed for Storybook, at least as a workaround for an issue
- https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#core-js-dependency-errors

* rejig package-lock after merge
2020-08-27 12:02:20 +12:00
Rua Haszard 77aa2a33a3 clarify intentions / purpose of different component folders in docs (https://github.com/woocommerce/woocommerce-blocks/pull/3025)
* add high-level docs about our components & remove stale detail info

* use current collection/folder naming in docs:
- let's rename js/components in a separate PR
- split paragraphs on to separate lines to improve future diffs

* rename storybook.md => components.md and update link/summary

* tweak component collection docs:
- base have more stringent requirements, since they can be used anywhere
- editor components are less strict and can assume editor context

* clarify js/base/components readme in line with main doc

* remove line about editor components being specialised to woo blocks
2020-08-27 08:15:16 +12:00
renovate[bot] 96836fa117 Update dependency @types/wordpress__data to v4.6.8 (https://github.com/woocommerce/woocommerce-blocks/pull/3055)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-26 11:26:39 +02:00
renovate[bot] 8f91667b86 Update dependency @babel/core to v7.11.4 (https://github.com/woocommerce/woocommerce-blocks/pull/3051)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-26 11:26:18 +02:00
Albert Juhé Lluveras 8d9de5c11c Fix discounted price misalignment in Cart block (https://github.com/woocommerce/woocommerce-blocks/pull/3047)
* Fix discounted price misalignment in Cart block

* Fix Product Price block alignment
2020-08-25 15:10:11 +02:00
Albert Juhé Lluveras ff6382f0c8 Add Webpack config docs (https://github.com/woocommerce/woocommerce-blocks/pull/3043)
* Add Webpack config docs

* Typo

* Add note that aliases make refactors easier

* Rewrite 'Relevant files' section of the build system docs
2020-08-25 12:01:19 +02:00
Albert Juhé Lluveras 7ba25d63c1 Fix CartItems unit tests (https://github.com/woocommerce/woocommerce-blocks/pull/3044) 2020-08-25 10:33:41 +02:00
renovate[bot] 1bcaa5f5e5 Update dependency webpack-cli to v3.3.12 (https://github.com/woocommerce/woocommerce-blocks/pull/3023)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-24 10:33:41 +02:00
Albert Juhé Lluveras 58788acf0b Exclude storybook from released ZIP (https://github.com/woocommerce/woocommerce-blocks/pull/3036)
* Create copy plugin files bash script so logic is not duplicated

* Exclude storybook from ZIP. Fixes woocommerce/woocommerce-blocks#2671
2020-08-24 10:27:58 +02:00
renovate[bot] 96263cb029 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/3040)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-24 10:27:01 +02:00
Albert Juhé Lluveras a6178359bb Display Checkout block with a notice when adding a product sold individually that was already in the cart (https://github.com/woocommerce/woocommerce-blocks/pull/2854)
* Rename component to match directory

* Typo

* Checkout API: return cart errors as 'notice' property instead of throwing

* Checkout block: display server errors as notices

* Strip tags content

* Use same strings as in Core

* Add support for several notices

* Rename variables and allow all kind of notices

* Strip HTML tags and content in frontend

* Fix Checkout block in editor

* Add stripTagsAndContents tests

* Print notices before running blocks logic
2020-08-21 09:34:29 +02:00
Albert Juhé Lluveras 8bb217cec6 Show express payment methods in the Cart block (https://github.com/woocommerce/woocommerce-blocks/pull/3004)
* Shown express payment methods in Cart block

* Fixes

* Create usePositionRelativeToViewport hook

* Typo

* Style fixes

* Remove footer push div

* Styling fixes

* Improve code clarity

* Split ExpressCheckoutFormControl into two components

* Rename visibilityObserver to referenceElement

* Replace 'useEffect' with 'useLayoutEffect'

* Add tests for usePositionRelativeToViewport

* Self-closing div

* Add explanatory comment

* Create a shim for IntersectionObserver

* Update express payment components class names

* Add todo comment to remove IntersectionObserver shim when we drop IE11 support
2020-08-20 16:14:12 +02:00
Seghir Nadir 996925dab8 update versions 2020-08-19 16:03:20 +01:00
Seghir Nadir ab99e7d19e Release 3.2 (https://github.com/woocommerce/woocommerce-blocks/pull/3016)
* add testing checklist

* add zip to file

* add changelog

* Bumping version strings to new version.

* remove version from composer

* fix version number in package.json

* pin wc to 4.3.3

* add jetpack constant to travis
2020-08-19 15:50:12 +01:00
renovate[bot] 2f6dd1e5cd Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/2984)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-18 10:55:08 -04:00
renovate[bot] 1f6a3f651d Update dependency autoprefixer to v9.8.6 (https://github.com/woocommerce/woocommerce-blocks/pull/2967)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-18 10:51:16 -04:00
renovate[bot] 18bc3b37b9 Update babel monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/2964)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-18 10:41:34 -04:00
Seghir Nadir 28d3bd7dda remove suspense polyfill (https://github.com/woocommerce/woocommerce-blocks/pull/3015) 2020-08-18 12:32:40 +01:00
Darren Ethier fad8c06b23 Add defensive checks for cart instance (https://github.com/woocommerce/woocommerce-blocks/pull/3009) 2020-08-18 07:30:28 -04:00
Seghir Nadir 69ff731b4e use TextControl instead of PlainText (https://github.com/woocommerce/woocommerce-blocks/pull/3014)
* use TextControl instead of PlainText

* update e2e test

* revert changes for label

* update test
2020-08-18 12:25:48 +01:00
Darren Ethier c0dbb08ef9 Deprecate wc.wcSettings.setSetting function. (https://github.com/woocommerce/woocommerce-blocks/pull/3010)
* Add deprecation notice for setSettings

* add todo for followup issue to actually remove the function

* update todo

* fix tests

* fix todo

* Update assets/js/settings/shared/set-setting.js

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-08-18 10:40:08 +01:00
Rua Haszard 0fbc366746 update minimum required version of WordPress core to 5.3 (https://github.com/woocommerce/woocommerce-blocks/pull/3013)
* update min version of WordPress core to 5.3 in readmes

* update min WP version to 5.3 - main plugin file & admin compat notice

* remove WordPress 5.2 travis e2e test build

* disable legacy (WP <5.3) webpack entry points

* add "update user docs" step to release process, incl min WP/Woo reqs

* add 5.5 test

* allow test to fail

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-08-17 15:20:51 +01:00
Rua Haszard 506806065f rename `ProductQueryFilters` file to match class name (PSR4 compatible) (https://github.com/woocommerce/woocommerce-blocks/pull/3012) 2020-08-17 13:07:23 +01:00
Seghir Nadir 85ed96b58e Add dark colors support to Cart & Checkout controls (https://github.com/woocommerce/woocommerce-blocks/pull/2981)
* add dark styles setting

* add attributes to blocks

* add colors to input and select

* cover rest of items

* tweak select contrast

* fix ie11 issue

* fix focus

* include checkbox styles

* fix extra spacing after phone number

* add styling to quantity selector

* remove extra rule

* remove editor styles for radio control

* use border-color

* rename variables and classes and wording

* adjust colors

* provide tighter control over colors

* remove redudant outline rule

* add more variables

* add support for order note

* use variables for textarea

* move dark mode panel to last
2020-08-14 12:08:16 +01:00
Seghir Nadir 1fddb9451d Use real previews for the Cart and Checkout blocks (https://github.com/woocommerce/woocommerce-blocks/pull/2992)
* Use real previews for the cart and checkout

* remove extra files and css
2020-08-13 14:24:51 +01:00
renovate[bot] 44591f2db5 Update dependency mini-css-extract-plugin to v0.10.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2999)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-13 08:02:42 +02:00
renovate[bot] 4e2917fa69 Update dependency eslint-plugin-jest to v23.20.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2998)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-13 08:02:36 +02:00
renovate[bot] dbfda4df8b Update dependency @types/react to v16.9.46 (https://github.com/woocommerce/woocommerce-blocks/pull/2997)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-13 08:02:27 +02:00
renovate[bot] 5c480f91db Update dependency @testing-library/jest-dom to v5.11.3 (https://github.com/woocommerce/woocommerce-blocks/pull/2996)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-13 08:02:18 +02:00
Darren Ethier 3078b97534 Fix phpunit test config (https://github.com/woocommerce/woocommerce-blocks/pull/3001)
* set path for WP install on unit tests to ensure latest is always installed.

* fix tests using deprecated method
2020-08-12 10:54:02 -04:00
Rua Haszard 39270f5657 Remove generic payment method icons (Stripe CC + Cheque) (https://github.com/woocommerce/woocommerce-blocks/pull/2968)
* remove generic icons from Cheque & Stripe CC payment methods

* remove icon prop from PaymentMethodLabel - no longer supported:
- icons should only be used for recognisable brands
- generic icons (e.g. credit card) are not recommended

* Revert "remove icon prop from PaymentMethodLabel - no longer supported:"

This reverts commit 1990028a6c98b82750fb917ff3086dbe022ef41d.
2020-08-12 08:44:19 +12:00
Seghir Nadir 66876c4216 allow wp 5.4 + GB to fail (https://github.com/woocommerce/woocommerce-blocks/pull/2990) 2020-08-11 16:13:03 +01:00
Albert Juhé Lluveras a16af68975 Hide saved payment methods if their gateway is disabled (https://github.com/woocommerce/woocommerce-blocks/pull/2975)
* Hide saved payment methods if their gateway is disabled

* Fix wrong type-def

* Remove extra blank line

* Rename var

* Use FILTER_VALIDATE_BOOLEAN instead of comparing to 'yes'

* Use data from Payment Method context instead of reading setting from the server

* Use data from Payment Method context instead of reading setting from the server
2020-08-11 15:43:03 +02:00
Albert Juhé Lluveras 339c0532f1 Fix text input and select error styles on focus (https://github.com/woocommerce/woocommerce-blocks/pull/2974) 2020-08-11 11:55:26 +02:00
Seghir Nadir 145db3ff5d fix issue with no margins on phone input (https://github.com/woocommerce/woocommerce-blocks/pull/2989)
* fix issue with overlapping margins

* move styles out of select

* remove extra spacing

* remove extra spacing from cart

* move styles to state input and remove extra position.
2020-08-11 10:00:53 +01:00
Seghir Nadir fc9f6fe71a Use SVG for checkbox (https://github.com/woocommerce/woocommerce-blocks/pull/2320)
* use svg for checkbox

* update borders

* switch to rems

* define a rem function

* fix ie11 issue

* fix focus

* add ie hack

* fix spacing and switch to em

* switch to rem
2020-08-11 09:59:59 +01:00
David Levin 4a8026623e It's its not it's unless it's it's. (https://github.com/woocommerce/woocommerce-blocks/pull/2988)
Co-authored-by: David Levin <davidlevin@Davids-MacBook-Pro-2.local>
2020-08-10 16:33:17 +01:00
Rua Haszard b8137587c3 Link cart/checkout merchant (editor) feedback prompt to special GitHub issue type (https://github.com/woocommerce/woocommerce-blocks/pull/2976)
* issue template for cart & checkout feedback

* fix example desktop OS (not iOS!)

* delete `withFeedbackPrompt` - not used

* link cart/checkout editor feedback to GitHub issue:
- add new CartCheckoutFeedbackPrompt with specialised text & url
- use in cart/checkout blocks
- tweaked wording of feedback prompt text

* use speech bubble icon to represent feedbackiness

* simplify cart/checkout feedback prompts

* add default labels to all issue templates

* use markdown heading syntax for headings (was basic bold previously)

* tweak wording (remove hint of frustration) and use new "feedback" label
2020-08-10 08:18:36 +12:00
Darren Ethier a74ca7ddeb Update handling-releases.md 2020-08-07 21:36:48 -04:00
Darren Ethier dcdc5c48ce Improve behaviour of draft order cleanup to account for clobbered custom shop order status. (https://github.com/woocommerce/woocommerce-blocks/pull/2912)
* improve behaviour of draft order cleanup with tests

* hide error logging output from tests

* fix doc

* fix status check and test setup/teardown
2020-08-07 15:36:55 -04:00
Seghir Nadir 0dd2dce09a Fix undefined variable in php closure (https://github.com/woocommerce/woocommerce-blocks/pull/2962) 2020-08-07 14:10:35 -04:00
Albert Juhé Lluveras cbf6ee3e7e Add docs about CSS build system (https://github.com/woocommerce/woocommerce-blocks/pull/2953)
* Add docs to CSS build system

* Add docs to CSS build system (II)
2020-08-07 13:57:57 -04:00
Albert Juhé Lluveras dfec03202d Fix JS-rendered blocks inside Empty Cart (https://github.com/woocommerce/woocommerce-blocks/pull/2904)
* Fix JS-rendered blocks inside Empty Cart

* Add deprecation rules

* Performance improvements

* Typo

* Remove 'is-loading' class requirement

* Undo changes moved to woocommerce/woocommerce-blocks#2952

* Improve some comments

* Improve code

* IE 11 fix

* Minor fixes

* Assign default value in arguments destructuring

* Refacot renderFrontend code to make it easier to understand

* Revert "Assign default value in arguments destructuring"

This reverts commit 04ae943c675b94e599a1d1700075a79ef8be5004.
2020-08-07 13:33:32 -04:00
renovate[bot] 20b0f5aaf0 Update dependency @testing-library/react to v10.4.8 (https://github.com/woocommerce/woocommerce-blocks/pull/2966)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-07 09:06:39 +12:00
Rua Haszard e18c036f5e use static pos for payment errors so they push out other content: (https://github.com/woocommerce/woocommerce-blocks/pull/2977)
- default styling for validation errors is absolute
- this requires the layout provides appropriate space for errors
- payment form is too compact to provide room for errors,
  - especially when checkout is narrow due to window or theme
2020-08-07 07:30:27 +12:00
Mike Jolley b680686c34 Add inspector notice for unsupported product types (https://github.com/woocommerce/woocommerce-blocks/pull/2944)
* Add notice for unsupported product types

* Simple products can be added to cart, not others
2020-08-06 10:28:20 -04:00
renovate[bot] bdb7044830 Update dependency @types/react to v16.9.44 (https://github.com/woocommerce/woocommerce-blocks/pull/2965)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-05 15:24:32 +02:00
Darren Ethier 733d29c3b9 Add section on configuring WordPress site
Includes required and recommended constants to define in wp-config.php for developing Woo Blocks.
2020-08-05 08:37:49 -04:00
Albert Juhé Lluveras d21a8950f4 Add missing class dot in theming docs (https://github.com/woocommerce/woocommerce-blocks/pull/2946) 2020-08-05 11:38:43 +01:00
Seghir Nadir 9ea9d0afd2 Add JETPACK_AUTOLOAD_DEV to wp-env instances (https://github.com/woocommerce/woocommerce-blocks/pull/2960) 2020-08-05 11:28:11 +01:00
Seghir Nadir 96819fc2d2 account for negative sale values (https://github.com/woocommerce/woocommerce-blocks/pull/2955) 2020-08-05 11:27:59 +01:00
Albert Juhé Lluveras fcf8f5c51f Show Checkout block in editor also when guest checkout is not allowed (https://github.com/woocommerce/woocommerce-blocks/pull/2958) 2020-08-05 10:35:38 +02:00
Albert Juhé Lluveras 5a300b91c2 Fix All Products block 'No products' placeholder link (https://github.com/woocommerce/woocommerce-blocks/pull/2961) 2020-08-05 10:35:08 +02:00
Rua Haszard afe77fb1e3 Show payment gateways in correct (merchant-configured) order (https://github.com/woocommerce/woocommerce-blocks/pull/2934)
* enqueue order of payment gateways as script data

* use configured gateway order for payment method tabs

* clarify name of payment gateway sort order setting

* fix formatting

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

* fix bug - express payment methods not working due to ordering logic:
- move ordering code to payment methods in usePaymentMethods hook;
  - this only applies to standard (non express) payment methods
- also any code that uses payment methods will get them in correct order

* why did this formatting not happen pre-commit?

* move method ordering into refreshPaymentMethods to avoid infinite loop:
- pass keys of express payment methods so they work correctly (show up)
- refreshPaymentMethods dispatches availablePaymentMethods to redux
  store; I suspect this was causing infinite loop as the callback
  depends on registeredPaymentMethods
- handle case when a payment method is not in PAYMENT_GATEWAY_SORT_ORDER
  - this happens with COD when dependent on shipping

* fix formatting

* use shallow equal to prevent refreshCanMakePayments infinite loop

* use native Set instead of lodash.union for unique gateway names

* code formatting

* check to ensure we register paymentGatewaySortOrder asset once only

* fix COD tab showing out of order if not available at page load:
- return ALL gateways in sort order array
  - note this includes gateways that are not enabled by merchant

* reinstate return bool from usePaymentMethods hook (broken in refactor)

* add basic typedefs for payment methods hooks

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-08-05 13:56:33 +12:00
renovate[bot] f70268b9ee Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/2951)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-08-04 10:51:41 +02:00
Albert Juhé Lluveras e73e5ba3fe Simplify reviews render method (https://github.com/woocommerce/woocommerce-blocks/pull/2952) 2020-08-04 10:29:02 +02:00
Darren Ethier aebedc9930 Fixes related to Jetpack Autoloader 2.0 package bump (https://github.com/woocommerce/woocommerce-blocks/pull/2949)
* regenerate auto load maps after version change.

* make sure composer.json is updated with version change for deploys (also necessary for correct auto-load map regeneration)

* update WC tested up to string

* Detect if `JETPACK_AUTOLOAD_DEV` is defined in `wp-config.php` when developing the plugin.
2020-08-03 12:11:46 +02:00
Albert Juhé Lluveras 3d0d6cab87 Add autocapitalize attribute to Address Form fields (https://github.com/woocommerce/woocommerce-blocks/pull/2884)
* Add autocapitalize attribute to Address Form fields

* Set autocapitalize attribute to 'sentences' in address form
2020-08-03 10:53:42 +02:00
Darren Ethier 84e3cabcbf Update handling-releases.md
Clarify when package version bumps happen in WooCommerce core.
2020-07-31 14:55:19 -04:00
Albert Juhé Lluveras 311d8ddf12 Add 'Order notes' to Checkout block (https://github.com/woocommerce/woocommerce-blocks/pull/2877)
* Add Checkout Order notes (UI)

* Add Checkout Order notes (context)

* Add missing useEffect dependencies

* Remove duplicate toggle in editor

* Minor fixes

* Check whether orderNotes have changed before creating a new state object

* Rename showCounter to showStepNumber

* Rename 'onChange' with 'onTextChange'

* Add comment and tests to FormStep component

* Rename 'with-counter' to 'with-step-number'

* Fix wrong prop

* Make it so order notes are persisted when toggling the checkbox

* Update type-defs

* Set showStepNumber default value to true
2020-07-31 17:17:01 +02:00
Mike Jolley 36c1bb7361 Add to cart context provider (https://github.com/woocommerce/woocommerce-blocks/pull/2903)
* Provider progress

* Revert nonce change for debugging

* Working emitters

* Fix dismiss link alignment in notices

* Fix button state and double adds

* Remove old context file

* Add type defs

* Fix context name

* Leftovers from merge

* Hooks up the variation picker to cart context

* Group event emitters in context

* Fix external product display

* Pass product through to VariationAttributes

* Pass around dispatchers

* Update assets/js/base/context/add-to-cart-form/form-state/reducer.js

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

* Update assets/js/atomic/blocks/product-elements/add-to-cart/product-types/variable/variation-attributes/attribute-select-control.js

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

* Update assets/js/base/context/add-to-cart-form/form-state/reducer.js

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

* remove placeholder comment

* content->container

* Clarify variation method comment

* update comment

* Switch nesting of providers

* Variation attribute utils test coverage

* If nothing is selected yet, just return all variations.

* Comments to explain loops

* Use refs to avoid recalculation of attributes on every render

* Update memo usage

* typo

* move mock data to test file

* Switch to useShallowEqual

* trigger cart fragment refresh after add to cart

* Decode option entities

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-07-30 11:57:22 +01:00
renovate[bot] fc3735564a Update dependency @octokit/graphql to v4.5.3 (https://github.com/woocommerce/woocommerce-blocks/pull/2930)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-30 10:07:01 +01:00
renovate[bot] aa5bd62c93 Pin dependency glob to 7.1.6 (https://github.com/woocommerce/woocommerce-blocks/pull/2927)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-30 10:06:49 +01:00
renovate[bot] 047f2d4323 Update dependency webpack to v4.44.1 (https://github.com/woocommerce/woocommerce-blocks/pull/2933)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-30 10:06:20 +01:00
renovate[bot] bd3178b62e Update dependency eslint-plugin-jest to v23.19.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2932)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-30 10:04:52 +01:00
Albert Juhé Lluveras b29f5d4e86 Fix WP_CONTENT_DIR path in PHP unit tests (https://github.com/woocommerce/woocommerce-blocks/pull/2935) 2020-07-30 10:41:13 +02:00
Rua Haszard e2b82561bd enqueue and respect merchant option for disabling stripe express pay (https://github.com/woocommerce/woocommerce-blocks/pull/2920)
* enqueue and respect merchant option for disabling stripe express pay

* don't even register express payment method if merchant has disabled it

* add StripeServerData.allowPaymentRequest to typedef
2020-07-30 10:29:58 +12:00
Albert Juhé Lluveras de65c2ff8e Update version numbers to 3.2.0-dev 2020-07-29 18:20:17 +02:00
Albert Juhé Lluveras 2f2aa6280c Release: 3.1.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2938)
* Fix  missing permissions_callback arg in StoreApi route definitions (https://github.com/woocommerce/woocommerce-blocks/pull/2926)

* make sure permission_callback is set correctly for all public routes

* add permission_callback definition to all routes

* add hover style to ensure consistent margin/padding for order summary so it doesn't jump on mouseover (https://github.com/woocommerce/woocommerce-blocks/pull/2921)

* add hover style to ensure consistent margin/padding for order summary

* decrease specificity of panel__button hover/active etc styles

* Add 3.1.0 testing instructions

* Update WP tested up to version to 5.5 (https://github.com/woocommerce/woocommerce-blocks/pull/2937)

* Fix typo in state property for idle status in checkout state reducer (https://github.com/woocommerce/woocommerce-blocks/pull/2925)

* fix typo in state property for idle status in checkout state reducer

* remove arg causing failure in phpunit tests on travis

* Add 3.1.0 changelog

* Added ZIP file to 3.1.0 testing docs

* Update wp.deploy workflow adding slack hook (https://github.com/woocommerce/woocommerce-blocks/pull/2939)

This will notify rubik's slack channel when this workflow starts and finishes.

* Add testing docs for regressions

* Update 310.md

* Update 310.md

* Add more details to testing doc

* Fix reviews blocks in WP 5.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2940)

* Fix Reviews editor styles (https://github.com/woocommerce/woocommerce-blocks/pull/2941)

* Update ZIP link

* Fix testing doc title hirerarchy

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
Co-authored-by: Rua Haszard <rua.haszard@automattic.com>
2020-07-29 18:01:01 +02:00
Albert Juhé Lluveras 7e6968e68e Fix Reviews editor styles (https://github.com/woocommerce/woocommerce-blocks/pull/2941) 2020-07-29 16:07:21 +02:00
Albert Juhé Lluveras 8d21c7257e Fix reviews blocks in WP 5.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2940) 2020-07-29 16:06:44 +02:00
Albert Juhé Lluveras 8ace5dbcf8 Add attributes and view toggle tests to the Cart block (https://github.com/woocommerce/woocommerce-blocks/pull/2883)
* Add more tests to the Cart block

* Add page settings

* Cleanup
2020-07-29 14:39:15 +01:00
Darren Ethier ae1e2c3dcd Update wp.deploy workflow adding slack hook (https://github.com/woocommerce/woocommerce-blocks/pull/2939)
This will notify rubik's slack channel when this workflow starts and finishes.
2020-07-29 13:36:33 +02:00
Darren Ethier a0b28f2a06 Fix typo in state property for idle status in checkout state reducer (https://github.com/woocommerce/woocommerce-blocks/pull/2925)
* fix typo in state property for idle status in checkout state reducer

* remove arg causing failure in phpunit tests on travis
2020-07-29 13:00:26 +02:00
Albert Juhé Lluveras 9e79b0cbf3 Update WP tested up to version to 5.5 (https://github.com/woocommerce/woocommerce-blocks/pull/2937) 2020-07-29 12:59:32 +02:00
renovate[bot] f8366be2c9 Update Node.js to v12.18.3 (https://github.com/woocommerce/woocommerce-blocks/pull/2928)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-29 11:20:34 +01:00
Rua Haszard 2cc98391a0 add hover style to ensure consistent margin/padding for order summary so it doesn't jump on mouseover (https://github.com/woocommerce/woocommerce-blocks/pull/2921)
* add hover style to ensure consistent margin/padding for order summary

* decrease specificity of panel__button hover/active etc styles
2020-07-29 11:50:06 +02:00
Darren Ethier 92985bd201 Fix missing permissions_callback arg in StoreApi route definitions (https://github.com/woocommerce/woocommerce-blocks/pull/2926)
* make sure permission_callback is set correctly for all public routes

* add permission_callback definition to all routes
2020-07-29 10:39:54 +02:00
renovate[bot] afe86d53b6 Update dependency @testing-library/jest-dom to v5.11.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2931)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-29 14:25:21 +12:00
Darren Ethier b091ef151f fix build:deploy script. 2020-07-28 12:03:43 -04:00
renovate[bot] 1a21b1e6ca Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/2916)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-28 11:48:38 +01:00
Darren Ethier e6d4b58828 update package-lock with dev version 2020-07-27 10:57:51 -04:00
Darren Ethier c9b88620a1 bump dev version 2020-07-27 10:56:35 -04:00
renovate[bot] ab8e30e41c Update dependency reakit to v1.1.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2865)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 16:35:13 +01:00
renovate[bot] 7fbfcd56c2 Update dependency autoprefixer to v9.8.5 (https://github.com/woocommerce/woocommerce-blocks/pull/2863)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 15:06:24 +00:00
renovate[bot] 00e97d92a1 Update dependency webpack to v4.43.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2902)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 15:31:46 +01:00
renovate[bot] 9becff0ae0 Update dependency eslint-plugin-jest to v23.18.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2830)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 15:05:01 +01:00
renovate[bot] f05057a666 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/2790)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 14:44:47 +01:00
renovate[bot] f082e1f60c Update dependency request-promise to v4.2.6 (https://github.com/woocommerce/woocommerce-blocks/pull/2901)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 14:42:26 +01:00
renovate[bot] 7f9fb19e9e Update dependency @testing-library/jest-dom to v5.11.1 (https://github.com/woocommerce/woocommerce-blocks/pull/2898)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 14:39:41 +01:00
renovate[bot] ce53bb908f Update dependency @octokit/graphql to v4.5.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2897)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 14:23:17 +01:00
renovate[bot] ed28e8252b Update dependency typescript to v3.9.7 (https://github.com/woocommerce/woocommerce-blocks/pull/2866)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 13:51:25 +01:00
renovate[bot] 1a8e270fe4 Update dependency html-react-parser to v0.13.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2864)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 13:44:45 +01:00
renovate[bot] 0fb10a6396 Update dependency @types/react to v16.9.43 (https://github.com/woocommerce/woocommerce-blocks/pull/2862)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 13:28:48 +01:00
renovate[bot] 229afc281e Update babel monorepo to v7.10.5 (https://github.com/woocommerce/woocommerce-blocks/pull/2861)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-23 13:23:47 +01:00
Phellipe K Ribeiro 2db08a1383 Add query filter when searching for a table (https://github.com/woocommerce/woocommerce-blocks/pull/2886)
* Add query filter when searching for a table

* Fix lint errors
2020-07-22 15:50:46 -04:00
Darren Ethier 59ca5ad19c Release: 3.0.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2887)
* add changelog to readme.txt

* Add testing docs for release

* add some new commands to help with release testing phase

* Add testing notes for 3.0.0

* fix testing note typo

* updae notest to reference the new package-plugin:deploy script for use as part of the release process

* Add note about creating manual tag for the release.

* automate creation of dev tag for release.

* remove release branch from travis branches because we now do pull requests for releases

* remove duplicate back order badge for cart (https://github.com/woocommerce/woocommerce-blocks/pull/2890)

* update zip link in testing notes

* only update stable version in readme.txt if not a pre-release

* Add handling for conditional github release creation based on WP deploy question

* add distignore fir wp deploy builds

* Cart & Checkout: fix '0' visible when product stock was 0 and it allowed backorders (https://github.com/woocommerce/woocommerce-blocks/pull/2891)

* Create wordpress-deploy.yml

* fix cod not accounting for global rate values (https://github.com/woocommerce/woocommerce-blocks/pull/2894)

* ensure we’re only running checks for `wc_reserved_stock` table when necessary (https://github.com/woocommerce/woocommerce-blocks/pull/2895)

* update readme.txt changelog

* remove unnecesary variable definitions

* update github deploy script

* Bumping version strings to new version.

* add missing step for checking out code from tag

* fix exclusion for docker-compose.yml

* fix zip name (it differs from repository name)

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-07-22 12:36:55 -04:00
Darren Ethier 34de45c6fe update release docs to include details on new automation 2020-07-22 10:11:55 -04:00
Darren Ethier 29db167a38 Update wordpress-deploy.yml
Add missing step for checking out code from tag
2020-07-22 09:32:28 -04:00
Darren Ethier 7e206c9481 Create .distignore
Add .distignore file that will be used for wp-deploy action.
2020-07-22 09:14:45 -04:00
Mike Jolley cd9f7e0ccb ⚛️ Introduce Product Element Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/2871)
* Product selection when out of context for price and title blocks

* Move product element name/description/icons to constant files

* Add attributes and hocs to all elements

* Standalone block rendering

* Add a placeholder if title has no content

* Revert "Add a placeholder if title has no content"

This reverts commit 29115154b33eedc661ccd3cc758acdbc5041ffbc.

* parentClassName is not always present

* Loading state

* Wrap description in P

* Fixed loading styles when nested

* Maintain product shape in useProductData

* feature gate elements from showing in inserter

* fix feature flag

* include price PR

* edit withProductSelector to be a hoc

* fix lint issue

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
2020-07-22 13:20:54 +01:00
Albert Juhé Lluveras ff2f135e7e Make stylesheets order consistent between build and dev (https://github.com/woocommerce/woocommerce-blocks/pull/2818)
* Add specific webpack config for styles

* Remove style.scss file from story

* Fix storybook

* Extract progressbarplugin config

* Add back ignore-loader

* Fix styling entries

* Cleanup

* Simplify webpack-entries.js

* Add appropiate exclude handles to styling config

* Add back MergeExtractFilesPlugin

* Unify style entries suffix

* Fix experimental flag

* Replace MergeExtractFiles plugin with RemoveFiles

* Prevent duplicate reviews frontend scripts

* Fix unnecessary files being created

* Remove editor.js file generate by MiniCssExtractPlugin

* Remove CSS generation from payment methods config

* Remove unnecessary config

* Simplify styling entries name

* Cleanup

* Refactor webpack-entries
2020-07-22 14:05:56 +02:00
renovate[bot] a59529c719 Update dependency @testing-library/react to v10.4.7 (https://github.com/woocommerce/woocommerce-blocks/pull/2899)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-22 11:39:58 +02:00
renovate[bot] 02a9851a28 Update dependency use-debounce to v3.4.3 (https://github.com/woocommerce/woocommerce-blocks/pull/2900)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-22 10:16:09 +01:00
Darren Ethier aef46f57e8 ensure we’re only running checks for `wc_reserved_stock` table when necessary (https://github.com/woocommerce/woocommerce-blocks/pull/2895) 2020-07-21 16:27:58 -04:00
Darren Ethier 21b7637ef5 fix cod not accounting for global rate values (https://github.com/woocommerce/woocommerce-blocks/pull/2894) 2020-07-21 15:57:21 -04:00
Darren Ethier ebf3b6a61a Create wordpress-deploy.yml 2020-07-21 13:56:43 -04:00
Albert Juhé Lluveras a69a50856a Cart & Checkout: fix '0' visible when product stock was 0 and it allowed backorders (https://github.com/woocommerce/woocommerce-blocks/pull/2891) 2020-07-21 17:41:14 +02:00
Seghir Nadir 9eabf73a65 Update ⚛️ Product Price (https://github.com/woocommerce/woocommerce-blocks/pull/2881)
* use currency as block symbol

* add color and font size support for price block

* support align

* revert to two options

* fix feature gating
2020-07-21 14:28:59 +01:00
Seghir Nadir 5299d7267b Update ⚛️ ‎‎‏‏‎ Product Title (https://github.com/woocommerce/woocommerce-blocks/pull/2860)
* rename heading-toolbar to heading-switcher

* update icon

* add controls to title block

* fix typos in css rules

* feature gate changes in Product Title

* fix jsdoc types

* fix onChange param

* fix missing textDomain

* fix modifier prefix

* move styling to util

* hardcode line height

* move settings near color
2020-07-21 14:27:41 +01:00
Albert Juhé Lluveras 4ef64a4453 Fix Credit Card input font size in some themes (https://github.com/woocommerce/woocommerce-blocks/pull/2869)
* Fix Credit Card input font size in some themes

* Fix spacing between credit card icon and input label

* Fix min-width of credit card input fields

* Improvements to the way credit card input fields are resized

* Simplify min-width
2020-07-20 13:56:22 +02:00
Mike Jolley fca4598866 Fix undefined index 'enabled' for multiple payment method registrations (https://github.com/woocommerce/woocommerce-blocks/pull/2878)
* get settiing helper

* Make use of helper when getting settings
2020-07-20 11:50:22 +01:00
Darren Ethier 4cc3990af1 Update CODEOWNERS
fix incorrect team assignment
2020-07-17 11:14:31 -04:00
Albert Juhé Lluveras c11b7e5dc5 Extract progressbarplugin config (https://github.com/woocommerce/woocommerce-blocks/pull/2875) 2020-07-17 10:55:55 -04:00
Darren Ethier cc5fef8994 release docs for 2.7.2 2020-07-16 14:12:22 -04:00
Darren Ethier 60b1422cf6 Move Draft order logic behind feature flag. (https://github.com/woocommerce/woocommerce-blocks/pull/2874)
* refactor all draft order functionality to be in it’s own class and feature gate it.

* move and fix tests for draft order deletes

* add test to ensure only draft orders are deleted

* implement review feedback and assert valid results before deleting

* update tests

* doh method can’t be protected

* fix conditional for removing scheduled action

* switch to use Woo Core function for catching the exception

* add tests for error handling.

* use `$wpdb->prepare` and remove temp group on test
2020-07-16 12:19:31 -04:00
Rua Haszard aee97ceb3f Support cash on delivery payment method in checkout block (https://github.com/woocommerce/woocommerce-blocks/pull/2831)
* stub out COD payment method for checkout block

* consistently use sentence case for (default) payment tab labels

* expose COD `enable_for_virtual` option to client

* correct docblock return value comment Stripe::get_inline_cc_form()

* allow merchant to disable COD payment for virtual/downloadable orders

* tweak canMakePayment dev docs - add cart-dependent example use case

* only allow (show) COD if initially-selected shipping method(s) allow

* tweak `canMakePayment` payment extension API docs

* use $VID:$ substitution for `@since` version in new payment methods

* use FILTER_VALIDATE_BOOLEAN for payment method boolean options

* use more semantic `some` when hunting for COD-unsupported shipping

* clarify `canMakePayment` API docs

* re-select payment method if selected method disappears (e.g. COD) +
+ factor out early return into separate if at top for clarity
2020-07-15 10:14:41 -04:00
renovate[bot] 08969b7fb8 Update dependency @testing-library/react to v10.4.6 (https://github.com/woocommerce/woocommerce-blocks/pull/2829)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-15 10:33:10 +01:00
Albert Juhé Lluveras 8bfb95c808 Deregister core cart/checkout scripts and styles when rendering the blocks (https://github.com/woocommerce/woocommerce-blocks/pull/2842)
* Deregister core cart/checkout scripts and styles when rendering the blocks

* Fix regression: redirect to full cart when adding a product from empty cart

* Make it so it scrolls to the top

* Update assets/js/base/utils/legacy-events.js

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

* Add check for jQuery availability

* Listen to removed from cart event too

* Remove unnecessary useEffect dependency

* Remove jQuery event subscriptions on component unmount

* Fix tests

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-07-14 15:46:44 -04:00
Albert Juhé Lluveras d894fed1df Cart block: show products on backorder (https://github.com/woocommerce/woocommerce-blocks/pull/2833)
* Show backorder notice in the Cart block

* Don't render variation <div> if empty

* Create ProductBackorderNotification component

* Add product backorder notification to the checkout block

* Fix classname and comment

* Rename notification->badge and don't show low stock badge if backorder is shown

* Use ternary to dispaly backorder/low stock badge
2020-07-14 17:25:53 +02:00
Mike Jolley be513c8875 Lazy Loading Atomic Components (https://github.com/woocommerce/woocommerce-blocks/pull/2777)
* Implement lazy loading with basics spinner

* Add chunkFilename

* chunkFilename breaks render

* Suspense at inner block level

* Suspense for all products block

* Update assets/js/atomic/blocks/component-init.js

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

* Handle lazy components in registerBlockComponent

* update tests

* Update locks

* Update assets/js/blocks-registry/block-components/register-block-component.js

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

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-07-14 12:35:15 +01:00
Rua Haszard 1df11f5461 allow payment methods to disable based on shipping (API change) (https://github.com/woocommerce/woocommerce-blocks/pull/2840)
* allow payment methods to disable based on shipping or other factors:
- renamed 'initialized' array 'available' to match primary purpose of
  `canMakePayment` api - whether payment method should be available
- trigger refresh of available payment methods when shopper chooses
  different shipping method
- rename resolveCanMakePayments => refreshCanMakePayments
- tweaked some variable names and scope for clarity
- added comments to clarify things

Note this should not affect behaviour yet - no existing payment methods
use this new feature. COD payment method will need this - woocommerce/woocommerce-blocks#2831

* optimise refreshCanMakePayments:
- useShallowEqual to avoid unnecessary call when shipping methods have
not actually changed (but object value has)

* replace ("set") payment methods in store, was appending:
- payment methods may come and go depending on cart/checkout state
- the previous SET action appended provided payment methods to the
  collection
- this prevents dynamic payment methods e.g. COD from being able to hide
  i.e. disable

* cache test payment request to avoid unnecessary stripe API calls:
- in the canMakePayment callback there's a test payment to determine if
  chrome pay/apple pay is set up and available
- canMakePayment is now called multiple times as checkout state changes
- now the results of the test payment are stored in variable, and
  returned on subsequent calls

* set init flag to avoid additional attempts to init stripe API:
+ tweak naming of init flag
2020-07-14 10:52:13 +12:00
renovate[bot] ea1435457a Update dependency @stripe/stripe-js to v1.8.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2828)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-13 15:20:23 +02:00
Albert Juhé Lluveras 0f43c3af0f Remove classes from dashicons (https://github.com/woocommerce/woocommerce-blocks/pull/2848) 2020-07-10 14:20:57 -04:00
Albert Juhé Lluveras 8c06276b00 Unify Chip styles (https://github.com/woocommerce/woocommerce-blocks/pull/2765)
* Improve cross character used in dropdown selector

* Add is-open and has-checked classes to dropdown selector so we stop relying on complex pseudoselector combinations

* Update Chip component with new props

* Update Chip styles

* Update dropdown selector selected chip with the Chip component

* Update active filters chip with the Chip component

* Style fixes

* Update snapshots and add tests

* Change onRemove prop signature

* Fix wrong bottom margin

* Fix misaligned remove icon

* Update assets/js/base/components/chip/index.js

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

* Update assets/js/base/components/chip/index.js

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

* Add missing default prop

* Prettier

* Ensure showScreenReaderText is a bool

* Rename removeOnClick with removeOnAnyClick

* Update snapshots

* Fix Chip aria-label logic

* Split Chip and RemovableChip

* Replace chip close character with an icon

* Fix outdated comment

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-07-10 11:09:49 +02:00
Darren Ethier 92067c0d04 update automattic/jetpack-autoloader to 2.0 branch (https://github.com/woocommerce/woocommerce-blocks/pull/2847) 2020-07-10 10:54:55 +02:00
Rua Haszard de91ead0db lots of release process doc tweaks (https://github.com/woocommerce/woocommerce-blocks/pull/2832)
* lots of release process doc tweaks:

- add outcomes for all H4s (we may be able to remove some similar material from "body" content)
- mention that svn is needed
- clarify relationship to PR and PR checklist in a few places
  - we have 2 docs to follow now, which could be confusing
- clarify release metadata step - this is metadata, not version number
- clarify relationship to woo core
- add dev blog post as final happy 🎉 step

* fix typo

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

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-07-10 09:20:08 +12:00
Albert Juhé Lluveras d12ffcd4e5 Update minimum required versions in readme.txt to align it with readme.md (https://github.com/woocommerce/woocommerce-blocks/pull/2834) 2020-07-09 12:36:52 -04:00
renovate[bot] a38203f2c2 Pin dependency rimraf to 3.0.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2827)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-08 13:10:23 +12:00
Rua Haszard 1d364a04bf Support bank transfer (BACS) payment method in checkout block (https://github.com/woocommerce/woocommerce-blocks/pull/2821)
* stubs for bank transfer payment method

* allow merchant to disable BACS payment method

* show customised BACS title & description in checkout

* re-add entry point for BACS payment method (lost in rebase)
2020-07-08 12:39:16 +12:00
Albert Juhé Lluveras 2fadea064e Document Cart & Checkout button styles (https://github.com/woocommerce/woocommerce-blocks/pull/2814)
* Reduce specificity of some button styles

* Submit container: make it possible for themes to change the shadow color without the need to rewrite shadow values

* Use background-color instead of background property in docs

* Add docs to style the button and the submit container

* Remove border from button

* Add back state styles to button component

* Docs improvements

* Undo unncessary changes in button component styles

* Add spaces
2020-07-07 11:59:51 +02:00
Albert Juhé Lluveras adfecb4259 Split up webpack files for better readability (https://github.com/woocommerce/woocommerce-blocks/pull/2817)
* Split up webpack files for better readability

* Fix storybook

* Fix tests

* update progress-bar-webpack-plugin and implement better feedback

- updates progress-bar-webpack-plugin to latest version which includes more granular output of what webpack event is being processed.
- Improve asset build complete summary to include what build was completed.

* remove unnecessary s suffix

* Add back package-lock

Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-07-07 11:05:06 +02:00
Albert Juhé Lluveras 9c1c075be9 Don't load frontend scripts in the editor (https://github.com/woocommerce/woocommerce-blocks/pull/2788)
* Move register_block_script and get_block_asset_build_path to src/Assets/Api

* Only load block scripts in the frontend

* Fix version_compare numbers so they match 5.2.x versions

* Use register_scripts from AssetApi class
2020-07-07 10:15:46 +02:00
Rua Haszard 6232bad7c3 2.10.0-dev next-version bump 2020-07-07 11:23:22 +12:00
Rua Haszard d664d27fa6 Release: 2.9.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2816)
* update version number in readme.txt

* 2.9.0 changelog

* flesh out changelog + consistent punctuation

* fix changelog prefixes

* remove extraneous .

* testing instructions for 2.9.0

* tweak testing instructions - delete shortcode

* 2.9 version in package-lock

* 2.9 version numbers

* 2.9 release version in package-lock

* Bumping version strings to new version.
2020-07-07 11:19:17 +12:00
Mike Jolley 8cd96950e8 Reviews by product/category e2e tests (https://github.com/woocommerce/woocommerce-blocks/pull/2808)
* Tests for reviews by product

* reviews by category
2020-07-06 14:48:39 -04:00
Darren Ethier e3dc2e9c86 Update javascript-testing.md 2020-07-03 08:11:00 -04:00
Albert Juhé Lluveras 2013c5e0f5 Dashicon module replacement: prevent cloning a non-element (https://github.com/woocommerce/woocommerce-blocks/pull/2804) 2020-07-03 10:51:37 +02:00
Rua Haszard c49a7af270 add basic docs for running e2e tests (https://github.com/woocommerce/woocommerce-blocks/pull/2800)
* add basic docs for running e2e tests

* shift common dependencies info to top, clarify iterate-test comment

* link out to wp-env docs

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

* remove extra bracket, tweak wp-env docs link

* typo

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-07-03 09:26:23 +12:00
Seghir Nadir 81570d733c Tweak some logic in our cart Integration test. (https://github.com/woocommerce/woocommerce-blocks/pull/2778)
* Fix Cart test async logic

* tweak test

* refactor test to not call response twice

* add comment for why we're calling fetch twice

* fix duplicate calls

* reset empty test to normal value

* switch to mockResponse

* convert comment to todo block

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-07-02 15:10:19 -04:00
Darren Ethier 76ab006219 bump versions to 2.9.0-dev 2020-07-02 09:51:05 -04:00
Seghir Nadir 7ed01f9254 Release: 2.8.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2768)
* update readme file

* add testing docs

* Bumping version strings to new version.
2020-07-02 09:48:08 -04:00
Rua Haszard 29e7aa9bdf basic e2e test for instantiating All Reviews block (https://github.com/woocommerce/woocommerce-blocks/pull/2799)
* add e2e test for instantiating All Reviews block:
- adapted code from @senadir in-progress PR
https://github.com/woocommerce/woocommerce-gutenberg-products-block/pull/2756

* remove pptr-testing-library - not needed for this test

* Don't skip tests for the review block on < 5.3

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-07-02 11:32:42 +01:00
renovate[bot] 661ebc196a Update dependency autoprefixer to v9.8.4 (https://github.com/woocommerce/woocommerce-blocks/pull/2797)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-02 07:59:02 +02:00
renovate[bot] c417003e56 Update babel monorepo to v7.10.4 (https://github.com/woocommerce/woocommerce-blocks/pull/2794)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-02 07:53:31 +02:00
renovate[bot] 5bdba6f0a3 Update Node.js to v12.18.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2793)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-02 07:50:59 +02:00
renovate[bot] 346ce3ae16 Update dependency @testing-library/jest-dom to v5.11.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2795)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-02 07:50:43 +02:00
renovate[bot] cdf75babed Update dependency @types/react to v16.9.41 (https://github.com/woocommerce/woocommerce-blocks/pull/2796)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-01 16:10:16 +02:00
renovate[bot] 30b1f0fb38 Update dependency css-loader to v3.6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2798)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-07-01 16:06:14 +02:00
Rua Haszard cb4ee3e632 update wporg readme docs to link to primary docs on docs.woocommerce.com (https://github.com/woocommerce/woocommerce-blocks/pull/1758)
* link to official docs in WPORG readme and remove old block docs

* simplify block list in readme - remove inline docs + add cart/checkout
2020-07-01 11:50:28 +01:00
Mike Jolley 00b7204f1c Sort states and countries correctly using `deep_sort_with_accents` (https://github.com/woocommerce/woocommerce-blocks/pull/2779)
* deep_sort_with_accents

* Fancy sorting fixes
2020-07-01 11:49:16 +01:00
Darren Ethier 4f5693e63c Add storybook story for icon library (https://github.com/woocommerce/woocommerce-blocks/pull/2787)
* modify dashicon replacements to be consistent with other icon exports

This also involved modifying the dashicon module replacement to use `cloneElement` instead of `createElement`.

* import from packages not global

* export woo icon consistent with other icons from the library

The Woo category icon was not using the Icon system and not exported consistent with other icons.

* add missing viewbox to arrowBack

* add story for icon library

* Update assets/js/icons/stories/index.js

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

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-06-26 10:22:41 -04:00
Mike Jolley c65fd05a73 Reorder dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/2774) 2020-06-26 13:01:35 +01:00
Mike Jolley d25d233f27 Replace usage of `cart-checkout/button` with `@woocommerce/base-components/button` (https://github.com/woocommerce/woocommerce-blocks/pull/2781)
* Change to base component

* Remove todo
2020-06-25 16:50:48 +01:00
Seghir Nadir 73adef6c85 Add custom matcher (https://github.com/woocommerce/woocommerce-blocks/pull/2780) 2020-06-25 14:00:27 +01:00
renovate[bot] 5247a77a43 Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/2770)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-25 11:28:06 +01:00
renovate[bot] 8927095e5e Update babel monorepo to v7.10.3 (https://github.com/woocommerce/woocommerce-blocks/pull/2772)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-25 09:44:56 +00:00
renovate[bot] 5f07d2192b Update Node.js to v12.18.1 (https://github.com/woocommerce/woocommerce-blocks/pull/2771)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-25 09:47:23 +01:00
renovate[bot] 28d9d48978 Update dependency @testing-library/react to v10.4.3 (https://github.com/woocommerce/woocommerce-blocks/pull/2773)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-25 09:46:46 +01:00
Rua Haszard 98413f2c40 Auto-merge renovate dependency updates (except major versions) (https://github.com/woocommerce/woocommerce-blocks/pull/2742)
* configure renovate to automerge all but major upgrades

* remove renovate weekly schedule - we want automerged updates ASAP :)

* mention dependency updates in release process

* fix heading levels in `Create a release pull request` section

* Revert "remove renovate weekly schedule - we want automerged updates ASAP :)"

This reverts commit c07ae84120a81fad4bc8d138623128bc0876e8d2.

* fix indentation (should be tabs)
2020-06-24 16:37:19 +12:00
Darren Ethier 19ab667672 implement `page.waitForNavigation` for handling the page load after clicking the search submit (https://github.com/woocommerce/woocommerce-blocks/pull/2769) 2020-06-23 10:38:48 -04:00
Darren Ethier 1953d4f96a remove unnecessary await (https://github.com/woocommerce/woocommerce-blocks/pull/2764) 2020-06-23 09:22:18 -04:00
Albert Juhé Lluveras 3fae904643 Use WooCommerce thumbnail images in Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/2755)
* Remove legacy files

* Use thumbnail product image for Cart, Checkout and Reviews blocks

* Add option to toggle between full size and cropped image to the Atomic Product image block
2020-06-23 13:25:28 +01:00
Mike Jolley b40600a8b2 Update stock when a row already exists (https://github.com/woocommerce/woocommerce-blocks/pull/2747) 2020-06-23 11:35:10 +01:00
Albert Juhé Lluveras b74b85dc03 Remove text color from Cart and Checkout blocks (https://github.com/woocommerce/woocommerce-blocks/pull/2745)
* Remove text color from Cart and Checkout blocks

* Fix Cart price column misalignement. woocommerce/woocommerce-blocks#2744
2020-06-23 11:13:53 +01:00
Mike Jolley 94306573bc Call add to cart in click handler (https://github.com/woocommerce/woocommerce-blocks/pull/2763) 2020-06-23 11:10:06 +01:00
renovate[bot] 74b6cc5764 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/2760)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-22 11:04:41 +01:00
Albert Juhé Lluveras dfa6fca924 Cart & Checkout: show shipping method prices with taxes depending on settings (https://github.com/woocommerce/woocommerce-blocks/pull/2748) 2020-06-22 10:47:35 +02:00
Darren Ethier a1768ad3ec Remove reference to REST API feature plugin. 2020-06-20 08:21:46 -04:00
Mike Jolley 98d240d5e6 Introduce Variation Picker Component (https://github.com/woocommerce/woocommerce-blocks/pull/2497)
* Add attributes to API

* Add component

* API updates to return variation data

* Update to handle updated api responses

* Working picker

* Update tests

* update test

* Use SelectControl

* Add Picker to Form Block

* Code cleanup and splitting

* Inline todos

* Update todos

* Update assets/js/atomic/blocks/product/add-to-cart/product-types/variable/variation-attributes/index.js

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

* change classname and move styles within component

* Correct conditional

* Avoid nesting filters

* Remove exclude from getVariationsMatchingSelectedAttributes

* basic select styles

* remove custom select styles

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-06-19 15:51:09 +01:00
Darren Ethier 1026ff8fd4 Switch to use `wp-env` as the development/test environment (https://github.com/woocommerce/woocommerce-blocks/pull/2730)
* Switch to use wp-env

* fix travis config

* fix spacing?

* doh need to install packages before starting environment!

* more fixes for errors in travis environment

* hmm still have node-git issues

* nope must use dash

* maybe it’s a caching issue (we’re caching node_modules?)

* remove configs

* add wp-env override json to gitignore

* remove obsolete scripts

* fix config in travis

* restore default env (for phpunit)

* for e2e manually set WORDPRESS_BASE_URL

* doh fix variable for wp version

* run phpunit via docker and fix WordPress version used for tests

* find out what’s going on with this thing

* don’t escape?

* doh phpunit needs dev installed from composer!

* fix versions

* looks liek we have to make sure wp db is up to date?!?

- also moves pre-configuration stuff all into one file for easier maintenance.

* see if I can get insight into what the siteurl is in the wp environment on travis

* try env setup (known that will break phpunit but possible it might fix e2e?)

* output plugin list to see what is active in travis

* try flushing rules

* do a hard fulsh

* fix argument syntax

* move things around and add pre-configuration as files so all wp commands run at once

* revert back to running each container command separately

Not sure, but this might affect permissions issues?

* maybe re-ordering before the file sync will help?

also try some configuration changes

* another attempt at travis config

In this attempt:
- map .htaccess to the server on the environment start
- try changing permissions of wp-content and wp-content/plugins as a part of the e2e test bootup

* use default wp version for gute build

* refactor to run all wp commands in one go

* don’t return promise from setup function

- this might fix the sporadic fails related to the fixtures being setup (and potential race conditions there).

* make sure we activate gutenberg plugin (previously we were just installing)

The syntax of the command was incorrect.

* try alternative syntax for installing and activating plugin
2020-06-17 16:28:11 -04:00
renovate[bot] 0be5642d3a Update dependency @testing-library/jest-dom to v5.10.1 (https://github.com/woocommerce/woocommerce-blocks/pull/2733)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-17 14:12:26 +01:00
renovate[bot] 6e9da71bbb Update dependency @types/react to v16.9.37 (https://github.com/woocommerce/woocommerce-blocks/pull/2734)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-17 14:12:07 +01:00
renovate[bot] d030669f5f Update dependency @octokit/graphql to v4.5.1 (https://github.com/woocommerce/woocommerce-blocks/pull/2732)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-17 14:11:42 +01:00
renovate[bot] 4db5e67371 Pin dependencies (https://github.com/woocommerce/woocommerce-blocks/pull/2731)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-17 14:11:13 +01:00
Mike Jolley cae6cbb191 `registerInnerBlock` ->`registerBlockComponent` (https://github.com/woocommerce/woocommerce-blocks/pull/2688)
* registerBlockComponent

* BW compat and docs

* Add tests for deprecated methods
2020-06-17 14:10:46 +01:00
Albert Juhé Lluveras 610e082f9c Update base/components classnames (https://github.com/woocommerce/woocommerce-blocks/pull/2711)
* Update base/components classnames

* Fix class name conflict

* Fix some class names mismatch

* Fix review loading placeholder styles

* Fix docs format

* Update old class name

* Fix price slider regression

* Fix load more button component missing legacy class

* Fix wrong loading mask styles classname

* Remove 'checkout' from 'wc-block-components-checkout-payment-methods__save-card-info' classname

* Make it explicit legacy classes will be removed in the next major version

* Make product variation data styles belong to product metadata

* Improve docs sentence
2020-06-17 11:53:42 +02:00
Mike Jolley 09aa20d0d3 Introduce Atomic Add to Cart Block (https://github.com/woocommerce/woocommerce-blocks/pull/2705)
* Form/button stucture

* Use registerBlockComponent

* Context for add to cart form

* Working cart button

* Tidy up button component

* Add todos

* Revert reg block

* Hide stock indicator if not purchasable

* Hide terms if empty

* Add url and type to API

* Skip default category from term response

* Rename form element

* Form for product types

* Tidy up context provider and expand todos

* No longer using qty icon

* Update todos

* Correct text domain

* registerExperimentalBlockType

* Duplicate method

* Remove prevent default

* Update docblock

* Description for button code
2020-06-17 10:52:03 +01:00
Mike Jolley 340cf01255 Update documentation indexes and add checkout docs (https://github.com/woocommerce/woocommerce-blocks/pull/2720)
* Fix existing indexes

* Update indexes

* Stock docs
2020-06-16 16:50:09 +01:00
Albert Juhé Lluveras e26b60f00e Add 2.7.1 testing instructions 2020-06-16 15:47:42 +02:00
Albert Juhé Lluveras d509745530 Add 2.7.1 changelog 2020-06-16 15:47:30 +02:00
Seghir Nadir de10d09afd Expand travis matrix (https://github.com/woocommerce/woocommerce-blocks/pull/2686)
* Expand travis matrix to cover diffrent WP versions

* skip tests on older wp versions

* duplicate tests

* add wp version to phpunit tests

* skip all products in 5.2

* fix tests

* tweak command to account for e2e-util version

* tag snapshots

* Revert "tag snapshots"

This reverts commit b55ba2e522c5a248590039a3bb224f81da2653c5.

* use hook instead of HOC

* add todo to code

* fix borked conflict

* remove dubplicate single product test

* revert assets/js/blocks/product-search/edit.js to master
2020-06-16 13:18:34 +01:00
Albert Juhé Lluveras b0ef232271 Fix Product Categories List align attribute (https://github.com/woocommerce/woocommerce-blocks/pull/2700)
* Fix Product Categories List with align attribute

* Add support to align attribute to the Product Categories List block
2020-06-16 13:18:04 +02:00
Mike Jolley 582ba8797f Update references to use main 2020-06-16 10:38:19 +01:00
Darren Ethier 63fb5dda69 Fix missing scoped variable in closure and missing schema definitions. (https://github.com/woocommerce/woocommerce-blocks/pull/2724)
* make sure anonymous function receives taxonomy in scope

* fix schema errors
2020-06-16 10:58:19 +02:00
Darren Ethier 7f6dacdea6 Fix undefined index notice for query_type on the product collection data endpoint. (https://github.com/woocommerce/woocommerce-blocks/pull/2723)
* if `$query_type` isn’t defined, use default.

* add defensive checks for `taxonomy` index as well
2020-06-16 10:58:08 +02:00
Darren Ethier 4f50def038 Fix notices on variations without prices (https://github.com/woocommerce/woocommerce-blocks/pull/2722)
* ensure response of `wc_format_decimal` is a float before doing calculating

* Fix notice when empty array passed into min/max
2020-06-16 10:58:02 +02:00
Seghir Nadir dbd3c7ef16 Generate block pages for tests. (https://github.com/woocommerce/woocommerce-blocks/pull/2707)
* add util folder and add util to generate pages

* add loader to insert and remove pages

* update tests to use the new page creator

* refactor tests to not create pages

* remove fullscreen check

* update single product test.

The test kept failing for me locally (it wasn’t deleting the block), when I manually tested following the same manual steps would not delete the block.

* add `quiet-pull` flag to docker command to hopefully reduce noice on builds

* adjust page loader to simplfy the loop

* remove extra comment

* add docs

* move promise inside map

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-06-15 15:59:18 +01:00
Albert Juhé Lluveras 2004c48c5e Remove background color from Express Checkout title (https://github.com/woocommerce/woocommerce-blocks/pull/2704)
* Remove background color from Express Checkout title

* Fix Express checkout title padding not visible on npm run build

* Add explanatory comment
2020-06-15 13:39:46 +02:00
Darren Ethier 582b5f60bb convert code to be IE11 friendly (https://github.com/woocommerce/woocommerce-blocks/pull/2708) 2020-06-12 15:58:31 -04:00
Albert Juhé Lluveras f46bc68f6e Fix Cart and Checkout sidebar styling issues (https://github.com/woocommerce/woocommerce-blocks/pull/2694)
* Order summary: Add spacing between product name and price name

* Remove border from shipping options in the side bar

* Add a hasBorder prop to Panel

* Checkout Order summary: remove margin product description

* Fix padding when there are multiple packages and remove old code

* Simplify selector

* Add margin botton to no shipping options notice

* Make sure Checkout titles are aligned when there are no express payment methods

* Update step heading margins according to new designs
2020-06-12 14:07:02 +02:00
renovate[bot] 50ead0508e Pin dependency html-react-parser to 0.10.5 (https://github.com/woocommerce/woocommerce-blocks/pull/2679)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-11 16:14:33 -04:00
renovate[bot] 01a4c870f0 Update dependency @stripe/stripe-js to v1.7.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2680)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-11 16:13:54 -04:00
renovate[bot] 0ca600204a Update dependency @testing-library/react to v10.2.1 (https://github.com/woocommerce/woocommerce-blocks/pull/2681)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-11 16:13:28 -04:00
renovate[bot] fdb9903687 Update dependency eslint-plugin-jest to v23.13.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2682)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-11 16:12:57 -04:00
Albert Juhé Lluveras 1a0c50078a Add theming docs (https://github.com/woocommerce/woocommerce-blocks/pull/2691)
* Add theming docs

* Update some components to the new class name structure

* Add docs about class name updates

* Update coding guidelines

* Minor improvements

* Update docs/theming/class-names-update-280.md

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

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-06-11 19:38:31 +02:00
Mike Jolley 52496a3506 Stock Indicator Block (https://github.com/woocommerce/woocommerce-blocks/pull/2675)
* Stock Indicator Block

* Add to block map

* Put behind flag

* Move EditProductLink context

* stock text props
2020-06-11 10:02:00 +01:00
Darren Ethier 41ca430ffe Add initial cart flow tests (https://github.com/woocommerce/woocommerce-blocks/pull/2678)
* more setup configuration for rtl

* move default state for cart out of reducer

This also creates a file for default store states, it should make it easier to execute tests in various environments.

* Make sure there’s a default object for cart line item row

* set defaults for cartData

* add fetchMock as a global in eslint config

* add initial cart flow tests

This is just to get the ball rolling, the cart block needs more tests

* fix missing @wordpress/jest-console configs (because I overwrote the original configuration)

* update test because of change in branch

* switch import order

* add globals.d.ts file to declare globals we use.

This is a quick solution to prevent typescript linting warning about `fetchMock`. At some point we could also create a proper interface for it or import the types (if they exist) for the `jest-mock` package.

The new `globals.d.ts` file is excluded from published builds.
2020-06-10 14:21:34 -04:00
Mike Jolley 2c6d8d7f97 Add Atomic Category and Tag blocks (https://github.com/woocommerce/woocommerce-blocks/pull/2667)
* Add categories and tags to the API

* Add atomic categories block

* Add tag list block

* Add edit views

* Add correct icons

* Update styles

* Update assets/js/atomic/blocks/product/category-list/style.scss

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

* Update margin

* Use registerExperimentalBlockType

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-06-10 16:56:13 +01:00
Seghir Nadir cadeb15e29 Pass WP version to docker-compose as ENV var (https://github.com/woocommerce/woocommerce-blocks/pull/2683)
* Pass WP version to docker-compose as ENV var

* change to 5.3

* rename to WP_VERSION to match unit-tests
2020-06-10 15:55:40 +01:00
Albert Juhé Lluveras 9b05b19028 Add aria-expanded to Change address button (https://github.com/woocommerce/woocommerce-blocks/pull/2603) 2020-06-10 15:38:39 +02:00
Albert Juhé Lluveras 27c68c520d Add expected folder for testing instructions to the release PR template (https://github.com/woocommerce/woocommerce-blocks/pull/2677)
* Add expected folder for testing instructions to the release PR template

* update release doc

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-06-09 11:50:15 -04:00
Albert Juhé Lluveras 211728b401 Fix release PR template link in docs (https://github.com/woocommerce/woocommerce-blocks/pull/2665) 2020-06-09 16:24:23 +02:00
Albert Juhé Lluveras ae0f3b8200 Update version to 2.8.0-dev 2020-06-09 16:02:13 +02:00
Albert Juhé Lluveras c52d5cad5c Release: 2.7.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2666)
* Add 2.7.0 changelog

* Add 2.7.0 testing steps

* Add woocommerce/woocommerce-blocks#2664 to readme

* Update testing notes to add checklist app creation link

* Add note that 'No shipping methods placeholder when they are all disabled' requires WC 4.3

* Bumping version strings to new version.

* Update readme.txt date

Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2020-06-09 15:58:19 +02:00
Darren Ethier c25a45c3a4 Ignore dashicons imports (https://github.com/woocommerce/woocommerce-blocks/pull/2664)
* ignore dashicons imports

* need to provide a path to module replacement

* add in replacements for used dashicons

* fix spelling

* use classnames
2020-06-08 11:27:40 -04:00
Albert Juhé Lluveras f68f11c6ca Update Checkout step progress indicator design (https://github.com/woocommerce/woocommerce-blocks/pull/2649) 2020-06-08 13:13:34 +02:00
Albert Juhé Lluveras c4e7191269 Fix credit card validation errors alignment (https://github.com/woocommerce/woocommerce-blocks/pull/2662)
* Use same margin-bottom in credit card input as in checkout inputs

* Set cursor:text for Checkout input labels

* Increase line height of expiry and cvc input validation errors in large viewports

* Increase height of expiry and cvc input validation errors in small viewports
2020-06-08 12:55:10 +02:00
Albert Juhé Lluveras 40426cbf93 Fix styling issues introduced in woocommerce/woocommerce-blocks#2597 and woocommerce/woocommerce-blocks#2619 (https://github.com/woocommerce/woocommerce-blocks/pull/2652)
* Move order summary styles to component style.scss

* Fix wrong class name in Order summary

* Move express payment methods a little bit higher

* Fix shipping options panel misaligned in the Cart sidebar

* Add right padding to panel button so text doesn't overlap the arrow

* Fix wrong class name in Order summary (II)
2020-06-08 11:28:58 +02:00
renovate[bot] 4dfd5bd687 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/2595)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-07 18:55:11 -04:00
Darren Ethier 2bbe2e63c6 Fix retrying after failed payment processed server side. (https://github.com/woocommerce/woocommerce-blocks/pull/2655)
* add state for selected saved token in payment data

* add handling for flipping payment status back to pristine when checkout has error

If payment status is successful client side, but the checkout state goes into an error after server side processing, then we reset payment status to pristine to allow for reprocessing of payment method client side.

This is skipped for saved payment method tokens because they effectively are _only_ processed server side.
2020-06-07 16:47:16 -04:00
Seghir Nadir 0ac76337d4 Expand Feature flags (https://github.com/woocommerce/woocommerce-blocks/pull/2591)
* Revert "Move blocks to stable flag (https://github.com/woocommerce/woocommerce-blocks/pull/2261)"

This reverts commit a005649ab8.

* migrate to number based gating

* add todo to watch feature flag

* remove flags from build

* change flag in travis

* load flag in right order

* expose flag to js

* simplify flag definition

* more feature flags

* wrap flag in check

* add helper functions

* add helpers in PHP

* fix typo in flag

* move php code to src/domain/package

* tweak if condition

* return flag to travis

* fix broken block name
2020-06-05 20:13:51 +01:00
Seghir Nadir baefb8d6e9 Add fixtures data for all entities. (https://github.com/woocommerce/woocommerce-blocks/pull/2548)
* change entrypoint setup and install wc-rest-api

* enable pretty links in docker

* create fixtures functions

* create and load global setup and teardown files

* support multiple shipping zones

* use env values

* refactor command

* fix typo in command

* more to import instead of require

* add docs

* refactor test data to its own file and refactor shipping methods

* revert to commonJS require

* rename function name

* rename global variable

* update fixture functions to accept fixture as param

* document fixture data

* pin wc rest api

* update package-lock

* remove forgetten test line
2020-06-05 17:49:07 +01:00
Darren Ethier 5dafeac1ab Audit payment method interface API (https://github.com/woocommerce/woocommerce-blocks/pull/2622)
* remove obsolete useStoreOrder hook and implementation.

This hook was actually never completed and was only implemented in the `usePaymentMethodInterface` hook/api. The original purpose was to expose order details to registered payment methods, but that is now exposed via checkout state event emitters so it’s no longer needed.

OrderId is exposed via the `CheckoutState` context provider.

* remove setBillingData from being exposed to payment methods directly

billingData is updated via event emitter callback responses (see payment method data context provider) and is not something that should be set directly via payment methods.

We want checkout to have control over how billing data is updated in the state.
2020-06-05 11:20:05 -04:00
Albert Juhé Lluveras eaeedd31e0 Update item count badge styles (https://github.com/woocommerce/woocommerce-blocks/pull/2619)
* Update item count badge styles

* Make sure item count badge doesn't break in multiple lines

* Make item count badge have white background

* Add docs

* Move order summary CSS properties outside of the sidebar class to reduce specificity

* Move Order summary to its own component
2020-06-05 17:03:48 +02:00
Seghir Nadir 177b30f940 Refactor E2E setup routine (https://github.com/woocommerce/woocommerce-blocks/pull/2544)
* skip test and delete unneeded ones

* update comment
2020-06-05 15:50:17 +01:00
Mike Jolley 2925d0d0ee Add Atomic SKU block (https://github.com/woocommerce/woocommerce-blocks/pull/2645)
* Add SKU block

* Edit product link in inspector
2020-06-05 15:36:07 +01:00
Albert Juhé Lluveras 1b51a8e050 Unify Cart headers (https://github.com/woocommerce/woocommerce-blocks/pull/2615)
* Unify Cart headers

* Change Cart title to 'Your cart (x items)'
2020-06-05 16:30:49 +02:00
Albert Juhé Lluveras f2f60b3ff2 Rename wc-single-product script name (https://github.com/woocommerce/woocommerce-blocks/pull/2648) 2020-06-05 13:19:57 +01:00
Mike Jolley da58a8b44f Add Inner Block Rendering and Atomic Block Styles (https://github.com/woocommerce/woocommerce-blocks/pull/2607)
* Register Atomic Blocks and save some block content

* renderInnerBlocks utility

* Frontend Rendering

* Clean up atomic block classnames

* Move shared styles

* Create a hoc for attribute mapping

* Rename some unpluralised class names

* Remove prefixes from atomic component class names

* Updated styles

* Update styles from master

* Revert product list styles

* 2020 fixes

* Separate renderFrontend from renderInnerBlocks

* Lazy loading of components

* Tweak loading classes

* FIx all products loading state

* Revert lazy implementation - creates too many unneccessary files due to webpack config

* Cleanup

* Remove wcBlocksBuildUrl

* Move call to register_atomic_blocks

* Remove duplicate key

* reuse render frontend

* Corectly handle frontend attribute mapping to keep editor working

* Style updates

* Update side effects

* Remove width style from rating to fix alignment

* Move ssr grid styles to main stylesheet

* Put back prefixed classnames

* 2020 styling fixes

* Create frontend files instead of doing it all in block map

* Update assets/js/atomic/utils/get-block-map.js

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

* Update assets/js/atomic/utils/render-parent-block.js

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

* Fix last child alignment regardless of block type

* More specificity fixes

* 2020 button alignment

* static fix to prevent offsets

* fix placeholder image in firefox

* Issues reported in feedback

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-06-05 13:18:16 +01:00
Darren Ethier 2e8a3c8d6e Update README.md with a note about L2 version support. (https://github.com/woocommerce/woocommerce-blocks/pull/2644) 2020-06-05 07:20:34 -04:00
Albert Juhé Lluveras 104850deb5 Update WC tested version to 4.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2643) 2020-06-05 12:57:25 +02:00
Albert Juhé Lluveras 77b68795d8 Update Cart & Checkout heading styles (https://github.com/woocommerce/woocommerce-blocks/pull/2597)
* Honor heading styles in Cart and Checkout blocks

* Replace Panel with DisclosureWidget and remove Card

* Remove panel-style from main entry

* Rename DisclosureWidget props

* Simplify TitleTag assign

* Add aria-expanded attribute

* Rename DisclosureWidget to Panel

* Make Panel button clickable area smaller

* Fix specificity issues with Twenty Twenty

* Reset italics in reset-typography mixin

* Make C&C titles font size large

* Add padding to shipping options when in the sidebar
2020-06-05 12:00:19 +02:00
Albert Juhé Lluveras 8a65d7297b Make sure Select styles don't change on hover (https://github.com/woocommerce/woocommerce-blocks/pull/2647) 2020-06-05 11:12:34 +02:00
renovate[bot] 04691be547 Update babel monorepo to v7.10.2 (https://github.com/woocommerce/woocommerce-blocks/pull/2609)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-04 06:57:07 -04:00
renovate[bot] 348bbe9051 Update Node.js to v12.18.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2608)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-03 10:53:27 -04:00
renovate[bot] 8fc7e7ab77 Update dependency @testing-library/jest-dom to v5.9.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2612)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-03 10:52:34 -04:00
renovate[bot] 0dda29d36a Update dependency @stripe/stripe-js to v1.6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2611)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-03 10:51:26 -04:00
renovate[bot] 3e58b5e096 Update dependency @octokit/graphql to v4.5.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2610)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-03 10:47:43 -04:00
Darren Ethier 0ff1db36f4 2.6.0 followups for release process etc. (https://github.com/woocommerce/woocommerce-blocks/pull/2598)
* Add a pull request template for releases

* add testing instructions for 2.6.0 in a new testing/releases folder

* add create todo list button and fixt typo

* Add additional notes to release process

- Include about creating a release pull request and the template to use.
- Include about the process for creating the package update bump in WooCommerce core.

* add testing docs for 2.6.1 release

* Apply suggestions from code review

Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>

* improve wording to account for merging changes to master from the release branch

* Changes to pull request template

- make checklist more assertive instead of inquisitive.
- Provide more direction via notes and leading text in the template.
- include section on devnotes.

* remove section on updating the wiki

Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-06-03 09:39:48 -04:00
renovate[bot] 4880374c41 Update dependency @testing-library/react to v10.0.6 (https://github.com/woocommerce/woocommerce-blocks/pull/2613)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-06-03 10:19:43 +01:00
Darren Ethier e890446029 VID replacements for 2.6.0 release
# Conflicts:
#	package.json
#	woocommerce-gutenberg-products-block.php
2020-06-02 16:31:14 -04:00
Albert Juhé Lluveras 13e79f21b4 Fix product grid blocks markup & design inconsistencies (https://github.com/woocommerce/woocommerce-blocks/pull/2428)
* Fix Sale badge markup discrepancy. Fixes woocommerce/woocommerce-blocks#2107

* Fix product link markup discrepancy

* Use same class name for ratings markup in product grid blocks

* Remove editor specific class name for product title

* Unify price layout between product grid blocks and All Products block

* Change specificity raising classes to avoid editor class names

* Make small images fill the available width in product grid blocks

* Avoid increasing selector specificity in the frontend

* Undo AbstractProductGrid.php template changes

* Do not remove .wc-block-grid__product-rating__stars from CSS

* Add theming docs
2020-06-02 17:06:28 +02:00
Mike Jolley 28d516050e Add context support to Atomic Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/2592)
* Bulk rename InnerBlockConfiguration to InnerBlockLayout context

* Refactor button to use context and handle null product data

* Move preview data to context

* Update blocks to support context

* fix button

* Update assets/js/atomic/blocks/product/title/block.js

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

* remove falsey check

* Update product retrieval code

* Update product prop usage

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-06-02 12:14:46 +01:00
Albert Juhé Lluveras a6da13920d Fix Cart sidebar styles after font size changes (https://github.com/woocommerce/woocommerce-blocks/pull/2593)
* Fix Cart sidebar styles after font size changes

* Margin/padding cleanup
2020-06-02 09:33:10 +02:00
Albert Juhé Lluveras 31b5f4e00c Fixes to Twenty Twenty product grid styles (https://github.com/woocommerce/woocommerce-blocks/pull/2573)
* Remove underline from discounted prices

* Fix position of on sale badge in Twenty Twenty

* Make sure we reset styles from Core

* Fix image on sale badge not correctly positioned

* Fix sale badge alignment when they are on in the right
2020-06-02 09:18:34 +02:00
Darren Ethier 3e0a2c580e update changelog in readme.txt for 2.6.1 release 2020-06-01 14:49:29 -04:00
Mike Jolley 55b8be7d76 Remove CURRENT_TIMESTAMP default on the stock table (https://github.com/woocommerce/woocommerce-blocks/pull/2590)
* Remove the default timestamp value which requires mysql 5.6.5

* Change REPLACE INTO with INSERT INTO .. ON DUPLICATE KEY UPDATE

This will allow us to set the timestamp value on first insert only.
2020-06-01 13:40:03 -04:00
Darren Ethier 576686b3d2 fix package version 2020-06-01 13:06:50 -04:00
Albert Juhé Lluveras 00b0a81874 Make filter font sizes named (https://github.com/woocommerce/woocommerce-blocks/pull/2594) 2020-06-01 06:45:40 +02:00
Mike Jolley 2361c5f52c Add "edit product" card to single product block sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/2585)
* Add edit product card

* Replace with div
2020-05-29 14:50:12 +01:00
Mike Jolley a5b09b7a43 Update atomic block structure (https://github.com/woocommerce/woocommerce-blocks/pull/2587)
* Move components to blocks dir

* Update import

* Create edit.js for each block

* Remove components/fix title

* Update imports

* Pass corect attributes on edit

* Import

* remove lightBlockWrapper
2020-05-29 14:49:56 +01:00
Mike Jolley 18480b0d68 Add layour editor to the single product block (https://github.com/woocommerce/woocommerce-blocks/pull/2586) 2020-05-29 12:28:04 +01:00
Albert Juhé Lluveras d1685bda7b Use named font sizes instead of values in px (https://github.com/woocommerce/woocommerce-blocks/pull/2533)
* Use named font sizes instead of values in px

* Convert rem mixin to em

* Remove unnecessary line-height

* 'Design' -> 'layout'

* Add comment to magic line-heihgt number

* Update a couple of class names to use BEM

* Use consistent name for SCSS variables

* Fix order summary line heights

* Update docs/contributors/coding-guidelines.md

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

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2020-05-29 12:16:33 +02:00
Mike Jolley 597c9ded72 Single Product Block Edit Mode (https://github.com/woocommerce/woocommerce-blocks/pull/2577)
* Previews

* Edit mode

* Remove preview alt text

* Remove unused styles
2020-05-28 12:41:10 +01:00
Albert Juhé Lluveras 0ba29d28d4 Update placeholder styles (https://github.com/woocommerce/woocommerce-blocks/pull/2456)
* Convert several default buttons to primary

* Align primary and tertiary buttons

* Align select controls of placeholders

* Don't force a placeholder background color

* Add border to placeholder lists

* Add work-around for SearchListComponent compatibility with last version of @wordpress/components
2020-05-28 12:20:47 +02:00
renovate[bot] b7430d2197 Update babel monorepo to v7.10.1 (https://github.com/woocommerce/woocommerce-blocks/pull/2572)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-28 11:03:32 +01:00
Mike Jolley 2dc0e8112a Create shared contexts handle for inner blocks (https://github.com/woocommerce/woocommerce-blocks/pull/2568)
* Create shared contexts

* At to jest config
2020-05-28 11:02:10 +01:00
Darren Ethier 401cb20af1 update readme.txt and bump development version 2020-05-27 15:25:20 -04:00
Darren Ethier 926a46b31e make sure set variable is implemented! (https://github.com/woocommerce/woocommerce-blocks/pull/2580) 2020-05-27 13:48:05 -04:00
Darren Ethier 9f0bf26ac3 verify index is present before using (https://github.com/woocommerce/woocommerce-blocks/pull/2580) 2020-05-27 13:35:24 -04:00
Darren Ethier 5699778cad Ensure payment method assets are initialized before main block assets are. (https://github.com/woocommerce/woocommerce-blocks/pull/2579) 2020-05-27 12:34:29 -04:00
Albert Juhé Lluveras bc51052b04 Checkout steps improvements (https://github.com/woocommerce/woocommerce-blocks/pull/2530)
* Don't render step heading content if there is no content

* Make checkout step headings h2

* Add empty alt value to form step counter
2020-05-27 16:48:23 +02:00
Mike Jolley a06aa1eb39 Create single product block placeholder (https://github.com/woocommerce/woocommerce-blocks/pull/2569)
* Create single product block placeholder

* test

* Placeholder frontend js

* Update imports

* Update src/BlockTypes/SingleProduct.php

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

* Update src/BlockTypes/SingleProduct.php

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

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2020-05-27 15:45:18 +01:00
Mike Jolley 1d2f3e8d3c Delete orders using delete method in batches of 20 (https://github.com/woocommerce/woocommerce-blocks/pull/2574)
* Delete orders using delete method in batches of 20

* Batch size to variable

* Tweak conditional for unit tests

* Force delete of draft orders rather than trash
2020-05-27 10:06:44 -04:00
renovate[bot] 38a050bb01 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/2550)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-27 14:55:44 +01:00
renovate[bot] 051b7d928f Update Node.js to v12.17.0 (https://github.com/woocommerce/woocommerce-blocks/pull/2571)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2020-05-27 14:54:50 +01:00
Albert Juhé Lluveras 35d4031d18 Add arguments to wc_get_shipping_method_count() (https://github.com/woocommerce/woocommerce-blocks/pull/2543) 2020-05-27 15:47:49 +02:00
Mike Jolley a3c20b0dd8 Update abstract block class (https://github.com/woocommerce/woocommerce-blocks/pull/2566) 2020-05-27 11:11:47 +01:00
Mike Jolley b062a67faf Accept object parameters in renderFrontend util (https://github.com/woocommerce/woocommerce-blocks/pull/2567) 2020-05-27 11:11:30 +01:00
Darren Ethier a5b6061dcc Ensure all inline @todos in code are covered by issues and obsolete @todos removed. (https://github.com/woocommerce/woocommerce-blocks/pull/2557)
* Remove todos for colors (see woocommerce/woocommerce-blocks#1331)

* remove todo for payment method express payments placeholder

No placeholder is needed because we don’t want to show this at all if there are no payment methods setup (or initialized based on `canMakePayment`). The payment methods step will have instructions in the editor for users to setup their payment methods.

So this todo was invalid.

* Remove todo comment for useStoreOrder (see woocommerce/woocommerce-blocks#2555)

* remove obsolete todos for usePaymentMethodInterface

* changed todo into a Note for the useQueryState tests

With focused work happening on tests, this is better as a note that can be picked up when this file is touched again.

* remove obsolete todo from payment method registration validation

* remove todo covered by created issue (see woocommerce/woocommerce-blocks#2166)

* remove obsolete todo for stripe utils

* Convert todo to a Note for Checkout Block php registration

For now, I think having the comment block noting what is happening here is sufficient. Whether or not we extend the blocks to cover the other endpoints is something that will surface in future planning and putting in an issue right now coudl be premature (and likely just land the issue in the icebox)

* Remove todo related to ReserveStock covered by woocommerce/woocommerce-blocks#2556

* Remove todo in AbstractRoute covered by issue in WooCommerce project

see https://github.com/woocommerce/woocommerce/pull/26219 for the issue.

* Convert todo to note for wp_version check in Library class
2020-05-26 13:31:33 -04:00
Albert Juhé Lluveras d81444f208 Use absint for per-page param validation (https://github.com/woocommerce/woocommerce-blocks/pull/2563)
* Revert "Fix Products by Category JSON response error (https://github.com/woocommerce/woocommerce-blocks/pull/2551)"

This reverts commit 19f7247d8f.

* Fix Products by Category JSON response error
2020-05-26 07:34:11 -04:00
Albert Juhé Lluveras 79359e7056 Fix Cart style discrepancies (editor-frontend) (https://github.com/woocommerce/woocommerce-blocks/pull/2486)
* Fix different heading size of Cart block between frontend and editor

* Increase Cart submit button specificity so styles are applied in the editor

* Ensure buttons don't inherit borders

* Simplify styles

* Create Title component

* Rename 'level' prop to 'headingLevel'
2020-05-25 18:45:38 +02:00
Darren Ethier 0ae5a8d516 Fix links and extra redundant header in README.md 2020-05-25 10:15:13 -04:00
Darren Ethier 4ab10fb2e3 More improvements to README.md
- remove usage of word stable
- add better wording in initial sentence.
2020-05-25 10:13:06 -04:00
Darren Ethier 5de4e97463 Update README.md with new version requirements 2020-05-25 10:11:14 -04:00
Albert Juhé Lluveras 19f7247d8f Fix Products by Category JSON response error (https://github.com/woocommerce/woocommerce-blocks/pull/2551)
* Fix Products by Category JSON response error

* Create wrapper for the 'intval' function

* Make get_intval public

* Small improvements
2020-05-25 10:05:16 -04:00
Darren Ethier a25cfaa064 Improve readme.txt with note about nature of feature plugin (https://github.com/woocommerce/woocommerce-blocks/pull/2553)
* add improvements to readme.txt

* some more tweaks to align with README.md

* Fix up TOC

* Remove errant “This.”
2020-05-25 09:39:21 -04:00
Albert Juhé Lluveras 5f69fd93ba Exclude three more files from the build ZIP (https://github.com/woocommerce/woocommerce-blocks/pull/2514) 2020-05-25 13:12:04 +02:00
Darren Ethier ce1e334c56 Fix broken dynamic address fields dependent on locale for selected country. (https://github.com/woocommerce/woocommerce-blocks/pull/2547)
* add missing dependency

* Don’t include all defaultAddressFields in address field config
2020-05-25 07:00:26 -04:00
Darren Ethier a5bca5708c Reakit tab already handles selecting the default tab if it isn’t set. (https://github.com/woocommerce/woocommerce-blocks/pull/2545) 2020-05-22 15:32:41 -04:00
Darren Ethier 5668f58f2c Include `onSubmit` handler for CheckoutForm component. (https://github.com/woocommerce/woocommerce-blocks/pull/2532)
* include `onSubmit` handler for CheckoutForm component and implement

* remove redundant preventDefault
2020-05-22 10:51:38 -04:00
Albert Juhé Lluveras 6d1cb26d63 Import TwentyTwenty block styles from Core (https://github.com/woocommerce/woocommerce-blocks/pull/2513)
* Add TwentyTwenty styles from Core

* Increase product on sale selector specificity

* Add theme class name to admin

* Fix some more style discrepancies

* Use em instead of rem
2020-05-21 19:09:50 +02:00