4861ec250e
* Update ExtensionCartUpdateArgs to allow overwriting dirty data * Set isCustomerDataDirty when updating billing/shipping addresses * Update docs * Add e2e test to ensure overwriting dirty state isn't possible * Organise tests better and add check pushed data isn't overwritten * Check if data is changing when updating shipping/billing addresses * Check input values in test * Add test to ensure data can still be overwritten by extensions * Add changelog * Fix lint errors * Remove rogue console log * Remove unused import * Update plugins/woocommerce-blocks/assets/js/data/cart/reducers.ts * Fix lint error * Remove unneeded mdlint ignore * Update test to select a value instead of fill * Add methods to get/set dirty customer data in local storage * Push all customer data, not just dirty fields * Update e2e test * Update push changes unit test * Update keys in mock expected arg * Align localstorage key name with Gutenberg uppercase style * Fix lost code after merge conflict * Remove unnecessary metadata set in reducer * Reimplement TS changes * Debounce writing to localStorage * Only update localStorage if billing/shipping changed * Remove localStorage key when checkout is complete * Remove unused import |
||
---|---|---|
.. | ||
.media/images | ||
contributors | ||
designers/theming | ||
examples | ||
internal-developers | ||
third-party-developers/extensibility | ||
README.md |
README.md
WooCommerce Blocks Handbook
Table of Contents
- Contributors
- Internal developers
- Third-party developers
- Designers and theme developers
- Block References
- Developer Resources
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
- Data store
- Editor Components
- Icons
- 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 and theme developers
The following document explains how to to create block themes that work in WooCommerce and how to customize the styles of WooCommerce blocks.
Block References
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. It also showcases how to use some extensibility points, e.g. registering an inner block in the Checkout Block, applying filters to certain texts such as the place order button, using Slot/Fill and how to change the behaviour of the Store API.
Articles
The following posts from developer.woo.com provide deeper insights into the WooCommerce Blocks development.
- Store API is now considered stable
- Available Extensibility Interfaces for The Cart and Checkout Blocks
- How The Checkout Block Processes An Order
- New @wordpress/data stores in WooCommerce Blocks
Tutorials
The following tutorials from developer.woo.com help you with extending the WooCommerce Blocks plugin.
- 📺 Tutorial: Extending the WooCommerce Checkout Block
- 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.