woocommerce/plugins/woocommerce-blocks
Seghir Nadir dc1f979ae1 Add custom className support to Cart Inner Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/4985)
* move empty cart

* remove Cart and rename Cart i2 to Cart

* graduate blocks

* setup template migration from Cart i1 to Cart i2

* back to js so we have a good diff

* add migration

* fix bug in empty cart template

* add useForceLayout hook to edit

* migrate from old block to new block

* migrate styles

* respect align

* add tests

* Include latest cart line item improvements from cart-i1

* Missing changes from cart-i1

* Line items table should be disabled

* Fix e2e tests for cart i2

* update tests to adapt for inner blocks

* update select to resolveSelect to remove warning checker

* rename test/block to test/index

* move blocks to their own file

* undo rename to keep diff clean

* remove .tsx and update jest config

* Revert "update select to resolveSelect to remove warning checker"

This reverts commit 79d55de30edcfe36bbdfe7506df7a09460824f03.

* revert resolveControl

* Fix empty cart editor E2E test by scrolling to the view switch

* parse attributes for order summary block

* migrate attributes when resaving

* Update documentation

Automatic update after running npm run build:docs

* add classname support to accepted payment methods block

* add classname support to express payment methods block

* add classname support to cart items  block

* add classname support to cart line items block

* add classname support to order summary block

* add classname support to totals block

* add classname support to empty cart  block

* add classname support to filled cart block

* add classname support to proceed to checkout block

