plugins/woocommerce/client/blocks/packages/public-api/blocks-checkout/README.md
Components and utilities making it possible to integrate with the WooCommerce Mini-Cart, Cart and Checkout Blocks.
This package is available as an external when the WooCommerce Blocks Feature Plugin is installed and activated.
Package components can be accessed via the wc global:
const { ... } = wc.blocksCheckout;
Alternatively, you can map this to externals (or aliases) using the WooCommerce Dependency Extraction Webpack Plugin. Just add the above Webpack plugin to your package.json:
npm install @woocommerce/dependency-extraction-webpack-plugin --save-dev
Now, you can include this plugin in your Webpack configuration:
// webpack.config.js
const WooCommerceDependencyExtractionWebpackPlugin = require( '@woocommerce/dependency-extraction-webpack-plugin' );
module.exports = {
// …snip
plugins: [ new WooCommerceDependencyExtractionWebpackPlugin() ],
};
This package contains the following directories. Navigate to a directory for more in depth documentation about each module.
| Directory | Contents |
|---|---|
blocks-registry/ | Used to register new Inner Blocks that can be inserted either automatically or optionally within the Checkout Block. Example use case: Creating a newsletter subscription block on the Checkout. |
components/ | Components available for use by Checkout Blocks. |
filter-registry/ | Used to manipulate content where filters are available. Example use case: Changing how prices are displayed. (Documentation) |
hooks/ | React hooks for checkout functionality. Example use case: Validating checkout before processing with useValidateCheckout. |
slot/ | Slot and Fill are a pair of components which enable developers to render in a React element tree. In this context, they are used to insert content within Blocks where slot fills are available. Example use case: Adding a custom component after the shipping options. (Documentation) |
utils/ | Miscellaneous utility functions for dealing with checkout functionality. |
We're hiring! Come work with us!
🐞 Found a mistake, or have a suggestion? Leave feedback about this document here.
<!-- /FEEDBACK -->