015291ccf3
* Add checkout data store * wip on checkout data store * CheckoutContext now uses the checkout store * Investigated and removed setting the redirectUrl on the default state * update extension and address hooks to use checkout data store * use checkout data store in checkout-processor and use-checkout-button * trim useCheckoutContext from use-payment-method-interface && use-store-cart-item-quantity * Remove useCheckoutContext from shipping provider * Remove isCalculating from state * Removed useCheckoutContext from lots of places * Remove useCheckoutContext from checkout-payment-block * Remove useCheckoutContext in checkout-shipping-methods-block and checkout-shipping-address-block * add isCart selector and action and update the checkoutstate context * Fixed redirectUrl bug by using thunks * Remove dispatchActions from checkout-state * Change SET_HAS_ERROR action to be neater * Thomas' feedback * Tidy up * Oops, deleted things I shouldn't have * Typescript * Fix types * Fix tests * Remove isCart * Update docs and remove unecessary getRedirectUrl() selector * validate event emitter button * Added thunks in a separate file * Call thunks from checkout-state * Checkout logic tested and working * Remove dependency injection as much as poss, tidy up and fix some TS errors * Fix types in thunks.ts * Fixed some ts errors * WIP * Fixed bug * Shift side effects from checkout-state to checkout-processor * Revert "Shift side effects from checkout-state to checkout-processor" This reverts commit 059533da4eb34f9982f66cd4adacc7b2c24f939f. * Rename CheckoutState to CheckoutEvents * Move status check outside the thunk * remove duplicate EVENTS constant * remove temp buttons * Remove console logs * Augment @wordpress/data package with our new store types * Add correct type for CheckoutAction * Remove createErrorNotice arg from runCheckoutAfterProcessingWithErrorObservers * Remove createErrorNotice from emit event types * Use type keyword when importing types * Add correct types for dispatch and select in thunks * Update wordpress/data types * Replace store creation with new preferred method * Set correct action type on reducer * Remove unnecessary async from thunk * add CHECKOUT_ prefix to checkout events again * export EVENTS with eveything else in checkout0-events/event-emit * Remove duplicate SelectFromMap and TailParameters * Updated type for paymentStatus * TODO remove wp/data experimental thunks * Remove `setCustomerId` from events and `processCheckoutResponseHeaders` (https://github.com/woocommerce/woocommerce-blocks/pull/6586) * Prevent passing dispatch, instead get actions direct from store * Get setCustomerId from the store instead of passing it to processCheckoutResponseHeaders * Revert "Prevent passing dispatch, instead get actions direct from store" This reverts commit 4479a2ef5599d9c8d99c3629616b3d662210fc08. * Auto stash before revert of "Prevent passing dispatch, instead get actions direct from store" * Remove duplicate dispatch * Fix unit tests Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com> Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com> |
||
---|---|---|
.. | ||
contributors | ||
designers/theming | ||
examples | ||
internal-developers | ||
third-party-developers/extensibility | ||
README.md |
README.md
WooCommerce Blocks Handbook
Table of Contents
The WooCommerce Blocks Handbook provides documentation for designers and developers on how to extend or contribute to blocks, and how internal developers should handle new releases.
Contributors
Want to contribute to the WooCommerce Blocks plugin? The following documents offer information that can help you get started.
Internal developers
Are you an internal developer? The following documents offer information about the different blocks, the Block Client APIs, the Store API, the templates and the testing process.
- Blocks
- Block Data
- Block Client APIs
- Editor Components
- Icons
- Legacy Build
- Store API (REST API)
- Storybook
- Templates
- Testing
- Translations
Third-party developers
Are you a third-party developer? The following documents explain how to extend the WooCommerce Blocks plugin with your custom extension.
- Extensibility
- Hooks
- REST API
- Checkout Payment Methods
- Checkout Blocks
Designers
Are you a designer? The following documents explain how to apply design-changes to the WooCommerce Blocks plugin.
Developer Resources
Tools
- @woocommerce/extend-cart-checkout-block This is a template to be used with @wordpress/create-block to create a WooCommerce Blocks extension starting point.
- How to integrate with inner blocks in the WooCommerce Blocks Checkout A repository with some example code showing how an extension can register an inner block for use in the Checkout Block.
Articles
The following posts from developer.woocommerce.com provide deeper insights into the WooCommerce Blocks development.
- Store API is now considered stable
- Available Extensibility Interfaces for The Cart and Checkout Blocks
Tutorials
The following tutorials from developer.woocommerce.com help you with extending the WooCommerce Blocks plugin.
- Hiding Shipping and Payment Options in the Cart and Checkout Blocks
- Integrating your Payment Method with Cart and Checkout Blocks
- Exposing Payment Options in the Checkout Block
We're hiring! Come work with us!
🐞 Found a mistake, or have a suggestion? Leave feedback about this document here.