Commit Graph

2714 Commits

Author SHA1 Message Date
Mike Jolley f78da3c355 WIP - Checkout i2 Feature Branch Tracking (https://github.com/woocommerce/woocommerce-blocks/pull/4268)
* Duplicate checkout block

* Contact information block

* form step block

* shipping address block

* Setup atomic blocks

* Container structure

* More formal steps rather than generic form step

* Add billing and shipping forms

* add checkout actions block

* add order note block

* Add order summary

* add payment block

* Add inspector controls for address fields

* frontend WIP

* move attributes

* wrap shipping with form step

* PhoneNumber to typescript

* Remove column block

* form steps

* move payment logic to frontend

* Express block

* inline payment block

* Add shipping method block

* Render inner blocks (not standalone blocks) and add classes to Atomic Block list on php side

* lazy again

* Add more wrappers from old frontend file

* add layout

* Checkout wrappers were missing

* Enqueue payment methods for new block

* Add missing classnames

* Move shipping as billing state to context provider

* express payments rendering

* try/block-registry

* Remove atomic components (unused)

* Fix attribute persistance due to template locking

* Fix shipping display when not needed

* Set correct parent blocks for inner blocks

* pass data to blocks

* demo/newsletter

* Skeleton styling

* only apply styles to loading state for now

* shipping method block frontend

* rename express block

* lock template

* fix ts warning for __webpack_public_path__

* Refactor to avoid duplicating atomic block logic

* remove changes in save method

* Add zones and shipping methods to the sidebar for the shipping inner block

Closes woocommerce/woocommerce-blocks#4320

* Fix script handles

* Fix method display when there are none

* Add shipping phone

* Add phone to api and sync with billing correctly

* Clear hidden fields on load

* fix requirePhoneField property

* Enable shipping and billing phone fields

* readonly field support

* Handle context attributes

* Fix createInterpolateElement usage

* add totalswrapper

* Implement Terms and Conditions block for Checkout i2  (https://github.com/woocommerce/woocommerce-blocks/pull/4436)

* Setup atomic blocks

* frontend WIP

* Express block

* try/block-registry

* Set correct parent blocks for inner blocks

* Skeleton styling

* Refactor to avoid duplicating atomic block logic

* add block locking

* add terms and conditions block

* hardcore settings image

* lock blocks from being deleted

* hide original checkout block

* mark blocks as side effectful

* move variations to block register function

* prevent core checkout blocks from needlessly showing in the inserter

* enable checkout i1

* fix broken rebase

* move save back

* Localise default text

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

* Add add-hoc Block locking from WooCommerce Blocks side. (https://github.com/woocommerce/woocommerce-blocks/pull/4454)

* add locking

* use subscribe instead

* fix condition

* add locking to blocks

* check if the item is not a text field

* Tidy up hacks CSS class handling

* Fix error if node is undefined

* Hide menu when move is disabled

* update package lock

* Add todo and fix issue where selector returns null

* split todos

* move todo

* edit comment

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

* Un-disable the billing checkbox in the editor (https://github.com/woocommerce/woocommerce-blocks/pull/4457)

* Add missing Slot fill provider on frontend

Fixes woocommerce/woocommerce-blocks#4441 by adding the slot fill provider to the checkout-i2 block.

* Use column style appender

* Add padding/styles to actions

* Add/update icon library

* Multiline checkbox alignment

* Icons and copy changes for i2 blocks

* Add terms by default

* Add notice if text is missing links (https://github.com/woocommerce/woocommerce-blocks/pull/4466)

* Swap variations for toggle

* Add payment settings to inspector

* Update package lock

* Add inline docs to block registry

* Add inner block areas below each form step.

This does not include the form step contents, just adds inner blocks after existing content. Moving content within the inner block area is a separate discussion.

This closes woocommerce/woocommerce-blocks#4306

* Sample block registration + docs

* Add tests for registerCheckoutBlock

* Fix lazy component detection in tests

* Add basic transform between i1 and i2

* remove template lock todo

* Update scroll to top hoc

* Move shared settings to new context providers

Closes woocommerce/woocommerce-blocks#4472

* Remove readonly field support (unused)

* Remove context code

* Experimental

* remove invalid typedef

* FIx scrolling on validation due to misplaced context provider

* Update assets/js/base/context/providers/cart-checkout/checkout-state/index.tsx

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

* Update comment to remove reference to phone

* Update packages/checkout/blocks-registry/README.md

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

* Rename ScrollToTopComponent

* Add explicit list of expectedType in TypeScript definition

* Add todo to remove custom shipping phone handling

* Remove dangerouslySetInnerHTML in External Link Card Component

* Add ExternalLinkCard to storybook

* update todo wording

* Refactor withScrollToTop to remove useCallback and use typescript

* Support children on CheckboxControl, with added Typescript

* Spread getRegisteredBlocks return value

Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2021-07-22 12:03:00 +01:00
Mike Jolley 844975fcd0 Fix SKU search in the Store API (https://github.com/woocommerce/woocommerce-blocks/pull/4469)
* Fix Product Search (by SKU) functionality. This was not being executed.

* Add unit test to confirm searching by SKU is functional
2021-07-20 16:31:18 +01:00
Albert Juhé Lluveras 99e273078b Remove dead files (https://github.com/woocommerce/woocommerce-blocks/pull/4471) 2021-07-19 10:22:32 +01:00
renovate[bot] cb98d22ab9 Update dependency @types/wordpress__data to v4.6.10 (https://github.com/woocommerce/woocommerce-blocks/pull/4462)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-19 10:17:11 +01:00
Darren Ethier c23ac5fe4e update changelog 2021-07-17 08:20:11 -04:00
Darren Ethier e0053afd6a Merge pull request from GHSA-6hq4-w6wv-8wrp 2021-07-14 16:55:12 -04:00
renovate[bot] 47c38f4548 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/4456)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-12 16:08:55 +03:00
Raluca Stan 4907ddcd5d Fix all review memory leak on block transform (https://github.com/woocommerce/woocommerce-blocks/pull/4428) 2021-07-12 14:58:10 +03:00
Thomas Roberts ce965a3578 Update notices documentation to reflect changes to Snackbar Notices (https://github.com/woocommerce/woocommerce-blocks/pull/4455)
* Update notices documentation to reflect changes to Snackbar Notices

* Update docs/block-client-apis/notices.md

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

Co-authored-by: Mike Jolley <mike.jolley@me.com>
2021-07-12 12:49:47 +01:00
Mike Jolley 870a8c0b93 Switch arrow unicode characters (https://github.com/woocommerce/woocommerce-blocks/pull/4364)
* Switch arrow unicode characters

* flip arrow with css
2021-07-12 12:32:45 +01:00
Thomas Roberts f735f698e0 Add camelcase rule to eslint config (https://github.com/woocommerce/woocommerce-blocks/pull/4382)
* Add rules to allow camelCase variables as object properties

* Remove disable camelcase comments

* remove disable camelcase comments

* Remove space from eslint ignore rule
2021-07-09 17:53:45 +01:00
Thomas Roberts d841529f35 Add documentation for Formatters (https://github.com/woocommerce/woocommerce-blocks/pull/4390)
* Add documentation for Formatters

* Add link to formatters docs

* Add link to main README

* Add anchors to document

* Add code exaple of getting formatters

* Change CurrencyFormatter return into a table

* Fix table formatting issue and ensure arguments are all in tables
2021-07-09 17:19:24 +01:00
Seghir Nadir 2f440bbe20 Move SlotFillProvider to frontend only (https://github.com/woocommerce/woocommerce-blocks/pull/4437)
* Move SlotFillProvider to frontend only

* remove extra config for editor scripts

* update tests
2021-07-08 16:04:13 +01:00
Mike Jolley 9975868956 Add a workflow for the assign-milestone automation (https://github.com/woocommerce/woocommerce-blocks/pull/4342)
* Add a workflow for the assign-milestone automation

* add milestone_bump_strategy

* "none" bump strategy
2021-07-08 10:49:32 +01:00
Mike Jolley b9d07173d4 Import `createInterpolateElement ` from `@wordpress/element` (https://github.com/woocommerce/woocommerce-blocks/pull/4368)
* change import for interpolate element

* remove dependency

* fix package lock

Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2021-07-07 13:27:50 +01:00
Thomas Roberts 15fdc41e8f Add styles to stop totals items being padded inside panels (https://github.com/woocommerce/woocommerce-blocks/pull/4435)
* Add styles to stop totals items being padded inside panels

* Remove extra linebreak

* Use padding shorthand

* Move style into already established sidebar selector
2021-07-07 13:20:26 +01:00
renovate[bot] 12ca3013ad Update dependency @types/lodash to v4.14.171 (https://github.com/woocommerce/woocommerce-blocks/pull/4433)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-07 05:02:31 +00:00
renovate[bot] d05f3c49f2 Update dependency @types/react to v16.14.10 (https://github.com/woocommerce/woocommerce-blocks/pull/4434)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-07 04:01:03 +00:00
renovate[bot] 4aa75aff96 Update dependency @types/jest to v26.0.24 (https://github.com/woocommerce/woocommerce-blocks/pull/4432)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-07 03:53:09 +00:00
renovate[bot] 31cf08db65 Update dependency @types/gtag.js to v0.0.7 (https://github.com/woocommerce/woocommerce-blocks/pull/4431)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-07 02:19:10 +00:00
renovate[bot] 2390607dbe Update dependency @types/dinero.js to v1.8.1 (https://github.com/woocommerce/woocommerce-blocks/pull/4430)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-07 01:51:33 +00:00
renovate[bot] 8257a32c35 Update Node.js to v12.22.3 (https://github.com/woocommerce/woocommerce-blocks/pull/4429)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-07 01:41:06 +00:00
Thomas Roberts c17cfb7db8 Make payment method icons display well even if theme tries to override their height/width (https://github.com/woocommerce/woocommerce-blocks/pull/4427)
* Make payment method icons display well even if theme tries to override

* Update flex justification for alignment styles

* Ensure payment method icons are displayed correctly in Checkout

* Remove center from object-position
2021-07-06 09:30:02 +01:00
Michael P. Pfeiffer ae1bde3481 Update version to 5.6.0-dev 2021-07-06 10:19:21 +02:00
github-actions[bot] c454c3f759 Release: 5.5.0 (https://github.com/woocommerce/woocommerce-blocks/pull/4425)
* Empty commit for release pull request

* Update readme.txt with the changelog for 5.5.0

* Add testing notes

* Bumping version strings to new version.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Michael P. Pfeiffer <michael@cssconf.eu>
2021-07-06 10:04:46 +02:00
Michael P. Pfeiffer b6a1edd62a Ensure product grids display as intended in the editor (https://github.com/woocommerce/woocommerce-blocks/pull/4424) 2021-07-05 11:58:48 +02:00
renovate[bot] fd4abebe8d Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/4401)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-07-05 09:57:20 +01:00
VoHoTv f3e798d7dd Fix filtering by product type on Store API (https://github.com/woocommerce/woocommerce-blocks/pull/4422)
* Fixed $tax_query being set to an empty array

* Remove whitespace causing PHP coding standards test to fail

* Cleanup: add line break

Co-authored-by: Michael P. Pfeiffer <frontdevde@users.noreply.github.com>
2021-07-05 09:48:34 +01:00
Thomas Roberts 522f722b2b Create `StoreNoticesWithSnackbarProvider` (https://github.com/woocommerce/woocommerce-blocks/pull/4407)
* Add StoreNoticesWithSnackbarProvider component

* Remove snackbar from regular StoreNoticesProvider

* Create useStoreNoticesWithSnackbar hook

* Remove anything snackbar related from StoreNoticesContext

* Remove snackbar styles from store-notices

* Make checkout use store notices with snackbar context

* Move snackbar notices container to new directory

* Make useStoreCartCoupons use the notices with snackbar context

* Update tests

* Rename path and remove addSnackbarNotice

* Use StoreSnackbarNoticesProvider in Cart and Checkout blocks

* Update snackbar tests

* Update paths

* Update tests

* Create store notice provider for snackbar notices only

* Update context functions to include the word snackbar

* Change nesting in checkout

* Remove unused file
2021-07-05 09:38:08 +01:00
Michael P. Pfeiffer 719a8952ff Block Widgets: fix product grid display (https://github.com/woocommerce/woocommerce-blocks/pull/4419) 2021-07-05 08:58:00 +02:00
Thomas Roberts c3f4310fe2 Add `TotalsWrapper` component (https://github.com/woocommerce/woocommerce-blocks/pull/4415)
* Add TotalsWrapper component and associated styling

* Add TotalsWrapper around the subtotal, fees and discount

* Remove margins/paddings/borders from sidebar elements

This is to allow TotalsWrapper to be the component responsible for handling spacing and borders.

* Update styles to allow components to be wrapped in TotalsWrapper

* Move TotalsWrapper to checkout package

* Wrap all parts of Cart sidebar in TotalsWrapper

* Remove border from coupon panel

* Add has-bottom-border option to TotalsWrapper

* Wrap checkout sidebar components in TotalsWrapper

* Remove border/padding from order summary

* Add hasValidFills function

This will be used to check if a Slot has any fills that return truthy values.

* Remove borderSize and hasBottomBorder props from TotalsWrapper

* Wrap Slots in TotalsWrapper

* Update hasValidFills to check length of array

* Update tests and snapshots

* Only render tax totals if tax is more than 0
2021-07-02 15:56:39 +01:00
Thomas Roberts 589f6923d6 Export `Button` and `Label` from `wc-blocks-checkout` package (https://github.com/woocommerce/woocommerce-blocks/pull/4406)
* Remove snackbar filtering

* Revert "Move Button and Label components to `@woocommerce/blocks-checkout` package (https://github.com/woocommerce/woocommerce-blocks/pull/4222)"

This reverts commit 983ce48cad.

* Export Label and Button from the wc-blocks-checkout package

* Reorder exports

This is so the diff is smaller in the PR

* Revert "Remove snackbar filtering"

This reverts commit 8e598436e871aa56f89740fbe6fbe522fd02db1d.
2021-07-02 10:24:07 +01:00
Thomas Roberts 93b750ee19 Change `couponName` filter to `coupons` and update documentation (https://github.com/woocommerce/woocommerce-blocks/pull/4312)
* Rework coupon filters to not be applied individually

* Add a `text` property to the coupons in the cart

This is needed to allow extensions to change the text without affecting the code.

* Output coupon text instead of code

* Add coupons filter documentation

* Add deprecation warning when extension uses couponName filter

* Change couponName filter to coupons

* Add label to Cart item definition

* Change coupon.text to coupon.label

* Update coupon.label in coupon aria-label

* Update image and coupon.text in docs

* Add filter registration example
2021-07-01 14:12:46 +01:00
Seghir Nadir 31566de45a remove assets from zip (https://github.com/woocommerce/woocommerce-blocks/pull/4418) 2021-07-01 12:48:48 +01:00
renovate[bot] 95de607f71 Update dependency classnames to v2.3.1 (https://github.com/woocommerce/woocommerce-blocks/pull/4414)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-30 05:07:59 +00:00
renovate[bot] 43a67030ef Update dependency @types/dinero.js to v1.8.0 (https://github.com/woocommerce/woocommerce-blocks/pull/4411)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-30 03:22:43 +00:00
renovate[bot] 0e2b669759 Update dependency @woocommerce/eslint-plugin to v1.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/4413)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-30 02:22:03 +00:00
renovate[bot] 36b298039c Update dependency @woocommerce/api to v0.2.0 (https://github.com/woocommerce/woocommerce-blocks/pull/4412)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-30 02:19:14 +00:00
renovate[bot] 91da9f9f9d Update dependency @testing-library/jest-dom to v5.14.1 (https://github.com/woocommerce/woocommerce-blocks/pull/4410)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-30 02:02:50 +00:00
renovate[bot] 0421c8bf06 Update dependency @storybook/addon-knobs to v6.2.9 (https://github.com/woocommerce/woocommerce-blocks/pull/4409)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-30 01:53:35 +00:00
Mike Jolley 686a6f4ece Audit and Move Image Assets, update error state (https://github.com/woocommerce/woocommerce-blocks/pull/4389)
* Remove avatar.jpg

* Inline grid block preview svg

* Replace spilled icecream error icon with generic icon

* Inline single product block preview

* Improve block error styling and icon

* Move payment method icons

* Replace WC_BLOCKS_ASSET_URL usage

* Remove unused images

* update snaps
2021-06-29 15:04:24 +01:00
Mike Jolley 33c55353f7 Add Terser to preserve translator comments (https://github.com/woocommerce/woocommerce-blocks/pull/4379)
* Tidy and document current configs

* Add terser package

* sharedConfig with Terser plugin setup

* replace todo

* revert change to alias

* Package lock update

* ci to install

* Revert "ci to install"

This reverts commit a65b7f3ca8ef8ab1cb78f825a43ca8df07f784bb.

* revert shared config

* fix extra comma

* tweak setup

* Missing jsx
2021-06-29 12:18:29 +01:00
Raluca Stan 5e38ee6090 Update/5.3.2 testing instructions (https://github.com/woocommerce/woocommerce-blocks/pull/4403) 2021-06-29 13:08:51 +03:00
Nadir Seghir 875b164327 udpate version 2021-06-25 12:11:43 +01:00
github-actions[bot] 6f05e45622 Release: 5.4.0 (https://github.com/woocommerce/woocommerce-blocks/pull/4381)
* add changelog

* add testing notes

* Bumping version strings to new version.

Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2021-06-25 12:08:53 +01:00
Raluca Stan 837c58863a Update 531.md
Fix testing instruction with detailed info about the TT1 blocks theme
2021-06-25 11:16:23 +03:00
Thomas Roberts e5beda98f6 Add `IntegrationInterface` documentation (https://github.com/woocommerce/woocommerce-blocks/pull/4394)
* Add IntegrationInterface documentation

* Add information about the values of get_script_data being serialized

* Add link to main README
2021-06-25 09:13:44 +01:00
Raluca Stan f14a1f64bf Update 531.md 2021-06-23 15:36:00 +03:00
Darren Ethier 9d01e7d38b Update 520.md
clarify testing notes
2021-06-23 06:56:29 -04:00
Mike Jolley a2cbc97b17 Add screen reader text to price range (https://github.com/woocommerce/woocommerce-blocks/pull/4367) 2021-06-23 11:51:46 +01:00
Mike Jolley 5ba5722a49 Allow HTML in the All Products Block Product Titles (https://github.com/woocommerce/woocommerce-blocks/pull/4363)
* Render titles as HTML in ProductName component and use Typescript

* Update snaps
2021-06-23 11:51:32 +01:00
renovate[bot] a02291b396 Update dependency gh-pages to v3.2.3 (https://github.com/woocommerce/woocommerce-blocks/pull/4388)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-23 03:15:19 +00:00
renovate[bot] bd3b907223 Update dependency @types/gtag.js to v0.0.6 (https://github.com/woocommerce/woocommerce-blocks/pull/4387)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-23 03:04:40 +00:00
renovate[bot] 35d38d9f91 Update dependency @stripe/stripe-js to v1.15.1 (https://github.com/woocommerce/woocommerce-blocks/pull/4386)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-23 02:56:42 +00:00
renovate[bot] 43e92a2ca2 Update dependency @babel/preset-env to v7.14.7 (https://github.com/woocommerce/woocommerce-blocks/pull/4385)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-23 01:25:52 +00:00
renovate[bot] b41ae3d54a Pin dependency gh-pages to v3.2.2 (https://github.com/woocommerce/woocommerce-blocks/pull/4384)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-23 01:15:50 +00:00
renovate[bot] 9ef4725103 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/4374)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-21 14:28:35 +01:00
Mike Jolley 9a00279b6a Storybook to gh-pages deployment (https://github.com/woocommerce/woocommerce-blocks/pull/4370)
* Add gh-pages deployment

* Update package lock
2021-06-21 10:58:57 +01:00
Mike Jolley fe50b5ee78 Add storybook link to readme 2021-06-21 10:58:40 +01:00
Seghir Nadir e033cb0aea Add ExtendRestAPI and SlotFills docs (https://github.com/woocommerce/woocommerce-blocks/pull/4208)
* add extend docs

* add slotFill docs

* Update docs/extensibility/available-endpoints-to-extend.md

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

* Update docs/extensibility/available-endpoints-to-extend.md

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

* Update docs/extensibility/available-endpoints-to-extend.md

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

* Apply suggestions from code review

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

* Apply suggestions from code review

Co-authored-by: Allen Smith <loranallensmith@gmail.com>

* Apply suggestions from code review

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

* add feedback to extend-rest-api-add

* Fix naming

* add disclaimer about feature gating

* add links to readme

Co-authored-by: Michael P. Pfeiffer <frontdevde@users.noreply.github.com>
Co-authored-by: Allen Smith <loranallensmith@gmail.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
2021-06-18 23:32:19 +01:00
Albert Juhé Lluveras f9fefd3e53 Split 5.2.0 testing steps between feature plugin and feature plugin + core 2021-06-18 18:21:24 +02:00
Mike Jolley b2da9f602a Append SKU to name for SearchListControl (https://github.com/woocommerce/woocommerce-blocks/pull/4366)
* Append skus to name

* Update assets/js/editor-components/products-control/index.js

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

* formatting

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
2021-06-17 11:30:57 +01:00
Thomas Roberts 995d6f0f82 Update `AddressForm` and related components to TypeScript (https://github.com/woocommerce/woocommerce-blocks/pull/4365)
* Add type argument to getSetting

* Convert prepareAddressFields to TypeScript

* Add State and Country Input prop types

* Type country input

* Type state input

* Convert AddressForm to TypeScript

* Add SHIPPING_COUNTRIES, ALLOWED_COUNTRIES (and states) to constants.ts

* Add return types to components

* Remove shipping-country-input JS file

* Fix type of CountryInputWithCountriesProps

* Use type argument in constants.ts

* Remove unnecessary braces on onChange function

* Use correct case for allowedCountries
2021-06-17 09:35:24 +01:00
Thomas Roberts 984c5a0eb1 Add type argument to getSetting (https://github.com/woocommerce/woocommerce-blocks/pull/4361) 2021-06-17 08:50:52 +01:00
Thomas Roberts 60b95041ff Fix error about duplicate keys in TotalsFees (https://github.com/woocommerce/woocommerce-blocks/pull/4360) 2021-06-17 08:49:45 +01:00
Mike Jolley 84718840d6 Update Express Payments Loading UI (https://github.com/woocommerce/woocommerce-blocks/pull/4228)
* Separate button spinner to separate component for reuse

* Use block checkout spinner in loading mask

* Block pointer events within loading mask

* Give the useRef within useShallowEqual a default value

This prevents the potential of having an undefined value returned.

* State setter and dispatch are stable

These do not need to be used as dependencies.

* Prevent re-renders of children when using loading mask.

This prevents children being rerendered and losing state. Loading styles are applied instead using a classname, but leaving the divs in place.

* Use memoization to to prevent excessive express payment rerenders

* Wrap express payment in loading mask

* Show loading state after submission

* remove eslint exclusion

* Move spinner to base components so it's available outside of the checkout package

* Avoid extra is-loading classname

* Update snaps/fix tests

* Remove memorization of payment method content due to stale data

* Express payment error handling

* Split up payment method context to make it more manageable

* Add blocking logic to cart

* Update snap

* Restore useRef

* Fix missing function removed by accident

* Fix setActivePaymentMethod and started status (so saved methods still allow express to be initialized)

* Loading Mask Todo

* Remove boolean shallow equals

* Missing dep

* Memoize typo

* Document changes in useStoreEvents

* Replace expressPaymentMethodActive

* setExpressPaymentError deprecation

* Only change status if an error is passed

* Track disabled state via useCheckoutSubmit

* useCallback on error message functions

* Fix mocks in test
2021-06-16 13:44:40 +01:00
renovate[bot] fa9e1447e7 Update dependency @stripe/stripe-js to v1.15.0 (https://github.com/woocommerce/woocommerce-blocks/pull/4357)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 03:59:02 +00:00
renovate[bot] a5ea5910f6 Update babel monorepo (https://github.com/woocommerce/woocommerce-blocks/pull/4356)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 03:56:38 +00:00
renovate[bot] 5b18379888 Update npm to v6.14.13 (https://github.com/woocommerce/woocommerce-blocks/pull/4355)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 03:54:06 +00:00
renovate[bot] c213519cf5 Update dependency github-label-sync to v2.0.1 (https://github.com/woocommerce/woocommerce-blocks/pull/4354)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 02:31:43 +00:00
renovate[bot] 3fbb9132d0 Update dependency @types/wordpress__data-controls to v1.0.5 (https://github.com/woocommerce/woocommerce-blocks/pull/4353)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 00:39:55 +00:00
renovate[bot] 534ca71864 Update dependency @octokit/graphql to v4.6.4 (https://github.com/woocommerce/woocommerce-blocks/pull/4352)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-16 00:37:26 +00:00
Albert Juhé Lluveras 4918bc40c0 Update version to 5.4.0-dev 2021-06-15 11:48:17 +02:00
Albert Juhé Lluveras 4cd12a8108 Add 5.3.1 testing instructions (https://github.com/woocommerce/woocommerce-blocks/pull/4351)
* Update changelog and compatibility version for 5.3.1

* Add testing instructions for WC Blocks 5.3.1

* Update ZIP file for WC Blocks 5.3.1 testing
2021-06-15 11:47:11 +02:00
Thomas Roberts 0edcd0ef9a Add documentation for __experimentalDiscountsMeta slot (https://github.com/woocommerce/woocommerce-blocks/pull/4349) 2021-06-15 09:30:13 +01:00
Albert Juhé Lluveras 370c888700 Load woocommerce.css in Site editor (https://github.com/woocommerce/woocommerce-blocks/pull/4345) 2021-06-15 07:33:31 +02:00
Albert Juhé Lluveras 0c5cd9eea0 Make Product Categories List links unclickable in the editor (https://github.com/woocommerce/woocommerce-blocks/pull/4339) 2021-06-15 07:33:16 +02:00
Rua Haszard 8fb7ab7821 Add storybook demo for Chip (https://github.com/woocommerce/woocommerce-blocks/pull/3029)
* add stories for Chip

* Add more knobs to Chip storybook

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2021-06-14 16:53:44 +01:00
renovate[bot] f9a0854305 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/4344)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-14 08:58:16 +02:00
Albert Juhé Lluveras efc9d44b11 Fix Product Categories List display issues in WP 5.8 (https://github.com/woocommerce/woocommerce-blocks/pull/4335) 2021-06-12 11:44:41 +02:00
renovate[bot] 1d23bd9fc2 Lock file maintenance (https://github.com/woocommerce/woocommerce-blocks/pull/4315)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-11 17:45:04 +02:00
Thomas Roberts 77e5dafbf9 Add DiscountsMeta slot to Checkout sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/4310)
* Add DiscountsMeta slot to Checkout sidebar

* Update Checkout snapshot
2021-06-11 15:37:19 +01:00
Mike Jolley a815993b40 Refactor Render Parent Block (https://github.com/woocommerce/woocommerce-blocks/pull/4325) 2021-06-11 09:54:18 +01:00
Mike Jolley 44b2003ec5 Document and update naming of Block Asset Handles (https://github.com/woocommerce/woocommerce-blocks/pull/4324)
* Document the rules

* Document rules inline

* Typescript support in webpack

* Update webpack config

* Update existing handles

* Name stylesheets same as handles

* prefix vendors and blocks

* Fix script filename
2021-06-09 15:09:42 +01:00
renovate[bot] 4ed2eb1ce6 Update dependency source-map-explorer to v2.5.2 (https://github.com/woocommerce/woocommerce-blocks/pull/4330)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-09 03:20:56 +00:00
renovate[bot] be05624d59 Update dependency wordpress-components to v11.1.5 (https://github.com/woocommerce/woocommerce-blocks/pull/4331)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-09 02:22:04 +00:00
renovate[bot] e31547c20b Update dependency reakit to v1.3.8 (https://github.com/woocommerce/woocommerce-blocks/pull/4329)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-09 02:14:14 +00:00
renovate[bot] e8d647f4d4 Update dependency react-test-renderer to v17.0.2 (https://github.com/woocommerce/woocommerce-blocks/pull/4328)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-09 02:11:20 +00:00
renovate[bot] 74648f6939 Update dependency glob to v7.1.7 (https://github.com/woocommerce/woocommerce-blocks/pull/4327)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-09 02:02:49 +00:00
renovate[bot] 03889f312e Update dependency eslint-import-resolver-webpack to v0.13.1 (https://github.com/woocommerce/woocommerce-blocks/pull/4326)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-06-09 01:52:24 +00:00
Raluca Stan b7794790b0 Update release date for version 5.3.0 in readme.txt 2021-06-08 12:36:52 +03:00
Raluca Stan 39b1ac9e18 Update version to 5.3.0-dev 2021-06-08 12:20:07 +03:00
github-actions[bot] 8c066b6fa3 Release: 5.3.0 (https://github.com/woocommerce/woocommerce-blocks/pull/4318) 2021-06-08 12:07:57 +03:00
Sebastian Volland eac83ffed4 Add an early return to prevent running an invalid SQL query. (https://github.com/woocommerce/woocommerce-blocks/pull/4317) 2021-06-07 13:40:48 +01:00
Thomas Roberts b190fb93f2 Ensure directories with spaces work with our WP Deploy script (https://github.com/woocommerce/woocommerce-blocks/pull/4316) 2021-06-07 12:33:58 +01:00
Thomas Roberts a20f3425b1 Add cart/extensions endpoint to allow third party extensions to process server-side and get a new cart (https://github.com/woocommerce/woocommerce-blocks/pull/4298)
* Move text-input to checkout package

* Add support to TextInput for inputs with type number

* Add ExperimentalDiscountsMeta.Slot to Cart sidebar

* Add extra styles for Button and Panel components

* Add updateCartFromApi util to @woocommerce/blocks-checkout

* Change updateCartFromApi to TypeScript

* Stop passing contexts through the discounts slot fill

* Add CartExtensionsSchema class

* Add CartExtensions Route

* Add register_update_callback and get_update_callback fns

* Add extensionCartUpdate function

* Add applyExtensionCartUpdate action

* Make extensionCartUpdate use batching

* Add ExtensionCartUpdateArgs type definition

* Execute a success/error function after request in extensionCartUpdate

* Remove success and error functions

* Avoid including all schemas in CartExtensionsSchema instantiation

This is achieved by inheriting AbstractSchema and slightly modifying the way in which the latest cart data is returned from this endpoint.

* Update docs for extensionCartUpdate

* Handle errors from extension callbacks

* Throw better errors when incorrect namespace/functions are used

* Add tests for CartExtensions route,  ExtendRestApi update callback registration

* Add dummy get_properties method to CartExtensionsSchema
2021-06-07 12:16:47 +03:00
Thomas Roberts bafa5c2827 Add snackbar filter (https://github.com/woocommerce/woocommerce-blocks/pull/4313) 2021-06-07 11:41:33 +03:00
Michael P. Pfeiffer 20f70b6626 Block Widgets: add block transforms for legacy widgets with a block equivalent (https://github.com/woocommerce/woocommerce-blocks/pull/4292)
* Block Widgets: add transforms for legacy widgets with a block equivalent

* Update All Reviews block transform to more closely resemble the widget

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

* Convert integers to boolean

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2021-06-04 16:47:30 +02:00
Thomas Roberts ffa77f26f7 Add Slot/Fill to discounts area in cart sidebar (https://github.com/woocommerce/woocommerce-blocks/pull/4248)
* Move text-input to checkout package

* Pass validation props directly to ValidatedTextInput

* Import label relatively instead of from package

* Pass validation functions to ValidatedTextInput

This is so it doesn't need to get them from useValidationContext.

* Add InputProps to ValidatedTextInput

This will be used to control additional props on the input element of TextInput

* Spread inputProps onto <input> element of TextInput

* Export TextInput from @woocommerce/blocks-checkout

* Add @woocommerce/blocks-checkout package to tsconfig

* Allow styling to be applied to number inputs and when value is 0

* Make style order consistent

* Remove inputProps to rely on rest in TextInput

* Add specific prop for the inputErrorComponent

* Only disallow active state if value is 0 AND type is number

* Change all uses of ValidatedTextInput to also pass inputErrorComponent

* Revert "Change all uses of ValidatedTextInput to also pass inputErrorComponent"

This reverts commit ec734b99c20c4d29fcf778714246fc406ee37eaf.

* Revert "Remove inputProps to rely on rest in TextInput"

This reverts commit 1fc64cca4002206423d1fa443ff2d60130ba1ea0.

* Revert "Revert "Change all uses of ValidatedTextInput to also pass inputErrorComponent""

This reverts commit 110e3606a996668be5a32698b634b7706d16cddc.

* Revert "Revert "Remove inputProps to rely on rest in TextInput""

This reverts commit aeb03526c44b3fcc97a719a18930d08157a80baf.

* Don't pass errorMessage to ValidatedTextInput

* Add DiscountsMetaSlot

* Add ExperimentalDiscountsMeta.Slot to Cart sidebar

* Add extra styles for Button and Panel components

* Export ExperimentalDiscountsMeta from checkout package

* Add updateCartFromApi util to @woocommerce/blocks-checkout

* Add comment to updateCartFromApi

* Change updateCartFromApi to TypeScript

* Revert "Move `TextInput` to checkout package and allow it to be used for input type=number (https://github.com/woocommerce/woocommerce-blocks/pull/4238)"

This reverts commit ee9b2d20e0.

* Stop passing contexts through the discounts slot fill

* Allow ValidatedTextInput to be used for type=number

* Remove contexts from Discounts slot fill

* Update snapshots

* Stop `errorMessage` being spread onto input fields in checkout

* Add paths to tsconfig

* Remove contexts from Discounts slot

* Accept step min and max on ValidatedTextInput

* Remove "no-margin" option on buttons

* Remove spinners from input type number

* Remove `no-top-border` style from panel

* Prevent text in buttons from breaking in the middle of words

* Add checkout package to tsconfig file list

* Stop passing components through DiscountsMetaSlot
2021-06-04 09:44:26 +01:00
Seghir Nadir 749406ecb9 load controls in cart (https://github.com/woocommerce/woocommerce-blocks/pull/4291) 2021-06-04 09:17:13 +01:00