* Cache order year_months in options for performance.
* Modify to prevent unnecessary option changed.
Add unit tests.
* Add the strict type directive.
* Use exact check to use more cache instances.
* Add clean state test.
* Add namespace.
* Namespace fixes.
* Add virtual product to fixtures
* Add test to check virtual products can be ordered
* Add test to check orders cannot be placed with invalid payment method
* Add test to ensure orders can't be placed with out of stock items
* Add test to ensure orders can't be placed with unowned coupons
* Add test to ensure orders can't be placed coupons exceeding usage limit
* Add test to ensure that orders can be placed with coupons.
* Add changelog
* Clean up coupon management
* use correct WC case
---------
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Dispatch JS event about PC being rendered
* Revert format changes
* Write the callback
* Add functions descriptions
* Add changelog
* Remove empty line
* Add tests
* Rename test cases
* Replace waiting for page load with more reliable expect.poll
* Remove leftover step
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Fix typo in function name
* Add collection name to default Product Collection block
* Expect collection name in the event
* Expose the collection name through IAPI context
* Send the collection name with the event
* Trigger event also on page change
* Remove unused CUSTOM collection type
* Provide documentation
* Update TOC
* Update tests that verify the event payload
* Improve E2E tests further
* Don't add a Product Catalog collection type to default collection
* Avoid repeating the same piece of code by extracting some function on tag processor
* Rename function to better depict its purpose
* Move the documentation to the right place
* Remove the unused variable
* Add example to dom-events doc
* Update documentation
* Update docs manifest
* Attach default collection name
* Add the default collection context in PHP so it covers all the cases
* Prevent exposing product catalog collection name in event
* Update docs
* Update test
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Update core profiler continue button container
On desktop screens 900px and smaller, add a 140px tall container stuck to the bottom of the viewport
Add a transparent to solid white gradient to the container (top to bottom)
Vertically center align the continue button and dislaimer text inside the container
* Add docs
* Update style
* Exclude privacy page from the store pages -- it is a core page
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove privacy page deletion in unit test
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add blueprint package
* Add blueprint to composer
* Register blueprint cli commands
* Add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* Update packages/php/blueprint/src/Exporters/HasAlias.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update packages/php/blueprint/src/Exporters/ExportInstallThemeSteps.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update packages/php/blueprint/src/UseWPFunctions.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Set destination correctly
* Make sure the given path is within wp content dir
* Remove debug code
* Fix typo
* Fix typo
* Fix lint errors with README
* Move READMD.md from src to the root directory and add development.md
* Add run-unit-tests.sh
* Setup test env
* Create dirs recursively
* Remove debug code
* Update packages/php/blueprint/src/Util.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update packages/php/blueprint/src/ZipExportedSchema.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Check for steps key
* Use if statement
* Add hook comment for wooblueprint_exporters and wooblueprint_importers
* Fix plugin activation condition
* Check for download_link -- it can be empty
* Check to make sure a file was written
* Plugin must be deactivated before attemping to delete it
* Lint fixes
* Lint fixes
* blueprint - add rest api (#49765)
* Add blueprint rest api endpoint
* Rename process to import
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Init.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Remove unavailable 2nd argument from get_param -- default values are already set from the rest api def.
* blueprint - add builder page (#49774)
* Add blueprint builder page
* Change to the correct endpoint
* Add changefile(s) from automation for the following project(s): woocommerce
* Note that the builder intro page is temporary
* Remove unused code
---------
Co-authored-by: github-actions <github-actions@github.com>
* blueprint - add blueprint settings page (#49775)
* Add blueprint settings page
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix broken test
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update unit test env
* Added composer scripts to setup and run tests
* Moved tests to Unit dir to make space for Integration tests later
* WIP Add tests
* Use full if statement
* Use the correct step names
* Use activate_plugin and wp_get_thmes from wp functions trait
* Skip inactive plugins
* Use plural for collections
* Add a comment for StepExporter
* Remove unused construct code
* Correct function return types
* Update packages/php/blueprint/src/Importers/ImportActivateTheme.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Use full if statement
* Make sure plugin is installed
* Use functions from trait
* Remove unused functions
* Pass $force_convert correctly
* Correctly assign $this->validator
* Fix lint issues
* Rename setOptions to setSiteOptions
* Do not use die() -- throw an exception instead
* Make sure slug is a valid WP plugin slug
* Remove hardcoded string with get_step_name()
* Fix lint issues
* Update json example files
* Removed woo-specific examples -- these should be placed in the core
* Updated the built-in steps to reflect the recent changes
* Update packages/php/blueprint/src/docs/json-examples/deletePlugin.json
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/RestApi.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Rename to correct filename
* Set version number
* Use mime_content_type for checking mime type
* Catch all exceptions
* Only allow zip and json
* Remove unused function
* Remove unused functions
* Add PHPCS command and ruleset
* PHP lint fixes
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Init.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add back removed functions
* blueprint - Add woo blueprint exporters and importers (#50057)
* Add woo blueprint exporters and importers
* Comment fix
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/Features/Blueprint/Exporters/ExportWCSettings.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Add a test for ImportSetWCTaxRates
* Lint fixes
* Lint fixes
* Fix setWCShipping schema and data format
* Add woocommerce_default_country option
* Lint fixes
* Fix typo -- it should be decode, not encode
* Fix incorrect argument order
* Fix typo
* Export and import shipping method settings
* Lint fixes
* Lint fixes
* Type functions -- base PR has changed
---------
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Require admin for import and export
* Use mime type from $_FILES -- mime_content_type can return incorrect mime type depending on the system configuration
* Enable export button when backend errors out
* Enable export button when backend errors out
* Allow WooCommerce export
* Change copy text
* Remove redundant check
* Fix lint issues
* Fix lint issues
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* build project as well
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* wp-env: Update package dependency + add mysqlPort
Starting in v10.1.0, wp-env can take a `mysqlPort` property in both
`env.development` and `env.tests` objects, which allows you to specify
the database connection port. This port is otherwise randomly assigned
every time you start up the containers. This allows for having a more
consistent development environment.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai
* Further update to pnpm lock file
* Extract the checkbox list option logic into its own component
This allows to generate a dynamic id per option so it never repeats in the entire document.
* Add changelog file
* Move CheckboxListOptionControl to its own file
* Add value to the checkbox control to be aligned with the native input type=checkbox element. And also use it to get the correct checkbox by value in unit tests
* Because checkboxes not longer have fixed ids, now we use their value to lookup for them instead
* Updating snapshots since the checkboxes ids are now autogenerated
* Fixed the order of elements on the Order Confirmation screen
* Added changelog
* Linting.
* Add wrapper around account notices
---------
Co-authored-by: Mike Jolley <mike.jolley@me.com>
* Add validation for global_unique_id in classic editor
* Fix an issue with validations in the text block
* Replace everything that is not number or hyphen in the product API
* Add pattern validation in the product and variation templates
* Add changelogs
* Increment regex to also accept empty string
* Fix e2e test
* Update update-stricter-global-unique-id
* Rest API product review the verified parameter is not working
* added changelog
---------
Co-authored-by: 79mplus Admin <36501099+79mplus-admin@users.noreply.github.com>
* Update Jetpack logic
* Removed use of jetpack-boost -- we no longer run the experiment
* Jetpack should be considered as selected if it is already installed
* Add changefile(s) from automation for the following project(s): woocommerce
* removed jetpack check because it's already checked prior
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: rjchow <me@rjchow.com>
* Product Gallery: add defensive check
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: Improve opt in flow
* Add changefile(s) from automation for the following project(s): woocommerce
* fix import
* fix imports and remove not used functions
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update "Learn More" docs link for incompatible extensions
* Update links to blocks documentation
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove Unnecessary changelog message
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Delete unneeded changelog file
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Improve getting the active plugins slugs with multisite aware logic
* Use better WP function to test for active plugin
* Minor docs fixes
* test: Add a multisite test
* Add changelog
* test: Fix unit tests relying on active plugins
* test: Cleanup
* test: Add unit test for WCPay DefaultPromotions
* Lint fixes
* Manually init template registry and cotnroller when get_query_template returns nothing
* Add changefile(s) from automation for the following project(s): woocommerce
* Validate template before including it
* Move class registration to init method
* Remove container registration from coming soon handler
* Lint
* Moved registration to register_dependencies
* Change blocks init condition to only when it's not initialized
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* update: new simplified markup and style
* add: editor preview
* add: show 15 items initially
* fix: render li class for checked items
* chore: naming
* chore: changelog
* update: set some preview items checked for styling purpose
* fix: only show show more button when the list is long
* chore: lint
* fix: e2e tests
* CYS: disable zoom out on fonts iframe
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Reschedule jobs blocked by other delayed jobs
* Add changelog entry
* Comment next action time fallback
* Allow actions to be scheduled in the past
---------
Co-authored-by: Eason <eason.su.tw@gmail.com>
Create a new filter wc_lock_sku_query to allow third party to filter the SKU lock query.
Fixes#49660
* Create new filter wc_lock_sku_query.
* Bail early with filter prop @coreymckrill
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
Moves the check for low/no stock to the point when a product's stock quantity is updated. This decouples the check from orders, since stock can also change in other contexts (such as updates via REST API).
Fixes#31664
* CYS: Fix autoscroll when a new block is added
* add E2E test
* Add changefile(s) from automation for the following project(s): woocommerce
* remove not necessary changes
* rename blockToScroll to insertedPattern
* add smooth scroll
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: fix survey tracking
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Customer Account - Maintain the size of the icon in smaller screens
* Hide overflow text
* Update logo and buttons color
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix: always return an object
* tweak: fallback to the default product attribute
* add: default product attribute pattern
* update: use default product attribute pattern in the template part
* chore: changelog
* tweak: escaping
* performance: add in memory cache
* chore: lint and use strtr for readability
* CYS - Move the ai/store-title endpoint to woocommerce admin api
* Add middleware and callback
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
* Use constant and normalize site title values
* Add base AI Endpoint class
* Fix lint error
* Extract the ai title option name
---------
Co-authored-by: github-actions <github-actions@github.com>
* Register remote log handler in WooCommerce class
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint
---------
Co-authored-by: github-actions <github-actions@github.com>
* Customer Account - Maintain the size of the icon in smaller screens
* Hide overflow text
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Add ability for a screen reader to announce the current tab on a single product page.
Co-authored-by: amesplant <95257231+amesplant-dmv@users.noreply.github.com>
* Remove manual include PHP file since we have autoloading
* Delete transient on store country change
* Attach store country to data sources URLs
* Add WCPay default promotions
* Fallback to WCPay default promotions when marketplace suggestions are off
* Remove unused constant
* Replace deprecated uses
* Fix typos and off-brand docs
* Add changelog
* Lint fixes
* test: Update unit tests
* Cleanup
* Declare strict types
* Lint fixes
* Use default specs when remote ones are empty
* test: Update unit tests
* Lint fixes
* Lint fixes
* Remove needless condition
* Compatibility Layer: fix 'woocommerce_before_single_product_summary' hook position
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add tests for geolocation_ajax_get_location_hash
* Make geolocation_ajax_get_location_hash case-insensitive
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix changelog.
* Docblock.
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix changelog.
* Strict types is required.
* Set state before assertion
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Refactor to add steps in 'can create a simple product' test
* Remove unnecessary await
* Fill in shipping dimensions
* Add frontend verification step
* Get permalink from editor page
* Verify shipping dimensions
* Verify sku and gtin
* Fix label association for sku field
* Fill in shipping class
* Fill custom field
* Handle SKU auto-update before filling in SKU
* Changelog
* Changelog
* Add more specific locator for attributes "Add new" button
* Update comment for why click() is used instead of check() for toggle
* Fix incorrect selector for attributes "Add new" button
* Remove check for toggle being checked, as it is flaky
* Await isChecked()
* Scroll custom fields toggle into view if needed
* Make custom field toggling more reliable
* Break filling into a separate step
* Break filling and verifying of full description into separate steps
* Verify the description and fix verifying shipping details
* Make showing of description toolbar more reliable
* Suppress errant warning
* Suppress warning for conditional and add comment about why it is okay
* Remove unused const
* Use Playwright's last info run
* Add changelog
* Fix workflow syntax
* Fix workflow syntax
* Try with continue-on-error
* Try with merge-multiple
* Try with pattern instead of name
* Print the run command
* Print the run command
* Use LAST_RUN_FLAG
* Update outputDir
* Update upload paths and parse the file content
* Don't try to download lat run info if the test type is not e2e
* Rename the downloaded file
* Rename the downloaded file
* Rename the downloaded file
* Full path to the downloaded file
* Check download path content
* Check download path content
* Check the last-run file in the right path
* Fail different tests on different run attempts
* Fix artifact name
* Force test failures
* Cleanup console logs
* Cleanup console logs
* Cleanup console logs
* Log if last run info exists but no tests are found
* Revert test changes
* useZoomOut hook
* Update iframe with logic with zoomed out feature
* Add back in styling code for margins
* Spaces to tabs
* Device size toolbar
* Move zoom out state to context
* Rename variable
* Fork iframe component from Gutenberg
* Add getCompatibilityStyles needed for forked iframe
* Update usePopoverHandler iframe selector
* Remove zoom out context as its not needed
* Revert "Remove zoom out context as its not needed"
This reverts commit b29780d805.
* Add Zoom Out toggle to icons WIP
* Fix icon fill
* Update selectors to fix toolbar and sidebar pattern bugs
* Add comment to get getCompatibilityStyles file
* Update iframe comment
* Move device toolbar into its own component
* Resize and device changes
* Add prop to disable the resize handler
* Update toolbar to work with Zoom Out
* Hide changes behind feature gate so they dont impact design with AI flow
* Toolbar account for top device bar
* Add body class for with/without AI flow
* Adds changelog
* Fix typo
* Change TS comment to expect error
* Cleanup iframe with unneeded code
* Remove getcompatibilitystyles
* Remove device code from resizable frame
* Add ? operator
* Remove keydown code from iframe
* Fix toolbar scroll
* Pass deviceType as a prop to resizable frame
* Disable devicetoolbar whilst editor is loading
* Disable focus state
* Remove comment
* not disabled selector for button hover states
* Fix linting
* Remove unused fn
* Focus specific styles
* Remove active shipping zones check for displaying shipping calculator
- Remove active shipping zones check for displaying shipping calculator on Cart Page
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: Tarun Vijwani <tarun.vijwani@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Use admin password reset link on admin login screen
* Add changelog
* Take a different approach that’s compatible with JN
* Update code comment
* use existing variable
* Update tests
* Lintfix
* Change to alternative aproach for detecting admin login form
* Whitespace
* Update test
* Lint fix
* Update sidebar-navigation-screen-typography.tsx
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: improve CTA
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Correctly cast the account creation nag option
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update 920.md
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Change address title from h3 to h2 on my account
* Bump up my-address template version
* Add changelog file
* Change address title from h3 to h2 on edit address page
* Bump up form-edit-address template version
* Update form-edit-address.php
* Update my-address.php
---------
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
* Update config.js
* Update data.json
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Create a new filter woocommerce_is_store_page for filtering if the URL is a store page.
Fixes#50173
* Create new filter for filtering if the URL is a store page
* Fix brace
* Update plugins/woocommerce/src/Admin/WCAdminHelper.php
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove extra whitespace
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* move checkout docs with front matter to main folder (#49186)
* move checkout docs with front matter to main folder
---------
Co-authored-by: Jacklyn Biggin <hi@jacklyn.dev>
* initial commit to reapply changes from PR #49186
* update html tags to unicode and clean up hashlinks
* revert unicode
* remove emoji
* update manifest
* test readme page
* remove avail-filters since it is now redundant with the readme
* update links
* test htmlentity
* pdate links
* typo fix
* update readme with actual doc
* fix links
---------
Co-authored-by: Jacklyn Biggin <hi@jacklyn.dev>
* Improve the error when a request fails due to permissions
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix regression and copy
* Fix feedback: improve types
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: Improve tracking survey
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update filter-setter.php
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
* Make use of GB Combobox for the product select
* Update E2E tests
* Add changelog
* Small CSS changes
* Fix create variable product E2E test
* Add changelogs
* Use our internal wrapper of the combobox
* A couple small fixes
* Fix bug and address feedback
* Address small formatting in comments
* Move search products back to consolidated function
* Add a label to the product pagination for the woocommerce pagination
* Bump template version
---------
Co-authored-by: amesplant <95257231+amesplant-dmv@users.noreply.github.com>
* Add bumpStat and fix tests
* Add changelog
* chore: Update dependencies and add @woocommerce/tracks for remote logging
* feat: Track frequency of unhandled JS errors with bumpStat
* chore: Update error boundary to log unhandled JS errors with bumpStat
* Add changelog
* Fix lint
* Check if tracks is enabled before bumping stats
* Fix test
* Fix lint
* chore: Refactor buildQuerystring to buildQueryParams for clarity and consistency
* Add bumpStat to wc tracks mock
* Keep focus on shipping option input once selected
* Add changelog file
* Remove unnecessary space
* Manage focus of the shipping methods inputs on checkout
* Refactor the code to use native JS instead of jQuery
* Revert native JS usage on jQuery code
* Focus shipping input after re-initing payment methods on checkout
* Replace includes with indexOf for consistency
* Revert usage of native JS
* Remove unnecessary if statement
* Check if event exists before assigning current target
* Get current target with native JS
* Remove unnecessary spaces
* Optimize maybe_assign_default_product_cat
maybe_assign_default_product_cat should flush cache, delete transients and update term counts only if changes were made
* Fix whitespace
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Logging: Add parameter to avoid log directory creation
The `get_log_directory` method, by default, attempts to create the
directory if it doesn't exist yet. However, the method is called early
in the initialization of the WooCommerce plugin, regardless of whether
the logging system is configured to use the filesystem. This adds a
parameter to `get_log_directory` to specify whether to attempt directory
creation, and ensures that the parameter is set to false in a couple
of specific places.
* Remove usage of method from old log file handler
* Don't initialize log directory when getting size
* Add missing translator note
* Rename param to
* Reduce usage of wp_upload_dir
* When matching subscriptions to installed products, giving priority to subscriptions available for activation.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Enable test to add existing attributes
* Enable test to update product attribute
* Add changelog
* Locate item by aria-label instead of label
* Add blur to the summary field
* Strip HTML tags from aria-label in wc_help_tip function
* Run same escape sequence for aria_label string
* Refactor wc_help_tip and add additional test case
* Remove blank line
* Fix spacing/capitalisation on comments.
* Use get_fields_for_location to prevent numeric keys going into locale
* Merge default locale with current locale
Required because the current locale only contains a diff against the default
* Iterate over current locale to get validate required fields
* Add unit tests to cover the state/postcode checks
* Add changelog
* Fix lint errors
* Ensure locale filter runs when tests need it.
* Update tests to reset locale after running
* Add validate_required_additional_fields function
* Add test to ensure required additional fields are passed
* Add throws tag to docblock
* Tweak token validation to handle empty nonce
* Disable nonce check if you have a valid token
* Docs for Cart-Token
* Remove deprecated X-WC-Store-API-Nonce (was due to be removed blocks 7.5)
* Token should default to empty string
* Changelog
* Remove Marketplace feedback modal which is no longer used
The goal of the modal was not to be shown after 2023 (see https://github.com/woocommerce/woocommerce/pull/39609),
so we can remove it from the codebase now. Especially that it's a bit buggy - snackbar prompting for feedback
is displayed but the modal is not there because of the check for FEEDBACK_DIALOG_CAN_APPEAR.
* Marketplace Subscriptions - rename columns
* Marketplace subscriptions - show status badge in the Subscription column
Additionally, we remove the info icon from the status popover
* Marketplace subscriptions - add button helping to turn renewals on
* changelog
* Add focus handlers for accessibility
* Remove unused variable
* Fix sharing path url - My Subscriptions
* Change the status badge priority for expired
We should show the expired badge first, as it makes more sense with the
primary action.
---------
Co-authored-by: raicem <cem.unalan@automattic.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
* Allow registering custom collections with various context references
Implemented the registration of product collections with different context references using the `usesReference` property. These custom collections are now registered with specific contexts such as product, cart, order, and archive.
This enhancement allows for more tailored previews and functionality based on the specific context in which the product collection is used.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Support multiple references for usesReference
* docs: update documentation to include `usesReference`
Enhanced the `register-product-collection` documentation to include details about the new `usesReference` property. This property allows collections to specify required references, enhancing their contextual relevance and preview capabilities.
- Added `usesReference` description to the collection fields section.
- Included examples demonstrating the usage of `usesReference` with single and multiple references.
- Clarified the behavior when required references are unavailable on the editor side but available on the frontend.
This documentation update provides third-party developers with the necessary information to utilize the `usesReference` property effectively in their custom product collections.
* test: add e2e tests for `usesReference`
Added end-to-end tests to verify the functionality of the `usesReference` property in product collections. These tests ensure that the appropriate preview labels are displayed.
- Created multiple custom product collections with different `usesReference` values: `product`, `cart`, `order`, `archive`, and combinations of these.
- Verified that collections show the correct preview label when the required reference is present.
- Ensured that the preview label is not shown in irrelevant contexts, such as posts or product catalog templates.
This addition enhances test coverage and ensures the robustness of the `usesReference` feature.
* Fixed issue with preview label showing in Specific Product and Archive templates.
* Handle cases when termId or productId is 0
This also improves the readability of the code by using better variable names.
* Make PC use postId context so location can be recognised correctly (#50152)
* Fix TS errors
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* CYS - Document possible Intro pages
* Update README.md
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint errors
* Move images to the repo
---------
Co-authored-by: github-actions <github-actions@github.com>
* Text adjustments on shipping zones settings page
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix line error and escape output
---------
Co-authored-by: github-actions <github-actions@github.com>
In this PR we re-grouping PHPUnit jobs and introducing sharding based on two test suites - legacy and main, in order to reduce per-PR CI flow duration and release workers earlier.
* Update class-wc-rest-wccom-site-ssr-controller.php
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* express checkout buttons have a min-width of 240px
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix linting issue
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update the `show_on_front` setting to `posts`.
This is needed for the CYS flow to work properly
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* feat: add `aria-required` attributes to WC form fields
* Add changefile(s) from automation for the following project(s): woocommerce
* added tests for radio fields
* WIP
* WIP
* yoda, space
* Update functions.php
* WIP
* WIP
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/tests/legacy/unit-tests/templates/functions.php
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
* fix checkbox required attribute, add tests
* lint
* Add changefile(s) from automation for the following project(s): woocommerce
* importing changes from Thomas' branch, aria-hidden on abbr
* Add changefile(s) from automation for the following project(s): woocommerce
* added hidden also on JS changes
* template number change
* forgot to commit these changes
* porting of changes from selectWoo repository
* undo unwanted changes
* Update checkout e2e to stop looking for * in field labels
* removed aria-hidden to abbr, to avoid regressions across multiple repos
* lint
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
* CYS: Fix opt-in flow fonts
* Add changefile(s) from automation for the following project(s): woocommerce
* add E2E test
* fix e2e test
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: Fix opt-in flow patterns
* clean up not necessary state
* Add changefile(s) from automation for the following project(s): woocommerce
* show spinner
* improve e2e test
* fix e2e test
* fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Modify Product Filters Overlay template part
* Add changefile(s) from automation for the following project(s): woocommerce
* Add E2E tests for the Product Filters Overlay template part
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add login username in reset password links
* Add changefile(s) from automation for the following project(s): woocommerce
* Move login param as final query param
* Bump template versions to 9.3.0
* `phpcs:ignore` should be specific
* `phpcs:ignore` should be specific
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Recognize custom category templates as archive ones
* Disable the preview label if termId is recognized
* Fetch the product category template ID
* Prepare util to properly parse product taxonomies
* Utilise the taxonomies util and update the query accordingly
* Add tests
* Update tests to be more specific
* Improve selectors in E2E test
* Add changelog
* Update selectors
* Fix the order of expected products
* Remove unneceessery entries from array that are covered by another entries
* Rename the variable to beytter depict its purpose
* WIP
* Add changefile(s) from automation for the following project(s): woocommerce
* Add missing code in before all
* Fix lint
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add validation and empty value to select components
* address feedback
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* remove console log
* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/additional-checkout-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/additional-checkout-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* remove test
* Fix tests
* also move select to parent
* fix tests
* add empty enum to schema
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Fix#49982Fixes#49982
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: Vladimir Reznichenko <kalessil@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* `wc_get_account_endpoint_url` should handle nonces for logout endpoint
* Handle logout without redirect, unless a nonce is missing.
* `wc_logout_url` should not use the account page endpoint because that does not support custom redirects
* Handle navigation nonces
* changelog
* Bump versions
---------
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Added a whitelist of sections to render an alternative output in the WC_Settings_Payment_Gateways_React class.
* Renamed constant and updated its contents to only include 'offline'
* Added a branch in the `output()` method to output an appropriate div with an id if the current section is in the whitelist.
* Added "experimental" prefix to payment settings div ID.
* Replicated the render for the offline section similar to the main payments settings.
* Added a new settings-payments-offline screen to the WooCommerce admin plugin.
* Implemented new offline settings page component.
* Removed the ErrorBoundary components from the SettingsPaymentsMainWrapper and SettingsPaymentsOfflineWrapper.
* Added a new SettingsPaymentsOfflineWrapper component and its corresponding SCSS styles.
* Implemented the WooCommerce Payments section in the settings page.
* Removed WooCommerce Payments settings logic and replaced with a placeholder.
* Added a placeholder for the offline payments screen.
* Added 'main' to the REACTIFY_RENDER_SECTIONS array and refactored the output method to improve readability and maintainability.
* Renamed `render_gateway_section` method to `render_classic_gateway_settings_page` in the `class-wc-settings-payment-gateways-react.php` file.
* Added a filter for the REACTIFY_RENDER_SECTIONS so that plugins can modify this list.
* Added inline documentation for the filter in the `get_reactify_render_sections` method.
* changelog
* Matched the CSS styles for the WooCommerce Payments section to the offline section.
* Removed unnecessary Card component and placeholder text from WooCommerce Payments settings.
* Linted the `class-wc-settings-payment-gateways-react.php` file, addressing the reported linting issues.
* Refactored the payment settings UI to use React components and lazy loading.
* lint
* Nit: Removed unnecessary comment and moved a small code
* Update name to experimental
* Fix save button missing from section pages
* Fix saving sections
---------
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update my-account-orders.js
* 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: Tam Mullen <tam.mullen@automattic.com>
* WIP
* Add e2e tests for the full composability
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint errors
* Enable the full composability flag for want more patterns banner
---------
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
* Replace `unmountComponentAtNode()` with `createRoot().unmount()`
* Adjust JS unit tests
* Remove obsolete import
* Remove “ReactDOM.render is no longer supported” check
* Update pnpm-lock.yaml
* Migrate JS unit test to React 18
* Revert "Update pnpm-lock.yaml"
This reverts commit 18bfc967aa.
* Migrate JS unit test to React 18
* Migrate JS unit test to React 18
* Minor refactor
* Unskip previously skipped tests
* Fix JS unit test error related to root.unmount()
* Remove obsolete dependency
* Fix failing blocks e2e test
* Fix failing core e2e tests
* Optimise memoisation to prevent “Maximum update depth exceeded” error.
* Fix Filters JS tests in #48796 (#49973)
* Run cleanup in Rating Filter JS tests
* Run cleanup and wait user interactions in Stock Status Filter JS tests
* Rename constant
* Simplify conditional statement
* Introduce TS type
* Address lint error
* Rename TS type
* Optimise multiple TS types
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Sam Seay <samueljseay@gmail.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* Add new payments settings class, add new settings-payments module and a demo main component
* Minor edits
* Changelog
* Lint
* Lint php
* Use createRoot
* Hide payment recommendations when feature flag is enabled
* Moved logic
* Prep trunk for 9.3 cycle with version bump to 9.3.0-dev
* Add comment explaining why no changelog is needed.
---------
Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Create add_to_cart_success_message method in WC_Product_Simple class
* Add data-success_message attribute to remove item button in cart
* Add data-success_message to Add to cart button
* Make screen readers announce mini cart updates
* Add changelog file related to #37597#37598
* Add translator comment to remove button data-success_message attribute
* Add docblock to woocommerce_product_add_to_cart_success_message filter
* Bump mini-cart template version
* Refresh mini cart live region by removing it from the DOM
* Add mini cart live region to DOM beforehand
* Remove aria-relevant attribute before adding new content to live region
* Add a delay before updating live region
* Bump mini-cart template version from 9.1.0 to 9.2.0
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Bump version of woocommerce_product_add_to_cart_success_message filter
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Add description to the $text param on woocommerce_product_add_to_cart_success_message filter
* Refactor logic in the add_to_cart_success_message function
---------
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Ensure wccomHelper data is only added on In-App Marketplace pages
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix linting
- Looking for GET requests for admin users, so no nonce available to check
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: Skip PTK is down test on WordPress 6.5
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add helper function to clear track events
* Add additional test cases for product_add_publish track event
* Add changelog
* Add empty save use case
* Address lint issues
* add: new inspector controls
* update: cleanup the edit component
* chore: remove unused old inspector component
* tweak: add formatting to help text
as Jarek said:
> Here’s the copy. Please mind the formatting.
* add: default attribute id that closest to 30
* update: pass the whole attribute object
* update: use default attribute term in Product Filters template
* add: style settings
* add: sorting and show empty behavior in the editor preview
* tweak: use hideEmpty to align with existing settings
* chore: changelog
* test: add basic e2e tests
* chore: restore previous default value
* add: attribute help text and border support
* chore: lint
* fix: add missing context
* Add Product Filters template part
* Improve Product Filters template part description
* Hide Product Filters block from the inserter
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Add E2E tests
* Fix lint error
* Fix lint error
* add: register variation for unmodified template part
We should move this to abstract class later.
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Tung Du <dinhtungdu@gmail.com>
* CYS - Revert the button copy customize the TT4 theme
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS - Add banner for block themes
* Add banner for block themes
* Fix tests
* Fix tests
* Fix intro banners
* Add modal to the use store designer
* Fix tests
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint errors
* use sendEvent instead of redirect
* fix lint error
* fix logic on ai flow
* fix build
* improve check
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* WIP
* Add empty option for state as well
* Add client-side validation to country select inputs
* Add validation messages for state.
* Clean up redundant destructuring.
* Fix up the validation logic, fix bug where empty select was shown in some cases.
* Remove unused import
* Use import aliases instead of large relative paths
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix a typo
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* use SelectOption type
* Also handle when address changes, because we shouldnt validate state when there is an address change
* adjust validation to handle any address change, not just country. translate field validations and use lowercase
* add a lowercase label for the country select as well
* Fix an issue where scroll to would not scroll to invalid select
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Add address title to edit/add buttons on my account
* Add chengelog file
* Bump my-address template version
* Use placeholder in the edit/add address translation
* Replace sprintf with printf
* enhancement: making tooltips message be selected based on order status. passes order object in woocommerce_get_order_status_labels filter for more personalized tooltips.
* Add changefile(s) from automation for the following project(s): woocommerce
* fix: change incorrect keys of order status in order_status array
* remove duplicate changelog file
* fix: linting issues
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Remove strong tags from patterns
* Add changefile(s) from automation for the following project(s): woocommerce
* remove bold header
---------
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
* Add the customer account block to control the spacing
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: Ensure that Customizer redirect is always enabled when a classic theme is enabled
* CYS: Ensure that the button in the Intro page redirects to the Customizer when a classic theme is enabled
* clean up logic
* add site preview
* mark CYS as complete when user saves customizer changes
* improve comment
* fix unit test
* fix unit test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add syncWithFilters attribute to Product Collection
* Add SycnWithFilters Inspector Control to PC
* Minor import adjustments
* Move the controls to Inherit as they share the same labels
* Rename the attirbute to filterable
* Hide control for collections
* Consume the filterable
* Consume filterable attribute so it enables the filtering
* Bring back file format
* Bring back filterable
* Move filterable from attribute to query
* Improve checks
* Fix incorrent function name
* Add changelog
* Set the default filterable value on insert
* Update test selector
* Add E2E tests to #49627 (#49715)
* Remove unnecessary call to create new post
* Fix "Use page context" control tests
* Fix post ↔ template collection sync test
* Fix non-thenable linter errors
* Extend the "Use page context" default setting test
* Add test for filtering in non-archive context
* Add test for combining editor and front-end filters
* Fix lint
* Update plugins/woocommerce-blocks/assets/js/blocks/product-collection/edit/inspector-controls/inherit-query-control.tsx
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* Improve query properties access
* Rename inherit-query-control to use-page-context-control to better depict its purpose
* Lint fix
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* Fix undefined array key "name" warning in ComingSoonRequestHandler.php when font name is not set
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Schedule fetching patterns only one an hour
* Add changefile(s) from automation for the following project(s): woocommerce
* Add notice
* Fix lint error
* Update copy
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add tracking for enable auto renew link.
* Add UTM parameters to in-app enable auto-renew notice.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add tracking for new event.
* Correct the naming convention for tracking event.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent new order hook if moving or creating order status into a non-triggering status (drafts&failed refunded etc) when using CPT for orders.
* Removed rogue error_log()
* Lint
* Prevent new order hook if moving or creating order status into a non-triggering status (drafts&failed refunded etc) when using HPOS for orders.
* Added changelog
* Fixed wrong if simplification
* Unit tests for update methods
* Renamed var
* Renamed vars to snake_case.
* Introduced remove_status_prefix() utility function.
* Added default 'new' status to an Order that doesn't exist yet in the database for the update method in HPOS
* Added default 'new' status to an Order that doesn't exist yet in the database for the update method in CPT
* Linting.
* Missing class import.
* Added a new test for updating new processing Orders.
* Linting.
* Tests fix.
* Tests fix.
* Removed statuses from triggering the new order hook.
* tweak
* Test tweak
* Test tweak
* Test tweak
* Test tweak
* Test tweak
* Tweak to rule out db querying failure.
* Revert "Fix terms counts in wcadmin_product_add_publish Tracks event (#48194)"
This reverts commit 7d5b3a81a2.
* Add changelog
* Add comment back in to fix linter
* CYS: Hide shuffle button when only one pattern is available
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: fix selected header/footer pattern
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix tip block syntax in register-product-collection.md
* 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>