* type edit

Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Raluca Stan <ralucastn@gmail.com>
2021-10-25 16:31:22 +01:00
..
.github Add screenshots on E2E test failures (https://github.com/woocommerce/woocommerce-blocks/pull/4898) 2021-10-08 11:58:44 +01:00
.sources Update previews and editor styles for cart and checkout blocks (https://github.com/woocommerce/woocommerce-blocks/pull/2160) 2020-04-08 16:03:39 +01:00
.wordpress-org 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
assets Add custom className support to Cart Inner Blocks (https://github.com/woocommerce/woocommerce-blocks/pull/4985) 2021-10-25 16:31:22 +01:00
bin Migrate Cart i1 to Cart i2 (https://github.com/woocommerce/woocommerce-blocks/pull/4973) 2021-10-25 15:46:34 +01:00
docs Migrate Cart i1 to Cart i2 (https://github.com/woocommerce/woocommerce-blocks/pull/4973) 2021-10-25 15:46:34 +01:00
images Audit and Move Image Assets, update error state (https://github.com/woocommerce/woocommerce-blocks/pull/4389) 2021-06-29 15:04:24 +01:00
packages Migrate Cart i1 to Cart i2 (https://github.com/woocommerce/woocommerce-blocks/pull/4973) 2021-10-25 15:46:34 +01:00
patches Update wordpress-components patch file to 11.1.6 2021-10-06 12:05:44 +01:00
src Migrate Cart i1 to Cart i2 (https://github.com/woocommerce/woocommerce-blocks/pull/4973) 2021-10-25 15:46:34 +01:00
storybook Move Block Type Settings into Block Type Classes (https://github.com/woocommerce/woocommerce-blocks/pull/4059) 2021-04-22 12:37:27 +01:00
templates/emails Support "create account" option in checkout block (https://github.com/woocommerce/woocommerce-blocks/pull/2851) 2020-10-01 15:07:16 +13:00
tests Migrate Cart i1 to Cart i2 (https://github.com/woocommerce/woocommerce-blocks/pull/4973) 2021-10-25 15:46:34 +01:00
.distignore Release: 4.6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3900) 2021-03-02 15:31:13 -05:00
.editorconfig Introduce legacy build system and new aliases (https://github.com/woocommerce/woocommerce-blocks/pull/1018) 2019-10-06 08:36:15 -04:00
.env Update relevant files due to L2->L0 policy change for minimum required versions. (https://github.com/woocommerce/woocommerce-blocks/pull/4484) 2021-07-29 10:52:34 -04:00
.eslintignore Add @woocommerce/eslint-plugin dependency (https://github.com/woocommerce/woocommerce-blocks/pull/3115) 2020-09-07 13:31:10 -04:00
.eslintrc.js Add camelcase rule to eslint config (https://github.com/woocommerce/woocommerce-blocks/pull/4382) 2021-07-09 17:53:45 +01:00
.gitattributes Release: 5.0.0 (https://github.com/woocommerce/woocommerce-blocks/pull/4144) 2021-04-28 17:15:39 +01:00
.gitignore Add screenshots on E2E test failures (https://github.com/woocommerce/woocommerce-blocks/pull/4898) 2021-10-08 11:58:44 +01:00
.nvmrc Adds continuous integration testing with travis (https://github.com/woocommerce/woocommerce-blocks/pull/156) 2018-11-27 12:12:48 -05:00
.prettierrc.js Update @wordpress/scripts and eslint and stylint configurations (https://github.com/woocommerce/woocommerce-blocks/pull/3749) 2021-01-27 11:49:33 -05:00
.stylelintrc.json Update @wordpress/scripts and eslint and stylint configurations (https://github.com/woocommerce/woocommerce-blocks/pull/3749) 2021-01-27 11:49:33 -05:00
.wp-env.json PHPUnit Tests running on wp-env (https://github.com/woocommerce/woocommerce-blocks/pull/4567) 2021-08-20 14:58:32 +01:00
LICENSE Create LICENSE (https://github.com/woocommerce/woocommerce-blocks/pull/4235) 2021-05-20 15:07:12 +01:00
README.md Update relevant files due to L2->L0 policy change for minimum required versions. (https://github.com/woocommerce/woocommerce-blocks/pull/4484) 2021-07-29 10:52:34 -04:00
babel.config.js Add TypeScript support and convert cart data store to TypeScript (https://github.com/woocommerce/woocommerce-blocks/pull/3768) 2021-02-23 20:36:24 -05:00
composer.json Add hook documentation and build script (https://github.com/woocommerce/woocommerce-blocks/pull/4927) 2021-10-13 10:45:59 +01:00
composer.lock Add hook documentation and build script (https://github.com/woocommerce/woocommerce-blocks/pull/4927) 2021-10-13 10:45:59 +01:00
docker-compose.yml Fix broken phpunit tests (https://github.com/woocommerce/woocommerce-blocks/pull/4305) 2021-06-03 09:35:52 +02:00
global.d.ts Add camelcase rule to eslint config (https://github.com/woocommerce/woocommerce-blocks/pull/4382) 2021-07-09 17:53:45 +01:00
package-lock.json Convert Title component to TypeScript (https://github.com/woocommerce/woocommerce-blocks/pull/4891) 2021-10-21 09:58:03 +01:00
package.json Migrate Cart i1 to Cart i2 (https://github.com/woocommerce/woocommerce-blocks/pull/4973) 2021-10-25 15:46:34 +01:00
phpcs.xml Release: 6.0.0 (https://github.com/woocommerce/woocommerce-blocks/pull/4850) 2021-09-29 11:23:49 +01:00
phpunit.xml.dist Deprecate the woocommerce_shared_settings hook (https://github.com/woocommerce/woocommerce-blocks/pull/4092) 2021-04-26 10:36:50 +01:00
postcss.config.js Create Reviews by Product block (https://github.com/woocommerce/woocommerce-blocks/pull/658) 2019-08-15 16:55:57 +02:00
readme.txt Version bump following release 2021-10-13 15:41:47 +01:00
renovate.json Add major for devDependencies. (https://github.com/woocommerce/woocommerce-blocks/pull/3653) 2021-01-07 12:41:55 +00:00
tsconfig.base.json Convert CategoryList to TypeScript (https://github.com/woocommerce/woocommerce-blocks/pull/4909) 2021-10-12 09:21:00 +01:00
tsconfig.json Update Checkout to Checkout i2 (https://github.com/woocommerce/woocommerce-blocks/pull/4745) 2021-09-16 13:16:21 +01:00
webpack.config.js Add "Filter Products by Stock" block (https://github.com/woocommerce/woocommerce-blocks/pull/4145) 2021-08-20 16:56:14 +01:00
woocommerce-gutenberg-products-block.php Version bump following release 2021-10-13 15:41:47 +01:00

README.md

WooCommerce Blocks

Latest Tag View JavaScript and CSS Linting PHP Coding Standards Automated tests

This is the feature plugin for WooCommerce + Gutenberg. This plugin serves as a space to iterate and explore new Blocks and updates to existing blocks for WooCommerce, and how WooCommerce might work with the block editor.

Use this plugin if you want access to the bleeding edge of available blocks for WooCommerce. However, stable blocks are bundled into WooCommerce, and can be added from the "WooCommerce" section in the block inserter.

Table of Contents

Documentation

To find out more about the blocks and how to use them, check out the documentation on WooCommerce.com.

If you want to see what we're working on for future versions, or want to help out, read on.

Code Documentation

  • Blocks - Documentation for specific Blocks.
  • Editor Components - Shared components used in WooCommerce blocks for the editor (Gutenberg) UI.
  • WooCommerce Blocks Handbook - Documentation for designers and developers on how to extend or contribute to blocks, and how internal developers should handle new releases.
  • WooCommerce Blocks Storybook - Contains a list and demo of components used in the plugin.

Installing the plugin version

We release a new version of WooCommerce Blocks onto WordPress.org every few weeks, which can be used as an easier way to preview the features.

Note: The plugin follows a policy of supporting the "L0" strategy for version support. What this means is that the plugin will require the most recent version of WordPress, and the most recent version of WooCommerce core at the time of a release. You can read more about this policy here.

  1. Make sure you have the latest available versions of WordPress and WooCommerce on your site.
  2. The plugin version is available on WordPress.org. Download the plugin version here.
  3. Activate the plugin.

Installing the development version

  1. Make sure you have the latest versions of WordPress and WooCommerce on your site.
  2. Get a copy of this plugin using the green "Clone or download" button on the right.
  3. npm install to install the dependencies.
  4. composer install to install core dependencies.
  5. npm run build (build once) or npm start (keep watching for changes) to compile the code.
  6. Activate the plugin.

The source code is in the assets/ folder and the compiled code is built into build/.

Getting started with block development

Run through the "Writing Your First Block Type" tutorial for a quick course in block-building.

For deeper dive, try looking at the core blocks code, or see what components are available.

To begin contributing to the WooCommerce Blocks plugin, see our getting started guide and developer handbook.

Other useful docs to explore:

Long-term vision

WooCommerce Blocks are the easiest, most flexible way to build your store user interface and showcase your products.