Commit Graph

21178 Commits

Author SHA1 Message Date
Adrian Moldovan 7b0f9457cf
[e2e tests] Add Allure reporter to Blocks e2e tests (#49228) 2024-07-08 15:02:31 +03:00
Naman Malhotra 8f98a2a057
Drop Select2 in Backwards compatable manner (#48731)
* init

* added changelog

* Review - point select2 in admin assets
2024-07-08 18:47:59 +07:00
Veljko V 1a94d68d2b
Fix flaky e2e test merchant filling regular price in inventory tab (#49226) 2024-07-08 13:10:40 +03:00
Alba Rincón b83eed8869
CYS - Fix patterns spacing (#49196)
* Fix spacing in patterns

* Fix spacing

* Add changefile(s) from automation for the following project(s): woocommerce

* Remove metadata

* Remove metadata

* Fix test

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-08 10:52:35 +02:00
Veljko V 05c47d8566
Fix flaky filling SKU and verifying CYS footer e2e tests (#49191) 2024-07-08 11:24:02 +03:00
Alba Rincón c763bdf695
CYS - Filter out patterns with external dependencies (#48618)
* Filter out patterns with external dependencies

* Add changefile(s) from automation for the following project(s): woocommerce

* Fix test

* Remove excluding patterns by id

* Bring back url

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-08 08:53:06 +02:00
Vladimir Reznichenko 68532ce433
CI: update linting jobs to skip build step (#49193)
In this PR, we introduce changes to linting and PHPUnit jobs in order to speed them up: skip or minimize the build step.
2024-07-08 08:39:39 +02:00
Eason 6d17019827
Fix the inconsistent formatting of the numeric columns in the Leaderboards on the Analytics > Dashboard page (#49097)
* Add the `format` property to the items of the `rows` array in Analytics' Leaderboards API response to indicate how it's formatted.

* Make the `Leaderboard` component within Analytics aware of the currency context and format the numeric columns accordingly.

* Avoid a warning from the test of `Leaderboard` component when running JS tests.

File: client/analytics/components/leaderboard/test/index.js
Ref: https://github.com/woocommerce/woocommerce/blob/9.0.2/packages/js/components/src/pagination/pagination.tsx#L44

* Apply better practice to the test of `Leaderboard` component.

File: client/analytics/components/leaderboard/test/index.js

* Add changelog.

* Make the `Leaderboard` component not create a new function for every `row` rendering.

Address: https://github.com/woocommerce/woocommerce/pull/49097#discussion_r1667009910
2024-07-08 11:15:12 +08:00
Nathan Silveira e62f28b3ca
Allow selecting categories through keyboard (#49049)
* Remove portal and use inline popup

* Allow selecting existing values through , or ENTER

* Add help to taxonomy block

* Provide help attribute to taxonomy block

* Add changelogs

* Remove help text

* Add help text and a11y instructions

* Try to fix unit test

* Add changelog

* Fix E2E test

* Allow navigating up from first list item into the input

* Add scenario for single selection as well
2024-07-05 14:20:28 -03:00
Adrian Moldovan 178466aa06
[e2e tests] Tweak Playwright config - retries and test artifacts (#49148) 2024-07-05 15:38:49 +02:00
Luigi Teschio 615513144d
CYS: Fix color button (#49181)
* CYS: Fix color button

* Add colors to the just arrived full hero button

* Add changefile(s) from automation for the following project(s): woocommerce

* fix just arrived full hero on sidebar

* improving name

* reorganize code

* Fix lint errors

---------

Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-07-05 12:41:27 +00:00
Manish Menaria 2d6448d9b4
Product Collection: Fix alignment of the first item in Grid layout for WP 6.6 (#49096)
* Remove `__experimentalLayout` from Product Template block

This commit removes `__experimentalLayout` from Product Template block. This is because we don't want to use `layout` from Gutenberg for now. This change fixes the alignment of the first item in Grid layout.

* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce

* Fix linting errors in SCSS file

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-05 17:24:27 +05:30
Manish Menaria fa11141726
Expose `__experimentalRegisterProductCollection` in @woocommerce/blocks-registry Package (#48141)
* Expose registerProductCollection in @woocommerce/blocks-registry Package

This commit exposes the `registerProductCollection` function as part of the `@woocommerce/blocks-registry` package. This enhancement facilitates the registration of new product collections by 3PDs, promoting better modularity and extensibility within the WooCommerce Blocks ecosystem.

Changes include:
- Migration of `register-product-collection.tsx` to `packages/checkout/blocks-registry`.
- Export `registerProductCollection` from `@woocommerce/blocks-registry/index.ts`.
- Updated related imports and references to the new path.

This update enables 3PDs to register product collections more seamlessly, enhancing the extensibility of Product Collection block.

* Replace @woocommerce/blocks-checkout with @woocommerce/blocks-registry

* Add __experimental prefix

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Improve registerproductcollection for 3pds

* Set isDefault value to false

* Don't export all the types

* Update changelog

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Add plugin to test __experimentalRegisterProductCollection

* Add E2E tests

* Fix Lint errors

* Improve E2E tests for __experimentalRegisterProductCollection

- Reduced preview timeout from 2000ms to 1000ms.
- Expanded E2E tests to cover new attributes and preview functionalities.

* Refactor code to improve readability and maintainability

- Added a warning comment to indicate that `__experimentalRegisterProductCollection` is an experimental API.
- Refactored variable names and imports in `register-product-collection.tsx` and `index.tsx` for clarity.
- Simplified and reorganized type definitions and imports in `types.ts` and `utils.tsx`.
- Renamed function in `register-product-collection-tester.php` for consistency.

* E2E: Also test the Frontend

* Use alias for import statement

* Don't pass isActive to registerProductCollection

Now it's handle by registerProductCollection itself.

* Update registerproductcollection API structure

Refactored the product collection block to enhance attribute management and ensure consistency in query defaults. This change includes:
- Importing `DEFAULT_QUERY` from constants and using it to set default query attributes.
- Removing `DEFAULT_ATTRIBUTES` from specific collections and directly defining required attributes.
- Ensuring `postType` and `isProductCollectionBlock` are set to default values in the query object.
- Setting `inherit` attribute to `false` by default in all collections.

* Hide inherit control in collections

Ensure the "inherit" control is always hidden, as collections should not be able to change this attribute. This includes:
- Adding `CoreFilterNames.INHERIT` to the `hideControls` set in `register-product-collection.tsx`.
- Adjusting the `hideControls` attribute in individual collection files to remove redundant hiding of the `INHERIT` control.

* Fix: Filters not showing in inspector controls

* Set inherit to false for all collections

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Product Collection: Add validation for `__experimentalRegisterProductCollection` arguments (#48513)

* Add validation for `__experimentalRegisterProductCollection` arguments

Introduced comprehensive validation for the `ProductCollectionConfig` object in `__experimentalRegisterProductCollection` to ensure correct data types and values, enhancing error handling and robustness.

- Added a new function `isValidProductCollectionConfig` to perform various checks on the `ProductCollectionConfig` object.
- Validates properties such as `name`, `title`, `description`, `category`, `keywords`, `icon`, `isDefault`, `innerBlocks`, `example`, `scope`, `isActive`, `attributes`, and `preview`.
- Ensures correct data types and provides detailed console error messages for invalid configurations.
- Updated `__experimentalRegisterProductCollection` to use the validation function before proceeding with the registration process.

**Impact**
- Improves stability and prevents invalid configurations from causing runtime errors.
- Provides clearer error messages for developers, aiding in quicker debugging and development.

* Fix typo

* Refactor: Replace console.error with console.warn

Updated the error logging in the isValidProductCollectionConfig function to use console.warn instead of console.error for invalid configuration properties. This address the feedback from the PR review.

- Replaced console.error with console.warn for various validation checks in isValidProductCollectionConfig.
- Removed redundant return statements after console.warn calls.
- Improved logging messages to better inform about invalid configuration properties without treating them as critical errors.
- Simplified the logic in __experimentalRegisterProductCollection by combining query and attribute properties and ensuring defaults are set properly.

* Refactor: Rename isValidProductCollectionConfig to isValidCollectionConfig

Updated the function name from isValidProductCollectionConfig to isValidCollectionConfig for better clarity and consistency. Also, renamed related variables for improved readability.

* Add validation for name property

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Title is required for new collection

* Update comments

* Fix E2E tests

* Address PR feedback

---------

Co-authored-by: github-actions <github-actions@github.com>

* Add README file for __experimentalRegisterProductCollection

* Add screenshots in README file

* Try to fix lint issue

* Docs: add example for collection with inner blocks

Enhanced the documentation for `__experimentalRegisterProductCollection` to include an example demonstrating how to define a collection with inner blocks. This example shows how to create a custom collection with nested blocks, including a heading and product elements, providing a clear guide for developers.

New content added:
- Example 4: Collection with inner blocks
- Sample code for defining a collection with inner blocks
- Tips and links to further resources on inner blocks and core collection definitions

* Fix Lint errors

* Address PR feedback

* Reduce number of JS files on /shop page

**Problem:** There was increase in number of JS files on /shop page after exposing `registerProductCollection` function in `@woocommerce/blocks-registry` package. This package is loaded on the frontend. For example, previously 45 JS files were loaded on /shop page but now 55 JS files are loaded on /shop page.

**Solution:**
1. After a bit of debugging I found out that constant file which we are importing i.e. `plugins/woocommerce-blocks/assets/js/blocks/product-collection/constants.ts` contain some heavy dependencies & it's not pure. Therefore, I decided to split this file into two files. I moved all the constants that are used in `registerProductCollection` function to a new file i.e. `plugins/woocommerce-blocks/assets/js/blocks/product-collection/constants-register-product-collection.ts`. This way, we don't need to load all the constants on the frontend i.e. /shop page.
  - This reduced 4 JS files i.e. 51 JS files are loaded on /shop page.

2. After some more investigation, I found out that importing `registerBlockVariation` function is increasing number of JS files on Frontend. Therefore, I decided to use global `wp` object to call `registerBlockVariation` function. This way, we don't need to import it. This reduced last 6 files i.e. 45 JS files are loaded on /shop page.

This way, I was able to reduce number of JS files on /shop page from 55 to 45, which is same as before this PR.

* Refactor: product collection constants

- Moved constants from `constants-register-product-collection.ts` to `constants.ts`
- Deleted `constants-register-product-collection.ts`
- Updated import paths in relevant files to reflect the changes
- Moved utility functions to `utils.ts`

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-05 16:55:35 +05:30
Chris Lilitsas d3df046f97
[Product Collection] Parse front-end context (#44145)
* Parse global context

* Refactor the util to only parse global context, provide the location context to collection children

* cleanup

* Cleanup

* Add changelog

* Make linters happy

* provide context to each inner block recursively

* Fix linters

* Remove debug

* Update plugins/woocommerce/src/Blocks/BlockTypes/ProductCollection.php

Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>

* Rename the provider method

* Fix typo on cart item products

* Use the query context instead

* Lint

* Lint again

* Minor change on docs

* Polish

* Cleanup

---------

Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
2024-07-05 13:49:24 +03:00
Mike Jolley be849473e0
Checkout: Update legacy status handling (#48788)
* Allow same status as API expects

* changelog
2024-07-05 11:42:38 +01:00
Luigi Teschio 9fc207b1a6
CYS: fix: Assembler follows admin color schema (#49159)
* CYS: fix: Assembler follows admin color schema

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-05 12:20:49 +02:00
Vladimir Reznichenko 1675c63bba
Monorepo: tweak CodeSniffer rules conflicting with strict types declaration requirements (#49183) 2024-07-05 11:46:30 +02:00
Alba Rincón dae47a6a5f
CYS - Remove non-default patterns and register them from the PTK and update margins (#49101)
* Remove not default patterns

* Add margins

* Include woocommerce patterns from PTK

* Add changefile(s) from automation for the following project(s): woocommerce

* Bring back some patterns

* Bring back footer and headers

* Update snapshots after updating margins

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-05 08:55:05 +02:00
Alba Rincón c4d160bf21
CYS - Add missing patterns to their categories for the assembler (#49154)
* Add the Featured Category Cover Image to Intro category

* Add missing patterns to their categories for the assembler

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-05 08:54:23 +02:00
Chi-Hsuan Huang e59f4e406d
Fix the Coming Soon Site Page heading color is white after completing the CYS task (#49129)
* Fix site coming soon page heading color

* Add changelog
2024-07-05 10:51:30 +08:00
Joshua T Flowers 1c8698c684
Prevent product editor styles loading on non wc-admin pages (#49170)
* Only load product editor styles on WC admin pages

* Manually load interface styles to exclude fullscreen styles

* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor, woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-04 14:17:14 -07:00
Alba Rincón c0d102a93c
CYS - Replace customer account block icon in headers used in the assembler (#49133)
* Replace customer account block icon in headers used in the assembler

* Add changefile(s) from automation for the following project(s): woocommerce

* Change icons style for injected blocks

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-04 18:59:52 +02:00
Veljko V 59a1e5394b
Fix flaky connect to Woo e2e test (#48926) 2024-07-04 18:21:15 +03:00
Mik cf7fc7b2a9
Fix deprecated get_option notice when viewing Analytics > Orders (#49092)
* Add option for orders_report_date_tour_shown to allow list

* Disable the orders report date tour in E2E test
2024-07-04 16:09:58 +01:00
Jorge A. Torres 04fa888b2f
Fix toggling of permission details in downloadable product permissions metabox (order screen) (#49022)
* Work around WP's handlediv functionality in download permissions metabox

* Add changelog
2024-07-04 08:06:45 -07:00
Alba Rincón a712e54005
CYS - Include the dotcom reviews patterns (#49140)
* Include the dotcom reviews patterns

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-04 16:51:59 +02:00
Alba Rincón c2973c3fe1
CYS - Make some titles bold on CYS patterns (#49151)
* Make some titles bold on cys patterns

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-04 16:05:09 +02:00
Luigi Teschio d95b43a6f5
CYS: Fix Shuffle feature logic (#49153)
* CYS: fix shuffle feature

* improve types and add comment

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-04 15:46:18 +02:00
Roy Ho 780f27256f
Remove IE11 specific styles (#49027)
* Remove IE11 specific styles

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Remove unused mixin

* Remove additional IE/edge styles

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-04 05:28:26 -07:00
piinthecloud 025b5f1a8f
add front matter and cleanup docs in V1 migration for docs site (#49010)
* add front matter and cleanup docs in V1 migration for docs site

* add changelog entry and fix remaining HTML tables to markdown

* bypass linter rules

* update rule

* rever rule change for incorrect file

* rever rule change for incorrect file

* lint filtering-payment-methods.md rule

* address comments

* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/hooks/migrated-hooks.md

Co-authored-by: Niels Lange <info@nielslange.de>

* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/hooks/migrated-hooks.md

Co-authored-by: Niels Lange <info@nielslange.de>

* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-payment-methods/payment-method-integration.md

Co-authored-by: Niels Lange <info@nielslange.de>

* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-payment-methods/filtering-payment-methods.md

Co-authored-by: Niels Lange <info@nielslange.de>

* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/available-filters/totals-footer-item.md

Co-authored-by: Niels Lange <info@nielslange.de>

* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/available-filters/checkout-and-place-order-button.md

Co-authored-by: Niels Lange <info@nielslange.de>

* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/available-filters/additional-cart-checkout-inner-block-types.md

Co-authored-by: Niels Lange <info@nielslange.de>

* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/available-filters/cart-line-items.md

Co-authored-by: Niels Lange <info@nielslange.de>

* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/additional-checkout-fields.md

Co-authored-by: Niels Lange <info@nielslange.de>

* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/how-checkout-processes-an-order.md

Co-authored-by: Niels Lange <info@nielslange.de>

---------

Co-authored-by: Niels Lange <info@nielslange.de>
2024-07-04 13:54:43 +02:00
Veljko V c9f8480a3f
Fix flaky filling SKU field in e2e test (#49134) 2024-07-04 14:00:14 +03:00
Amit Raj e562ed4ede
Add product count visibility option to mini cart block (#48545) 2024-07-04 13:52:01 +03:00
github-actions[bot] 41314eccb7
Delete changelog files based on PR 49113 (#49138)
Delete changelog files for 49113

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2024-07-04 10:54:43 +01:00
Niels Lange 0089b2359c
Use `createRoot().render()` instead of `render()` (#48858)
* Use createRoot().render() instead of render()

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Remove “ReactDOM.render is no longer supported” checks

* Add “ReactDOM.render is no longer supported” checks again

* Adjust JS unit tests

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-04 11:36:38 +02:00
Luigi Teschio c8e4938548
CYS: fix not template set correctly (#49113)
* CYS: fix not template set correctly

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-04 09:35:16 +00:00
Adrian Moldovan 62c74d0ed4
[e2e tests] Add support for external sites in CI (#49017) 2024-07-04 12:15:43 +03:00
RJ e61313b33d
Use createRoot in classic product editor cases (#48834)
mothra

mothra

mothra
2024-07-04 05:38:19 -03:00
Vladimir Reznichenko 7959060850
Monorepo: disable autoloading optimization by default (take 2) (#48980)
This PR is the second attempt to speed up monorepo installation by removing autoloading optimization setting from the configuration and performing the optimization where it is appropriate (composer post-install hooks and when building releases).

In the installation context, the composer post-install hook will execute a background task to dump the optimized autoloading, while the installation process completes other tasks.
2024-07-04 10:12:52 +02:00
Karol Manijak ab646ace8e
Product Collection: "Sync with current query" should only apear in archive context and not other places (#48917)
* Show Sync with current query option only in archive templates

* Add changelog

* Add e2e test

* Remove unused variable
2024-07-04 09:13:36 +02:00
Vladimir Reznichenko f8c95a8db8
CI: caching tune (part one - relocate playwright caching) (#49081)
In this PR we ar relocating playwright downloads caching into the monorepo action (behind input parameter). That consolidates monorepo-related caching and also reduces the time fetching the cache action in external workflows.
2024-07-04 06:55:24 +02:00
Paul Sealock 7aa42a6d76
LYS: Fix missing CSS (#49075) 2024-07-04 11:10:12 +12:00
github-actions[bot] 0b00aec60a
Delete changelog files based on PR 49104 (#49115)
Delete changelog files for 49104

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2024-07-03 13:46:43 -04:00
Adrian Duffell 9af58923de
Place Printful behind a feature flag (#49104)
* Add printful feature flag

* Place printful placement behind feature flag

* Add changelog
2024-07-03 17:01:37 +00:00
Adrian Duffell b36083403d
Ensure WooPayments is the only enabled gateway when offering to delete test orders (#49032)
* Add a check for woopayments is the only gateway

* Try fix TS error

* Add changelog

* Fix lint issues
2024-07-03 23:22:27 +08:00
Thomas Roberts 20e7128775
Update WC blocks wp-env to use WP 6.6 RC1 (#49037)
Co-authored-by: github-actions <github-actions@github.com>
2024-07-03 16:09:43 +01:00
Nathan Silveira 85cedf2d2b
Add unique_id field to product (#47364)
* Add unique_id field to product

* Fix documentation

* Fix wrong comment

* Update description

* Add unique_id for variations

* Update lint

* Update tests

* Add changelog

* Update variations unit test

* Add unique_id to wc_product_meta_lookup

* Add unique_id methods to cpt interface

* Add new methods for unique_id and add it to lookup table

* Add unique_id functions to product functions

* Throw error when unique_id is duplicated

* Handle error message for unique_id on the front-end

* Add changelog

* Rename unique_id description in REST API

* Fix lint issues

* Add unique_id tracking for product publish

* Rename to 'global_unique_id'

* Fix lint

* Fix lint

* Bump documentation version

* Update controller description of fields
2024-07-03 11:45:48 -03:00
Luigi Teschio 496df1b7a2
CYS: fix default intro pattern (#49082)
* CYS: fix default intro pattern

* Add changefile(s) from automation for the following project(s): woocommerce

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-03 16:17:25 +02:00
Manish Menaria ab826271d3
Update revert button text and description (#48717)
* Update Revert button text and description

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Add (Classic) as suffix instead of prefix

* Button text should be in center

* Fix: Button text isn't in center

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-03 19:31:50 +05:30
Jorge M bf6f3bbf41
Fix fatal error in order reports when parent order doesn't exist for a refund. (#49006)
* Check if parent order exists

* Add tests for order reports with orphaned refunds

* Add changefile(s) from automation for the following project(s): woocommerce

* Update phpdocs test

* Add method is_valid_order

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-03 13:34:16 +02:00
Mike Jolley 27c08f4a5e
Remove encoding type from verify email form (#48859)
* Remove enctype from verify email form

* Changelog
2024-07-03 12:32:30 +01:00
Albert Juhé Lluveras 1687d462fb
Initialize BlockTemplatesController for block themes only (#48905)
* Move `check_should_use_blockified_product_grid_templates` to `wc-template-functions.php`

* add changelog entry

* alias Blocks/Options as BlocksOptions

* Init `BlockTemplatesController` for block themes only

* Remove the `wc_current_theme_is_fse_theme()` check from BTC

* Streamline the option update logic a tad

* Revert "Streamline the option update logic a tad"

This reverts commit 54a965d9784df253f82533991e03c1112fd386ef.

* init BTC for themes that support block template parts

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>

* init BTC for themes that support block template parts, p.2

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>

* move the check to a new OptionsManager class

* make types consistent

* add classic theme with block template parts support

* tmp: add logs for debugging

* Initialize BlockTemplatesController on init

* Remove debugging code

* Prevent duplicate template parts appearing in the Site Editor in classic themes that support template parts

* Update e2e tests for classic themes that support template parts

* Fix Checkout header not being rendered

* Fix PHP tests

* Simplify WC_BLOCK_USE_BLOCKIFIED_PRODUCT_GRID_BLOCK_AS_TEMPLATE logic

* Rename OptionsManager class to TemplateOptions

* Change format of inline comment

* Use wc()->is_store_api_request()

* Update plugins/woocommerce/src/Blocks/TemplateOptions.php

Co-authored-by: Tom Cafferkey <tjcafferkey@gmail.com>

* Update testing theme slugs

* Add strict_types to TemplateOptions file

* Refactor check_should_use_blockified_product_grid_templates()

* Don't update 'wc_blocks_use_blockified_product_grid_block_as_template' when switching between block themes

* Add extra unit test to make sure the option is not updated when switching between block themes

* Update strict_types format

* Remove unnecessary theme switch after tests finish running

* Replace .toHaveCount( 0 ) with .toBeHidden() in several tests

* Create a TestUtils to abstract logic to open Mini-Cart block

* Remove unnecessary import

* Replace .toHaveCount( 0 ) with .toBeHidden() in several tests (II)

---------

Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Tom Cafferkey <tjcafferkey@gmail.com>
2024-07-03 11:31:41 +02:00
Bart Kalisz f8011713a0
Fix e2e-guidelines.md syntax (#49018) 2024-07-03 11:01:14 +02:00
Adrian Moldovan 36c28b6ad2
Move buildkite-test-collector to devDependencies (#49051) 2024-07-03 11:31:40 +03:00
Luigi Teschio 9eaa73d20d
CYS: improve copy no blocks placeholder (#49030)
* CYS: improve copy no blocks placeholder

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-03 09:25:33 +02:00
Luigi Teschio a511ce77e9
CYS: fix toolbar position after the site preview resizes (#49028)
* CYS: fix toolbar position

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-03 09:25:23 +02:00
Luigi Teschio 7b3434c8b5
CYS: Fix pattern rendering issues (#49041)
* CYS: Fix pattern rendering issues

* Add changefile(s) from automation for the following project(s): woocommerce

* fix import

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-03 09:25:12 +02:00
Prahesa Kusuma Setia 60c4807e4b
Update WC Tasks regarding wccom connection (#48128)
* update task manage wc marketplace

* add browse marketplace task

* remove wccom connection note inbox

* add changelog

* fix lint

* update doc comment

* update the ordering of inbox

* delete the store connect task

* rename to extend store

* update title to "Enhance your store with extensions"

* update spec
2024-07-03 13:31:47 +07:00
Adrian Moldovan 37280df9ea
Add daily checks for core e2e with PHP 8.1, WP latest-1 and HPOS disabled (#48929) 2024-07-02 15:37:19 -03:00
Thomas Roberts a032d4ff1c
Allow blocks with parents in the `woocommerce` namespace to be rendered as inner blocks (#48543) 2024-07-02 18:24:02 +01:00
Daniel W. Robert 2241a4f199
Update Fiverr CTA to Reflect the Latest Copy in Figma (#48987)
* Update Fiverr CTA to reflect latest update in Figma.

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-02 12:21:44 -04:00
Vlad Olaru b5cf9826d7
Update WCPay Tracks events props (#48901)
* Add path and source props to incentive CTA clicked Tracks event

* Minor inline docs fixes

* Fix wording mistake

* Add from param to Payments settings CTA URL

* Add from param to incentive CTA URL

* refact: Clearer logic for incentive page tracking

* Add changelog

* Fix incentives page tests
2024-07-02 18:45:27 +03:00
Luigi Teschio d4438a8833
CYS: Add default patterns (#48839)
* remove not necessary patterns

* use always template1 for AI flow

* show default patterns homepage

* Add changefile(s) from automation for the following project(s): woocommerce

* remove not used images

* restore changes

* fix e2e test

* fix e2e test

* restore necessary patterns

* add necessary patterns

* add default patterns

* add default pattern

* update tests

* fix logic

* rename images

* Add changefile(s) from automation for the following project(s): woocommerce

* restore deleted patterns

* exclude tt4 patterns

* update image

* update default intro pattern

* not use i18n function

* fix how patterns label are translated

* order patterns in the sidebar

* fix unit test

* simplify function

* Fetch patterns from the private dotcom patterns

* Add changefile(s) from automation for the following project(s): woocommerce

* exclude some default patterns

* fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
2024-07-02 14:39:49 +00:00
Gabriel Manussakis e086ba7d32
[Accessibility] Add required indicator to form login (#48743)
* Add accessibility attributes to form login

* Add accessibility attributes to lost password form

* Add accessibility attributes to reset password form

* Bump form login templates

* Add accessibility attributes to register form

* Update login forms with aria-required attribute

* Hide asterisk for screen readers in the register form

* Add changelog file
2024-07-02 16:37:33 +02:00
Bhupesh Mishra 3d37c92c7c
Fix for tags overlapping divider line issue in "Filter by product category" (#48756)
* Fix for tags overlapping divider line issue in "Filter by product category"

Issue fixed where tags are overlapping divider line in "Filter by product category".

* Fix for tags overlapping divider line issue in "Filter by product category"

Issue fixed where tags are overlapping divider line in "Filter by product category".

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-02 06:33:52 -07:00
Alba Rincón 72c1084608
CYS - Fetch patterns from the private dotcom patterns category (#49007)
* Fetch patterns from the private dotcom patterns

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-02 15:18:26 +02:00
Alba Rincón e842d4bc26
[CYS] Avoid the intro cards to get smaller on large screens (#48983)
* Avoid the intro cards to get smaller on large screens

* Add changefile(s) from automation for the following project(s): woocommerce

* Add flex wrap

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-02 15:06:58 +02:00
Vladimir Reznichenko 12ec2b757d
CI: bug-fix for linting missing strict types directive in new php files. (#49015)
CI: buffix for linting missing strict types directive.
2024-07-02 14:48:33 +02:00
Luigi Teschio 130edc9860
CYS: open Intro panel when user clicks on Design your homepage (#49005)
* CYS: open Intro panel when user clicks on Design your homepage

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-02 13:56:34 +02:00
Mike Jolley dabc29c04e
Enhancement: Update account creation settings wording (#48556)
* Reword and reorganise existing account settings

* Disable account creation options if toggled off

* Toggle disabled state of related options

* Update settings crud tests

* changelog

* Hide based on subscriptions checkbox also
2024-07-02 12:37:15 +01:00
Damián Suárez fae23f0906
Product Editor: disable Add button when no terms or options when creating variations (#48928)
* fix doc. improve doc

* disabe `Add` button when not terms nor options

* variant="primary" > isPrimary

* move helpers to utils file. improve jsdoc

* add tests for hasTermsOrOptions helper

* add isAttributeFilledOut unit tests

* changelog

* allow any type in unit tests

* show a toolip with not possible to add attributes

* fix wrong inline code comment

* expect the Add button is initially disabled

* check the `Add attributes` button is enabled

* changelog

* remove obvios jsdoc

* check all terms are accepted

* minor changes

* update tests

* remove console.log to dev purpose

* improve E2E testing remviing attr row
2024-07-02 08:30:24 -03:00
Luigi Teschio fe4141f663
CYS: Remove iframe animation (#48941)
* CYS: Remove animation

* Add changefile(s) from automation for the following project(s): woocommerce

* lint CSS

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-02 08:08:38 +00:00
Luigi Teschio fb1c2b9936
CYS: Revisit sidebar layout (#48803)
* WIP

* improve layout

* improve CSS

* fix import

* Add changefile(s) from automation for the following project(s): woocommerce

* lint scss

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-02 10:03:56 +02:00
Alba Rincón 4dcaca793f
Add a new icon style to the Customer Account block (#48979)
* Add a new icon style to the Customer Account block

* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce

* Fix lint errors

* Improve svg margins

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-02 09:34:59 +02:00
github-actions[bot] fbbf452243
Delete changelog files based on PR 48664 (#49000)
Delete changelog files for 48664

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2024-07-02 15:07:06 +08:00
Alexandre Lara 504799bcce
[Experimental] Product Filters Redesign > Filters: Implement Dynamic Block Title and Icon (#48638)
* Modify Product Filters block to use block variations

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Add dynamic blocks icon and title

* Make Attribute Filter block title dynamic

* Add E2E tests for the Product Filters block

* Remove unnecessary block attribute

* Improve clarity of the comment text

* Add new icons for individual filters

* Dynamically set the title and heading of the block based on the selected attribute

* Add E2E test to check for block title and heading change on selecting an attribute

* Replace custom block variation type by BlockVariation type from @wordpress/blocks

* Replace variation `isActive` function by an array of strings

* Fix heading for each individual filter

* Add a default attribute name when there is no attributes registered in the store

* Fix i18n strings

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-01 17:46:00 -03:00
Naman Malhotra ddc4bddc17
Fix failing test due to concurrent product creation (#48989)
* Fix test due to concurrent product creation

* Add changefile(s) from automation for the following project(s): woocommerce
2024-07-02 02:49:18 +07:00
Veljko V 97f8f863d1
Improve account email receiving e2e test to fix flakiness (#48957)
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
2024-07-01 16:14:41 +00:00
Damián Suárez 603e774188
E2E: remove UI check when creating attribute global terms (#48934)
* do not wait for the `is-validating` state

* changelog

* not only this test
2024-07-01 18:49:51 +03:00
Albert Juhé Lluveras f85a7ba3d4
Avoid Product Search Results block template to fall back to the Product Catalog template from the theme (#48887)
* Avoid Product Search Results block template to fall back to the Product Catalog template from the theme

* Add changelog file
2024-07-01 16:20:43 +02:00
Vladimir Reznichenko f1b974a910
Revert "Monorepo: don't optimize composer autoloading by default. (#48971)" (#48982)
This reverts commit 76b1bd4ae7.
2024-07-01 15:13:25 +02:00
Vladimir Reznichenko e2ce65d02d
Tooling: lint new php files for strict types directive (take 2). (#48943)
This PRs is take two on expanding new php-files linting to validate strict types directive.
2024-07-01 13:58:13 +02:00
Luigi Teschio d709d53d9a
CYS: make the entire shuffle section clickable (#48889)
* CYS: make the entire shuffle section clickable

* Add changefile(s) from automation for the following project(s): woocommerce

* fix import

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-01 13:56:41 +02:00
Vladimir Reznichenko 76b1bd4ae7
Monorepo: don't optimize composer autoloading by default. (#48971)
This PR drops composer autoloader optimization for the WooCommerce plugin to speed up the build process. The autoloader still gets optimized in `plugins/woocommerce/bin/build-zip.sh` file.
2024-07-01 13:55:36 +02:00
Mike Jolley 4ff97e4915
Enhancement: Show account created notice on order confirmation page (#48673)
* Add notice on confirmation page for new accounts

* Reset should remove nag

* Changelog
2024-07-01 12:41:29 +01:00
github-actions[bot] 6e36d92a59
Delete changelog files based on PR 48778 (#48977)
Delete changelog files for 48778

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2024-07-01 17:35:25 +08:00
Luigi Teschio d4128118c1
CYS: no highlight the pattern when it is added (#48802)
* CYS: Improve Block Toolbar logic

* CYS: no highlight pattern when it is added

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-01 11:21:06 +02:00
github-actions[bot] 5b6797dc22
Delete changelog files based on PR 48863 (#48974)
Delete changelog files for 48863

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2024-07-01 17:14:29 +08:00
Corey McKrill 2dac6fb9e4
SSR: Update labels for "API enabled" item (#48878) 2024-06-28 16:20:54 +02:00
Vladimir Reznichenko 6b121e2f34
CI: caching tweaks in GitHub actions (#48865)
* Tooling: cache pnp deps

* Tooling: try fixing cache errors

* Tooling: try to parallelize js builds a bit

* Tooling: try to parallelize js builds a bit

* Tooling: try to parallelize js builds a bit

* Tooling: try to parallelize js builds a bit

* Tooling: try to parallelize js builds a bit

* Tooling: try to parallelize js builds a bit

* Tooling: try to parallelize js builds a bit

* Tooling: try to parallelize js builds a bit

* Tooling: try to parallelize js builds a bit

* Tooling: added pre-build steps to solve concurrency issues

* Tooling: limit workers

* Tooling: revert to original build command

* Tooling: playwright related tweaks

* Tooling: minor tweaks.

* Tooling: fix caching path.

* Tooling: trigger php builds to test deps caching.

* Tooling: trigger php builds to test deps caching.

* Tooling: lock caching to monorepo setup, so it doesn't slow down build steps.

* Tooling: lock Playwright cache to build, as build is pre-requisite for running tests.

* Tooling: added caching build-folders.

* Tooling: added caching build-folders.

* Tooling: added caching build-folders.

* Revert "Tooling: added caching build-folders."

This reverts commit c57b9dff13.

* Tooling: added caching build-folders.

* Tooling: cleanup sweep.

* Tooling: cleanup sweep.

* Tooling: added a changelog entry.

* Tooling: cleanup.

* Tooling: try speedup live branches build.

* Tooling: try speedup live branches build.

* Tooling: cleanup.

* Tooling: try speedup live branches build.

* Tooling: try speedup live branches build.
2024-06-28 14:50:32 +01:00
Paulo Arromba 67de31b823
Fixed "woocommerce_new_order" triggering on checkout blocks page visit (#47422)
* Prevent "woocommerce_new_order" from being triggered on orders with "checkout-draft" status

* Add changefile(s) from automation for the following project(s): woocommerce

* Prevent "woocommerce_new_order" from being triggered on orders with "checkout-draft" status

* Add changefile(s) from automation for the following project(s): woocommerce

* Added ´checkout-draft´ to the list of previous status triggering a new order action for order creation

* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce-blocks, woocommerce

* Add changefile(s) from automation for the following project(s): woocommerce

* Added "draft" status on Order creation in HPOS to prevent triggering the new order hook

* Do not fire "woocommerce_new_order" on order creation in CPT that is still in one of the draft statuses.

* Fire "woocommerce_new_order" on order status change from one of the draft statuses, on par with CPT logic

* Removed unnecessary line (duplicate of L2607).

* Updated changelog.

* Add changefile(s) from automation for the following project(s): woocommerce

* Add changefile(s) from automation for the following project(s): woocommerce

* Updated comment

* Move data fetch to right before it is needed.

* Reverted moved line, as the $previous_state needs to be get first thing.

* Add changefile(s) from automation for the following project(s): woocommerce

* Add changefile(s) from automation for the following project(s): woocommerce

* Add changefile(s) from automation for the following project(s): woocommerce

* Changelog change

* Add changefile(s) from automation for the following project(s): woocommerce

* Changelog change

* Unit tests for creating draft orders without triggering new order hook

* Linting

* Unit tests update

* Removed unnecessary draft status from tests

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-28 18:30:40 +05:30
Jorge A. Torres d79b3b7f6a
Make product variations endpoints aware of parent product id provided (#48804)
* Prevent REST API access to variation product's that don't match the parent product_id

* Rework checks

* Update unit tests

* Add changelog

* Apply suggestions from code review

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

---------

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2024-06-28 13:58:28 +01:00
Thomas Roberts 06c98dee1b
Load mini cart scripts by default on touch-enabled (mobile) devices (#48769) 2024-06-28 13:23:32 +01:00
Naman Malhotra b5de9d101f
Ensuring only single product creation with unique SKU for concurrent requests (#47476)
* Ensuring product creation with unique sku for concurrent requests

* improved comments

* added changelog

* self review

* lint fixes

* self review

* Added condition if the sku is empty

* Modified tests to ensure we insert unique skus

* self review

* self review - fixed tests

* self review - fixed tests

* lint fixes

* lint fixes

* lint fixes

* lint fixes

* Feedback review

* self

* feeback review changes

* self review

* self review - selecting values from DUAL

* using options table instead of DUAL

* using options table instead of DUAL

* FINAL bugs in tests

* Executing SKU check only during REST requests

* Typeo

* Added logging

* Added comment

* Review feedback

* self review

* self review lint fix

* self review lint fix
2024-06-28 17:38:45 +05:30
Manish Menaria c70750b85a
Fix: Show preview label only when Product Collection block is selected (#48795)
* Fix: Show preview label only when Product Collection block is selected

Updated the `ProductCollectionContent` component to display the preview label only when the Product Collection block itself is selected. Previously, the preview label was shown when either the block or any of its inner blocks were selected.

Key Changes:
- Removed the `isSelectedOrInnerBlockSelected` constant and its logic.
- Updated the condition to use `props.isSelected` directly to determine if the block is selected.

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Update E2E tests

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-28 16:48:11 +05:30
Adrian Moldovan d3aa89baa7
Remove performance tests from PR checks (leave on push to trunk) (#48927) 2024-06-28 10:56:26 +00:00
Vladimir Reznichenko 032a7be469
Monorepo: minor tooling tweaks (zip compression level, composer invocations) (#48857)
* Tooling: composer related tweaks

* Tooling: composer related tweaks

* Tooling: composer related tweaks

* Tooling: composer related tweaks

* Tooling: composer related tweaks

* Tooling: better zip compression and faster build times

* Tooling: composer related tweaks

* Tooling: composer related tweaks

* Tooling: composer related tweaks

* Tooling: pnpm related tweaks

* Tooling: pnpm related tweaks

* Tooling: composer related tweaks

* Tooling: revert unnecessary change.

* Tooling: revert unnecessary change.

* Tooling: cleanup.

* Tooling: cleanup.

* Tooling: cleanup.

* Tooling: added a changelog entries.

* Tooling: cleanup.
2024-06-28 10:54:05 +01:00
Vladimir Reznichenko 7aa459fd84
Revert "CI: lint strict types directive for new files (#48779)" (#48921)
This reverts commit 66ae029f70.

Strict types directive linting introduced in https://github.com/woocommerce/woocommerce/pull/48779 has some flows to address before we can re-introduce it again.
2024-06-28 11:51:00 +02:00
Veljko V 8c7950b0c6
Fix flaky mini-cart and create-checkout-block e2e tests (#48916)
Fix flaky Gutenberg and Services tests
2024-06-28 10:49:29 +01:00
Luigi Teschio 6b366c2390
CYS: fix flickering effect (#48767)
* CYS: fix flickering effect

* Add changefile(s) from automation for the following project(s): woocommerce

* not use hook

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-28 11:38:27 +02:00
Veljko V 9a58378fec
Fix merchant settings general e2e test (#48907) 2024-06-28 10:10:33 +01:00