woocommerce/plugins/woocommerce-blocks/assets/js/base
Patricia Hillebrandt 5dd7713346
[Performance]: Replace `classnames` usage with `clsx` (#47760)
* Replace classnames with clsx within woocommerce-blocks.

* Undo unnecessary change to getClassnames const.

* Replace classnames with clsx within woocommerce-admin.

* Add changelog.

* Update the pnpm lock file

* Address lint.

* Address lint errors for the block-library.
2024-05-31 05:49:36 +02:00
..
components [Performance]: Replace `classnames` usage with `clsx` (#47760) 2024-05-31 05:49:36 +02:00
context [Performance]: Replace `classnames` usage with `clsx` (#47760) 2024-05-31 05:49:36 +02:00
hocs Upgrade webpack to version 5 (https://github.com/woocommerce/woocommerce-blocks/pull/8013) 2023-09-20 17:31:52 -03:00
hooks [Performance]: Replace `classnames` usage with `clsx` (#47760) 2024-05-31 05:49:36 +02:00
utils [Performance]: Replace `classnames` usage with `clsx` (#47760) 2024-05-31 05:49:36 +02:00
README.MD Update cart/checkout usage of the @wordpress/components Slot Fill (#47105) 2024-05-16 21:46:24 +12:00

README.MD

Base Components/Context/Hooks

Base components are designed to be used on the frontend of a store. Due to this, we need to avoid using heavy WordPress externals as dependencies (@wordpress/blocks, @wordpress/block-editor, etc).

Note 2 exceptions, we do use the Slot and Fill which we import and bundle from @wordpress/components. Otherwise you should avoid importing anything else from that package.

The other exception is the FormTokenField, which is used in deprecated blocks and use of that import is also deprecated.

If you need primitive/low-level components to build components in this library, please use Ariakit to build them. See Button for an example.

Check the built *.assets.php files to ensure extra dependencies aren't being added to the build.