* Add missing actions to the documentation
- Add the missing actions to the following:
- data-store/cart
- data-store/checkout
- data-store/collections
- data-store/validation
* Move actions above selectors in Cart doc
* Add more info to cart actions
* Fix syntax of Cart actions examples
* Fix syntax and examples
- Use store name constant instead of strings
- Fix description and examples of collections document
* Add more info about the keys of objects and arrays
* Update billing address info in cart data
* Update parameter names and descriptions in
checkout.md and collections.md
* Update docs/third-party-developers/extensibility/data-store/checkout.md
Co-authored-by: Niels Lange <info@nielslange.de>
---------
Co-authored-by: Niels Lange <info@nielslange.de>
* Center align view all link
* Add thumbnail count specific styling
* Product Gallery Thumbnails: Improve the responsiveness of the View All overlay text
---------
Co-authored-by: Daniel Dudzic <daniel.dudzic@automattic.com>
* Add tests for the `useCampaigns` hook in the woocommerce-admin marketing.
* Add `channels` to the deps of `useSelect` in the `useCampaigns` hook to avoid outdated hook states.
* Make the `useCampaigns` hook support being used with multiple instances.
- Include the `perPage` in the page key of campaigns in the multichannel's data store.
- Move the processing of querying the campaigns paging to the selector of the multichannel's data store.
- Move `total` in each campaign's paging of the multichannel's data store.
- Remove unused properties and their types: `state.campaigns.perPage` and `state.campaigns.total`
* Add changelog
* Multichannel data store - Move the `total` from `campaigns.pages[*]` to `campaigns.meta` to have only one total value.
Related to:
- https://github.com/woocommerce/woocommerce/pull/41211#discussion_r1409634640
- https://github.com/woocommerce/woocommerce/pull/41211#discussion_r1409590559
* Multichannel data store - Return the pagination meta of campaigns along with the `getCampaigns` selector.
Address: https://github.com/woocommerce/woocommerce/pull/41211#discussion_r1412266127
Improves the doc block of `wc_get_logger()` to reflect that the return
value will be a class that implements `WC_Logger_Interface`, but may
not actually be an instance of `WC_Logger`.
Fixes#41256
* Change the default for Mini Cart block
The Block Hooks API currently doesn’t allow for setting the default state of the block injected into content so this ensures the mini-cart block has a better default state for injection. The current default (displaying total value in cart) takes up more width increasing the risk of poor layout.
* Utilize Block Hooks to automatically inject mini-cart block.
* include experimental prefix on filters
* Fix filter name.
* remove experimental prefix.
On thinking about this, I don’t think these need to be experimental. They are intentionally provided as escape hatches for hosts/themes that want to opt-in/out so we’ll have to support them when this is shipped (at least until its no longer needed!)
* fix variable name!
* fix unit tests because of new default
* remove another incorrect text expectation
Defaults for the block affect this expectation.
* fix E2E tests
* Mini Cart Block: improve E2E test
* fix: improve check for the Product Collection block
---------
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* Switch assemble theme to TT4
* Add changefile(s) from automation for the following project(s): woocommerce
* Rename changelog file
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove duplicated changelog
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove duplicated changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix restriction preventing the update of products with AI-generated content after the 3rd attempt.
* use set_slug rather than wp_update_post for updating the product permalink.
---------
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
This PR removes a line-height rule causing vertical alignment issues in the variations selector and introduces a bottom margin on the single variation container.
Closes#41367
* Show variations in upsells when parent is not published
I was struggling to get the upsell section to show for our eCommerce site. After some digging I found that line 1525 stopped variations from showing in the upsell section if the parent product was set to privately published. This makes testing products and upsells hard, and it's inconsistent behaviour when simple products that are privately published do show up. The proposed change will make variations show up as long as the current user can edit the parent product. This is consistent with the behaviour for simple products.
* Add changelog
---------
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
* Flush after updating all products, not after updating each of the products
Flushing is an expensive operation so we should run it carefully
* Remove the index param and add the last_product param to the Product endpoint.
---------
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
* Create closeWelcomeModal, goToPageEditor and goToPostEditor utils in PlayWright e2e tests
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create add to custom fields documentation
* Update the checkout custom field docs
* Add back end steps and examples
* Make it clear that we are building a field block
* Update docs/third-party-developers/extensibility/rest-api/extend-rest-api-add-custom-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Update docs/third-party-developers/extensibility/rest-api/extend-rest-api-add-custom-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Update docs/third-party-developers/extensibility/rest-api/extend-rest-api-add-custom-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Update docs/third-party-developers/extensibility/rest-api/extend-rest-api-add-custom-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Mention that the block will not render if parent isn't required
* Add more details about `seExtensionData`
* Add additional code examples for the backend
* Avoid extending store API inside an IntegrationInterface
* Add code example that invokes the extend store endpoint class
---------
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Avoid running a second query to account for incorrect totals if pagination is set too high if pagination isn't used.
Fixes#40075
* Adding changelog entry
* Add extra protections against wrong filter values in the Command Palette logic
* Add changefile(s) from automation for the following project(s): woocommerce
* Add protection to make sure is an array
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show warning modal when user tries to leave the assember hub
* Remove pushState and popstate changes from the iframe
* Listen to popstate and render a warning modal when the user tries to leave the page
* Add changefile(s) from automation for the following project(s): woocommerce
* Update GoBackWarningModal to accept a callback for reusability
* Reuse GoBackWarningModal
---------
Co-authored-by: github-actions <github-actions@github.com>
* sets sale price to 23:59:59 when sale schedule variation bulk action runs
* made the date being sent in the CRUD object coherent with the rest of the wc codebase. added changelog file
* fix issue raised by linter
* Limit number of visible incompatible extensions in sidebar notice
* Adjust link text
* Ensure text-decoration works in Safari
* Minor CSS tweaks
* Refactor constant names
* Adjust chevron position for opened state
* Revert "Adjust chevron position for opened state"
This reverts commit ff5142427738626837be887dd8d7e5d94c2432d4.
* Normalize render method names
* Refactor get_query_params to allow key filtering
* Scaffold the search results view
* Add missing unslash
* First pass at functional search
* Fix memory leak and recursive highlighting
* Fix various search string edge cases
* Move match highlighting to format_match method
* Tweak match line formatting
* Rename ListTable to FileListTable
* Switch search results view to a list table
* Add notice about max files for search
* Remove unused function
* Only use monospace font on the matched line part of search results
* Add notice about search result limit
* Fix font in table header
* phpcs cleanup
* Remove unnecessary search form action
* Add caching to search results
* Add unit test for search method
* Caching improvements
* phpcs cleanup
* Add unit test for close_stream
* Remove unneeded linting exception
* Add changelog file
* Remove unnecessary usage of get_class()
* Make sure file stream gets closed when we break the loop early
* Make the returned results an even 200 when hitting the limit
* When the user selects a grouped product type, we show an additional Products in this group section in the General tab.
* When the user selects a grouped product type, we hide the Pricing and Shipping tabs.
* When empty, the grouped products card has an empty state with an illustration
* When the user clicks Add products, we show a modal
* When the user clicks the search field, we immediately display the list of all existing products. It is sorted alphabetically. Clicking an item closes the search and adds the product to the list.
* Add remove button to the product list
* When the user clicks Add, we close the modal and display the list of added products in the product form
* Clicking the product name will open it in the editing view in a new tab
* Clicking the arrow button will open the product's page in a new tab
* Prevent adding already added products
* If the name or SKU extends beyond this width, we truncate the text
* Add changelog files
* Fix linter errors
* add simple initial integration with Command Palette
* Add WooCommerce commands
* Add e2e tests
* Fixes
* Add changefile(s) from automation for the following project(s): woocommerce
* Avoid using page.waitForLoadState() in Command Palette tests
* Make Settings and Analytics commands dynamic
* Decode entities to make sure characters are displayed correctly in the command palette
* Move decodeEntities() into registerCommandWithTracking()
---------
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
Co-authored-by: github-actions <github-actions@github.com>
* Tweak the product prompt
To avoid creating products that are things that cannot be sold in stores (forests, people, etc.)
* Return error when images are not provided
* Check permalink and flush cache if not found
* Update the product slug with the new title
* Use wp_update_post to update the product
* Remove unused method
* Reorganise Columns controls and fix undefined problem in Product Collection settings
* Remove type condition in hasValue of Columns control
* Adjust the E2E tests locator to new changes
* Try env:restart instead of env:start
* Change env:restart to env:start again
* Try env:restart instead of env:start
* Change env:restart to env:start again
* Adjust heading level of cart and checkout template
* Replace button selector with label selector
* Try env:restart instead of env:start
* Change env:restart to env:start again
* Ensure to close welcome guide modal
* Adjust heading level of default template content
* Try env:restart instead of env:start
* Change env:restart to env:start again
* Try env:restart instead of env:start
* Change env:restart to env:start again
* Address existing TS issues
* View template in edit mode
* Keep certain tests skipped
* Fix broken tests after addressing TS issues