Commit Graph

62658 Commits

Author SHA1 Message Date
rjchow fcafacb36f lint 2023-11-21 18:08:00 +07:00
Thomas Roberts 409988881b Move `CheckboxControl` to components package and leave alias in checkout package (https://github.com/woocommerce/woocommerce-blocks/pull/11662) 2023-11-21 10:55:42 +00:00
rjchow 4df15fe948 add: remove email marketing experiment 2023-11-21 17:51:37 +07:00
David Arenas 9e9f0341e2 Interactivity API: implement the new `store()` API (https://github.com/woocommerce/woocommerce-blocks/pull/11071)
* Sync Interactivity API code with Gutenberg

* New store() API

* Store raw actions

* Update wc-interactivity-store implementation

* Replace `wc_store` with `wc_initial_state`

* Parse and populate initial state

* Allow store parts in `store()`

* Accept namespaces in directive paths

* Add $$namespace to directives' object values

* Make namespace parsing more robust

* Use DeepPartial type for store parts

* Do not pass `rawStore` to `afterLoad` callbacks

* Simplify `store()` a bit

* Implement `privateStore()`

* Sync context directive with Gutenberg

* Refactor scope and extract getters per scope

* Add namespace to getters and actions

* Remove current privateStore implementation

* Remove `afterLoad` option from `store`

* Use same proxy handlers for ns, getters and actions

* Set scope inside `evaluate`

* Refactor proxy handlers

* Improve types a bit

* Catch errors in async actions

* Implement stacks for scopes and namespaces

* Implement `getElement`

* Change directives object structure

* Remove unnecessary import

* Implement private stores

* Return value from sync actions

* Minor optimizations and improved comments

* Don't use async inside `data-wp-watch`

* Use a single Provider in context directive

* Remove DeepPartial type

* Do not check if element exists

* Add the `current` prop of state inside the scope

* Move getters outside scope

* Fix wc-key assignment

* Fix missing `navigate` in directives

* Fix namespace not being picked in the same element

* Deep merge raw stores instead of proxied ones

* Fix namespace assignment

* Allow forward slashes in namespaces

* Migration of Product Collection and Product Button blocks to the new `store()` API (https://github.com/woocommerce/woocommerce-blocks/pull/11558)

* Refactor Product Button with new store() API

* Use `wc_initial_state` in Product Button

* Fix namespace

* Remove unnecessary state

* Test namespaces in directive paths

* Add test context with namespace

* Simplify woo-test context

* Move addToCart and animations to a file

* Do not pass `rawStore` to `afterLoad` callbacks

* Move callbacks and actions back to the main file

Because the animation was broken.

* Remove selectors in favor of state

* Use default ns in `getContext` for state and actions

* Remove `afterLoad` callback

* Remove unnecessary ns

* Fix getContext in add-to-cart

* Replace namespace and delete unnecessary store

* Pass context types only once

* Use an alternative for requestIdleCallback

* Add previous react code for notices

* Add namespace to Product Collection block

* Replace getTextButton with getButtonText

* Add block name to the ProductCollection namespace

* fix style HTML code

* Remove circular deps error on the Interactivity API

* Product Gallery block: Migrate to new Interactivity API store (https://github.com/woocommerce/woocommerce-blocks/pull/11721)

* Migrate Product Gallery block to new Interactivity API store

* Fix some references

* Add missing data-wc-interactive

* Fix an additional namespace

* Remove unnecessary click handler

* Dialog working

* Refactor action names

* Reindex PHP array

There was some missing indexes, which turned the array into an object in JS.

* Remove unused event handlers

* Move next/previous logic to external function

* Move StorePart util to the types folder

* Rename namespace to `woocommerce/product-gallery`

* Undo product collection namespace renaming

* Remove unnecessary namespace

* Don't hide the large image on page load

* Minor refactorings

* Fix eslint error

* Fix php cs errors with spacing and double arrows alignment

* Disable no-use-before-define rule for eslint

* Disable @typescript-eslint/ban-types rule for eslint

* Fix parsed context error in e2e tests

* Fix context parser for Thumbnail image

* Move store to the top of the frontend file

* Add interactivity api utils to the @woocommerce/utils alias

* Replace deprecated event attribute

---------

Co-authored-by: Luis Herranz <luisherranz@gmail.com>
Co-authored-by: David Arenas <david.arenas@automattic.com>
Co-authored-by: roykho <roykho77@gmail.com>

---------

Co-authored-by: David Arenas <david.arenas@automattic.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
Co-authored-by: roykho <roykho77@gmail.com>

* Fix error when closing product gallery dialog with keyboard escape key

* use wc_initial_state instead of wc_store

---------

Co-authored-by: Luis Herranz <luisherranz@gmail.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
Co-authored-by: roykho <roykho77@gmail.com>
2023-11-21 11:46:15 +01:00
rodelgc eab133cbe5
Update Action Scheduler to 3.7.0 (#41576)
* Update Action Scheduler to 3.7.0

* Update Action Scheduler to 3.7.0
2023-11-21 18:30:35 +08:00
Mike Jolley 3a49ae4dd3 Add tests for company address field (https://github.com/woocommerce/woocommerce-blocks/pull/11807)
* Company field tests

* Click page body before unchecking box
2023-11-21 10:04:51 +00:00
Leif Singer 233e5c01b7 rename the file to adhere to naming conventions in the docs folder 2023-11-21 10:28:31 +01:00
Leif Singer 009779c462 add the image back in 2023-11-21 10:27:45 +01:00
Leif Singer 42f862c630 add back in links and tweak wording 2023-11-21 10:27:34 +01:00
Luigi Teschio 86ab0ab3b1 Product Button: enqueue always the store (https://github.com/woocommerce/woocommerce-blocks/pull/11858) 2023-11-21 10:26:16 +01:00
Tung Du 3b31aa715c add: default template for Collection Filters block (https://github.com/woocommerce/woocommerce-blocks/pull/11805) 2023-11-21 16:25:43 +07:00
Rania Lang bc1b9cd88b Create Fixing Outdated WooCommerce Templates 2023-11-21 10:16:48 +01:00
Daniel Dudzic eaa9e74a58 Run E2E test suite on Twenty-Twenty Four (https://github.com/woocommerce/woocommerce-blocks/pull/11466)
* Run E2E test suite on Twenty Twenty-Four

* Update TT4 download URL to the stable one

---------

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2023-11-21 09:11:19 +00:00
Bero 7a2aaac112 Remove changelogs 2023-11-21 08:35:00 +01:00
berislav grgičak ab400a4128
Unconnected subscription improvements (#41468)
* Don't show a My Subscriptions group if it's empty

* Hide expiry if installed but has no subscription

* Show subscription status labels in a column

* Add changefile(s) from automation for the following project(s): woocommerce

* Show only one badge

* Show installed header if no installed items

* Remove test code

* Show entire installed section

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-11-21 08:33:06 +01:00
Manish Menaria 0444407d70 Fix: 404 error for No results block CSS file (https://github.com/woocommerce/woocommerce-blocks/pull/11854)
This commit introduces the `get_block_type_style` method in the `ProductCollectionNoResults` class. This new method is designed to manage frontend style handling specifically for this block type. Currently, it returns null, indicating no specific styles are assigned at this stage.
2023-11-21 12:53:26 +05:30
Tung Du 182e821539 MVP: Attribute filter block powered interactivity API (https://github.com/woocommerce/woocommerce-blocks/pull/11749)
* Update Interactivity API JS files

* Disable TS checks in the Interactivity API for now

* Add new SSR files

* Replace wp_ prefixes with wc_ ones

* Replace wp- prefix with wc-

* Replace guternberg_ prefix with woocommerce_

* Remove file comments from Gutenberg

* Rename files with `wp` prefix

* Fix code to load Interactivity API php files

* Remove TODO comments

* Replace @wordpress with @woocommerce

* Update Webpack configuration

* Fix directive prefix

* Remove interactivity folder from tsconfig exclude

* Add client-side navigation meta tag code

* Remove unneeded blocks.php file

* Fix store tag id

* Register Interactivity API runtime script

* Fix Interactivity API runtime registering

* Add Simple Price Filter block

* Remove all files related to directive processing in PHP

* Use values directly for SimplePriceFilter SSR

* Reset pages to 0 when changing filter

Note: we also need to do this with `/page/x`

* wip

* phpcs

* register price filter as inner block

* try: render block using save

* add types

* use min range var instead of 0

* inject dynamic data

* query price data in editor

* better injecting interactivity data

* remove rounding

* Product Collection Data endpoint doesn't care about current query so we remove the context for now

* extract data injecting as a method, possbily a trait in the future

* add sidebar setting

* duplicating the markup in php render callback for safety

* remove directive from edit component

* show prices without decimal

* use final class

* use sample collection data response

* prepare for multiple styles support

* use collection data from context

* cleanup props and props passing

* pass only necessary states

* retire heredoc in favor of late escaping

* reorganize style

* inherit style from current price filter react component, pre extract the component for multiple display style support

* keep minPrice smaller than max

* remove unnecessary active handler logic

* update folder structure

* avoid whitespace change

* clean up

* title

* move inspector to component folder, ready to be extracted to inner block

* block icon

* block name

* name

* use inner block for view

* inner block view switcher

* try: process data in Collection Filtes block only

* wip: query collection data from collection filters block only

* provide all context from collection filters block

* simplify context passing

* feat: use default attribute to define filter type of view block

* rename

* remove price block

* rename price slider to price, default price filter should be a slider

* type cleanup

* fix ancestor block name

* only passing the collection data down

* wip

* recusive

* editor preview

* refactor: data fetching, context passing, and code organization

* initial attribute filter block

* feat: attribute selector

* inspector control

* wip

* break the edit into smaller components

* wip: editor component

* extract checkbox list

* wip editor preview

* show count checkbox list

* fix param aggregation for attribute filter blocks

* post merge fix

* fix param aggregation for attribute filters

* fix: set correct selected attribute

* WIP checkbox list

* WIP checkbox list

* avoid action name conflicts

* Checkbox list front end

* phpcs

* update context on input, navigate on change

* fix: attribute selection

* dropdown

* remove isDeepEqual

* add: warning when attribute has no products or no attribute is selected

* update type

* update type

---------

Co-authored-by: David Arenas <david.arenas@automattic.com>
Co-authored-by: Luis Herranz <luisherranz@gmail.com>
2023-11-21 14:22:20 +07:00
Kyle Nel 53b8933e7c
Merge Marketplace subscriptions changelogs (#41575)
* Merge changelogs into one
* Update plugins/woocommerce/changelog/feature-marketplace-subscriptions

Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2023-11-21 09:15:29 +02:00
berislav grgičak 48d7490c2a
Marketplace design improvements (#41505)
* Not connected screen fixes

* Table improvements

* Success notice icon

* Use the same layout of columns for both tables

* Popover

* Add changefile(s) from automation for the following project(s): woocommerce

* CSS lint fixes

* Styling tweaks. Changed font-weight of `.woocommerce-marketplace__product-list-title` to 400, to correspond with the correct weight of the titles like "Installed on this store" in the My Subscriptions section.

* Undo refresh move

* Fix subgrid max widths

* Fic status height

* Update collaborate link

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2023-11-21 08:08:26 +01:00
Kyle Nel 5fe2e401f0
Marketplace - tracking enhancements (#41365)
* Add discover products to page view event

* Initial implementation of beacon REST API (WIP)

* Discover page - products viewed

* Product card clicked event (WIP)

This takes data from various sources and sends it based on the different places that product cards could appear.

Data included:
- position
- vendor
- product type
- label - indicates if "promoted" if applicable
- group - the discover page group if applicable
- search_term - the search term if applicable
- category - the product category clicked from

The data is essentially complete. The beacon API needs finalising still though. Also, the vendor name click event will need to be updated with the same data.

* See more button & Category dropdown "more" events

* Marketplace: remove custom Beacon and use "queueRecordEvent"

* Marketplace: reenable product card links

This was disabled temporarily while we tested tracks on click

* Marketplace: Add position to tracks event

Co-authored-by: Kyle Nel <22053773+kdevnel@users.noreply.github.com>

* Marketplace: move Tracks data to a different prop and type

* Marketplace: refactor Tracks calls in product card

---------

Co-authored-by: raicem <unalancem@gmail.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
2023-11-21 09:48:59 +03:00
Tung Du 73d89b77a7 Fix: Product Collection show products with correct stock statuses (https://github.com/woocommerce/woocommerce-blocks/pull/11708)
* update the get visibility query method

* fix the condition

* remove unnecessary test
2023-11-21 11:29:24 +07:00
RJ a32e1a3922
dev: fix wca test helper option search wildcards (#41503)
fix wca test helper option search wildcards
2023-11-21 11:18:45 +08:00
RJ 7d465c406a
dev: edited package.json lint scripts to output to console (#41498)
* edited package.jsons to output to console

* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/product-editor, @woocommerce/onboarding, @woocommerce/number, @woocommerce/navigation, @woocommerce/integrate-plugin, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/components, @woocommerce/block-templates, @woocommerce/api, @woocommerce/ai, @woocommerce/admin-layout, @woocommerce/admin-e2e-tests

* empty commit to trigger CI

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-11-21 11:16:08 +08:00
Paul Sealock b7ba45d419
Tree Select Control: Allow parents to be searchable (#41559) 2023-11-21 14:25:46 +13:00
paul sealock 6339f1628a remove unnecessary changelog files 2023-11-21 13:57:27 +13:00
paul sealock 434cbbaa2c Fix linter error 2023-11-21 13:57:27 +13:00
Paul Sealock 92ede6dc76 Shipping Settings: Update Flat Rate edit copy (#41529) 2023-11-21 13:57:27 +13:00
Paul Sealock 7804f3b71b Shipping Settings: Handle Local Pickup default value (#41481)
* set default to zero

* handle no default
2023-11-21 13:57:27 +13:00
paul sealock c4f45e3eaa fix e2e shopper tests 2023-11-21 13:57:27 +13:00
Paul Sealock 45bd173551 Shipping Settings: Fix updates to copy (#41445)
* Update copy

* Remove uppercase from labels

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-11-21 13:57:27 +13:00
Paul Sealock 1b7035c411 Shipping Settings: Fix broken e2e tests (#41446)
* give settings proper names

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-11-21 13:57:27 +13:00
Paul Sealock b82b3e452c Shipping Settings: Fix shipping zones tour copy (#41015) 2023-11-21 13:57:26 +13:00
Paul Sealock ff1d69efb1 Shipping Settings: Handle long help tip text (#41035) 2023-11-21 13:57:26 +13:00
Paul Sealock 6021e78cdc Shipping Settings: Handle theme colors (#41054)
* Fix primary btns colors

* go back to var(--wp-admin-theme-color)

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-11-21 13:57:26 +13:00
github-actions 8329991262 Add changefile(s) from automation for the following project(s): woocommerce 2023-11-21 13:57:26 +13:00
Paul Sealock 050325c296 Shipping Settings: Update help text on add method modal (#40982)
Move description to bottom of modal
2023-11-21 13:57:26 +13:00
Paul Sealock 3ddb46bad7 Shipping Settings: Add currency symbols (#40816) 2023-11-21 13:57:25 +13:00
Paul Sealock 6ee12c8308 Shipping Settings: Update shipping settings copy (#40893) 2023-11-21 13:57:25 +13:00
Paul Sealock 0d23235d0e Shipping Settings: Add classes cost link to Flat rate methods (#40860) 2023-11-21 13:57:24 +13:00
Paul Sealock 6f460e603a Shipping Settings: Remove zone method defaults (#40838) 2023-11-21 13:57:24 +13:00
Paul Sealock 1a0da8a62d Shipping Method Settings: Update modal contents (#40615) 2023-11-21 13:57:23 +13:00
Paul Sealock 3ec81818d1 Shipping Settings: Update table styles (#40724) 2023-11-21 13:57:23 +13:00
Paul Sealock 7822326a98 Shipping Settings: Tweak Post Codes UI styles (#40554)
* Tweak Post code UI styles

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-11-21 13:57:23 +13:00
Paul Sealock 87934129f6 Shipping Classes: Create add/edit modal functionality (#40421)
* Components: TreeSelectControl - Make sure individuallySelectParent value is preserved (#40301)

* make sure individually selected parent value is preserved

* Add changefile(s) from automation for the following project(s): @woocommerce/components

---------

Co-authored-by: github-actions <github-actions@github.com>

* Add changefile(s) from automation for the following project(s): woocommerce

* fix rebase error

* appease linter

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-11-21 13:57:23 +13:00
paul sealock b6bd4df17a Use clearOnSelect false 2023-11-21 13:57:23 +13:00
paul sealock 5fd19f53fa Shipping Zone CSS changes 2023-11-21 13:57:23 +13:00
Paul Sealock 016f87d920 Shipping Settings: Add React base Region Picker (#40184) 2023-11-21 13:57:23 +13:00
Matt Sherman e3c92601c8 Changelog 2023-11-20 18:57:30 -05:00
Matt Sherman 86e8036241 Correct return type of add_group() 2023-11-20 18:55:35 -05:00
Leif Singer 2d44b1f94b
Add `store_id` to system_status REST API (#41341) 2023-11-20 19:37:20 +01:00