- Define custom element for order-attribution
to move DOM manipulations to JS only.
To support multiple checkout & register forms on the same page.
Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* Update path to intro when exiting the assembler
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix styling
* Fix linting error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update webpack config to use file content hash for chunks and generate asset php for styles
* Use StyleAssetPlugin to generate style.asset.php
* Remove unneed ?ver=<version> code
* Use file hash from asset file when SCRIPT_DEBUG is off
- Use file hash to load scripts/styles ?ver=<file hash>
- Add register_style() method to WC_Admin_Assets
* Load payment method promotions in admin_enqueue_scripts
* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor, woocommerce
* Add json2php
* Update doc
* Update pnpm-lock.yaml
* Fix add_print_shipping_label_script
* Add a comment to style-asset-plugin.js
* Change register_style to use WC_ADMIN_DIST_CSS_FOLDER
* Reset the outputNormal object to avoid duplicate files
* Fix type error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Reduce product count calls via transient caching
* Check has_previously_completed first
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add upgrade notice for the fonts feature whenever WP is outdateed or the user did not grant us consent.
* Add styles for the woocommerce-customize-store_sidebar-typography-upgrade-notice class.
* Update the upgrade conditionals.
* Introduce the new modal for the user to opt in to usage tracking.
* Add the CSS for the woocommerce-customize-store__opt-in-usage-tracking-modal
* Implement the sendEvent to OptInDataSharing
* Fix typo.
* Make sure the opt in button is disabled if the opt in checkbox is unchecked.
* Update the styles for the woocommerce-customize-store__opt-in-usage-tracking-modal
* Update the styles to allow changes to the link
* Set Cardo + System Sans-serif as the default fonts if the usage tracking wasn't allowed.
* Set Cardo + System Sans-serif as the default fonts if the Font Library is unavailable.
* Add the Jost + Instrument Sans font pairing.
* Update copy for the upgrade notice to remove mentions to Gutenberg.
* Replace the Link component with the Button component.
* Ensure the woocommerce_allow_tracking option is properly updated whenever the user opts in.
* Add the new Inter + Cardo font pairing.
* Redirect user to the loading screen so all relevant fonts can be installed for them.
* Render the FontPairing component only if the isFontLibraryAvailable. Update the link to download the latest version of the core of WordPress.
* update the fontPairings constant.
* Update styles for buttons and links.
* Add changefile(s) from automation for the following project(s): woocommerce
* Make sure the dispatch for updating the option is async so the page redirect is not triggered before the option is saved to the database.
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
* Introduce the new theme switch warning modal.
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove the unnecessary CheckboxControl
* update the copy & replace 'can' with 'could'
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add with-product-variations.tsx
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add types for ProductVariationItem
* Fix ESLint errors
* Remove JS file
* Replace Product with ProductResponseItem interface
Initially, a Product interface was created to add the required types; however,
it was pointed out that the @woocommerce/types alias already provided an interface
for products (the ProductResponseItem interface).
* Remove returning types definition
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update collections.md
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add show-prepublish-checks-section
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/prepublish-panel.tsx
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/style.scss
* Add show-prepublish-checks hook
* Refactor prepublish panel button visiblity
# Conflicts:
# packages/js/product-editor/src/components/header/header.tsx
# Conflicts:
# packages/js/product-editor/src/components/header/header.tsx
* Fix footer styles
* Add changelogs
* Add content div
* Fix styles
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/style.scss
* Rename recorded action
* Fix styles
* Hide panel after unchecking option
* Improve resolving
* Add new E2E test for merchant transforming classic cart to cart block (#44926)
* Update the monorepo-utils gitignore to only include index.js and its license file. (#44932)
* Fixed `@woocommerce/plugin-woocommerce` Watch (#44930)
By default `nodemon` only watches for JS file changes. This expands the
config so that it watch the file extensions that are actually
produced by builds.
* Update core package.json to remove nightly ci config (#45096)
* Update core package.json to remove nightly ci config
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update blocks build message (#44811)
* Update blocks build message
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
* [CYS on Core] Update the themes list on the intro screen (#44822)
* Update themes list on core. Update the themes data and remove hardcoded reference to free themes.
* Update styles for the Free, Paid and active cards.
* Add the color palletes to TT4 theme.
* Update the references for default and core themes.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update the link to TT4 theme
* Update default value for price.
---------
Co-authored-by: github-actions <github-actions@github.com>
---------
Co-authored-by: Veljko V <veljano@yahoo.com>
Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Roy Ho <roykho77@gmail.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
* Fixed errors in file documentation syntax.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update assembler sidebar link when no AI available
* Update the sidebar section title depending on the flow
* Revert unnecessary changes
* Add changefile(s) from automation for the following project(s): woocommerce
* Add missing text domain
* Fix test
* Tweak the footer section copy
* Update the design homepage section description
* Chage footer description only on Core
* Add changefile(s) from automation for the following project(s): woocommerce
* Update copy
* Fix code duplication
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use outline instead of border, so the border width does not affect the card size
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Mark the products task as completed only if products were user created
* Consider the edited products as user products
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update themes list on core. Update the themes data and remove hardcoded reference to free themes.
* Update styles for the Free, Paid and active cards.
* Add the color palletes to TT4 theme.
* Update the references for default and core themes.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update the link to TT4 theme
* Update default value for price.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update core package.json to remove nightly ci config
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
By default `nodemon` only watches for JS file changes. This expands the
config so that it watch the file extensions that are actually
produced by builds.
* Refactor No Reviews Placeholder component from JavaScript to TypeScript
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix file import
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fixing filtering by tabs in `Promotions` component.
Using reference to WC_Admin_Marketplace_Promotions::TRANSIENT_NAME when outputting JS data for promotions, instead of transient string.
Better initialisation of wc global object in the inline script.
* Changelog.
* Using global var for marketplace.
* More tentative reference to global object.
* icon TS error
* Updates example plugin for Activity Notes to include namespacing of `Automattic\WooCommerce\Admin\Notes\Note` and `Automattic\WooCommerce\Admin\Notes\Notes`. Without this, the example doesn't work in `wp-content/plugins`.
* Added changelog.
* Moves calls to `recordMarketplaceView` and `recordLegacyView` to the `finally` of the `useEffect` in the Content component. Calling these functions at the top of the hook is recording a view for the default screen and then a view for the My Subscriptions screen when you go directly to My Subscriptions.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix incorrect link in docs
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Revert "Restore nonce and store notices after hydrating data from controllers. (#44790)"
This reverts commit 2535dd766e.
* Revert "Build path info directly instead of loading REST API. (#44080)"
This reverts commit 4daa3f31f1.
* Add changelog.
* Update assembler sidebar link when no AI available
* Update the sidebar section title depending on the flow
* Revert unnecessary changes
* Add changefile(s) from automation for the following project(s): woocommerce
* Add missing text domain
* Fix test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update footer large twitter icons to X
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
The code was mistakenly assuming that any controller class name not
starting with WC_REST_ was handled by the container, but other
plugins may register their own controller classes that use
a different naming convention.
* Fix typos.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
- Expose public method to render OA input fields
- Render OA inputs on `woocommerce_checkout_after_customer_details`
in case the checkout form does not contain `woocommerce_checkout_shipping`, `woocommerce_after_order_notes`.
Addresses part of #44159
Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* Update shipping method btn text on create
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Update the (REST API v1) orders controller to use the currently supported means of accessing coupon information.
This avoids the generation of deprecation notices, which are problematic for some users who cannot yet update to API v2 or higher.
Fixes#39006
* Added `WC_Admin_Marketplace_Promotions`, with logic to get promotions from https://woocommerce.com/wp-json/wccom-extensions/3.0/promotions and display them
- Calling `init_marketplace_promotions` on `woocommerce_init`. If we're on the WooCommerce Home or Extensions pages, this calls `fetch_marketplace_promotions` to get promotion data from the transient or else the API.
- If we're on any admin page, calls `show_bubble_promotions` to render menu item bubbles, if there are any.
- Changed method `WC_Admin_Addons::fetch_with_locale` to `WC_Admin_Addons::fetch` and added `$options` parameter, so we can fetch without passing locale. We want to keep requests for promotions as uniform as possible for better caching.
* Fetching promotions on all pages in the WooCommerce admin menu.
* Changed WC_Admin_Marketplace_Promotions to fetch promotions in a scheduled action.
* Added extra condition to check if `$auth['access_token']` is set.
* Introduce Notice component
* minor alignment fix
* Fix MD title increment
* Fix readme lint
* add changelog entry
* fix CSS lints
* Small tweaks.
Regularising the spelling of isDismissible.
Using sanitizeHTML to sanitize the notice description.
Making the variant classes like &-success to make them a bit shorter.
Adjusting wording of README to convey that this component is designed for the marketplace, though it can be used elsewhere.
Tweaking whitespace in one place in the TSX to please the linter.
* Update plugins/woocommerce-admin/client/marketplace/components/notice/notice.tsx
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
* address feedback
* Changed notice classnames to use `__{$variant}` pattern as well. Restored 40px bottom margin to notices on viewports 600px and above. Added height 24px on icons to ensure they're nicely vertically centred.
---------
Co-authored-by: Remi Corson <1649788+corsonr@users.noreply.github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
* Convert Reviews Editor code to TypeScript
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* add imageSizing attribute to the product catalog template
* add attribute for the product search results template
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* improve logic to find active fonts
* Add changefile(s) from automation for the following project(s): woocommerce
* Update changelog
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
* Open templates from list instead of loading the URL in block templates e2e tests
* Typo
* Clean up
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Make sure correct template is loaded
* Create a TemplateType type to avoid having to define it in several places
---------
Co-authored-by: github-actions <github-actions@github.com>
* Refactor store usage
* Prepare function resolving inherit property for additional check
* Add logic to disable sync with query if there's already one Product Collection on archive that does that
* Add changelog
* Cover the post editor case
* Add E2E test for that and small refactor in tests
* Remove duplicated import
* Fix lint problems
* Fix typo in test description
Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
* Replace confusin abbreviation with other description
* Update the logic to be more robust and covering also the case where Product Collection blocks are nested
* Add issue reference to the comment
* Add eslint disable before ts-ignore
---------
Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
* Add phpunit-watcher to automatically rerun PHPUnit tests when source code changes
* Update unit tests docs
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add animation for client-side pagination
This includes:
- Addition of animation state management in the frontend file to control the visual transition between pagination states.
- Introduction of new SCSS rules for the start and finish animations, ensuring a seamless and visually appealing pagination experience.
- Modification of the PHP logic to inject necessary HTML for the animation to be applied.
These updates aim to provide a more engaging and responsive interface for users navigating through product collection.
* Enhance accessibility for product collection navigation
This commit introduces several improvements to enhance accessibility and user experience. Specifically, it adds new context properties to manage accessibility messages during the navigation process, including messages for loading and when a page has loaded. These changes ensure that screen reader users receive appropriate feedback during navigation.
Changes made:
- Added `accessibilityMessage`, `accessibilityLoadingMessage`, and `accessibilityLoadedMessage` properties to the `ProductCollectionStoreContext`. These properties store messages to be announced by screen readers during different stages of page navigation.
- Implemented logic in the product collection store to update the `accessibilityMessage` during the start of navigation (showing a loading message) and upon completion (showing a loaded message).
- Utilized a technique to ensure that consecutive identical messages are still announced by screen readers, by appending a no-break space to the message if it is the same as the previous one. This follows a pattern similar to the `@wordpress/a11y` package.
- In `ProductCollection.php`, enhanced the block's HTML output to include these new accessibility messages and integrated them with the existing interactive data attributes. This ensures that the front-end components are fully prepared to handle these accessibility enhancements.
- Added a new `div` with `class="screen-reader-text"` and `aria-live="polite"` attributes, which dynamically displays the accessibility message based on the navigation state. This div complements the visual pagination animation with an accessibility-focused mechanism for announcing the page load states to screen reader users.
By addressing accessibility considerations with these enhancements, we're making Product Collection navigation more inclusive and user-friendly for all users.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add spacing in Checkout block page
* Add spacing in Order summary block
* Update responsive styles for order summary panel
* Update styles for cart and cart line items table
* Update styles for order summary and cross-sells products
* Remove unnecessary CSS styles from cart line items table and cart block
* Remove unused CSS class from cart line items table
* Fix linting errors
* Add changelog
* Fix changelog lint
* Update quantity selector style
* Increase the line-height of the set description and remove margin top from email field
* Add margin-top to order summary image and express payment margin adjustment
* Update styles for cart and checkout components
* Fix linting error
* Fix margin units in cart-cross-sells-products
* Replace em with px
* Add margin-top to payment method container
* Update styles for Cart block for mobile screen
* Update padding in cart style.scss
* Fix removal of express payment method from state
- Correct the logic for removing an express payment method from the availableExpressPaymentMethods state object.
- Previously, the deletion targeted the incorrect object, leading to incorrect change in state. Now, the correct entry is removed using destructuring and rest parameters, ensuring the express payment method is properly deleted.
* Revert "Fix removal of express payment method from state"
This reverts commit 8e24553794.
* Fix typo error in the reducer
* Add unit to make sure correct express payment method is removed
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove payment method descriptions from express and fix changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add bottom margin to the pattern
* Increase the height of the pattern to match designs
* Replace intro patterns on Core
* Add changelog
* Update the default intro to be hero product split
* use the WC core version to hash WC blocks assets
This is because the previous hash was generated using WC blocks version, which hasn't been updated since joining the monorepo.
* Make class variable to hold new prefixed wc version
* Add changelog
* Add var type to new class property
* Add prefix to prevent collission
* also use wc version for styles
* make variable public
---------
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
* Clear billing address when useShippingAsBilling checkbox is unchecked
* Add billing address sync with server
* Add useRef hook to store previous billing address and update sync functions
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Revert "Add useRef hook to store previous billing address and update sync functions"
This reverts commit 7bc3312ab7.
* Added condition to clear address only for guest users
* Add E2E test to check billing address form is empty for Guest shopper
* Fix typo
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Updated docs-manifest.json
* Revert "Updated docs-manifest.json"
This reverts commit 20d578a9d6.
* Include company field in the E2E test
* Replace beforeAll with beforeEach
* Skip country reset to keep consistency with Shortcode Checkout
* Remove sync billing address on server
* Update E2E test to include the shipping address check
* Remove unsed imports
* Clear address fields except country and state
* Optimize the billing and shipping address check with switch statement
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>