* Fix the intro cards to match the designs
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Refactor to extract ExpressionField
* Move styling of expression and result prefixes to CSS
* Layout expression field with grid
* Add buttons to expression field
* Enter edit mode and cancel
* Hook up editing in textarea
* Allow existing expression to be edited
* Make expression param optional
* Use ExpressionField to add new expression
* Hide cancel button if no callback and add updateLabel prop
* Only show error when dirty
* Placeholder for expression field
* Format result in expression field
* Expression field textarea styling
* Justify expressions at bottom
* Prevent jumping when editing expression
* Revert changes on cancel
* Remove unused CSS
* Extract ExpressionTextArea
* Extract ExpressionResult
* Auto height textarea
* Hover styling for expression
* Result type tag
* Tweak styling
* Update padding in expression field
* Changelog
* Enable scrolling of result when editing expression
* Use smaller close icon
* Fix enabling of add/edit button
* Focus text area when clicking edit button
* Put cursor at the end of text area when focusing it
* Enter edit mode when clicking on text area
* Remove expression in list
* Don't style expressions list as a flex box
* Show full result while editing expression
* Render an aria-label for the initial mini cart html
* FIx mini-cart items not visible when zoomed in
* Add changelog
* Fix linting issues
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Kick the GH actions
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* delete duplicate changelog file
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Delete plugins/woocommerce/changelog/48384-fix-43639-zoom-mini-cart
---------
Co-authored-by: github-actions <github-actions@github.com>
* Improve the handling of the deprecated WC()->api property:
- When the legacy REST API plugin is not available, set the property
to an instance of RestApiUtil. This object has the get_endpoint_data
method that is still used by external plugins.
- Add a new legacy_rest_api_is_available method to WooCommerce class.
- Replace all instances of "is_null(WC()->api)" with (negated) calls to
the new legacy_rest_api_is_available method.
- Make WC()->api point to an instance of LegacyRestApiStub, instead of RestApiUtil.
---------
Co-authored-by: Naman Malhotra <naman03malhotra@gmail.com>
* add block parser and filters wip
* replace strings with template slugs and do some polish
* Refactor some parts to reused in wc_tracker
* Clean up and introduce snapshot data in the WC_Tracker
* Minor improvements
* Track only fse themes
* Consolidate collection names per context in the WC_Tracker snapshot
* Add changelog
* Separate taxonomy filter usage into specific category and tag usage
* Polish event params values
* Lint
* Remove wc-tracker to simplify the pr
* More cleanup
* Unify location names
* Handle stock status default value
* Renamed order confirm context
* Track price filter fix
* consider 3pd stock statuses in tracking
* Lint
* Consider the woocommerce_hide_out_of_stock_items option when tracking stock filter
* Cleanup empty lines
* Rename single product area flag
* Add docblock
* Avoid drafts and autosaves
* introduce a new class under tracking events
* Cleanup main controller
* Cleanup
* Add docblocks
* Stop recursive process up to 2 levels and cleanup
* Cleanup
* Ensure blocks exist
* Lint
* Normalize keys and values
* Track inherit and order-by usage
* Fix lint
* Add strict types
* add strict again
* Strict types
* Move strict types
* Remove codeblock
* Clean up
* Move directive on separate line
* Cleanup spaces
* Updated Collection Selection Buttons
Rather than using normal buttons we're going to replace these with cards
that we want to use instead.
* Reworked Product Catalog Creation
* Added Dropdown Collection Option
* Changelog
* Added Collection Dashicon Support
* Fixed Collection Change Modal
This is going to get replaced soon but it may as well look nicer than it
does right now.
* Type Fix
* Fixed `:focus` Hover Border
* Simplified Click Handler
* Style Fixes
* Gutenberg Style Fixes
* E2E Fixes
* Fixed E2E Test
* Added Dropdown Inserter E2E Support
* Logging
* Fixed Default Insertion Options
* Prevent Premature Rendering
* E2E Fix Attempt
* Lint Fix
* E2E Fix
* Fix test chaking if custom registred collections are available in the collection chooser
* Improve logic of choosing collection to cover both dropdown and placeholder
---------
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* Add initial install version to database
* Change update_option to add_option
* Add changelog
* Add since annotation
* Change initial_install_version option to initial_installed_version and also set autoload to false
* Add unit test for initial_installed_version
* Add unit test for initial_installed_version
* Make use of simple products exclusion filter regardless of included products
* Add unit test
* Add changefile(s) from automation for the following project(s): woocommerce
* Update reports-variations.php: Remove since comment
---------
Co-authored-by: github-actions <github-actions@github.com>
* Load controllers only when needed for performance.
* Classify controllers based on their namespace and load selectively.
* Enable private namespace along with store api.
* Only prevent route loading when request is known for back compat.
* Lint fixes.
* Remove duplicate inclusion.
* Correctly load feature controller.
* Add since tag.
* Add unit tests.
* CYS: Fix pattern preview border color when the user hovers the preview; fix pattern preview border color when the pattern is present in the site preview
* Remove the is-added class to avoid marking patterns that are already removed
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint errors
* Fix lint error
---------
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Link Payments task item to Overview if WooPayments is connected
* Link APMs task item to payments task page
* Add changelog for WooCommerce
* If WCPay is connected go to Payments Overview page
It shouldn't matter if the WCPay account is fully or partially onboarded.
* Fix determining if other gateways are enabled besides WCPay ones
Since UPE, WCPay registers multiple payment gateways, all prefixed with woocommerce_payments.
* Fix WooCommercePayments task kick-in logic
The WooCommercePayments task should supersede the general Payments task
when the general Payments task is not completed already and the store is in a
WooPayments supported country. We should not factor in if WooPayments is
just installed but not connected.
* Add changelog
* test: Fix Playwright tests for payment tasks
* test: Fix Playwright tests linting
* test: Further fixes to the Playwright payment setup task
Introduce a method to help ensure values that have been filtered are still of the expected type.
Fixes#47601
* Reduce potential for plugin conflict-driven fatal errors during (REST API) refund creation.
* Parcel up return-type-assurance logic into its own reusable helper.
* Generalize the type checking helper.
* Do not replace existing WP_Errors.
* Do not translate logging messages, per current best practices.
Ref: d2bde1368a/docs/extension-development/logging.md (best-practices)
* Add test describing the behaviour of `Types::ensure_instance_of()`.
Note that the exception error code originally specified in the Types class was also removed: if we want this, it needs to be an integer rather than a string. However, we don't have a methodology or centralized registry for handling numeric error codes at present.
* Use ternary shorthand, not null coalescing.
* Add `@since` tag for hook `woocommerce_rest_pre_insert_<POST_TYPE>_object`.
Selected 4.5.0, as this is the point at which the (until then separate) REST API package was merged into WooCommerce Core.
* Avoid short ternaries.
* Strict types.
* Fix size of the no logo title to match the logo title size
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix sidebar bg color
* Fix spacing and title size on patterns section
* Increase space between the section description and the list of patterns
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Moving to a Combobox
* Create CustomFieldNameControl component
* Fix combobox styles
* Change Combobox to behave as an Autocomplete
* Integrate CustomFieldNameControl within the CustomFieldCreateModal
* Fix the ref type from CustomFieldNameControl
* Integrate CustomFieldNameControl within CustomFieldEditModal
* Fix CustomFieldNameControl default/focus border style
* Fix custom field value control height to be 36px like other controls
* Add changelog file
* Fix linter errors
* Add ->esc_like to the search criteria when searching for a product custom field name
* Add changelog file
* Add comments explaining why the implamentation was made that way
* Remove non existing classname
* Fix wrong border color when the field is invalid and focused
* Fix linter errors
* Hide props from the internal input element
* Rename comboboxRef with inputElementRef
* Fix invalid empty value when the combobox has a selected value
* 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>
* 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
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
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.
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.
* 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>
* 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>
* 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>
* 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>
* 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>
* CYS: fix toolbar position
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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
* 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
* 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>
* 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>
* 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>
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.
* 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>
* 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.
* 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>
* 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>
* 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>
* 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>
* CYS: when the footer/header is clicked, the border color is blue
* Add changefile(s) from automation for the following project(s): woocommerce
* improve CSS
---------
Co-authored-by: github-actions <github-actions@github.com>
* add: block scaffold
* add: block settings and editor preview
* chore: discard change to pnpm lock file
* add navigation block to the template part
* test: add basic E2E tests
* chore: changelog
* fix: no full width button
* test: remove layout check
* tweak: dynamically fetch button styles
* try: fontsizepicker
* remove: FontSizePicker dute to lack of ability to change label
* fix: use correct icon from the design
* address review feedback
* update class to follow naming convention. use explicit value to better indicate the navigation style
* fix: remove unnecessary style that breaks the global style
* fix: remove unnecessary style
* Make proceed to order button non sticky when zoom level is bigger than 100%
* Define sticky container based on media query
* Revert previous inline comment
* Update display logic
* Adjust threshold to stabilise visibility toggling
* Improve readability
* introduce attributes fixture
* expose the tabs from the new data/ folder
* introduce confirmGlobalAttributesLoaded helper
* reuse confirmGlobalAttributesLoaded helper
* reuse attributes fixture
* check the `+3 More` item label
* changelog
* not only this test
* rename to waitForGlobalAttributesLoaded
* Fix Preview badge border-radius and alignment
The Preview badge's bottom left and right corners now have border-radius set to 0px to ensure they smoothly morph into the block's stroke. The badge is visually aligned with the furthest edge of the block's right border.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix Lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* prevent creating duplicated items with different cases
* changelog
* allow terms with same name for local attributes
* fix wrong const name to identy local attributes
* use more complext terms for E2E test
* encode URL to pass E2E test
* split E2E when creating new terms
* introduce `slug` property to TokenItem
* rename terms with globalAttributeTerms
* jsdoc
* minor test name change
* changelog
* minor test re-organization. test.only for dev
* update test when creating local attrs with terms
* udpate checking the attribute terms
* fix checking terms in the frontend
* attribute value is not used. clean
* improve jsdoc
* run not only this test
* changelog
* minor doc improvement
* 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
* restore necessary patterns
---------
Co-authored-by: github-actions <github-actions@github.com>
- In the plugins list only features that are currently enabled
will be considered for the list of features that are incompatible
with a given plugin.
- A per-feature flag named "plugins_are_incompatible_by_default"
is used. Defaulting to false, when it's true for a given feature
it means that plugins not declaring compatibility with a the
feature are to be considered incompatible with the feature.
The flag is set for the HPOS feature only.
- A new 'woocommerce_plugins_are_incompatible_with_feature_by_default'
filter is added, which allows to alter the flag for a given feature.
- The "plugins incompatible with feature" page will display all the
incompatible/uncertain plugins, even if the feature is disabled.
The "plugins incompatible with ALL features" page still shows
only plugins that are incompatible/uncertain with enabled features.
- Add a --ignore-plugin-compatibility switch to the "wc hpos enable"
command, to allow enabling even if there are incompatible plugins.
- Add a new "wc hpos compatibility-info" command, which lists
the plugins that are compatible/incompatible/uncertain with HPOS.
* Add comment for regression E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix lint errors
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* Bump version to 2.3.2
* Update changelogs
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update - Disable toggle by default and secondary enhancements
- Disabled toggle by default in Checkout blocks Return to cart button.
- Change Account options to Navigation options.
- Add a subtext to explain when to turn it on or off.
* set default value to false in attributes.tsx also
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Changelog
* Remove check for link from test suite—this is now hidden by default
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
* Create customer object from user object to fetch emails in try-catch.
* Add changefile(s) from automation for the following project(s): woocommerce
* 48459 Replace $check_emails array values with user_email.
* Update plugins/woocommerce/changelog/48488-48459-coupon-email-restriction-fix
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Prevent translations from being loaded too early
* Undo accidental changes to `CheckoutFields`
* Keep plugins_loaded, but include required file
* Update order in the meantime
* Change to admin_init
* Add changelog file
* Undo `init_jetpack_connection_config` change
* Undo change to Packages class
* Fix LocalPickupUtils instead
* PHPCS fixes
* Update method name in test
* Add Remote inbox notifications management
* Remove admin notes section -- replaced by remote inbox notifications
* Add import from staging and production
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* WIP - change test to run
* Display failed rules on error
* Change run to test
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester, woocommerce
* Retire Remote Spec Ruel Validation -- use test action from Remote Inbox Notifications
* Run spec when all rules have passed
* Fix typo
* Change btn text to Run
* Update copy text
* Place delete all button on the left side
* Update plugins/woocommerce-beta-tester/api/remote-inbox-notifications/class-wca-test-helper-remote-inbox-notifications.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update plugins/woocommerce/src/Admin/RemoteSpecs/RuleProcessors/RuleEvaluator.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update plugins/woocommerce-beta-tester/api/remote-inbox-notifications/class-wca-test-helper-remote-inbox-notifications.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* Separate remote inbox notification heler functions into a class and fix DELETE method errors
* Fix typo
* Display all errors
* Fix errors
* Fix error with test
* Add import from URL
* Change func name to importFromUrl
* Rename 48735-feature-remote-notiifcation-importer to 48735-feature-remote-notification-importer
Fix filename typo
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* Fix changelog filename typo
Fix changelog filename typo
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* Revert adding new changelog
It seems the new CI is automatically creating a changelog based on branch name 43d6abe3e7
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* CYS: Disable readonly mode only when full composability feature flag is enabled
* Add changefile(s) from automation for the following project(s): woocommerce
* add import
* address feedback
* no select block when it is added
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create WC_REST_Product_Custom_Fields_Controller
* Register WC_REST_Product_Custom_Fields_Controller
* Add pagination to the /product-custom-fields/names request
* Add WC_REST_Product_Custom_Fields_Controller_Tests
* Fix linter errors
* Add changelog file
* Fix linter error
* Change endpoint path to matches the product related endpoints set
* Fix controller file description
* Use more descriptive table alias in the sql query
* Get tax line lable instead of name
* Remove error log
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/changelog/48445-update-get-tax-line-label
* 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
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Remove the site title block fixed length
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove the site title block fixed length
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make sure the correct block template file is used in the Site Editor for templates with fallback
* Add tests
* Add changelog file
* Clean up unnecessary function
* Update plugins/woocommerce-blocks/tests/e2e/tests/templates/product-search-results.block_theme.spec.ts
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* CYS: fix pattern wrapped twice by group blocks
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: hide button to resize the image
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: fix logic to disable click on the no block placeholder
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* WIP
* CYS: Refactor routing approach
* fix type
* Add changefile(s) from automation for the following project(s): woocommerce
* remove focus logic
* remove routekey prop
* fix scroll after insert pattern
* pass onNavigateBackClick callback as prop
* fix scroll
* Add changefile(s) from automation for the following project(s): woocommerce
* fix back arrow click
* fix css
* fix tooltip position
* create dedicated CSS class
* lint css
* restore change
* improve css class name
* remove not necessary class
* add github link to the todo
* lint css
* add want more pattern section
* remove not used import
* fix logic after merge trunk
* CYS: fix tooltip position
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
* Add missing categories and descriptions
* Add services copy
* Uppercase
* Fix categories key
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove todo comment
---------
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
* Fix register testimonials category as reviews failing test
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent duplicate update
* Style aria disabled radio input
* Disable keyboard navigation when options are being sent to server.
* Abort multiple requests to update shipping rates
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Update changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Register PTK testimonial patterns as reviews
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Include a request to the PTK for the woocommerce site
* Parse _woo_* categories
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Continue the flow when fetching dotcom patterns fails
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Return 404 when using the REST API to access a non existing tax class for consistency with other endpoints
* Add changelog
* Update test
* Make JS linter happy
* add badge
* Add changefile(s) from automation for the following project(s): woocommerce
* no show 0
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix toolbar position
* improve layout toolbar
* Add changefile(s) from automation for the following project(s): woocommerce
* fix import
* fix position during the scroll
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix e2e test for product filters overlay template part
* Add changelog
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix: match actual template part, not template part area
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Tung Du <dinhtungdu@gmail.com>
* CYS: fix crash of CYS on WordPress 6.6
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: fix crash of CYS on WordPress 6.6
---------
Co-authored-by: github-actions <github-actions@github.com>