* Add function to clear system status theme info cache to tool page
* Add clear cache tooltip to the template override section
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove extra td
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update makup of add to cart success message
* Update CSS to position the add to cart success message content
* Focus notice message after page loads
* Add changelog file
* Remove tabindex attribute from add-to-cart success message
* Update tests for the add-to-cart success message
* Remove white space on test
* Increase delay before focusing the error message
* Cobine delay with queue method
* Remove unnecessary woocommerce-notice-content class
* Swap view cart link order in notice
* Remove woocommerce-notice-content wrapper
* Refactor to vanilla JS code that focus on notice message
---------
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* Match shop page when permalink structure is set to plain
* Revert uninteded change
* Match post types
* Check for param
* Add test for post_type check
* Fix tests
* Add changefile(s) from automation for the following project(s): woocommerce
* Use wp_parse_url
* Test returning false
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* Methods for fetching and caching product feature restrictions.
* DTO for passing product feature rule set to the plugin.
* Main class for handling product feature restriction logic.
* Remove unconnected WCCOM site related restrictions.
* Start with minimalist rule
If `\WC_Product_Usage::get_rules_for_product( 27147 )` returns null it
means no rule set to apply for product with ID 27147. Otherwise, it
returns `\WC_Product_Usage_Rule_Set`.
* Remove unused constant
* Remove underscore prefix on the method name; it's discouraged by the linter
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Akeda Bagus <akeda.bagus@automattic.com>
* Add aria label to the Clear variation options link
* Make the matching variations alert a live region
* Bump add-to-cart variable template version
* Add changelog file
* Add docblock comment to woocommerce_reset_variations_link filter
* Revert changes for Clear variations button
* Make unavailable product combination message a live region
* Improve no matching variation message for screen readers
* Align variables declaration
* Bump template version
* Add role alert to the parent of the no matching message
* Add empty alt text for pesudo-element content
---------
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* Update wc-template-functions.php
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/includes/wc-template-functions.php
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Naman Malhotra <naman03malhotra@gmail.com>
* Add GTIN in structured data
* Changelog
* Add changefile(s) from automation for the following project(s): woocommerce
* Delete plugins/woocommerce/changelog/50087-tweak-add-gtin-ld-json
* Add changefile(s) from automation for the following project(s): woocommerce
* Lint
* Delete plugins/woocommerce/changelog/50087-tweak-add-gtin-ld-json
---------
Co-authored-by: github-actions <github-actions@github.com>
* Render total blocks before fields on checkout
* Reverse checkout total blocks position on desktop
* Add changelog file
* Add conditional styles to reverse checkout blocks order
---------
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* 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
* CYS - Move the ai/business-description endpoint to woocommerce admin API
* CYS - Move the ai/store-info endpoint to woocommerce admin API
* Update endpoint
* CYS - Move the ai/images endpoint to woocommerce admin API
* CYS - Move the `ai/patterns` endpoint to woocommerce admin API
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester, woocommerce
* Fix duplicated entries
* Use AI endpoint base class
* Remove unnecessary change
* Add strict types
* Remove unnecessary return type
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update 1140.md
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Update 1140.md
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* 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
* CYS - Move the ai/business-description endpoint to woocommerce admin API
* CYS - Move the ai/store-info endpoint to woocommerce admin API
* Update endpoint
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS - Move the ai/images endpoint to woocommerce admin API
* Add changefile(s) from automation for the following project(s): woocommerce
* Use constant and normalize site title values
* Add base AI Endpoint class
* Fix lint error
* Use the endpoint base class
* Revert change
* Add changefile(s) from automation for the following project(s): woocommerce
* Use ai endpoint class
* Add strict types
* Fix lint error
* Add strict type
* Fix lint and use ai endpoint base
* Fix lint
---------
Co-authored-by: github-actions <github-actions@github.com>
* 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
* CYS - Move the ai/business-description endpoint to woocommerce admin API
* CYS - Move the ai/store-info endpoint to woocommerce admin API
* Update endpoint
* Add changefile(s) from automation for the following project(s): woocommerce
* Use constant and normalize site title values
* Add base AI Endpoint class
* Fix lint error
* Use the endpoint base class
* Revert change
* Add changefile(s) from automation for the following project(s): woocommerce
* Use ai endpoint class
* Add strict types
* Fix lint error
* Add strict type
---------
Co-authored-by: github-actions <github-actions@github.com>
* 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
* CYS - Move the ai/business-description endpoint to woocommerce admin API
* Use constant and normalize site title values
* Add base AI Endpoint class
* Fix lint error
* Use the endpoint base class
* Revert change
* Add changefile(s) from automation for the following project(s): woocommerce
* Add strict types
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add new default spec function
* Changelog
* Add a new method to get cached or default
* Add test
* Update comment
* Revert comment
* Update docblock
* Lint
* Typo
* Set specs to default when marketplace suggestion is disabled
* Update tests
* Track product and tax rates importer view triggered from WP importer screen
* Add changefile(s) from automation for the following project(s): woocommerce
* Use $this for the callback
* Make sure id exist
* Do not track if we are in a specific import screen
* Ignore phpcs warning -- we are not using the value
---------
Co-authored-by: github-actions <github-actions@github.com>
* feat: Update TaskLists.php to improve performance and fix bugs
The code changes in TaskLists.php optimize the performance by reducing unnecessary checks and improve the functionality by fixing bugs related to the "setup tasks remaining" feature.
* Update tests
* Add changelog
* Fix lint
* Update TaskLists.php to fix completed tasks array initialization
* Update Fiver Logo Maker LP link per request.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rename woocommerce_is_store_page to woocommerce_is_extension_store_page
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Revert "Add new buttonAttributes API to style express checkout buttons coherently (#47899)"
This reverts commit 006fbc6714.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Update changelog
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* add email type to email field in Checkout block
* Add changefile(s) from automation for the following project(s): woocommerce
* fix changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix inline documentation typos in woocommerce-blocks
* Add changelog file
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Remove original changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
* Remove common query string variables which affect cart contents
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add busy state
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Missing global $wp
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove colon in product data meta box checkboxes
* Changelog
* Fix CSS for checkbox
* Update margin so the distance between checkbox and label is 8px, and distance between items are 32px
* Move checkbox to the left, added has-checkbox class, minor adjustments to margins
* Minor adjustment
* REST: Update product stock when removing line item from order
This ensures that the REST endpoint behaves the same as the UI when
updating an order to remove a line item.
Fixes#49651
* Add changefile(s) from automation for the following project(s): woocommerce
* phpcs cleanup
* Add unit tests
* phpcs cleanup
* Update plugins/woocommerce/changelog/50606-fix-49651-rest-remove-line-item-stock
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Add changefile(s) from automation for the following project(s): woocommerce
* Add void return type to new method
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Add variation to Product Filters Overlay Navigation
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Move Product Filters Overlay Navigation to correct position
* Hide block when it is outside the Product Filters template part
* Display Navigation block in the frontend
* Show the Product Filters Overlay Navigation on the frontend
* Add logic to hide Product Filters Overlay Navigation block on the frontend
* Hide block on the Overlay template part
* Fix eslint errors
* Update the block variation title
* Remove the `isActive` property from the block variations
* Use Product Filters block context
* Replace enum with const
* Remove unnecessary `StyleAttributesUtils`
* Rename context key
* Move BlockOverlayAttribute to the constants.ts file
* fix BlockOverlayAttribute import
* Fix import error
* Improve code for the shouldHideBlock method
* Remove unnecessary attributes property
* Fix error in ProductFiltersOverlay block
* Prevent block from being hidden on Product Filters template part
* Fix inspector controls when block is hidden
* Remove unnecessary import
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add aria-current to the current link in My Account side nav
* Update current page check for dashboard, orders, and payment methods
* Fix PHP linting errors
* Update function for getting current aria for account menu
* Bump template version
* Create a helper function to test current item in the account menu
* Fix liniting errors
---------
Co-authored-by: amesplant <95257231+amesplant-dmv@users.noreply.github.com>
* Update logic to allow new accounts to set their password
* Changelog
* phpcs ignores
* Doc block update
* Remove redirect if lost-password accessed by logged in user
* Remove restriction on lost password page
* Fix `Product meta` console error
* Add changefile(s) from automation for the following project(s): woocommerce
* Not use Atomic class
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: avoid to enqueue jetpack scripts
* Add changefile(s) from automation for the following project(s): woocommerce
* remove not necessary import
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add context to type
* Clean up notifyerrors helpers
* Notify and clear top level cart errors
* changelog
* Make extensionCartUpdate surface the errors
* No automatic clearing of notice
* Handle generic errors only, add docs
* Rename param
* Fix linting in readme
* Update toc
* test coverage
* Unused import
* We're only dealing with arrays of errors so simplify logic
* Make hover status style like active
* Add changelog file
* Update changelog message
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
---------
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
* Make some methods agnostic of which fallback template is used
* Get rid of the template_is_eligible_for_fallback() util
* Get rid of the template_is_eligible_for_fallback() util (II)
* Add changelog
* Get rid of the template_is_eligible_for_fallback() util (III)
* Add back 'template_is_eligible_for_fallback' method
* Fix issue after rebase
* Remove some more instances of hard-coded templates from the template hierarchy code
* Update comments
* Remove unused template_is_eligible_for_fallback() function
* Add extra explanatory comment
* Pass default value to get_option
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Avoid registering block in the wrong context
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix Product meta translations
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
* Remove AddToCartForm from the list of blocks to not register in posts
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Expose buttonAttributes to the express payment methods
* Add size and label attributes to the express checkout area
* Remove defaultHeight
* default button Label
* Remove the button label attribute
* Remove px from height
* Change large button height to 55px
* Load express checkout block with attributes
* Add toggle and borderRadius controls and remove getting border radius from the theme
* Remove extra border radius text
* Only pass buttonAttributes if toggled on
* Move express payment block attribute logic into a Provider
* Tidy up editor grid and parse attributes into context on frontend
* Add px to border-radius input
* Express payment methods not selectable
* Add a test
* lint fixes
* default button height is 48 not 4
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Update docs
* Add tests for express payment methods
* Center images within the express payment area in the editor
* Apply the buttonAttributes to the li container in the editor regardless of showButtonStyles
* Fix style issue
* fix linting
* fix lint again
* Update manifest
* Update docs manifest
* Resize images in editor
* lint fix
---------
Co-authored-by: github-actions <github-actions@github.com>
* Avoid registering block in the wrong context
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix Product meta translations
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Avoid registering block in the wrong context
* 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>
* Format json
* Get title and description from the registered block
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add empty array dep
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add lost password e2e tests
* Add changefile(s) from automation for the following project(s): woocommerce
* Update lost password e2e test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add woocommerce_coming_soon option for all sites
* Set default option
* Add changelog
* Update `woocommerce_coming_soon` option to use `update_option` instead of `add_option`
* 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>