* Set field IDs
* Validate post code only when it is actually required
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unused import
* Update test snapshot
* Update test snapshot
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update mercado copy
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create woocommerce/product-custom-fields block
* Register woocommerce/product-custom-fields block
* Add product-custom-fields block to the simple product template
* Create useCustomFields hook
* Create empty state
* Create CustomFields component
* Add custom fields table
* Add custom field remove button
* Hide the custom fields table base on the toggle value
* Remove non list features
* Add changelog files
* Fix linter errors
* Fix empty state styles
* Fix php linter error
* Remove context from the woocommerce/product-custom-fields-toggle-field block definition since it is not used
* Change url for the Read more about custom fields
* Register metaboxhidden_product user meta as a user rest field
* Create useMetaboxHiddenProduct to manage the user metaboxhidden_product meta field
* Create woocommerce/product-custom-fields-toggle-field block
* Register woocommerce/product-custom-fields-toggle-field block
* Create product-custom-fields feature flag
* Hide custom fields behind the product-custom-fields feature flag
* Add changelog files
* Get default postcustom user meta value when the metaboxhidden_product does not exist yet in the user object
* Fix the CYS Opt-in modal buttons and checkbox styles
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add product archive header template and re-hook
Moves the product taxonomy archive header into its own template file,
creates a related output function, and then re-hooks the new template
back into the archive-product.php file in the same place, via the
'woocommerce_before_main_content' hook, priority 40.
This is so that this template part can be removed/unhooked via the
'remove_action' function, which is a cleaner approach than template
overrides or additional style changes.
Resolves: #33672
* add product archive header template changelog
* bump template versions
* bump template versions correctly
* add a new hook in the archive-product.php template for the header template
* fix: make the dropdown hidden by default
* fix: price clause
* fix: variable name in attribute clause generator
* chore: changelog
* fix: flashing issue for dropdown has selected items
* Prevent invalid price range selection in Product Filter Price block
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* changed filter by attribute filter options order
In filter by attribute, order of the filter conditions "ALL" and "ANY" reversed as requested.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add the PluginInstaller class
* Add changelog file
* Fix linting issues
* Changes in the installer:
- Allow installS from the WordPress.org directory only
- If the installer name is WooCommerce, throw if the caller is not
in 'includes' or 'src' in WooCommerce core
- Remove two unnecessary includes
- Check if WP plugin upgrader classes already exist before
executing the includes for them
- Get the installed plugin info using the plugin_info method
of the plugin upgrader class
* Remove the get_installed_plugin_info method as it's no longer used
* Log plugin install only on sites with WooCommerce active
* Show the default header and footers as the first option
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: improve font installation with the async job
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add LYS task default values
* Add changelog
* Add unit tests
* Init LaunchYourStore task only when feature flag is enabled
* Add action to woocommerce class
* Remove WCAdminHelper use
* Add lys options to permission list
* Set launch-status option
* Fix woocommerce_store_pages_only
* Use WC_Install::is_new_install() instead
* Use woocommerce_newly_installed action
* Check if feature flag is enabled
* Use singleton WooCommerce object in tests
---------
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Set initial vlaue of Created filter for New Arrivals collection
* Add changelog
* Remove a check for products in tests as they may not really be displayed
* Adjust the New Arrivals test
* Adjust the tests logic after the change
* Bring back previous formatting
* Bring back function closure removed by mistake
* Unskip Mini Cart i18n test
* Install language packs before each i18n-related test suite
* Delete translations.sh
* Add changelog
* Replace deprecated WP-CLI command
* Remove obsolete WP-CLI command
* Support div setting type
* Add wc_settings_general_site_visibility_slotfill slotfill
* Add site visibility setting section
* Add placeholder
* Rename div to slotfill_placeholder
* Add comment
* Fix component name
* Add changefile(s) from automation for the following project(s): woocommerce
* Use unique id
* Rename option names
* Put LYS settings behind launch-your-store flag
* Move Site Visibility header to component
* Lint fixes
* Lint fixes
* Use woocommerce-settings scope
* lint fix
---------
Co-authored-by: github-actions <github-actions@github.com>
This PR short-circuits wp_delete_post() so that when HPOS is authoritative, any attempts to delete the backup post are not successful (which could also end up deleting the HPOS order). This only applies to non placeholder posts, as placeholder posts won't trigger the cascade of operations that might be problematic here.
Fixes#42746
* improve logic to ensure that the font is active
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Set default width after logo update
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add subquery for simple products
* Update query to make use of product lookup instead
* Add changelog
* Revert change
* Update PHP tests and fix lint errors
* Move subquery out to its own variable to make it more readable
Previously there was one single locally cached instance of the notice names array that wasn't aware of switch_to_blog executions. Now in multisite setups one separate array is kept for each existing blog id.
* CYS: fix footer large pattern - use only one navigation block
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix styling issue in the Editor when Inline input fields is enabled
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix styling issue on the Frontend when Inline input fields is enabled
* Fix css lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add block preview to filter blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add missing `name` attribute to min and max input fields
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Revert "[e2e tests blocks] Configure the number of shards for each matrix project (#45212)"
This reverts commit 72789656cf.
* trigger CI
* run E2E tests
* restore ci.yml file
* trigger E2E tests
* disable E2E tests about mini cart translations
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix the setupAndFetchQueryContextURL utility
* add comment
* Remove obsolete test
* Blocks E2E: Update timeout values (#45353)
Set timeout values same as core
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
With the availability of other unique characteristics
for identifying collection blocks, it is no longer necessary
to keep this attribute. Since it has not been used it is safe
to remove it without a deprecation cycle.
* Check also the number of inner blocks before checking the attributes
* Add classes to assembler footer patterns
* Add classes to assembler header patterns
* Add changefile(s) from automation for the following project(s): woocommerce
* Mark the current homepage template as selected
* Remove unused import
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix styling for select in Site Editor
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure the user is directed to the in app marketplace whenever clicking on 'Browse all themes' on core.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure the active theme switch modal is displayed only if the theme is different than TT4
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Check if $available_methods is not empty, rather than isset
This encompasses two checks in one, it encompasses isset AND count( $available_methods ) > 0
* Bump template version
* Add changelog entry
---------
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Prevent fresh_site option from being set to 0 after publishing default pages
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Typo fix
* Add is_site_fresh function
* Update comment
* Add a test for is_fresh_site
* Check fresh_site option first
* Add test for checking fresh_site=1
* Fix lint errors
* Fix lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix intro CYS logo and site title
* Add changefile(s) from automation for the following project(s): woocommerce
* Improve format
* Fix logo motion
---------
Co-authored-by: github-actions <github-actions@github.com>
* Allow `—re-migrate` to work even when `—verbose` is not set
* Add changelog
* Docblock update
* Indicate that remigration was attempted in errors array
* Update wc-product-functions.php
Determine if a product is on sale based on regular price, which is how its done in the WC_Product class 7122669d44/plugins/woocommerce/includes/abstracts/abstract-wc-product.php (L1633)
* Add changefile(s) from automation for the following project(s): woocommerce
* added missing placeholders
* Update 43011-patch-1
* Add changefile(s) from automation for the following project(s): woocommerce
* Re-trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
* Minor updates to README
* Add changefile(s) from automation for the following project(s): woocommerce
* Fixed typo
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Link to discussion in custom fields API
This adds the discussion link in custom fields docs.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure is_super_admin REST field contains correct value
Adds a user ID parameter to the is_super_admin() check so that it will
return the value of the specified user rather than the current user.
Fixes#42893
* Add changelog file
* Update workflow to use latest checkout actions
* Update non-HPOS workflow as well
* Update additional actions
* Set a slow test threshold at 30 seconds (15 is default)
* Final action updates
* Slow tests has to be an object
* Pin external actions to commit
* Slow test threshold and max
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Add range rule in Remote Inbox Notification
* Add changefile(s) from automation for the following project(s): woocommerce
* Add range
* Add changefile(s) from automation for the following project(s): packages/php/remote-specs-validation, woocommerce
* Update README.md
* Fix lint errors
* Make sure right-hand is an array with two elemetns -- range
* Update README
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* clear out unneeded github files from block folder
* copy changelog to woocommerce folder
---------
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
* CYS: Override the header and footer
* fix unit test
* fix lint error
* Add changefile(s) from automation for the following project(s): woocommerce
* fix opacity
---------
Co-authored-by: github-actions <github-actions@github.com>
This PR brings to HPOS the dropdown of custom fields that is available for regular posts in the WP admin edit screen.
This dropdown lists a selection of non-private meta keys from all other orders allowing easy re-use.
Fixes#44029
The `\WC_Checkout::create_order_line_items` method assigns values to properties of the `WC_Order_Item_Product` class which did not exist.
PHP Deprecated: Creation of dynamic property WC_Order_Item_Product::$legacy_values
PHP Deprecated: Creation of dynamic property WC_Order_Item_Product::$legacy_cart_item_key
Fixes#38857
---------
Co-authored-by: Néstor Soriano <konamiman@konamiman.com>
* Update the copy for the terms and conditions on WooCommerce.
* Remove the closing round brackets
* Add changelog for: Update the copy for the terms and conditions on WooCommerce
* Update the snapshot test
* improve label for woo.com tracking setting
* update snapshot
---------
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* CYS - Core: fix font load when user opts out of tracking
* remove comment
* Add changefile(s) from automation for the following project(s): woocommerce
* fix array to pass to FontFamiliesLoader
* fix crash
* fix font pair selected after the setup
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add static method for getting the log directory
* Add filter for customizing the log directory path
* Handle case where constant is already defined
* Do directory creation on the fly instead of during install
* Replace all Core usages of WC_LOG_DIR
* Ensure each site's log handler setting is respected
* Add unit tests
* Fix legacy logger unit tests
* Update docs
* Regenerate docs manifest file (required by GitHub CI)
---------
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
* Add missing typography settings for the Site Title block
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unnecessary fontStyle attribute
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent accessing product if there's no product yet in ProductStockIndicator block
* Prevent accessing product if there's no product yet in ProductSaleBadge block
* Add changelog
* Fix linter
* Pass additional context to the woocommerce_blocks_hook_compatibility_additional_data hook which is a class name in which it was called
* Add changelog
* Lint fixes
* Remove unnecessary import
* Make top seller query compatible with HPOS
* Add compat `get_count_for_type()` method
* Make dashboard widget compatible with HPOS
* Add changelog
* PHPCS fixes
* Add unit test
* PHPCS — we meet again.
* Remove test/debug comment.
Clearing this up also means linting passes for this file :-)
* Changelog.
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove extra changelog (deconflict with CI changelog tool).
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add the color palettes for the highline theme.
* Add the color palettes for the luminate theme.
* Add the color palettes for the nokul theme.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
- Define custom element for order-attribution
to move DOM manipulations to JS only.
To support multiple checkout & register forms on the same page.
Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* Update path to intro when exiting the assembler
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix styling
* Fix linting error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update webpack config to use file content hash for chunks and generate asset php for styles
* Use StyleAssetPlugin to generate style.asset.php
* Remove unneed ?ver=<version> code
* Use file hash from asset file when SCRIPT_DEBUG is off
- Use file hash to load scripts/styles ?ver=<file hash>
- Add register_style() method to WC_Admin_Assets
* Load payment method promotions in admin_enqueue_scripts
* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor, woocommerce
* Add json2php
* Update doc
* Update pnpm-lock.yaml
* Fix add_print_shipping_label_script
* Add a comment to style-asset-plugin.js
* Change register_style to use WC_ADMIN_DIST_CSS_FOLDER
* Reset the outputNormal object to avoid duplicate files
* Fix type error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Reduce product count calls via transient caching
* Check has_previously_completed first
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add upgrade notice for the fonts feature whenever WP is outdateed or the user did not grant us consent.
* Add styles for the woocommerce-customize-store_sidebar-typography-upgrade-notice class.
* Update the upgrade conditionals.
* Introduce the new modal for the user to opt in to usage tracking.
* Add the CSS for the woocommerce-customize-store__opt-in-usage-tracking-modal
* Implement the sendEvent to OptInDataSharing
* Fix typo.
* Make sure the opt in button is disabled if the opt in checkbox is unchecked.
* Update the styles for the woocommerce-customize-store__opt-in-usage-tracking-modal
* Update the styles to allow changes to the link
* Set Cardo + System Sans-serif as the default fonts if the usage tracking wasn't allowed.
* Set Cardo + System Sans-serif as the default fonts if the Font Library is unavailable.
* Add the Jost + Instrument Sans font pairing.
* Update copy for the upgrade notice to remove mentions to Gutenberg.
* Replace the Link component with the Button component.
* Ensure the woocommerce_allow_tracking option is properly updated whenever the user opts in.
* Add the new Inter + Cardo font pairing.
* Redirect user to the loading screen so all relevant fonts can be installed for them.
* Render the FontPairing component only if the isFontLibraryAvailable. Update the link to download the latest version of the core of WordPress.
* update the fontPairings constant.
* Update styles for buttons and links.
* Add changefile(s) from automation for the following project(s): woocommerce
* Make sure the dispatch for updating the option is async so the page redirect is not triggered before the option is saved to the database.
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
* Introduce the new theme switch warning modal.
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove the unnecessary CheckboxControl
* update the copy & replace 'can' with 'could'
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add with-product-variations.tsx
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add types for ProductVariationItem
* Fix ESLint errors
* Remove JS file
* Replace Product with ProductResponseItem interface
Initially, a Product interface was created to add the required types; however,
it was pointed out that the @woocommerce/types alias already provided an interface
for products (the ProductResponseItem interface).
* Remove returning types definition
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update collections.md
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add show-prepublish-checks-section
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/prepublish-panel.tsx
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/style.scss
* Add show-prepublish-checks hook
* Refactor prepublish panel button visiblity
# Conflicts:
# packages/js/product-editor/src/components/header/header.tsx
# Conflicts:
# packages/js/product-editor/src/components/header/header.tsx
* Fix footer styles
* Add changelogs
* Add content div
* Fix styles
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/style.scss
* Rename recorded action
* Fix styles
* Hide panel after unchecking option
* Improve resolving
* Add new E2E test for merchant transforming classic cart to cart block (#44926)
* Update the monorepo-utils gitignore to only include index.js and its license file. (#44932)
* Fixed `@woocommerce/plugin-woocommerce` Watch (#44930)
By default `nodemon` only watches for JS file changes. This expands the
config so that it watch the file extensions that are actually
produced by builds.
* Update core package.json to remove nightly ci config (#45096)
* Update core package.json to remove nightly ci config
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update blocks build message (#44811)
* Update blocks build message
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
* [CYS on Core] Update the themes list on the intro screen (#44822)
* Update themes list on core. Update the themes data and remove hardcoded reference to free themes.
* Update styles for the Free, Paid and active cards.
* Add the color palletes to TT4 theme.
* Update the references for default and core themes.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update the link to TT4 theme
* Update default value for price.
---------
Co-authored-by: github-actions <github-actions@github.com>
---------
Co-authored-by: Veljko V <veljano@yahoo.com>
Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Roy Ho <roykho77@gmail.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
* Fixed errors in file documentation syntax.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update assembler sidebar link when no AI available
* Update the sidebar section title depending on the flow
* Revert unnecessary changes
* Add changefile(s) from automation for the following project(s): woocommerce
* Add missing text domain
* Fix test
* Tweak the footer section copy
* Update the design homepage section description
* Chage footer description only on Core
* Add changefile(s) from automation for the following project(s): woocommerce
* Update copy
* Fix code duplication
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use outline instead of border, so the border width does not affect the card size
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Mark the products task as completed only if products were user created
* Consider the edited products as user products
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update themes list on core. Update the themes data and remove hardcoded reference to free themes.
* Update styles for the Free, Paid and active cards.
* Add the color palletes to TT4 theme.
* Update the references for default and core themes.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update the link to TT4 theme
* Update default value for price.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update core package.json to remove nightly ci config
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
By default `nodemon` only watches for JS file changes. This expands the
config so that it watch the file extensions that are actually
produced by builds.
* Refactor No Reviews Placeholder component from JavaScript to TypeScript
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix file import
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fixing filtering by tabs in `Promotions` component.
Using reference to WC_Admin_Marketplace_Promotions::TRANSIENT_NAME when outputting JS data for promotions, instead of transient string.
Better initialisation of wc global object in the inline script.
* Changelog.
* Using global var for marketplace.
* More tentative reference to global object.
* icon TS error
* Updates example plugin for Activity Notes to include namespacing of `Automattic\WooCommerce\Admin\Notes\Note` and `Automattic\WooCommerce\Admin\Notes\Notes`. Without this, the example doesn't work in `wp-content/plugins`.
* Added changelog.
* Moves calls to `recordMarketplaceView` and `recordLegacyView` to the `finally` of the `useEffect` in the Content component. Calling these functions at the top of the hook is recording a view for the default screen and then a view for the My Subscriptions screen when you go directly to My Subscriptions.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix incorrect link in docs
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Revert "Restore nonce and store notices after hydrating data from controllers. (#44790)"
This reverts commit 2535dd766e.
* Revert "Build path info directly instead of loading REST API. (#44080)"
This reverts commit 4daa3f31f1.
* Add changelog.
* Update assembler sidebar link when no AI available
* Update the sidebar section title depending on the flow
* Revert unnecessary changes
* Add changefile(s) from automation for the following project(s): woocommerce
* Add missing text domain
* Fix test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update footer large twitter icons to X
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
The code was mistakenly assuming that any controller class name not
starting with WC_REST_ was handled by the container, but other
plugins may register their own controller classes that use
a different naming convention.
* Fix typos.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
- Expose public method to render OA input fields
- Render OA inputs on `woocommerce_checkout_after_customer_details`
in case the checkout form does not contain `woocommerce_checkout_shipping`, `woocommerce_after_order_notes`.
Addresses part of #44159
Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* Update shipping method btn text on create
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Update the (REST API v1) orders controller to use the currently supported means of accessing coupon information.
This avoids the generation of deprecation notices, which are problematic for some users who cannot yet update to API v2 or higher.
Fixes#39006
* Added `WC_Admin_Marketplace_Promotions`, with logic to get promotions from https://woocommerce.com/wp-json/wccom-extensions/3.0/promotions and display them
- Calling `init_marketplace_promotions` on `woocommerce_init`. If we're on the WooCommerce Home or Extensions pages, this calls `fetch_marketplace_promotions` to get promotion data from the transient or else the API.
- If we're on any admin page, calls `show_bubble_promotions` to render menu item bubbles, if there are any.
- Changed method `WC_Admin_Addons::fetch_with_locale` to `WC_Admin_Addons::fetch` and added `$options` parameter, so we can fetch without passing locale. We want to keep requests for promotions as uniform as possible for better caching.
* Fetching promotions on all pages in the WooCommerce admin menu.
* Changed WC_Admin_Marketplace_Promotions to fetch promotions in a scheduled action.
* Added extra condition to check if `$auth['access_token']` is set.
* Introduce Notice component
* minor alignment fix
* Fix MD title increment
* Fix readme lint
* add changelog entry
* fix CSS lints
* Small tweaks.
Regularising the spelling of isDismissible.
Using sanitizeHTML to sanitize the notice description.
Making the variant classes like &-success to make them a bit shorter.
Adjusting wording of README to convey that this component is designed for the marketplace, though it can be used elsewhere.
Tweaking whitespace in one place in the TSX to please the linter.
* Update plugins/woocommerce-admin/client/marketplace/components/notice/notice.tsx
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
* address feedback
* Changed notice classnames to use `__{$variant}` pattern as well. Restored 40px bottom margin to notices on viewports 600px and above. Added height 24px on icons to ensure they're nicely vertically centred.
---------
Co-authored-by: Remi Corson <1649788+corsonr@users.noreply.github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
* Convert Reviews Editor code to TypeScript
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* add imageSizing attribute to the product catalog template
* add attribute for the product search results template
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* improve logic to find active fonts
* Add changefile(s) from automation for the following project(s): woocommerce
* Update changelog
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
* Open templates from list instead of loading the URL in block templates e2e tests
* Typo
* Clean up
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Make sure correct template is loaded
* Create a TemplateType type to avoid having to define it in several places
---------
Co-authored-by: github-actions <github-actions@github.com>
* Refactor store usage
* Prepare function resolving inherit property for additional check
* Add logic to disable sync with query if there's already one Product Collection on archive that does that
* Add changelog
* Cover the post editor case
* Add E2E test for that and small refactor in tests
* Remove duplicated import
* Fix lint problems
* Fix typo in test description
Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
* Replace confusin abbreviation with other description
* Update the logic to be more robust and covering also the case where Product Collection blocks are nested
* Add issue reference to the comment
* Add eslint disable before ts-ignore
---------
Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
* Add phpunit-watcher to automatically rerun PHPUnit tests when source code changes
* Update unit tests docs
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add animation for client-side pagination
This includes:
- Addition of animation state management in the frontend file to control the visual transition between pagination states.
- Introduction of new SCSS rules for the start and finish animations, ensuring a seamless and visually appealing pagination experience.
- Modification of the PHP logic to inject necessary HTML for the animation to be applied.
These updates aim to provide a more engaging and responsive interface for users navigating through product collection.
* Enhance accessibility for product collection navigation
This commit introduces several improvements to enhance accessibility and user experience. Specifically, it adds new context properties to manage accessibility messages during the navigation process, including messages for loading and when a page has loaded. These changes ensure that screen reader users receive appropriate feedback during navigation.
Changes made:
- Added `accessibilityMessage`, `accessibilityLoadingMessage`, and `accessibilityLoadedMessage` properties to the `ProductCollectionStoreContext`. These properties store messages to be announced by screen readers during different stages of page navigation.
- Implemented logic in the product collection store to update the `accessibilityMessage` during the start of navigation (showing a loading message) and upon completion (showing a loaded message).
- Utilized a technique to ensure that consecutive identical messages are still announced by screen readers, by appending a no-break space to the message if it is the same as the previous one. This follows a pattern similar to the `@wordpress/a11y` package.
- In `ProductCollection.php`, enhanced the block's HTML output to include these new accessibility messages and integrated them with the existing interactive data attributes. This ensures that the front-end components are fully prepared to handle these accessibility enhancements.
- Added a new `div` with `class="screen-reader-text"` and `aria-live="polite"` attributes, which dynamically displays the accessibility message based on the navigation state. This div complements the visual pagination animation with an accessibility-focused mechanism for announcing the page load states to screen reader users.
By addressing accessibility considerations with these enhancements, we're making Product Collection navigation more inclusive and user-friendly for all users.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add spacing in Checkout block page
* Add spacing in Order summary block
* Update responsive styles for order summary panel
* Update styles for cart and cart line items table
* Update styles for order summary and cross-sells products
* Remove unnecessary CSS styles from cart line items table and cart block
* Remove unused CSS class from cart line items table
* Fix linting errors
* Add changelog
* Fix changelog lint
* Update quantity selector style
* Increase the line-height of the set description and remove margin top from email field
* Add margin-top to order summary image and express payment margin adjustment
* Update styles for cart and checkout components
* Fix linting error
* Fix margin units in cart-cross-sells-products
* Replace em with px
* Add margin-top to payment method container
* Update styles for Cart block for mobile screen
* Update padding in cart style.scss
* Fix removal of express payment method from state
- Correct the logic for removing an express payment method from the availableExpressPaymentMethods state object.
- Previously, the deletion targeted the incorrect object, leading to incorrect change in state. Now, the correct entry is removed using destructuring and rest parameters, ensuring the express payment method is properly deleted.
* Revert "Fix removal of express payment method from state"
This reverts commit 8e24553794.
* Fix typo error in the reducer
* Add unit to make sure correct express payment method is removed
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove payment method descriptions from express and fix changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add bottom margin to the pattern
* Increase the height of the pattern to match designs
* Replace intro patterns on Core
* Add changelog
* Update the default intro to be hero product split
* use the WC core version to hash WC blocks assets
This is because the previous hash was generated using WC blocks version, which hasn't been updated since joining the monorepo.
* Make class variable to hold new prefixed wc version
* Add changelog
* Add var type to new class property
* Add prefix to prevent collission
* also use wc version for styles
* make variable public
---------
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
* Clear billing address when useShippingAsBilling checkbox is unchecked
* Add billing address sync with server
* Add useRef hook to store previous billing address and update sync functions
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Revert "Add useRef hook to store previous billing address and update sync functions"
This reverts commit 7bc3312ab7.
* Added condition to clear address only for guest users
* Add E2E test to check billing address form is empty for Guest shopper
* Fix typo
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Updated docs-manifest.json
* Revert "Updated docs-manifest.json"
This reverts commit 20d578a9d6.
* Include company field in the E2E test
* Replace beforeAll with beforeEach
* Skip country reset to keep consistency with Shortcode Checkout
* Remove sync billing address on server
* Update E2E test to include the shipping address check
* Remove unsed imports
* Clear address fields except country and state
* Optimize the billing and shipping address check with switch statement
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Add animation for client-side pagination
This includes:
- Addition of animation state management in the frontend file to control the visual transition between pagination states.
- Introduction of new SCSS rules for the start and finish animations, ensuring a seamless and visually appealing pagination experience.
- Modification of the PHP logic to inject necessary HTML for the animation to be applied.
These updates aim to provide a more engaging and responsive interface for users navigating through product collection.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Allow user clicks under product collection's loading animation
This commit enhances the user experience of the loading animation for the product collection block. Changes include:
- Specifying `transform-origin: 0% 0%;` directly within the block's initial style to indicate the animation should start from the left
- Adding `pointer-events: none;` to allow user interactions with elements underneath the loading animation, thus improving usability by not blocking clicks.
Additionally, redundant `transform-origin` properties were removed from the `@keyframes` declaration to clean up the code and avoid unnecessary repetition. This simplification contributes to both the maintainability and readability of the stylesheet.
* Fix linting errors in SCSS file
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add checks and unit tests to Transformers
* Add changelog
* Update docs
* Fix test
* Set the default value to an empty array
* Set default value to array() for ArrayColumn
* Dont render attribution metabox for non-supported order types.
* Use a screen check instead of order type check for better compat.
* phpcs fix
* Remove unnecessary call.
* Handle empty block content in process_pagination_links method
This commit introduces a check for empty block content in the `process_pagination_links` method of the `ProductCollection` class. This change ensures that if the block content is empty, the method will immediately return the original content without attempting further processing. This enhancement prevents potential errors or unnecessary processing steps on empty content.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Ensures that even if `wp_get_attachment_metadata` returns an unexpected value due to a filter, the `get_full_size_image_dimensions` method will handle it correctly and not throw an error.
Fixes#40393
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Rename test
* Updated tests to use work with more reviews
* Add changelog
* Add new test: can filter the reviews by product
* Fix lint errors and warnings
* add wc_get_valid_product_statuses
* add support for sku
* add unit tests for the `product_page` shortcode
* add `woocommerce_shortcode_product_page_override_read_permissions_unpublished` filter
* keep a list of invalid statuses instead of valid ones and allow overriding it
* move deprecation notice handling into methods
* appease the linter
* remove `visibility` attribute
* ensure we remove the filters that we add in a test
* allow overriding read permissions in both directions (or not at all)
* add sku-based tests and remove some superfluous testing data and asserts
* add back in missing variable
* remove superfluous `hidden` visibilities
* add changelog file
---------
Co-authored-by: Leif Singer <git@singer.sh>
* Prevent file-sniffing through the product editor's downloadable files UI.
Before now, files that do not exist and files that exist outside an approved directory led to different error messages. This meant the latter could be taken as an indicator that a given file exists.
* Correct initial indent.
---------
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* Add sharding to Blocks e2e tests
* Changelog
* Push a change to Blocks README to trigger tests
* Fix syntax
* Fixed again
* Try again
* Trying to get the shard number
* Shard names
* fix E2E test
* complete all the jobs
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* Fix Gutenberg links in the docs pointing to the wrong branch
* Add changefile(s) from automation for the following project(s): @woocommerce/notices, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/components, woocommerce-blocks, woocommerce-beta-tester, woo-ai
* Fix markdown lint errors
* Fix wrong link in the docs
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix docblock
* First pass at backfill CLI tool
* Use ‘posts’ instead of ‘cpt’ in legacy data handler
* Include posts to HPOS migrator in LegacyDataHandler
* Add backfill method to legacy data handler
* Add tests
* Add changelog
* Appease linter
* Rename <id> to <order_id> in WP-CLI docblock
* Make from/to datastore argument mandatory
* Improve handling of invalid order types
* PHPCS fixes
* Restore use of _table property, for consistency with other methods.
* Ignore interpolated/unprepared variable warning (we're referencing a table name).
* Changed Make the structured data price of group products refer to the latest child product price.
* Add changelog
* PHPCS fixes
---------
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
The `watch:build` setup in this package does not conform to
the expects format and so the build command was not being
run. This fixes that and ensures it gets executed correctly.
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: github-actions <github-actions@github.com>
* EditorLoadingContext
* Use EditorLoadingContext
* Remove fallbacks
* Make sure metadata exists before using it
* Add header loading state
* Do not return skeleton
* Use EditorLoadingContext
* Update editor loading state
* Remove ProductPageSkeleton
* Remove unused import
* Remove unused import
* Handle undefined variationId and parentId in VariationSwitcherFooter
* Remove ProductPageSkeleton
* Include productId in determination of whether editor is loading
* Handle variation loading
* Fix rebase merge conflict mistakes
* Fix layout margins
* Show welcome tour and feedback bar after editor has loaded
* Changelogs
* Make loading context experimental
* Reduce the `woocommerce-customize-store-banner-content` width to better fit the copy
* Add changelog
* Remove the image placeholder and improve margins
* Add changelog
* Reduce the `woocommerce-customize-store-banner-content` width to better fit the copy
* Add changelog
* Increase the width to fit the sentence in one line
* Only show customer history box if WooCommerce Analytics are enabled
* Use requests to /reports/customers endpoint for customer history data
* Don't reinvent the wheel - use customer analytics data for Cust. Hist.
* Remove Customer Order Count from tracks data
* Simplify the customer history process
* Omit Customer history content when adding a new order in wp-admin
* Early return to reduce complexity
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Simplify matching customers
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Remove unnecessary method
* Use Customers Query directly to get customer history data
* Template version bump
* Move the customers query to CustomerHistory
* Only show customer history box if WooCommerce Analytics are enabled
* Use requests to /reports/customers endpoint for customer history data
* Don't reinvent the wheel - use customer analytics data for Cust. Hist.
* Remove Customer Order Count from tracks data
* Simplify the customer history process
* Style and legibility fixes
* Template version bump
* Add changelog
* Omit Customer history content when adding a new order in wp-admin
* Early return to reduce complexity
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Simplify matching customers
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Remove unnecessary method
* Use Customers Query directly to get customer history data
* Template version bump
* Move the customers query to CustomerHistory
* Match default params
* Simplify Customer Query params (cache key match with API is much harder)
---------
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Logging: Add filter to modify the list of expired logs to be deleted
This provides a way for extensions to ensure that some log files are
retained for a different time period than the normal
retention period setting.
* phpcs cleanup
* Add changelog file
* Add note to settings view when hook has filter on it
Also remove the note about retention days from the log entry that's
generated when expired log files are deleted
* Clarify when the custom message is used in useConfirmUnsavedChanges
* Changelog
* Load translations for wc-navigation and wc-product-editor scripts
* Changelog
* Fix field saving in account area
* Check for error notices in core form handler
* Tidy up additional field saving in api
* sanitize_additional_fields does not expect request
* Validate fields with extra context
* Revert "Tidy up additional field saving in api"
This reverts commit 872c8f4afb.
* Tidy update_customer_from_request
* validate_field docs
* Validation and sanitization hooks
* Address schema validates fields and address location
* Validate locations
* Frontend validation
* Remove empty error response
* Document account details hook
* field_key
* Improve validation routine
* Changelog
* Swap key and value in woocommerce_blocks_validate_additional_field hook
* woocommerce_blocks_validate_location_X_fields
* Validation and sanitization callbacks
* Update try catch blocks
* Use wp_kses_post to sanitize coupon codes
* Fix notice (php 8)
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove duplicate changelog entry
* Try alternative wp_kses function
* Account for unfiltered_html
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>