woocommerce/plugins/woocommerce-blocks
Thomas Roberts bc750438c2 Convert Cart Table to TypeScript (https://github.com/woocommerce/woocommerce-blocks/pull/4088)
* Convert CartLineItemsTitle to TypeScript

* Add type guards

* Change CartLineItemRow extension to .tsx

* Remove parseInt from price precision

This is because the API sends it as a number, so it will never be a string, so no need to parse it.

* Add dinero.js types

* Type QuantitySelector and add types for @wordpress/keycodes

* Make __experimentalApplyCheckoutFilter use generic types

* Add catalog_visibility type & change types of CartItem

* Add isNumber and isString to type guards

* Type ProductLowStockBadge

* Ensure type returned by a filter function is the same it received

* Include type guards and hooks in tsconfig

* Add more type safety to useStoreCartItemQuantity

* Make className optional on QuantitySelector

* Type CartLineItemRow

* Type CartLineItemsTable

* Type Cart

* Add extra keys to CartResponseItem

* Clean aria-hidden logic

* Export type-guards from module

* Use aliases to import types in CartLineItemRow

* Remove unused prop types and specify return type of function

* Specify return type of component

* Use JSX.Element instead of ReactNode

* Remove unused variables & set return type of components

* Remove PropTypes
2021-04-23 10:15:17 +01:00
..
.github Update the initial checklist for the release md (https://github.com/woocommerce/woocommerce-blocks/pull/4067) 2021-04-15 17:22:03 +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 Convert Cart Table to TypeScript (https://github.com/woocommerce/woocommerce-blocks/pull/4088) 2021-04-23 10:15:17 +01:00
bin Move Block Type Settings into Block Type Classes (https://github.com/woocommerce/woocommerce-blocks/pull/4059) 2021-04-22 12:37:27 +01:00
docs Update GA integration testing steps 2021-04-21 16:05:34 +01:00
packages Convert Cart Table to TypeScript (https://github.com/woocommerce/woocommerce-blocks/pull/4088) 2021-04-23 10:15:17 +01:00
src Move Block Type Settings into Block Type Classes (https://github.com/woocommerce/woocommerce-blocks/pull/4059) 2021-04-22 12:37:27 +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 Move Block Type Settings into Block Type Classes (https://github.com/woocommerce/woocommerce-blocks/pull/4059) 2021-04-22 12:37:27 +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 Switch to use `wp-env` as the development/test environment (https://github.com/woocommerce/woocommerce-blocks/pull/2730) 2020-06-17 16:28:11 -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 Move Block Type Settings into Block Type Classes (https://github.com/woocommerce/woocommerce-blocks/pull/4059) 2021-04-22 12:37:27 +01:00
.gitattributes Release: 4.6.0 (https://github.com/woocommerce/woocommerce-blocks/pull/3900) 2021-03-02 15:31:13 -05:00
.gitignore change eslint workflow to use different method and action (https://github.com/woocommerce/woocommerce-blocks/pull/3693) 2021-01-17 14:06:24 -05: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 Update @wordpress/env to 4.0.2 and test default config with core property set to null. (https://github.com/woocommerce/woocommerce-blocks/pull/4071) 2021-04-18 12:57:23 -04:00
README.md Revert test badge name back to Automated Tests (https://github.com/woocommerce/woocommerce-blocks/pull/3640) 2021-01-05 12:38:44 +00: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 Update jetpack autoloader dependency to 2.9.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3832) 2021-02-11 17:53:54 +00:00
composer.lock Update jetpack autoloader dependency to 2.9.1 (https://github.com/woocommerce/woocommerce-blocks/pull/3832) 2021-02-11 17:53:54 +00:00
docker-compose.yml Expand travis matrix (https://github.com/woocommerce/woocommerce-blocks/pull/2686) 2020-06-16 13:18:34 +01:00
package-lock.json Convert Cart Table to TypeScript (https://github.com/woocommerce/woocommerce-blocks/pull/4088) 2021-04-23 10:15:17 +01:00
package.json Convert Cart Table to TypeScript (https://github.com/woocommerce/woocommerce-blocks/pull/4088) 2021-04-23 10:15:17 +01:00
phpcs.xml Fix incorrect usage of static method in Stripe payment method integration (https://github.com/woocommerce/woocommerce-blocks/pull/3400) 2020-11-14 11:04:48 -05:00
phpunit.xml.dist Move main controllers from assets/php to src (https://github.com/woocommerce/woocommerce-blocks/pull/655) 2019-07-01 13:52:44 +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 bring back changes from 4.9.1 2021-04-18 16:54:43 +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 Fix Circular Dependencies During Builds (https://github.com/woocommerce/woocommerce-blocks/pull/4025) 2021-04-08 13:31:12 +01:00
tsconfig.json Google Analytics Integration - Action Hooks and initial tracking events (https://github.com/woocommerce/woocommerce-blocks/pull/3953) 2021-03-16 11:40:22 +00:00
webpack.config.js Google Analytics Integration - Action Hooks and initial tracking events (https://github.com/woocommerce/woocommerce-blocks/pull/3953) 2021-03-16 11:40:22 +00:00
woocommerce-gutenberg-products-block.php Release: 4.9.1 (https://github.com/woocommerce/woocommerce-blocks/pull/4058) 2021-04-18 15:56:34 +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

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 "L2" strategy for version support. What this means is that the plugin will support the most recent two minor versions of WordPress, and the most recent two minor versions of WooCommerce core at the time of a release.

That means if the latest version of WooCommerce is 4.3 at the time of a release, then our minimum version requirements for WooCommerce core would be 4.1+.

We recommend you always keep WordPress and WooCommerce core up to date in order to ensure your store is running with the most recent fixes and enhancements to help your store be successful.

  1. Make sure you have WordPress 5.4+ and WooCommerce 4.3+
  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 WordPress 5.4+ and WooCommerce 4.3+
  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.