Commit Graph

3801 Commits

Author SHA1 Message Date
Nathan Silveira 408ceaa8f7
Fix undismissable store alert when using language localization (#38967)
* Fix error while dismissing the last alert when there's multiple

* Copy action id to localized action

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

* Fix lint issue

* Improve implementation and add test

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-07-04 16:54:13 -03:00
Fernando Marichal 00d8e65cf0
Fix grey background when menu collapsed (#38941)
* Fix styles

* Add changelog

* Fix 'adminmenuback' z-index

* Fix header and footer

* Fix header

* Fix lint

* Fix footer

* Fix form background color
2023-07-04 14:59:33 -03:00
Gan Eng Chin ed5737ba87
Call marketing extension recommendations API version 1.3 and support Klaviyo in "Installed extensions" card in Marketing page (#38974) 2023-07-04 17:27:02 +08:00
Chi-Hsuan Huang 3a402a1235
Replace button text "Proceed" with "Continue" to be more consistent (#38961)
* Replace "Proceed" with "Continue" to be more consistent

* Add changelog

* Update button label for WCPay setup step in task list
2023-07-04 11:36:28 +08:00
Moon 7bbffd3284
Update CSS styles for core profiler headers (#39059)
* Remove letter-spacing and use 500 for font-weight

* Add changelog

* Style updates for the header

* Set letter-spacing to normal
* Use 500 for font-weight
* Remove max-width

* Add changelog
2023-07-03 10:54:48 -07:00
Moon 87393e0ef1
Update CSS styles for core profiler headers (#39042)
* Remove letter-spacing and use 500 for font-weight

* Add changelog
2023-06-29 20:16:44 -07:00
Nathan Silveira 89129cc62a
Revert "Always show pricing group fields, disable if not available for a product type (#38531)" (#38964)
* Revert "Always show pricing group fields, disable if not available for a product type (#38531)"

This reverts commit 18f2de2bc4.

* Add changelog and fix lint issues

* Remove call to removed function
2023-06-27 12:50:02 -03:00
Gan Eng Chin 9d473adeb7
Make Klaviyo icon shows up in installed extensions card. 2023-06-27 23:36:44 +08:00
Ahmed 2e5b6d1d1d
Add support for 6 new countries in WCPay (#38109)
* Add new countries in isWCPaySupported

* Add new countries in get_wcpay_countries

* Add new countries in default free extension 'woocommerce-payments'

* changelog

* fox linting issue

* Remove support for Czech Republic, Sweden, Hungary

* Revert "Remove support for Czech Republic, Sweden, Hungary"

This reverts commit 0a8309f664.
2023-06-27 18:35:28 +08:00
Moon ac1b5f0b14
Restore plugins selection when there is an error (#38922)
Restore plugins selection when there is installatio error
2023-06-26 17:31:16 -07:00
Moon acfd7dc53f
Prefetch Jetpack connection and auth info (#38929)
* prefetch Jetpack connection and auth info when Jetpack is selected

* Add changelog

* Use pre-exisiting hasJetpackSelected cond
2023-06-26 17:30:46 -07:00
Chi-Hsuan Huang 5fb8183682
Fix Core Profiler UI issues (#38872)
* Fix overlapping button position when the height is less than 667px (iphone SE)

* Fix misaligned check icon on mobile

* Prevent the menu from closing when clicking on a selected item

* Add changelog

* Fix lint

---------

Co-authored-by: moon <moon.kyong@automattic.com>
2023-06-22 20:54:14 -07:00
Moon 30ea01c047
Refresh onboarding profile values on the Homescreen (#38861)
* Use window.location.href for redirection to refresh the page to get the latest onboarding profile values

* Add changelog

* Remove unused import
2023-06-21 22:40:42 -07:00
Joshua T Flowers 6bbc4dad1a
Add missing tracks events to product editor (#38728)
* Only record product update on already published products

* Add source into published product tracks event

* Add missing tracks options to product update event

* Track tab clicks in the editor

* Add source to tab clicks

* Record tracks on preview click

* Add events for media gallery, description, and attributes

* Add tracks events to more menu

* Replace new_product_page with source

* Add changelog entry

* Fix lint errors

* Add tracks for About the Editor menu item

* Add onClick event to AboutTheEditor menu item

* Use dropdown option event for classic editor menu click
2023-06-21 09:38:04 -07:00
Gan Eng Chin f31eca2ec5
Marketing: Do not show "Create a campaign" button if there are no campaign types (#38825) 2023-06-21 19:43:35 +08:00
Gan Eng Chin 04294c4ec8
Simplify code to display buttons in IntroductionBanner. 2023-06-21 18:53:45 +08:00
Ismael Martín Alabarce d31b7866af
Add missing spacing in WCPay welcome incentive page cards (#38819)
* Add missing card spacing for the WCPay welcome incentive cards

* Add changelog entry
2023-06-20 11:12:44 -05:00
Gan Eng Chin 617b51c91d
Add and fix tests for Campaigns component. 2023-06-20 23:03:56 +08:00
Gan Eng Chin c6a5e8ba41
Do not show "Add channels" button when create campaign button is not shown. 2023-06-20 22:13:24 +08:00
Gan Eng Chin 2b477fb93f
Show create campaign button in campaigns card when there are campaign types. 2023-06-20 21:05:27 +08:00
Gan Eng Chin 81c34086fe
Display create campaign button when there are campaign types. 2023-06-20 20:54:45 +08:00
Chi-Hsuan Huang 9509ae8136
Fix help panel links (#38817)
* Fix links under "Help" panel on Home screen

* Add changelog
2023-06-20 18:11:44 +08:00
Vlad Olaru 4fffdf5703
Fix lint issue 2023-06-19 18:50:12 +03:00
Vlad Olaru 2a88ed10b1
Encode URL param to be safe 2023-06-19 18:14:42 +03:00
Vlad Olaru a76d979962
Include incentive ID in connect URL 2023-06-19 18:05:45 +03:00
Ismael Martín Alabarce 1ae97495de
Update WooPayments welcome page incentive logic (#38797)
* Update orders status query to ensure it exclude trash.

* Add incentive ID to every track event

on the welcome incentive page.

* Remove unnecessary SCSS after #38775 fix

* Add changelog entry

* Replace tos_url with tc_url for accurate naming

* Fix phpcs errors

---------

Co-authored-by: Vlad Olaru <vlad@pixelgrade.com>
2023-06-19 15:23:33 +02:00
Vlad Olaru 5e1b6a71f4
Replace tos_url with tc_url for accurate naming 2023-06-19 14:32:57 +03:00
Ismael Martín Alabarce 9b0e5dc89a Remove unnecessary SCSS after #38775 fix 2023-06-19 13:05:01 +02:00
Ismael Martín Alabarce 4afd148e0e Add incentive ID to every track event
on the welcome incentive page.
2023-06-19 13:04:14 +02:00
Moon bc827cf16b
Update/38743 loading changes in core profiler (#38750)
* Skip teh plugin page when all the plugins are activated

* Fix the if statement so that stageIndex becomes 2 when progress is over 60

* Add a 2nd loader stage for the skipped guided setup

* Add changelog

* Lint fix -- css

* fix: banished core profiler page spinners

* addressed pr comments

* update jest snapshot

---------

Co-authored-by: rjchow <me@rjchow.com>
2023-06-19 13:33:28 +08:00
Moon cea0bc143c
Decode HTML entities from store name (#38791)
* Decode store name with HTML entities

* Add changelog
2023-06-18 21:58:16 -07:00
Moon 00e4e94c89
Change select option hover color on core profiler pages (#38724)
* Use theme color for the option hover

* Add Changelog

* Remvoe absolute position -- can't predict correct value for bottom

* Fix css lint error

* Fix button width

* Use gray-0 for dropdown item hover color

* Fix border style for Give your store a name field

* Fix hover color for the platform options

* Remove light color on hover

---------

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-06-19 11:03:55 +08:00
Ilyas Foo b490e56a40
Various UI fixes in Core profiler steps (#38759)
* Fix font heading font style and adjust main component max width to match design

* Remove redundant #FunWooFact

* Reset button font color to follow admin theme

* Fix Installed label vertical alignment

* Changelog

* Remove permanent borders from consent checkbox, lint fix

* Remove box shadow on checkboxes in plugins page

* Standardize checkbox styling across core profiler

* Fix heading font styling

* Lint

* More lint

* Update snapshot
2023-06-17 13:14:13 +08:00
Ilyas Foo 71a039852f
Fix payment gateway suggestions display logic (#38658)
* add: updated payment gateways for 2023 Q3

* Update payment gateway suggestions display logic, better comments and variable names, added core onboarding profiler option to support offline venue, added IN to paypal visibility rule

* Lint

* Update for better WCPay logic

* Remove accidental imports

* Added return object comment

* More lint

* Changelog

---------

Co-authored-by: rjchow <me@rjchow.com>
2023-06-16 23:46:37 +08:00
Ismael Martín Alabarce 9a49ff72da
Update WCPay welcome page incentives (#38689)
* Initial refactor of components

Move out from index every UI component to make it easier to maintain.

* Initial implementation of new design

Some minor adjustments are missing, and I've added a few TODOs to complete later.

* Add changelog entry

* Finish design update

* Compress menu icon

* Add user's first name to heading copy

* Fetch and cache eligible incentive from WCPay API

Sharing its properties under `window.WcSettings.admin`

* Filter `allowed_promo_notes`

To be able to add those form WCPay API request

* Update JS side to use the new shared incentive details

* Ensure we cache requests even if there are no eligible incentives

* Fix a typo in WCPayBanner

* Move incentive preloaded data from wcSettings

to a new window variable which will be only loaded on WCPay welcome page.

* Simplify `has_wcpay` check

* Render sanitized HTML from incentive description

* Update get incentive logic to also cache non success responses

* Add incentive ID to page view track

* Add changelog entry for the onboarding package

* Update used options names

and add them to `get_default_option_permissions

* Differentiate every dismissed incentive

Reuse WCPay welcome page logic for notes display conditions

* Use tos_url instead of tos_link to match response

* Fix incentives endpoint request payload

* Back to preload incentive on admin shared settings

* Move promo notes filter to where it's used

to avoid any possible race conditions.

* Replace every occurrence of `WooCommerce Payments` with `WooPayments`

* Prevent modal large padding-bottom

* Prevent another global style override on modal

* Fix TS error coming from trunk merge

* Fix wrong style property

* Further restrict WCPay incentives to plugin not active and countries supported

* Adjust the meaning of has_wcpay

* Wait for dismiss option update before redirect

to prevent the side menu entry to be visible after redirecting back to WC admin.

* Enforce TOS asterix at the end of incentive description

* Remove underscore from priavate instance var.

* Fix ESLint error

* Fix SCSS linting issues

* Refine `has_wcpay` and `has_orders`

* Enforce consistent WooPayments branding

* Enforce stricter i18n calls with escape

* Update page title to match new branding

* docs: Enforce branding in code docs also

* Remove method that is unreliable to be used outside of onboarding

* Remove unused constant

* Missing new line

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

---------

Co-authored-by: Vlad Olaru <vlad@pixelgrade.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-06-16 16:32:58 +02:00
Ilyas Foo 0a50173976
Fix infinite redirect from homescreen to core profiler (#38768)
* Fix infinite redirect using useEffect to remove unintentional rerendering

* Changelog
2023-06-16 20:28:25 +08:00
Ilyas Foo 1e72bb0401
Allow `plugins_page_skipped` parameter in Onboarding API endpoint (#38764)
* Append plugins_page_skipped parameter to onboarding API

* Changelog

* Rename property to is_plugins_page_skipped and fixed tests

* Changelog

* Fix lint
2023-06-16 18:06:58 +08:00
Moon 1a42094e5e
Fix Jetpack redirection issue when the auth endpoint returns an invalid url (#38760)
* Return full response from getJetpackAuth

* Add success and errors

* Redirect to Home in case of an error from getJetpackAuth endpoint

* Add changelog

* Use redirectToJetpackAuthPage

* Replace window.location.href with navigateTo

* Fix type issue with getJetpackAuthUrl

* Update plugins/woocommerce-admin/client/core-profiler/index.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2023-06-16 00:56:30 -07:00
Moon 630faadb81
Update/implement connect to jetpack (#38674)
* Add install-and-activate-plugins-async action to onboarding

* Add label and learn_more_link types

* Use label and learn_more_link

* Remove unused imports

* ts fixes

* Visual changes on the plugin page

* Change CTA font size from 13px to 14px
* Change spacing between the chebox and logo to 24px
* Change heading font-weight to 500

* Fix css lint error

* Add back learn more link that was removed from rebase

* Add required packages

* Load Jetpack Config

* Add getJetpackAuthUrl to data/onboarding

* Add Connection Rest Auth -- seems like this is required for Jetpack to communicate back to the connected site

* Add jetpack-authorization-url REST API

* Redirect to Jetpack Auth page after the installatino process if jetpack was selected

* Require can_install_plugins permission for jetpack auth url endpoint

* Update packages/js/data/src/onboarding/resolvers.ts

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/src/Admin/API/OnboardingPlugins.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Remove automattic/jetpack-sync and its config

* Support redirect_url and from params

* Do not redirect to Jetpack auth if it is already connected

* Add installed_ext_success=1

* Use woocommerce-core-profiler for from value

* Revert unrelated lock file changes

* Minor refactor

* Extracted out isJetpackConnected cond to a guard

* Added meta data for isJetpackConnected to prevent unwanted spinner

* Add Changelog

* Lint fix

* Move Jetpack Connection config init to class-woocommerce

* Add changelog

* Remove unnecessary require

* Note jetpack-authorization-url endpoint is experimental

* Fix broken test

* Add component to sendToJetPackAuthPage state

* Fix lint error

---------

Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-06-15 20:28:18 -07:00
Moon d51f69d2d7
Update track name prefix for core profiler (#38710)
* Use coreprofiler_ prefix

* Add Changelog

* Track name changes

* Rename intro_optin to intro_opt_in

* Extracted out recordFailedPluginInstallations and recordSuccessfulPluginInstallation to tracks

* Fix js lint error -- remove unused import
2023-06-15 13:37:14 -07:00
RJ 723c68e240
fix: core profiler plugins list race condition (#38732) 2023-06-15 12:45:54 -07:00
Maikel David Pérez Gómez fe7933e7a9
Implement experiment within code for new users (#38700)
* Configure the expiriment to redirect variation treatment to the new product editor

* Add changelog file

* Fix experiment name

* Fix changelog description
2023-06-15 14:42:57 -04:00
Nathan Silveira bfd720c28f
Extract usePublishedProductsCount hook and use it in about-the-editor-menu-item (#38742) 2023-06-15 13:03:18 -03:00
Maikel David Pérez Gómez 2471dcba05
Replace 'use classic editor' with 'Turn off the new product editor' in options menu (#38693)
* Options menu in product editor view should show Turn off the new product editor with some subtext

* Record event product_editor_options_turn_off_editor_click when clicking Turn off the new product form menu item

* Add changelog file
2023-06-15 10:55:11 -04:00
Nathan Silveira 5f94b411f0
Product Editor Onboarding: Add About the editor... option the more menu in product block editor (#38691)
* Add 'About the Editor' menu item

* Show the guide when clicking the menu item

* Add track event when clicking about the editor

* Add changelog

* Remove from product more menu
2023-06-15 10:07:46 -03:00
Matt Sherman 9d7b68b82c
Update product editor tour design (#38726) 2023-06-15 08:23:13 -04:00
Moon e50fb51b26
Set skipped flag when guided setup is skipped (#38730)
* Set woocommerce_onboarding_profile.skipped when guided setup is skipped

* Add Changelog
2023-06-14 21:12:03 -07:00
Chris Runnells 1e19d186c2
Fix task list header overlap (#38707) 2023-06-14 11:44:30 -10:00
Matt Sherman de6f77d8be
Fix transient notices overlapping product editor footer (take 2) (#38698)
* Use WooFooterItem for Footer

* Use WooFooterItem fill for TransientNotices

* Adjust TransientNotices styling to work in footer

* Fix footer width when in setup wizard

* Change export of TransientNotices from default to named

* Add border to footer

* Changelog

* Changelog

* Mock WooFooterItem to allow unit tests to pass

* Fix lint error in test
2023-06-14 16:32:28 -04:00
Fernando Marichal 47481490d8
CES modal modifications (#38643)
* Add extraFields prop

# Conflicts:
#	packages/js/product-editor/src/components/product-mvp-ces-footer/product-mvp-ces-footer.tsx

* Add changelog

* Add changelogs

* Fix styles

# Conflicts:
#	packages/js/product-editor/src/components/product-mvp-ces-footer/style.scss

* Add extraFields validation

* Remove files

* Add styles and js

* Modify the other share feedback form

* Change modal title

* Fix feedback-bar

* Fix return

* Fix params types

* Rename `extraFields` to `getExtraFieldsToBeShown`

* Fix styles

* Fix error handling

* Fix styles

* Rename prop

* Fix error message
2023-06-14 11:25:51 -03:00
Moon 604132391a
Visual changes for Intro, guided setup, and skipped guided setup pages (#38709)
* Change Skip this setup to Skip this step

* Visual changes on intro, user profile, and skip guided page

* Always check tracking agreement

* Change border to 2px

* Change Give yoru store a name font-size to 13

* Add Changelog

* Update test to reflect the text change

* Remove !important

* Update test snapshot

* Update test snapshot

* Remove test that is no longer necessary
2023-06-13 22:10:43 -07:00
Moon 620ff93e5a
Additional changes for the core profiler plugins page (#38616)
* Add install-and-activate-plugins-async action to onboarding

* Add label and learn_more_link types

* Use label and learn_more_link

* Fix type

* Add changelog

* Add changelog

* Add install_priority -- this will be used in the core profiler

* Sort selected plugins by install_priority for installation

* Remove unused imports

* dev: refactor installAndActivatePlugins to xstate

* ts fixes

* Sort plugins by install_priority

* Make sure WooCommerce Shipping is always visible

* Update free extension list content

* Updated WC payment description
* Updated logo images

* Visual changes on the plugin page

* Change CTA font size from 13px to 14px
* Change spacing between the chebox and logo to 24px
* Change heading font-weight to 500

* Fix css lint error

* Fix gray-900 variable name

* Hide learn more link on mobile view

* Add back learn more link that was removed from rebase

* Send pluginsAvailable to pluginInstallermachine

* Use is_activated to determine plugin availability and install status

* Update packages/js/data/src/onboarding/types.ts

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/src/Internal/Admin/RemoteFreeExtensions/DefaultFreeExtensions.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Add back recordTracksPluginsLearnMoreLinkClicked

* Use install-and-activate-plugins-async when timer is up

* Record plugin and link with learn more linked clicked event

* Fix failign tests

* Add comment for install_priority

---------

Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-06-13 15:03:03 -07:00
Chris Runnells 6e39164cea Update task list CSS to prevent text from overlapping the background image 2023-06-13 12:02:43 -10:00
Nathan Silveira bc3edb0ae1
Update style of Block product editor TourKit (#38640)
* Increment style of first step of block editor tour

* Changelog
2023-06-13 16:44:01 -03:00
Nathan Silveira 0fc765beb3
Product Editor Onboarding: Add "tell me more" button to wc.com page (#38639)
* Copy Guide component from @wordpress/components and fix focus issue

* Add 'tell me more' button and behavior

* Move Guide component from components package to admin package
Implement assigning an href to the finish button, sending the current page and origin as a parameter on the onFinish callback

* Remove dependency

* Restore pnpm-lock.yaml

* Add changelog

* Add comment in Guide component

* Dismiss modal only when it's finished or X button is clicked

* Add 'rel' when opening link in a new tab
2023-06-12 14:54:29 -03:00
Matt Sherman 2039d8915e
Show feedback bar after product editor tour/guide (#38669) 2023-06-12 12:43:19 -04:00
Nathan Silveira 18f2de2bc4
Always show pricing group fields, disable if not available for a product type (#38531)
* Always show General product tab

* Add info messages for variable and grouped products

* Add logic to disable/enable fields and labels based on product type

* Tweak CSS and fix links

* Add tracks events for links

* Add filters to pricing disabled message

* Tweak logic to only enable fields on certain product types instead of disabling in the opposite ones

Add fallback message when pricing is disabled but it's not Variable or Grouped product

* Add docblocks

* Fix more lint issues

* Fix last lint issues

* Update selector in e2e test

* Refactor PHP echo

* Attach to #woocommerce-product-data instead of attaching to body
2023-06-12 12:58:26 -03:00
Maikel David Pérez Gómez 72f7e6ebbb
Publishing product in classic editor redirects back to new editor (#38551)
* Changes the feature given it's id and a toggle value as a query param

* Swap classic editor and new product block editor url when product_block_editor feature changes

* Turn off the product_block_editor feature when user choose to use the classic editor

* Add changelog files

* Fix linter errors

* Add nonce to each feature change request

* Change the hooks name for better readability

* Use get_current_screen function to better identify if the current screen is the product creation or edition

* Add wp_die if the nonce verification failed

* Change regex for explode/parse_url for better reading
2023-06-09 11:18:40 -04:00
RJ 622711c48b
dev: refactor installAndActivatePlugins to xstate (#38577)
* dev: refactor installAndActivatePlugins to xstate

* ts fixes

* fixed first plugin install progress bar reset issue

* clean up todo comments

* fixed bug where errors were not reported if past 30s timeout

* fix lint
2023-06-09 15:08:45 +08:00
Matt Sherman dadc0eb777
Show feedback footer on product editor page (#38599) 2023-06-08 20:56:07 -04:00
RJ 5c4746cefc
add: core profiler url routing (#38620)
* added url routing

* fixed tests and changelog
2023-06-08 12:52:22 +08:00
Gan Eng Chin 99dbdbe3f2
Fix WooCommerce name typo in Codisto extension description in test (#38302) 2023-06-07 23:45:52 +08:00
RJ 1b1f86066f
dev: refactor core profiler pages (#38606)
* dev: refactor core-profiler - modularise each page

- wrapped each page's pre, post, and main states into their top level states for tidiness
- tagged them with id so that we can easily jump to them when doing routing
- generalised component finder code such that it recursively traverses the state meta object until it finds a component key
- fixed css label to use top level state key

* moved initializing into introOptIn so it's not a special case by itself
2023-06-07 11:39:38 +08:00
Nathan Silveira 52fe3c4a5a
Product Editor Onboarding: Show spotlight for first time visitors (#38590)
* Add placeholder TourKit in product-page

* Create component and configure it to show to the right of wp menu

* Finish TourKit and start creating features guide

* Implement CSS changes and background color

* Create Wrapper to facilitate showing the tour and guide without relying on the options in the future

* Refactor
Add tracks events

* Add changelog

* Fix lint problems

* Fix CSS

* Refactor styles

* General refactor and extract BlockEditorGuide component

* Add changelog

* Fix lint issues
2023-06-06 12:06:26 -03:00
RJ e1bdd2f73b
dev: refactor core profiler tracks actions (#38603)
* dev: refactor core-profiler - consolidate tracks

* dev: refactor core-profiler - moved tracks out

* dev: moved tracks up one level

* dev: fixed spawn warning

- caused by this xstate bug https://github.com/statelyai/xstate/issues/1429

* dev: standardised ctx -> context
2023-06-06 15:20:34 +08:00
Chris Runnells a5bbe0ed7c
Add Core Profiler loading spinner (#38598) 2023-06-05 10:32:07 -10:00
Tomek Wytrębowicz f569f333a1
Fix Layout Controller forwarding arrays from the URL query string. (#38593)
* Revert part of "Remove `qs` dependency from `woocommerce-admin` (#35128)"

This reverts Layout- and Filter-related changes from commit 00c151f9aa, reversing
changes made to eef417fe39.

Removes the fix (keeping the test) from https://github.com/woocommerce/woocommerce/pull/38542 as it's not needed for `qs`

Fixes https://github.com/woocommerce/woocommerce/issues/38582.

* Simplify the use of query params in `ProductTour`

* Add changelog entry
2023-06-05 04:55:20 -03:00
Chris Runnells 3ae3a0df8d Lint fixes 2023-06-02 15:08:33 -10:00
Chris Runnells 3082b21b1e Added ProfileSpinner component to display when Core Profiler assets are loading 2023-06-02 14:27:17 -10:00
Adrian Duffell bb2fcce173 Update task header max width
Fixes a bug where on 2-col layouts, text was overlapping the image because the overall container size is less than 500px.

75% is the equivelent of 500px for single-col layout.
2023-06-02 21:51:32 +08:00
louwie17 7d4f65b8c7
Fix save settings error within Analytics (#38542)
* Filter out undefined query params

* Add changelog
2023-05-31 09:35:54 -03:00
Sam Seay b076a7b521
Fix linter issues and update Syncpack (#38523) 2023-05-31 11:45:10 +12:00
Ilyas Foo edf95bf3f4
Update shipping partner suggestions to use data from API (#38457)
* Added shipping partner suggestions data handling in JS

* Add woocommerce services real info

* Add dynamic layout components, remove unused JS, added images to proper asset paths

* Changelog

* Update changelog and removed unused variable

* Remove console.log

* Lint fix

* Add shipping methods module in woocommerce/data

* Update data usage

* Revert "Added shipping partner suggestions data handling in JS"

This reverts commit 6a87ef2658.

* Lint fix
2023-05-30 15:56:32 +08:00
RJ ab18828e84
add: core profiler business info page (#38412)
* add: core profiler business info page
2023-05-30 15:05:38 +08:00
Maikel David Pérez Gómez b0ac1607b9
View should scroll to the top when navigating between tabs (#38484)
Override the interface skeleton container so it can be scrollable
2023-05-29 15:28:50 -04:00
Moon 6946ef384a
Core Profiler - Add extensions page (#38405)
* Initial design impl. without the full functionality

* Delete unused icons

* Add is_installed and plugins_page_skipped

* Add plugin-card component to render an installable plugin

* Implement plugins page

* Add loaders for plugins

* Add changelog

* Remove unused type

* Add changelog

* Remove unnecessary return statement

* Add obw/core-profiler

* Replace extensions with plugins

* Temp -- use window.location.href for Woo Home redirection

* Minor: code refactor

* Refactor isntallAndActivatedPlugins

* Skip plugins page when there is no available plugin

* Apply mobile styles

* Update plugins/woocommerce-admin/client/core-profiler/components/plugin-card/plugin-card.scss

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/components/plugin-card/plugin-card.scss

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/style.scss

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Bold errored plugin name

* Fix checkbox alignment

* Update changelog

* Fix object type for formatToParts function

* Fix lint issues

* Fix CSS lint issues

* Fallback to en-US when locale is not available

* Fix error with siteLocale

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2023-05-29 07:45:30 -07:00
Nathan Silveira c44ee9649f
Filter by date_paid and date_completed on list table orders (#38428)
* Filter by date_paid and date_completed on list table orders based on configuration

* Use separate query param 'order_date_type' to filter orders

* Add clarifying comment

* Add missing phpcs ignore

* Refactor to use 'm' and 'order_date_type' query parameters
2023-05-26 05:19:01 -03:00
RJ 80f6d0a6a6
add: wccom migrate link in nux (#38441)
* add: wccom migrate link in nux

* Update plugins/woocommerce-admin/client/profile-wizard/steps/business-details/flows/selective-bundle/style.scss
2023-05-25 20:25:03 +10:00
Chi-Hsuan Huang af26209886
Update "Set up additional payment options" task view & complete logic (#38273)
* Cache WooCommercePayments task is_complete() result

* Update Set up additional payment task view logic

* Add changelog

* Update additional payment task view & complete logic

* Add changelog

* Fix lint and view logic

* Fix lint

* Fix lint

* Update payment task section heading logic
2023-05-25 12:24:15 +08:00
Chi-Hsuan Huang 4547922f3f
Add core profiler user profile page (#38328) 2023-05-22 11:21:16 +08:00
Maikel David Pérez Gómez ebf0b92960
Use feature the new feature flags engine to guard the access to the new product blocks experience (#37122)
Unregister the product-block-editor feature flag from WC Admin Test Helper, and enable product block editor feature.
2023-05-19 12:53:55 -04:00
Nathan Silveira 869b897ddd
Rename tracks event `product_attributes_add` to `product_attributes_save` on the product page and update attributes (#38278)
* Change attributes of tracks event product_attributes_add

* Don't send used_for_variations_count if it's not variable product type

* Explicitly add null values in product_attributes_add when the attribute is sent on the other call

* Rename product_attributes_add on the product page to product_attributes_save
Fix inverted local and global attributes count
Remove unnecessary parameters
Refactor code

* Update changelog
2023-05-19 12:44:54 -03:00
louwie17 2843fbb7a8
Fix editor header hidden in Firefox (#38247)
* Update page config to add support for layout header/footer

* Fix lint error
2023-05-18 13:00:42 -03:00
Joshua T Flowers 81e92392d5
Fix double scrollbars on product editor page (#38281)
* Refactor Layout component to functional component

* Add class to pages based on page path

* Add styling for interface skeleton on product pages

* Add changelog entries

* Move product page styles out of product editor package and into client

* Fix linting issues

* Check for location before checking path in page tracking

* Dont add body classes when no page path exists

* Record page view without router location for embed pages
2023-05-18 05:25:36 -03:00
RJ 00952e8b95
add: core profiler fetch extensions (#38270)
add: fetch extensions and countries from API for core profiler

- prefetch it once in the machine init so that it's instant when used later
- fetch it again in preExtensions state and store it to context
- added prefetch for getCountries as well
2023-05-18 10:50:59 +08:00
Chi-Hsuan Huang dcbfbe2748
Cleanup task list and re-organize file structure (#38271)
* Deprecate onboarding task snooze APIs

* Cleanup task list and organize tasks file structure

* Add changelog

* Fix lint

* Fix tests

* Remove two-columns check logic

* Fix mock path
2023-05-17 09:54:31 +08:00
Maikel David Pérez Gómez 4b3479595b
Only register blocks when user navigates to the product edit page (#38303)
* Remove block registration from within the Editor component

* Expose the initBlocks function to be used outside of the product package

* Register blocks within the ProductPage component

* Add changelog files

* Unregister blocks when product page gets unmounted
2023-05-16 07:41:26 -03:00
RJ 38dc82b4b1
dev: add core profiler state machine tests (#38154)
dev: added tests for core profiler state machine

- added tests to demonstrate model based testing with @xstate/test
2023-05-16 08:56:39 +08:00
Gan Eng Chin 57220390b9
Update Codisto extension description and fix WooCommerce name typo in test. 2023-05-16 00:42:15 +08:00
Moon 0bf6859383
Add Business Location page to the core profiler (#38019)
* Add core profiler - welcome to woo page

* Update checkbox styles

* Add tracks

* Update default tracking value

* Update copies

* using invoked promise instead of useState

- take advantage of xstate's built ins for side effects instead of  useEffect/hooks
- discovered that error result wasn't really handled in original useEffect
- use text labels instead of inline functions so that we can decouple the implementation from the machine model
- todo: can move the invoked function out elsewhere and also tests if needed (not necessary here because it's a simple call)

* add: core profiler scaffolding using xstate

* Add navigation and progress-bar components

* fix css lint error

* Update plugins/woocommerce-admin/client/core-profiler/components/navigation/woologo.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/components/progress-bar/progress-bar.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/components/navigation/navigation.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Remove var from __ function

* Use woocommerce prefix for classnames

* Fix css lint error

* Fix broken tests

* Add business location page

* Remove unwanted changes from rebase

* Remove unwanted changes from rebase

* Redirect to Woo Home on exit

* Add tracks

* Fix js lint error

* Add loader page

* Support meta value from nested states

* Use navigateTo

* Add tests for getCountryStateOptions

* Use Country type from navigation package

* Rename useStages to getLoaderStageMeta

* Add changelog

* Move progress from 20 to 80

* Fix xstate warning

* Fix broken pnpm lock

* Fix eslint errors

* Update plugins/woocommerce-admin/client/core-profiler/services/country.ts

Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>

* Update plugins/woocommerce-admin/client/core-profiler/index.tsx

Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>

* Save country to option

* Fix jslint error

* Update plugins/woocommerce-admin/client/core-profiler/services/country.ts

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/style.scss

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Fix eslint error

* Use decodeEntities directly

* Update comment for artificial 3 seconds wait

* Disable Go to my store button when country is empty

* Style for mobile devices

* Style updates for the country dropdown

* Fix js lint error

* Update country dropdown border color

* Style the loader

* Fix css lint

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>
2023-05-15 04:56:47 +08:00
Nathan Silveira 345cca1e09
Fix activity panel not showing unread when closed (#38173)
* Create new attribute to calculate more accurately if activity tab has something "new"

* Fix wrong attribute name

* Revert previous change, rename functions and remove isPanelOpen clause from hasAbbreviatedNotifications logic

* Rename functions
2023-05-11 16:07:13 -03:00
Nathan Silveira f668ce72ac
Add tests to tracks events fired through JS (#38124)
* Add test for inbox_note_view event

* Add tracks test for Layout's page_view

* Add test to inbox_action_click

* Add tests to analytics_filter tracks event

* Add tracks event test to activity_panel_open

* Add tests to tracks event activity_panel_orders_orders_begin_fulfillment

* Add tracks tests to activity_panel_stock_update_stock

* Improve tests based on code review comments

* Mock recordEvent and recordPageView globally

* Add missing mock

* Improve inbox panel tests
2023-05-10 09:36:42 -03:00
Chi-Hsuan Huang 687549dc6b
Fix "Marketing & Merchandising" padding on store management panel (#38088)
* Add a 24px spacing between the Manage my store header and the Marketing & Merchandising heading

* Add changelog

* Update store management card style

* Update .woocommerce-store-management-links__card-body padding
2023-05-10 13:02:22 +08:00
Chi-Hsuan Huang 956d09c34b
Fix shipping tour layout context error (#38183)
* Add LayoutContextProvider to embedded body layout to fix shipping tour error

* Show an error notice and record track when failing to update shipping option

* Add changelog

* Update error message

* Remove unused import
2023-05-10 13:01:37 +08:00
Matt Sherman d11f50b5a3
Update empty state for product attributes tab (#38126)
* Remove empty state HTML

* Add empty attribute when product has no attributes

* Remove unused woocommerce_admin_meta_boxes.has_local_attributes

* Remove unused toggle_add_global_attribute_layout

* Remove unused button.add_attribute click handling (button doesn't exist anymore)

* Fix positioning of Expand / Close

* Remove unnecessary add-attribute-container div

* Refactor attribute search selection handling

* Remove empty attribute if adding an existing attribute

* Update e2e test clicking of "Add new" attribute button

* Update Tracks handling for "Add new" attribute button

* Changelog

* Fix action recorded when "Add new" button is clicked

* Remove console.log statements

* Allow propagation of click event on "Create value" button

* Move Tracks wcadmin_product_attributes_buttons action: 'add_existing' to product-tracking TS

* Make function names more descriptive. Add comment to clarify why event.preventDefault is used.
2023-05-09 20:04:29 -04:00
Tomek Wytrębowicz 00c151f9aa
Remove `qs` dependency from `woocommerce-admin` (#35128) 2023-05-09 21:03:25 +02:00
Tomek Wytrębowicz bbf4f47c9c Remove qs dependency from `WCAddonsTour` ,
use native `URLSearchParams` instead.
2023-05-09 14:57:39 +02:00
Chi-Hsuan Huang 2189cb181a
Hide "Upload a logo" step in Personalize task if theme doesn't support it (#38161)
* Hide upload logo step in Personalize task if theme doesn't support it

* Add changelog

* Fix lint
2023-05-09 18:20:18 +08:00
Chi-Hsuan Huang 0148c3eafd
Make all fields in the tax location form mandatory (#38137)
* Make all fields in the tax location form mandatory

* Add changelog
2023-05-09 17:01:37 +08:00
Chi-Hsuan Huang 4a237ca476
Migrate Purchase task and dashboard utils to TS (#37725)
* Fix onboarding productTypes TS define type

* Rename purchase.js -> purchase.tsx

* Rename utils.js -> utils.ts

* Migrate dashboard/util to TS

* Rename tasks fills to index.ts

* Migrate purchase task to TS

* Add changelog

* Fix types

* Update changelog
2023-05-09 11:28:57 +08:00
Jeffrey Paul df0583f9b8
Fix/37502: Correct spelling errors. (#37887)
* change reference of Catpure to Capture

Co-Authored-By: Vikram  <93216400+vikrampm1@users.noreply.github.com>

* change reference of expicitly to explicitly

Co-Authored-By: Vikram  <93216400+vikrampm1@users.noreply.github.com>

* change reference 'cutted' to 'cut'

* change reference 'determening' to 'determining'

* change reference 'retreive' to 'retrieve'

* change reference 'neccessary' to 'necessary'

* change reference 'Fitler' to 'Filter'

* change reference of "seperate" to "separate"

Co-Authored-By: Ankit K Gupta <ankit.himcs@gmail.com>

* change reference of "wether" to "whether"

Co-Authored-By: Sumit Bagthariya <67687255+qasumitbagthariya@users.noreply.github.com>

* change reference of "staus" to "status"

* change reference of "retrive" to "retrieve"

* change references of "gatways" to "gateways"

* change references of "existant" to "existent"

* change reference of "requries" to "requires"

* change reference of "configuation" to "configuration"

* change reference of "processsing" to "processing"

* change reference of "represenation" to "representation"

* change reference of "dimentions" to "dimensions"

* change references of "reigster" to "register"

* change reference of "colum" to "column"

* change reference of "transtions" to "transitions"

* change references of "intially" to "initially"

* change references of "orignal" to "original"

* change references of "deprected" to "deprecated"

* change references of "paramter" to "parameter"

* change reference of "intance" to "instance"

* change reference of "elemets" to "elements"

* change references of "funcitons" to "functions"

* change reference of "specificed" to "specified"

* change references of "atributes" to "attributes"

* change reference of "tast" to "task"

* change reference of "chaning" to "changing"

* change reference of "retreiving" to "retrieving"

* change reference of "caluclation" to "calculation"

* change references of "Invaid" to "Invalid"

* change references of "paramaters" to "parameters"

* change reference of "Additonal" to "Additional"

* change reference of "teh" to "the"

* change reference of "evalutes" to "evaluates"

* change reference of "addedd" to "added"

* change reference of "excempt" to "exempt"

* change reference of "sequencially" to "sequentially"

* change reference of "previos" to "previous"

* change reference of "elegible" to "eligible"

* change references of "Boostrap" to "Bootstrap"

* change references of "compability" to "compatibility"

* change reference of "heirarchy" to "hierarchy"

* change references of "visibilty" to "visibility"

* change reference of "comparsion" to "comparison"

* change reference of "capabilties" to "capabilities"

* change reference of "datatores" to "datastores"

* change reference of "occured" to "occurred"

* change reference of "coresponding" to "corresponding"

* change references of "thier" to "their"

* change reference of "sucessfully" to "successfully"

* change reference of "insde" to "inside"

* change reference of "nagivation" to "navigation"

* change references of "visiblity" to "visibility"

* change reference of "documentaiton" to "documentation"

* change reference of "anayltics" to "analytics"

* change reference of "intalling" to "installing"

* change reference of "mininum" to "minimum"

* change references of "intial" to "initial"

* change reference of "Feld" to "Field"

* change reference of "taks" to "task"

* change reference of "trasnfer" to "transfer"

* change reference of "respone" to "response"

* change reference of "Extenstions" to "Extensions"

* change reference of "detault" to "default"

* change reference of "simultanious" to "simultaneous"

* change reference of "overides" to "overrides"

* change references of "Indvidual" to "Individual"

* change reference of "refering" to "referring"

* change reference of "aginst" to "against"

* change reference of "execuatable" to "executable"

* change reference of "repsonse" to "response"

* change reference of "documention" to "documentation"

* change reference of "asumed" to "assumed"

* change reference of "Minium" to "Minimum"

* change reference of "unqiue" to "unique"

* change references of "existance" to "existence"

* change reference of "compatability" to "compatibility"

* change reference of "Taxnomy" to "Taxonomy"

* change reference of "quering" to "querying"

* change reference of "retrun" to "return"

* change reference of "informations" to "information"

Co-Authored-By: Viktor Szépe <viktor@szepe.net>

* Add changelog

* Add changelog

* Fix typo

---------

Co-authored-by: Vikram  <93216400+vikrampm1@users.noreply.github.com>
Co-authored-by: Ankit K Gupta <ankit.himcs@gmail.com>
Co-authored-by: Sumit Bagthariya <67687255+qasumitbagthariya@users.noreply.github.com>
Co-authored-by: Viktor Szépe <viktor@szepe.net>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2023-05-08 15:55:09 +08:00
Chi-Hsuan Huang 3f0219b1bc
Fix misaligned loading sample product's progress message (#38107)
* Fix misaligned loading sample products modal

* Add changelog

* Fix misaligned loading sample product confirm modal
2023-05-08 12:19:55 +08:00
Tomek Wytrębowicz 0d45b0f107 Merge branch 'trunk' into remove/qs 2023-05-07 16:18:32 +02:00
aezazs-multidots 24a59c8d59
updated product description tips text (#38070)
* updated product description tips text

* Add Description in changelog
2023-05-05 20:10:58 +08:00
Chi-Hsuan Huang 208ac81ba3
Fix tasklist completion message when no tasks are completed (#38092)
* Fix task list progress title

* Add changelog
2023-05-05 17:48:10 +08:00
Chi-Hsuan Huang ef7bf6a28b
Update Payfast logo and title (#38090)
* Update Payfast title

* Update Payfast logo

* Add changelog

* Update Payfast 72x72 logo
2023-05-05 15:42:47 +08:00
Chi-Hsuan Huang ea58ae339a
Add core profiler "Welcome to Woo!" page (#37952)
* Add core profiler - welcome to woo page

* Add changelog

* Update checkbox styles

* Update copies

* Add test

* Add enable prop to window.wcTracks type

* Add tracks

* Add explat changelog

* Fix import

* Update default tracking value

* Update copies

* Fix test

* using invoked promise instead of useState

- take advantage of xstate's built ins for side effects instead of  useEffect/hooks
- discovered that error result wasn't really handled in original useEffect
- use text labels instead of inline functions so that we can decouple the implementation from the machine model
- todo: can move the invoked function out elsewhere and also tests if needed (not necessary here because it's a simple call)

* use actions.choose instead of branching inside action 

- https://stately.ai/docs/xstate/transitions-and-choices/guarded-actions#the-choose-action
- makes it so that the machine model is serializeable
- todo: in the distant future i wonder if it might be tidier to have tracks be its own actor that just receives the same events that this machine does, that way it's just standalone instead of mixing up tracks with the implementation

* use dispatch instead of useDispatch

- decouples the implementation of the handler from the react component
- makes the handler testable on its own if needed
- makes the state machine testable without relying on external dependencies

* decoupled remaining function calls

* Fix lint error

* Fix style lint

* address xstate console warnings

- .withConfig() is a function call that returns a new object every invocation so we need to wrap it in useMemo to keep it stable

* Add optInDataSharing is false test

* Fix lint

---------

Co-authored-by: rjchow <me@rjchow.com>
2023-05-03 15:54:28 +08:00
Joel Thiessen 3679f019bb
Adding attributes block to product block editor. (#38051) 2023-05-02 21:13:48 -07:00
Matt Sherman 94599a14cf
Add product type options to product tracking (#38017)
* Add product_type_options to wcadmin_product_add_publish
* Add product_type_options to wcadmin_product_update
* Add product_type_options to other wcadmin_product_ events
2023-05-02 13:42:57 -04:00
Nathan Silveira 4145b6e0f7
Await triggerNoteAction before navigating when action is clicked (#38047)
* Await triggerNoteAction before navigating when action is clicked

* Add additional logic and use @woocommerce/navigation to navigate
2023-05-02 11:17:50 -03:00
Joel Thiessen 16b9191c0d
Adding shipping class option and modal (#37968) 2023-05-01 10:04:54 -07:00
Nathan Silveira 8fc6972161
Fix N/A displayed on re-enabling toggles for "Stats overview" panel after refreshing "Woocommerce > Home" page. (#38030)
* Fix N/A on stats overview on WooCommerce > Home

* Add changelogs

* Fix wrongfully added type definition
2023-04-28 16:15:10 -03:00
RJ d15f62241f
dev: added xstate inspector toggling (#38022)
* dev: added xstate inspector toggling

* dev: added eslint-plugin-xstate
2023-04-28 15:30:52 +08:00
Moon 3c2bae196b
Add navigation and progress-bar components for the new core profiler (#37741)
* add: core profiler scaffolding using xstate

* Add navigation and progress-bar components

* fix css lint error

* Update plugins/woocommerce-admin/client/core-profiler/components/navigation/woologo.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/components/progress-bar/progress-bar.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce-admin/client/core-profiler/components/navigation/navigation.tsx

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Import HTMLAttributes

* Remove var from __ function

* Make progress bar color configurable

* Destruct props directly in the function and use const to define the comp

* Refactor fillerStyles

* Use woocommerce prefix for classnames

* Use inherit for display -- initial did not work properly

* Fix css lint error

* Remove unused WooLogo var

* Use named export

* Fix js style

* Add changelog

* Fix broken tests

---------

Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2023-04-26 17:27:53 -07:00
Matt Sherman e81f8ae88f
Update AdvancedFilters to use createInterpolateElement instead of interpolateComponents (#37967) 2023-04-26 06:58:14 -04:00
Joel Thiessen 6f7eeeaf49
Refactoring LayoutContext and implementing with product editor (#37720) 2023-04-25 15:17:33 -07:00
RJ f0109e89ac
add: new core profiler scaffolding in xstate (#37628)
* add: core profiler scaffolding using xstate

* address review feedback and questions

* changed path to use setup-wizard

* default new core-profiler feature flag to false
2023-04-24 10:08:24 +08:00
Joel Thiessen 7023a80937
Adding global product block editor styles (#37805)
* Removing unecessary class

* Organizing editor styles

* Tweaking global fonts

* Correcting section spacing and adding divider

* Adding header styles

* Refactoring block editor styles

* Tweaks to spacing

* Adding changelogs

* Removing uneeded styles

* Fixing colors and link decoration

* Unifying error styles
2023-04-20 05:21:23 -03:00
louwie17 b42da82e50
Update/34885 category field in product editor (#36869)
* Add initial custom meta box for product categories

* Make use of TreeSelectControl

* Update classnames

* Display selected items and sync with most used tab

* Always show placeholder and remove checklist container

* Reactify category metabox tabs

* Add create new category logic

* Remove unused markup

* Fix saving of empty category list

* Add callback when input is cleared as well

* Some small cleanup and refactoring.

* Add changelog

* Fix tree creation and style enqueue

* Auto fix lint errors

* Fix linting errors

* Fix css lint errors

* Add 100 limit, and address some PR feedback

* Fix some styling and warnings

* Remove unused code

* Address PR feedback

* Fix lint error

* Fix lint errors

* Address PR feedback

* Fix lint error

* Minor fixes and add tracking

* Add debounce

* Fix lint error

* Allow custom min filter amount and fix menu not showing after escaping input

* Allow single item to be cleared out of select control

* Fix bug where typed values did not show up

* Fix some styling issues

* Allow parents to be individually selected

* Address PR feedback and add error message

* Add changelogs

* Fix saving issue

* Add client side sorting and stop clearing field upon selection

* Update changelog

* Create feature flag for async product categories dropdown

* Fix lint errors

* Fix linting
2023-04-19 04:28:18 -03:00
Adrian Duffell 03ce56a99e
Add Woo Payments Feature Slot Fill on Homepage (#37768)
* Add slot

* Add fill

* Add changelog
2023-04-18 05:07:25 +08:00
Adrian Duffell 4fca6d1f63
Add Onboarding Heuristics Tracks Event (#37767)
* Add heuristics data to onboarding setting

* Add track

* Add Tracks event
2023-04-18 04:47:24 +08:00
Fernando Marichal a67b7df26f
Add tracks events to attributes tab (#37622)
* Refactor method `addProductAttributesTracks`

# Conflicts:
#	plugins/woocommerce-admin/client/wp-admin-scripts/product-tracking/shared.ts

* Add changelog

* Record remove attribute Tracks event

# Conflicts:
#	plugins/woocommerce/client/legacy/js/admin/meta-boxes-product.js

* Record `used for variations` and `visible on product page` events

* Record `used for variations` and `visible on product page` events

* Fix js error

* Remove not used code

* Refactor `add_existing` attribute recording

* Fix event action

* Refactor `attachEventListenerToParentForChildren`

---------

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-04-17 12:50:30 -03:00
Shojib khan a4a2ef732d
Solved issue of Ellipsis menu overlaps on small screen (#37583)
* solved ellipsis menu overlaps on mobile

* solved ellipsis menu overlaps on small screens

* removed package.json and pnpm lock files

* restore default package.json

* Update plugins/woocommerce/changelog/fix-37517-fix-ellipsis-menu-overlaps

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* solved lint error

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2023-04-17 13:22:34 +08:00
Chi-Hsuan Huang a953904d84
Remove theme step from onboarding wizard (#37671)
* Remove theme step from onboarding wizard

* Remove theme step from e2e tests

* Deprecated "theme" prop from profileItem type

* Add changelog

* Remove theme product from dashboard

* Update packages/js/data/src/onboarding/types.ts

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

---------

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-04-17 11:59:02 +08:00
Maikel David Pérez Gómez 3f23301f3f
Create product shipping dimensions block (#37683)
* Move ShippingDimensionsImage component to @woocommerce/product-editor package

* Create woocommerce/product-shipping-dimensions-fields block

* Register woocommerce/product-shipping-dimensions-fields block

* Add changelog files

* Fix php linter error

* Change unused attr name to __contentEditable to better indicate the porpose

* Remove manually set block className because is autogenerated base on the block name
2023-04-14 14:08:57 -04:00
Joel Thiessen fb12ad20fd
Replacing rest_namespace modification with middleware due to blocks issues (#37621) 2023-04-13 08:45:50 -07:00
Dano 252c2593b2
Updated task progress header title (#37546)
* Updated task progress header title

## Issue
Special characters in site titles would not render as readable text in the mentioned title.

## Summary
Updated task progress header title to support special characters using the dangerouslySetInnerHTML function was a ready solution used throughout the application, so it makes sense to apply it here as well.

* Import sanitizeHTML

* Add changelog

* Tweak changelog

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2023-04-13 11:42:22 +08:00
Fernando Marichal 1187df9d82
Add Tracks events to variations tab (#37607)
* Refactor `product-tracking` file

* Add variations tracks events

* Add changelog

* Refactor method `addProductAttributesTracks`

* Add `remove_variation` Tracks event

* Modify code comments

* Rename `query` prop

* Modify `generate_variations` event to be recorded after confirmation

---------

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-04-12 16:37:23 -03:00
Darren Ethier 50593c5257
Fix issue that breaks the WooCommerce Home Page when Gutenberg 15.5 is active (#37641)
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: rjchow <me@rjchow.com>
2023-04-11 15:27:38 +08:00
Joshua T Flowers 868fbbf23a
Register product editor blocks server-side (#37339)
* Move product block editor to new feature name

* Register all blocks and block assets server-side

* Add changelog entry

* Disable phpcs rule for file_get_contents
2023-04-06 10:13:48 -07:00
Nathan Silveira 277f4aab12
Show tooltip in Save attributes button instead of using title attribute (#37345)
* Modify tipTip to allow showing dynamic content

* Show tooltip when button is disabled

* Add tipTip and disabled logic to create variations button

* Add header comment in tipTip plugin
2023-04-05 16:22:59 -03:00
Maikel David Pérez Gómez f7572b4361
Move the Save draft and Preview buttons to the product editor header (#37461)
* Add preview button to the product editor header

* Publish the product on add or on save

* Add save draft button

* Save product changes before previewing it

* Add notice messages

* Fix linter errors

* Force the store page to be openned in a new tab after publishing the product

* Enable publish button when the status is not publish

* Add changelog files

* Fix some comment typos

* Address comment suggestions

* Move preview logic to its own component

* Move save draft logic to its own component

* Move publish logic to its own component
2023-04-04 11:30:39 -04:00
Chi-Hsuan Huang e553759ab6
Fix `FormContext` type error in client/tasks/fills/steps/location.tsx (#37532)
* Fix FormContext type error

* Add changelog
2023-03-31 18:43:16 +08:00
Moon 658034f64e
Migrate steps/location to TS (#37257)
* Migrate steps location to TS

* Add description for ts-expect-error
2023-03-30 12:07:58 -07:00
Ilyas Foo d3229b97cb
Update mobile app modal image resolution (#37506)
* Update image

* Changelog
2023-03-30 23:36:12 +08:00
Gan Eng Chin 5094cc6742
Code refactor: Simplify boolean expression before `&&` in Marketing page (#37452) 2023-03-29 21:15:01 +08:00
Gan Eng Chin a57ec7818e
Code refactor: Move marketing components into coupons directory (#37444) 2023-03-29 21:13:04 +08:00
Gan Eng Chin b2629c03db
Make Multichannel Marketing the default new UI for Marketing page (#37430) 2023-03-29 21:09:23 +08:00
Matt Sherman 30ea6cfc71
Show spotlight when switching to variable product type (#37413)
* Show variable product tour
* Only show tour when product type is changed to variable
* Only show tour if it hasn't been shown before
* Add variable_product_tour_shown to UserPreferences type
* Store whether tour has been shown in user preferences
* Record Tracks events
* Add docblock for woocommerce_admin_get_user_data_fields filter
* Add test for tour
2023-03-28 13:49:40 -04:00
Matt Sherman eab7750208
Move product-editor CES-related components and utilities (#37131)
* Update package.json and lock file
* Move ProductMVPFeedbackModal to @woocommerce/product-editor
* Move ProductMVPFeedbackModalContainer to @woocommerce/product-editor
* Move ProductMVPCESFooter and useProductMVPCESFooter to @woocommerce/product-editor
* FIx mock of __experimentalUseProductMVPCESFooter in test
2023-03-28 13:38:08 -04:00
Gan Eng Chin de2aa280ef
Simplify boolean expression before && in Marketing page. 2023-03-27 21:55:42 +08:00
Gan Eng Chin 64bd683e0b
Simplify import. 2023-03-27 20:17:05 +08:00
Gan Eng Chin ab2d56d8b3
Move card and slider into coupons directory. 2023-03-27 19:56:40 +08:00
Gan Eng Chin 48c50afcbf
Move RecommendedExtensions and KnowledgeBase into coupons directory. 2023-03-27 19:56:40 +08:00
Gan Eng Chin 12ec1c88fc
Remove unused classic marketing overview component. 2023-03-24 16:56:52 +08:00
Chi-Hsuan Huang 9cf7ef5a3d
Migrate woocommerce-payments task fills to TS and remove connect.js fill (#37308)
* Migrate woocommerce-payments.js to TS

* Remove tasks/fills/connect.js

* Add changelog

* Remove connect js
2023-03-24 12:26:13 +08:00
Christopher Allford 67cde87fd1
Enforce Strict `@types` Dependencies (#37351) 2023-03-23 18:02:20 -07:00
Gan Eng Chin 51a57c2808
Remove unused Button component in marketing directory. 2023-03-23 23:28:55 +08:00
Gan Eng Chin 4f7705f691
Always use MarketingOverviewMultichannel for marketing page. 2023-03-23 23:19:34 +08:00
Gan Eng Chin 5953362485
Refetch "Installed extensions" card data after installing recommended channels (#37300) 2023-03-23 15:06:08 +08:00
Gan Eng Chin 1453351521
Simplify tests for CreateNewCampaignModal. 2023-03-22 18:38:43 +08:00
Gan Eng Chin 59c94ce24a
Fix build errors after merging from trunk. 2023-03-22 18:35:06 +08:00
Joel Thiessen 4ae467af9e
Adding more menu with items using slot fill (#37255)
* Refactored, adding slot fill, basic working via common components

* Pinning plugins dep

* More menu style tweaks

* Fixing merge issues

* Adding product header item slotfill to support more menu modal

* Fixing moved imports

* Adding changelogs

* Adding hover state for more menu toggle btn

* Fixing typo

* Refactoring to use WooHeaderItem instead of adding new slot-fill

* Removing unneeded fragment

* Adding admin layout changelog

* PR feedback

* Fix up lock file after rebase

---------

Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
2023-03-22 07:30:06 -03:00
Gan Eng Chin 186f1fb850
Merge branch 'trunk' into feature/37127-marketing-reload-installed-extensions 2023-03-22 18:28:39 +08:00
Gan Eng Chin c0dc416700
Exclude marketing channels in "Installed extensions" and "Discover more marketing tools" cards (#37126) 2023-03-22 17:41:04 +08:00
Gan Eng Chin 76379770a1
Fix hook file name with correct casing. 2023-03-22 16:51:25 +08:00
Gan Eng Chin 1f7a8120a3
Temporary rename file to fix casing issue. 2023-03-22 16:50:27 +08:00
Gan Eng Chin 3189f2b7f5
Reorganize code. 2023-03-22 16:44:44 +08:00
Gan Eng Chin 01492520d3
Fix JSDOC comment in UseRecommendedPluginsWithoutChannels. 2023-03-22 16:38:21 +08:00
Gan Eng Chin 5e6cd11028
Simplify naming in PluginsTabPanel. 2023-03-22 16:09:40 +08:00
Gan Eng Chin b18e1705cd
Fix and simplify mocks in DiscoverTools tests. 2023-03-22 16:07:51 +08:00
Gan Eng Chin 7395d6939c
Fix file name for useInstalledPluginsWithoutChannels. 2023-03-22 15:59:37 +08:00
Joel Thiessen b8416d7948
Replacing multiple components on the product page with a single hook. (#37283)
* Replacing multiple componments on the product page with a single hook.

* Adding changelog

* Removed the conditional hook logic, because of React rule - Don’t call Hooks inside loops, conditions, or nested functions.

* Use promise for receiving entity, and reload template on product change

* Add changelog

---------

Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2023-03-22 04:48:55 -03:00
Matt Sherman b27f6023f8
Move remaining CES-related components to @woocommerce/customer-effort-score (#37316)
* Add @woocommerce/tracks to dev dependencies
* Move remaining CES-related components to @woocommerce/customer-effort-score
* Update imports in woocommerce/client/admin
2023-03-21 11:58:35 -04:00
Maikel David Pérez Gómez 62ca7a266b
Add the summary field to the product form (#37302)
* Add summary block

* Add changelog files

* Add text alignment

* Add RTL and type definitions

* Add justify text alignment

* Fix rebasing errors
2023-03-21 12:34:24 -03:00
Gan Eng Chin e281c09bc6
Merge branch 'trunk' into feature/34907-marketing-exclude-channels
Conflicts:
	plugins/woocommerce-admin/client/marketing/hooks/index.ts
2023-03-21 23:33:41 +08:00
Gan Eng Chin 637fca8df5
Rename file UseInstalledPlugins to UseInstalledPluginsWithoutChannels. 2023-03-21 23:23:39 +08:00
Gan Eng Chin 648eab74eb
Change namings in useInstalledExtensions to useInstalledPluginsWithoutChannels. 2023-03-21 23:22:39 +08:00
Gan Eng Chin fab90dc712
Fix incorrect data while loading in useRecommendedPlugins.
See the incorrect data issue in https://github.com/woocommerce/woocommerce/pull/37126#discussion_r1141936304.
2023-03-21 22:28:05 +08:00
Gan Eng Chin e4a8d17ed3
Rename file useRecommendedPlugins to useRecommendedPluginsWithoutChannels. 2023-03-21 21:13:19 +08:00
Gan Eng Chin b129dd5173
Change namings and add docs in useRecommendedPlugins. 2023-03-21 21:12:00 +08:00
Gan Eng Chin c6bcf9fa67
Fix incorrect data while loading in useRecommendedPlugins.
See the incorrect data issue in https://github.com/woocommerce/woocommerce/pull/37126#discussion_r1141936304.
2023-03-21 19:30:24 +08:00
Gan Eng Chin fe4e28d511
Rename UseInstalledPlugins to UseInstalledExtensions.
Also change related names from "plugin" to "extension".
2023-03-21 19:08:13 +08:00
Gan Eng Chin 50c391cee0
Use fallback value instead of default value in useInstalledPlugins. 2023-03-21 18:35:38 +08:00
Gan Eng Chin 79023a4a10
Fix incorrect data while loading in useInstalledPlugins. 2023-03-21 18:33:57 +08:00
Gan Eng Chin bebad071a3
Add introduction banner card into multichannel marketing page (#37110) 2023-03-20 19:25:01 +08:00
Gan Eng Chin a2b02fc00c
Rename illustration-large.svg to illustration.svg. 2023-03-20 18:11:02 +08:00
Gan Eng Chin 0300078dfd
Remove unused illustration.svg file. 2023-03-20 18:08:30 +08:00
Gan Eng Chin 4e38969ce7
Use one illustration instead of two in IntroductionBanner. 2023-03-20 18:07:30 +08:00
Gan Eng Chin 7dd7994e01
Make scrollIntoView center on the "Add channels" button. 2023-03-20 17:46:54 +08:00
Gan Eng Chin 29299903c3
Make shouldShowCampaigns boolean type. 2023-03-20 17:23:20 +08:00
RJ a959b589f6
fix: added skydropx slug back to shipping partners list (#37286) 2023-03-20 16:48:44 +08:00
Moon e8a00edaef
Visual tweaks for shipping task partners (#37229)
* Visual tweaks for 2 partners layout

* Add spacing between banner image and list

* Add changelog

* Add spacing between banner image and list

* Align buttons at the bottom

* Lint fix
2023-03-19 21:33:10 -07:00
Gan Eng Chin 5455abcabb
Use useImperativeHandle instead of exposing button ref in Channels. 2023-03-20 01:00:19 +08:00
Gan Eng Chin 75c11a681d
Simplify CSS to have less hardcoded width value. 2023-03-20 00:11:32 +08:00
Gan Eng Chin 38370cc544
Remove unneeded CSS. 2023-03-19 23:34:17 +08:00
Gan Eng Chin ddd287cc4c
Show Campaigns card when banner is dismissed or campaigns total is truthy. 2023-03-19 23:30:21 +08:00
Gan Eng Chin 11683be1a8
Set default parameter values for useCampaigns. 2023-03-19 23:17:22 +08:00
Gan Eng Chin 458c16bad9
Move useCampaigns to shared hooks directory. 2023-03-19 22:54:55 +08:00
Gan Eng Chin c6a95ae9bf
Rename callback props in IntroductionBanner to make them clearer. 2023-03-19 21:10:22 +08:00
Gan Eng Chin 6b75b5db38
Rename variables to make them clearer. 2023-03-19 20:58:54 +08:00
Gan Eng Chin 155211d77a
Remove unneeded Icon component. 2023-03-19 20:56:00 +08:00
Gan Eng Chin 65523e36dd
Fix spacing for close button in IntroductionBanner. 2023-03-19 20:54:34 +08:00
Gan Eng Chin 1b65be0a53
Fix useSelect dependency in useIntroductionBanner. 2023-03-19 20:50:37 +08:00
Gan Eng Chin 99c6ebff15
Remove the use of isOptionsUpdating in useIntroductionBanner.
isOptionsUpdating will return true for any option update, not just our option here. This causes issue as shown in demo video in https://github.com/woocommerce/woocommerce/pull/37110#discussion_r1130531104.

We can just depend on getOption. When we update an option, it will be updated immediately in wp.data store before making API request to update the option in database (see c5564a15c1/packages/js/data/src/options/actions.ts (L44)).
2023-03-19 20:38:20 +08:00
Gan Eng Chin 162d790a7a
Update option name and value to make it more indicative. 2023-03-19 20:16:04 +08:00
Gan Eng Chin 49253425b2
Specify dependency for useSelect in useIntroductionBanner.
Co-authored-by: Eason <eason.su.tw@gmail.com>
2023-03-19 20:12:09 +08:00
Gan Eng Chin 7cc8e065f9
Merge branch 'trunk' into feature/34904-marketing-introduction-banner 2023-03-19 20:09:23 +08:00
Gan Eng Chin e20b9d1ac9
Filter out marketing channels in useRecommendedPlugins. 2023-03-19 18:06:39 +08:00
Gan Eng Chin 8c151984ad
Filter installed plugins against marketing channels in useInstalledPlugins. 2023-03-19 18:06:34 +08:00
Gan Eng Chin 555116f3df
Fix broken tests for CreateNewCampaignModal.
The tests had errors because useInstalledPlugins is added into the component and it is not mocked in the tests.
2023-03-19 17:59:35 +08:00
louwie17 345ad58919
Add product pricing block (#37211)
* Adding initial pricing block

* Have price block render in form

* Make sure price is loaded correctly and fix template rendering

* Make pricing block abstract and add list and sale price to template

* Add changelogs

* Revert changes in wc/data package

* Fix lint issues

* Fix type error

* Add styling

* Fix styling lint issues

* Revert config change missed in rebase

* Make use of base control help text for field info

* Allow additional callbacks for onFocus and onKeyUp
2023-03-17 14:03:10 -03:00
Gan Eng Chin 1aaa26e07d
Reload installed extensions data after installing recommended channels.
This is because the channel may not have registered itself as a marketing channel and it should show up in the Installed extensions card.
2023-03-18 00:47:54 +08:00
Maikel David Pérez Gómez e370f25c0c
Add a product header component to the blocks interface (#37152)
* Add button and saving logic

* Add comment suggestions

* Add changelog files

* Add comment suggestions

* Set header title to product name if the name field is dirty otherwise the default title value

* Navigate to EditProductPage after creating the product succesfully

* Add get-header-title util and expose edited product name from useSelect
2023-03-17 13:21:15 -03:00
Gan Eng Chin 8070f65ec7
Make sure expression before `&&` is always boolean in React rendering in marketing page (#37227) 2023-03-17 22:56:35 +08:00
Chi-Hsuan Huang 9ea8b630ee
Remove cart2cart option from product task (#37285)
* Remove cart2cart option from add product task

* Remove cart2cart link test

* Add changelog

* Fix unit test

* Fix lint
2023-03-17 20:15:31 +08:00
RJ 23b79428f7
add: payment transaction processor images to payment recommendations (#37230) 2023-03-17 13:49:50 +08:00
RJ 04f34e9636
fix: payments recommendations pane wrong image size (#37259) 2023-03-17 12:29:19 +08:00
Gan Eng Chin f769a8c6f5
Merge branch 'trunk' into feature/34904-marketing-introduction-banner
Conflicts:
	plugins/woocommerce-admin/client/marketing/overview-multichannel/MarketingOverviewMultichannel.tsx
2023-03-17 01:21:13 +08:00
Matt Sherman 9c5e9b57bf
Move CES data store to @woocommerce/customer-effort-score (#37252) 2023-03-16 10:22:33 -04:00
Ahmed 3985242547
Add onboarding support for new countries in WCPay (#36906)
* Add new countries to WCPay

* changelog

* add new countries code to woocommerce admin

* Add the new countries to onboarding wizard fallback config file

---------

Co-authored-by: Anurag Bhandari <anurag@automattic.com>
2023-03-16 20:48:45 +08:00
Joshua T Flowers 77937dd8cb
Move usePreventLeavingPage to navigation package (#36752)
* Move usePreventLeavingPage to navigation package

* Rename usePreventLeavingPage to useConfirmUnsavedChanges

* Move imports to external dependencies

* Fix up history push overrides

* Add changelog entries

* Fix up rebase issues

* Update i18n dependency to wp-6.0

* Fix up lock file

* Remove unused imports

* Update lock file

* Remove self import for navUtils
2023-03-16 05:33:22 -03:00
RJ 1c9b3a58fe
fix: mobile app connection owner bug (#37170) 2023-03-16 16:20:36 +08:00
Chi-Hsuan Huang f50abc724f
Remove accordion from "Other payment providers" in WC Pay Task (#37205)
* Remove accordion from Other payment providers in WC Pay Task

* Add changelog

* Fix tests

* Update test

* Fix e2e test
2023-03-16 12:11:59 +08:00
louwie17 93506388e3
Update product rest config and template block usage (#37206)
* Update product post rest configs

* Update block usage

* Add changelogs

* Fix lint

* Make use of setupEditorState instead of setupEditor as we do not have a content block

* Simplify product condition

* Make use of core store only
2023-03-15 13:44:05 -03:00
Moon 16c7c58462
Update Avalara CTA copy in tax task (#37224)
* Change CTA to Download

* Add changelog
2023-03-14 22:37:07 -07:00
Gan Eng Chin aef22190d2
Make sure expression before && is always boolean in React rendering in marketing page. 2023-03-15 08:24:00 +08:00
Gan Eng Chin 98dcb9bea4
Specify args for wp.data resolution in marketing page to support WP 5.9 (#37198) 2023-03-15 07:30:40 +08:00
Matt Sherman 4cabe5f6b5
Add Tracks events for product inventory tab (#37202) 2023-03-14 18:16:01 -04:00
Matt Sherman b94d38458d
Add components to @woocommerce/customer-effort-score (#37112)
* Update src structure of @woocommerce/customer-effort-score

* Changelog

* Add dependencies to @woocommerce/customer-effort-score

* Move useCustomerEffortScoreExitPageTracker and utils to @woocommerce/customer-effort-score

* Fix up imports from @woocommerce/customer-effort-score

* Changelog

* Fix import of constant

* Mock @woocommerce/customer-effort-score in tests

* Move tests to @woocommerce/customer-effort-score

* Update lock file

* Update lock file from trunk

* Update lock file again... this time, tests pass
2023-03-14 12:16:19 -04:00
Gan Eng Chin 0316fbb265
Specify empty array as hasFinishedResolution args.
This is to make things consistent with invalidateResolution to make things work with WP 5.9.
2023-03-14 03:35:20 +08:00
Gan Eng Chin 5a58784a62
Specify empty array as invalidateResolution and hasFinishedResolution args.
This is to make things work with WP 5.9.
2023-03-14 03:32:54 +08:00
Joel Thiessen 4dff6db40f
Adding test name block with support for entity data store (#37132)
* Adding test name block with support for entity data store

* Adding changelog

* Changing block.ts to block.json and amending TS config to support

* Experiment in loading blocks from settings template

* Enable the use of templates with the block editor

* Fix dependency

* Add changelog

* Fix lint error and remove unused utils

* Fix tests by fixing mocks

---------

Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2023-03-13 11:45:25 -03:00
Gan Eng Chin 0cf56774f5
Merge branch 'trunk' into feature/34909-marketing-create-campaign-modal 2023-03-13 12:51:24 +08:00
Gan Eng Chin baf9408f69
Merge branch 'feature/34909-marketing-create-campaign-modal' into feature/34904-marketing-introduction-banner
Conflicts:
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Campaigns/Campaigns.test.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Campaigns/Campaigns.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/MarketingOverviewMultichannel.tsx
2023-03-13 01:02:12 +08:00
louwie17 329b0cbd07
Hydrate product editor settings (#37123) 2023-03-10 12:21:22 -08:00
Gan Eng Chin c6e6f8774d
Specify empty array dependency in useCampaignTypes.
This is to make it work with WP 5.9. See https://github.com/woocommerce/woocommerce/pull/37044#discussion_r1132062493.
2023-03-11 00:42:09 +08:00
Gan Eng Chin 1fea0185fe
Don't throw error in getCampaignTypes.
In WP 5.9, if we throw error, there would be an uncaught promise, and it causes UI to break.
2023-03-11 00:31:23 +08:00
Matt Sherman af24637439
Create @woocommerce/admin-layout package (#37094)
* Initial admin-layout package skeleton

* Changelog files

* Use createOrderedChildren and sortFillsByOrder from @woocommerce/components for WooFooterItem

* Move WooFooterItem to @woocommerce/admin-layout

* Use WooFooterItem from @woocommerce/admin-layout

* Suppress errant TS lint errors

* Exports for @woocommerce/admin-layout

* Fill updates and eslint suppression

* Changelogs

* Remove suppression of tslint errors

* Fix react and @types/react versions

* Load @woocommerce/admin-layout script and styles

* Move WooHeaderItem, WooHeaderNavigationItem, and WooHeaderPageTitle to @woocommerce/admin-layout

* Regenerate lock file post-rebase

* Remove duplicate import post-rebase

* Add wc-admin-layout to app style dependency

* Fix jest mock of @woocommerce/admin-layout

* Fix spacing.

* Export slot names

* Fix typo in .npmrc

* Update lock file

* Try updating lock file

* Update lock file

* Update lock file

* Update to latest lock file from trunk

* Update lock file

* Sync dependencies of @woocommerce/admin-layout

* Manually sync @wordpress dependencies
2023-03-10 09:58:02 -05:00
Joel Thiessen 970c1ef352
Hydrating product entity when creating or editing product with block editor (#37064) 2023-03-09 13:11:25 -08:00
Maikel David Pérez Gómez 2896a8cd13
Add the new feature to enable the new product editor blocks experience (#37137)
* Add the new feature to enable the new product editor blocks experience

* Add the type definition of the feature flag

* Add the feature to the beta_featues in Features.php file

* Keep the page routes when the feature is anabled

* Add the feature php class to manage page assets

* Add changelog file
2023-03-09 15:33:39 -03:00
Gan Eng Chin 0a58ec19f8
Remove unneeded div in CreateNewCampaignModal. 2023-03-10 02:14:35 +08:00
Gan Eng Chin e4da8cba09
Display info message when there are no campaign types. 2023-03-10 02:13:05 +08:00
Gan Eng Chin 6446053784
Load campaign types in overview and refetch after installeing a channel. 2023-03-09 23:46:54 +08:00
Gan Eng Chin 8b6aad4138
Refetch campaign types after installing a channel in CreateNewCampaignModal. 2023-03-09 22:51:12 +08:00
Gan Eng Chin 29d67a3a21
Refactor test data in CreateNewCampaignModal tests. 2023-03-09 22:31:51 +08:00
Gan Eng Chin 9f0326b398
Remove unneeded return in CreateNewCampaignModal.
This helps us save indentation and make the code few lines shorter.
2023-03-09 22:26:06 +08:00
Gan Eng Chin e15305b7c3
Remove unneeded CardDivider in CreateNewCampaignModal.
The code is copied from the Channels component, but in CreateNewCampaignModal, we don't need to display the divider, so we can just remove the divider code.
2023-03-09 22:23:27 +08:00
Gan Eng Chin c6dcee426b
Make it clear that title and classname cannot be overwritten by props. 2023-03-09 22:17:03 +08:00
Gan Eng Chin f5bb8490ea
Rename open and setOpen to isModalOpen and setModalOpen in Campaigns. 2023-03-09 22:11:53 +08:00
Gan Eng Chin e831e89997
Make the mocked modal clearer.
The previous text "Create a new campaign" can be a bit confusing with the other text "Create new campaign" in the test.
2023-03-09 22:09:24 +08:00
Gan Eng Chin 551db21e9b
Remove unneeded getByText in Campaigns test. 2023-03-09 22:05:17 +08:00
Gan Eng Chin f19969dacb
Change NewCampaignTypes to CampaignTypes. 2023-03-09 21:52:11 +08:00
Gan Eng Chin 39ce470fe8
Specify dependency for useSelect in useNewCampaignTypes. 2023-03-09 21:43:54 +08:00
Gan Eng Chin 3ba492f32b
Move convert function out of useSelect in useNewCampaignTypes.
This is so that it doesn't become dependency in useSelect.
2023-03-09 21:42:59 +08:00
Sam Seay bec3ec18ac
Update Syncpack and use it to pin @wordpress packages to wp-6.0 (#37034) 2023-03-09 10:13:25 +13:00
Gan Eng Chin 6d72c2bbe1
Fix failed test for Campaigns component. 2023-03-09 01:08:28 +08:00
Gan Eng Chin 66e46d8942
Run lint:css-fix. 2023-03-09 00:34:20 +08:00
Maikel David Pérez Gómez 3ded2b46e9
Create editor skeleton on add/edit product pages (#37023)
* Add required dependencies

* Create the block editor component

* Create the header component

* Create the sidebar component

* Create the editor component

* Remove comments

* Export the block editor from its package

* Enqueue wp-edit-site

* Create the new block mode product page

* Register the new ProductPage component in /add-product route

* Add temporal layout styles

* Fix rebasing conflicts

* Fix linter errors

* Redirect to the new product-editor page when edit

* Add changelog files

* Fixing dependencies conflicts and ignoring some non running test

* Add comment suggestions

* Fix conflicts after rebasing

* Add comment suggestions
2023-03-08 05:51:59 -04:00
Gan Eng Chin 4068808f0a
Merge branch 'feature/34909-marketing-create-campaign-modal' into feature/34904-marketing-introduction-banner 2023-03-08 03:03:31 +08:00
Gan Eng Chin 97ed1d2a7d
Fix array length rendering literal 0 in CreateNewCampaignModal. 2023-03-08 02:57:02 +08:00
Gan Eng Chin 42ac7e4d28
Better logic for displaying buttons in IntroductionBanner. 2023-03-08 02:54:43 +08:00
Gan Eng Chin 8fe3781266
Use ref instead of location hash to scroll to add channels section. 2023-03-08 02:06:06 +08:00
Gan Eng Chin 0cb2fb1cd0
Display CreateNewCampaignModal upon button click in IntroductionBanner. 2023-03-08 00:37:55 +08:00
Gan Eng Chin a9b696d28c
Move CreateNewCampaignModal to shared components folder. 2023-03-08 00:34:09 +08:00
Rodrigue Tusse ed6c19b827 Fix 0 rendered on short-circuit evaluation. 2023-03-07 15:06:25 +02:00
Joel Thiessen 2332c7c813
Migrating details fields to product-editor package (#36945) 2023-03-06 14:33:10 -08:00
Maikel David Pérez Gómez 79841c58a5
Fixes react version to 17.0.2 globally (#37087)
* Fix react version to 17.0.2 globally

* Add changelog file
2023-03-06 18:38:05 -03:00
Joel Thiessen b825b51767
Moving useProductHelper and useVariationsOrder hooks to product editor package (#37006) 2023-03-06 09:11:54 -08:00
Gan Eng Chin 7c9eedbbb4
Merge branch 'feature/34909-marketing-create-campaign-modal' into feature/34904-marketing-introduction-banner
Conflicts:
	plugins/woocommerce-admin/client/marketing/hooks/index.ts
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Channels/RecommendedChannels.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/MarketingOverviewMultichannel.tsx
2023-03-07 00:46:38 +08:00
Gan Eng Chin e653a4ca15
Merge branch 'trunk' into feature/34909-marketing-create-campaign-modal 2023-03-04 01:04:59 +08:00
Gan Eng Chin 3e620c41c6
Add tests for CreateNewCampaignModal. 2023-03-04 01:02:46 +08:00
Gan Eng Chin 00a12db5bd
Add Campaigns card in Multichannel Marketing page (#36735) 2023-03-03 18:43:02 +08:00
Gan Eng Chin 15c57bf712
Fix and add tests for Campaigns card. 2023-03-03 03:25:00 +08:00
Gan Eng Chin 913f7176b2
Refetch registered channels after installing channel in Campaigns card. 2023-03-03 02:34:16 +08:00
Gan Eng Chin ec15697d44
Load campaign types in Campaigns card. 2023-03-03 01:08:21 +08:00
Gan Eng Chin e13112875b
Move useNewCampaignTypes to shared hooks directory. 2023-03-03 01:05:14 +08:00
Gan Eng Chin 51a5a18448
Simplify receiveCampaignTypes. 2023-03-03 00:54:21 +08:00
Gan Eng Chin 8132addd18
Simplify wp.data for receiveCampaignTypes. 2023-03-03 00:24:51 +08:00
Gan Eng Chin 2443bfd7a0
Merge branch 'feature/34905-marketing-campaigns-card' into feature/34909-marketing-create-campaign-modal
Conflicts:
	plugins/woocommerce-admin/client/marketing/data-multichannel/action-types.ts
	plugins/woocommerce-admin/client/marketing/data-multichannel/actions.ts
	plugins/woocommerce-admin/client/marketing/data-multichannel/resolvers.ts
2023-03-03 00:11:35 +08:00
Sam Seay 1834621d1a
Update the @woocommerce/eslint-plugin and fix bugs (#36988) 2023-03-02 11:36:38 +13:00
Moon d339a777e1
Update/use theme color for completed task strikethrough (#37001)
* Use theme color for completed task strikethrough

* Add changelog

* Fix style
2023-03-01 11:54:21 -08:00
Gan Eng Chin c0364ad0ab
Remove unused error property in CampaignsState. 2023-03-02 03:16:29 +08:00
Gan Eng Chin 4b87f0a4ed
Add JSDOC. 2023-03-02 03:15:38 +08:00
Gan Eng Chin 9feaf55a60
Simplify receive campaigns success and error. 2023-03-02 03:02:14 +08:00
Gan Eng Chin 5af90c5e77
Add JSDOC for getTotalFromResponse. 2023-03-02 01:16:51 +08:00
Gan Eng Chin b83888577a
Fix getTotalFromResponse treating total 0 as undefined.
If total is 0, then the function should return 0, not undefined.
2023-03-02 01:13:42 +08:00
Gan Eng Chin 8e9f344478
Test code refactor with createTestCampaign. 2023-03-02 00:59:22 +08:00
Maikel David Pérez Gómez 7d0669dcb1
Add selection to the tree control (#36435)
* Create tree-control component

* Remove items from treeItemProps

* Add tree-control expand/collapse on click the expander button or by a custom logic

* Add stories

* Add the type definitions

* Add use selection hook

* Upgrade WP components dependency to v19.8.5 to support indeterminate checkbox control

* Add selection logic to the tree control

* Create stories

* Add changelog file

* Fix linter error

* Add styles to fit the disign

* Highlight selected item when it's a single selection tree

* Rebasing from trunk

* Add comment suggestions

* Fix unit test errors due to a new version of @wordpress/compose related to the ResizeObserve feat
2023-02-28 15:10:12 -03:00
Joel Thiessen 6a345ac7eb
Moving currencyContext to currency package and updating references (#36959) 2023-02-28 08:55:49 -08:00
Gan Eng Chin d111370d1e
Make UI work with wp.data new campaign types. 2023-02-28 00:51:34 +08:00
Gan Eng Chin 9526608fbc
wp.data for getting new campaign types. 2023-02-28 00:45:47 +08:00
Gan Eng Chin 418e4fba02
Fix build error after merging. 2023-02-27 23:49:50 +08:00
Gan Eng Chin f420a0ed9e
Merge branch 'feature/34905-marketing-campaigns-card' into feature/34909-marketing-create-campaign-modal
Conflicts:
	plugins/woocommerce-admin/client/marketing/components/RecommendedChannelsList.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Campaigns/Campaigns.scss
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Campaigns/Campaigns.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Channels/Channels.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Channels/RecommendedChannels.tsx
2023-02-27 23:46:30 +08:00
Gan Eng Chin e57181b987
Add tests for Campaigns component. 2023-02-27 02:23:11 +08:00
Gan Eng Chin 3513ef51a1
Merge branch 'trunk' into feature/34905-marketing-campaigns-card 2023-02-25 00:39:37 +08:00
Gan Eng Chin f62b44ae2f
Set numberOfRows for TablePlaceholder in Campaigns card. 2023-02-24 23:48:04 +08:00
Gan Eng Chin f7a1ef2123
Code refactor with getTotalFromResponse in getCampaigns. 2023-02-24 23:45:10 +08:00
Gan Eng Chin a4e11924fd
Change meta.total to optional in receiveCampaignsSuccess. 2023-02-24 23:44:47 +08:00
Gan Eng Chin f5ba6d94ac
Remove unused fetchWithHeaders control. 2023-02-24 23:35:40 +08:00
louwie17 aec4dfd3bd
Update product editor package (#36830)
* Add missing dev packages to product-editor package

* Create components folder for organization

* Move product field, section and tab slots over to product-editor package

* Move use of product slot fills to product-editor package

* Sync dependencies

* Add changelogs

* Update README's and add constant for default values

* Update README's in product-editor package
2023-02-24 09:37:53 -04:00
Gan Eng Chin a982b7be21
Error handling in getCampaigns. 2023-02-24 18:32:33 +08:00
Gan Eng Chin 92762ca9b0
Better pagination with TablePlaceholder in Campaigns card. 2023-02-24 17:09:42 +08:00
Fernando Marichal 756fe32c04
Create spotlight on analytics revenue report (#36653)
* Add `RevenueReportDateTour` component

* Add changelog

* Fix styles

* Rename RevenueReportDateTour to ReportDateTour to use it in two different reports: Orders and Revenue

* Change default sort date to date_paid

# Conflicts:
#	plugins/woocommerce/src/Admin/API/Reports/Orders/Stats/DataStore.php

* Update changelog

* Assign date_column_name before calling parent constructor

* Remove date_type default value from configuration and show tour only if user didn't assign a value

---------

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Nathan Schneider <nsschneider1@gmail.com>
2023-02-23 15:49:24 -03:00
Gan Eng Chin cc5345db4e
Campaigns pagination UI logic. 2023-02-24 02:13:20 +08:00
Gan Eng Chin 60d815c582
wp.data for campaigns data pagination. 2023-02-24 02:10:37 +08:00
Gan Eng Chin 20ae504be0
Add controls with fetchWithHeaders. 2023-02-24 02:08:59 +08:00
Joshua T Flowers 87d79f15a3
Move product editor utils to product editor package (#36730)
* Move product editor utils to product editor package

* Add changelog entries

* Move remaining utils

* Move util import/exports to separate index file
2023-02-23 09:48:49 -08:00
Nathan Silveira 41eab0d669
Add additional global attributes and local attributes information when saving product attributes (#36858)
* Add additional global attributes and local attributes information when saving product attributes

* Log only local attributes
Add attribute name
Fix issue with attribute_value and names selectors

* Save name and slug for global attributes and global terms
2023-02-20 23:55:01 +01:00
RJ d26dd4c772
Add: shipping plugins in shipping task based on location (#36873)
Co-authored-by: moon <moon.kyong@automattic.com>
2023-02-20 21:32:14 +08:00
Ilyas Foo e03ed88410
Fix inconsistent colors products task icons (#36889)
* Remove colors overriding theme colors

* Changelog
2023-02-20 18:18:17 +08:00
Ilyas Foo 052bb39e8a
Temporary remove free trial terms from Avalara tax task (#36888)
* Remove free trial terms from Avalara tax task

* Changelog
2023-02-20 13:56:34 +08:00
Chi-Hsuan Huang 30409fa8c3
Update default payment gateway list (#36550)
* Remove Klarna payments from North America and remove Amazon pay from CA

* Update payment gateway list ordering priority

* Add changelog

* Sort gateways by recommendation_priority

* Fix DefaultPaymentGateways.php

Fix lint

Fix paypal

Fix comment

* Remove unneed comment

* Change eway priority to show after square
2023-02-20 09:02:57 +08:00
Nathan Silveira 2ad2b79ac6
Fix inconsistencies on Analytics > Orders table when using date_paid or date_completed (#36876)
* Fix inconsistencies on Analytics > Orders table when using date_paid or date_completed

* Fix sniff

* Fix unit test
2023-02-17 17:52:10 -03:00
Nathan Silveira 9d7e503519
Add date sorting configuration for Analytics (#36492)
* Include fields date_paid and date_completed to wp_wc_order_stats

TODO: add script to create new columns in the database

* Add update script and new columns in get_schema

* Add new configuration in Analytics > Settings to configure type of date used in Revenue report

* Change date_column_name to date_paid

TODO: This will be configurable in future

* Add date type config field

* Use customizable date field in DataStore

* Change label

* Fix linter errors

* Remove blank line

* Put default column name back to date_created

* Make date_paid and date_completed nullable to help with unit tests

* Remove new table creation in update function and use query method instead of get_var

* Extend stats constructor

* Improve date type configuration description

* Set date column name default to date_created to test if build passes

* Fix phpcs issue on constructor

* Remove cache bypass added by mistake

* Improve changelog

* Fill date_paid and date_completed for refunds to avoid problems whem they are being used to sort
Fix unit tests when date_paid or date_completed are being used as sort date

* Change default to date_created

* Bump update script to 7.5.0

* Add prefix and postmeta variables for script
2023-02-17 10:29:36 -03:00
Chi-Hsuan Huang ad2f126a32
Have "Grow your store" appear first in marketing task by default (#36826)
* Have "Grow your store" appear first by default

* Add changelog

* Remove PLUGIN_LIST_DISPLAY_ORDER and use ALLOWED_PLUGIN_LISTS instead
2023-02-17 11:28:20 +08:00
Chi-Hsuan Huang dcba4456cf
Add SlotFill for marketing overview screen (#36828)
* Add slot for marketing overview section slotfill

* Add changelog

* Remove unneed changes

* Add changelog
2023-02-17 09:46:52 +08:00
Gan Eng Chin b717ce9645
Merge branch 'trunk' into feature/34906-marketing-channels-card 2023-02-04 02:33:01 +08:00
Joshua T Flowers 89438cf873
Remove variations logic from the AttributeControl component (#36563)
* Move attribute data changes out of attribute control

* Move dynamic text to props

* Add onModalOpen callback

* Add onModal close prop

* Add changelog entry

* Use closeModal for edit attribute modal

* Add onEdit callback

* Extract util to get unique attribute id

* Rename editingAttribute to currentAttribute

* Rename showAttributeModal to isNewModalVisible

* Rename AddAttributeModal to NewAttributeModal

* Fix up handle add attributes

* Add onRemove callback for attibutes

* Fix up modal styling classes

* Fix up closing edit modal

* Fix up modal title for options

* Handle PR feedback

* Separate handlers for edit and new modal callbacks

* Update event names to be option/attribute specific

* Use default callback functions

* Handle PR feedback
2023-02-02 13:04:32 -08:00
Gan Eng Chin c9214abe1f
Merge branch 'feature/34906-marketing-channels-card' into feature/34905-marketing-campaigns-card 2023-02-03 00:54:51 +08:00
Gan Eng Chin 67c09f63ea
Merge branch 'trunk' into feature/34906-marketing-channels-card 2023-02-03 00:53:21 +08:00
Gan Eng Chin 7bb042fcd2
Simplify CSS for CardHeaderDescription. 2023-02-02 21:50:36 +08:00
Gan Eng Chin 048906ad80
Change Campaigns CSS to use @include font-size(). 2023-02-02 19:06:17 +08:00
Gan Eng Chin 7b068bf908
Code refactor for Campaigns card CSS. 2023-02-02 17:52:22 +08:00
Gan Eng Chin c17f336acc
Code refactor for Campaigns card. 2023-02-02 17:47:42 +08:00
Gan Eng Chin 0abe368962
Display error state in Campaigns card. 2023-02-02 17:17:29 +08:00
Gan Eng Chin 743c0e5085
Set per_page to 100 for getCampaigns.
100 is the maximum limit allowed by the API.

We do this because the API does not return total number of rows, so we use 100 to get "all" rows, to support pagination in the UI.
2023-02-02 01:03:15 +08:00
Gan Eng Chin 183fc48132
Show CardFooter and Pagination only when it is needed.
This means when total is more than perPage.
2023-02-01 20:29:32 +08:00
Gan Eng Chin eda6f194b9
Use perPage constant instead of literal 5. 2023-02-01 20:27:07 +08:00
Gan Eng Chin 274ea3dd60
Use Link component in Campaigns.
This allows fast client-side navigation.
2023-02-01 20:23:14 +08:00
Gan Eng Chin 29154425cb
Check description before rendering FlexItem.
This is to eliminate the unneeded flex gap when there is no description.
2023-02-01 20:17:53 +08:00
Gan Eng Chin c342cbb98d
Change to color variable in Campaigns CSS. 2023-02-01 20:09:17 +08:00
Gan Eng Chin cd7b5f2c96
Fetch and display campaigns with wp.data. 2023-02-01 19:02:03 +08:00
Gan Eng Chin 46adb0dc25
Rename Channels to RegisteredChannels. 2023-02-01 02:58:49 +08:00
Gan Eng Chin 630bd0ab17
Merge branch 'feature/34906-marketing-channels-card' into feature/34905-marketing-campaigns-card 2023-02-01 00:52:48 +08:00
Gan Eng Chin f050bb79b5
Rename Channel to RegisteredChannel.
This is for better clarity and consistency.
2023-02-01 00:52:35 +08:00
Gan Eng Chin 177fc59dea
Simplify rendering code in MarketingOverviewMultichannel. 2023-02-01 00:29:38 +08:00
Gan Eng Chin 3384ad576d
Remove unused import. 2023-02-01 00:20:04 +08:00
Gan Eng Chin d69f7f00b7
Fix ids typescript error in Campaigns. 2023-02-01 00:18:53 +08:00
Gan Eng Chin 76102143ff
Merge branch 'feature/34906-marketing-channels-card' into feature/34905-marketing-campaigns-card
Conflicts:
	plugins/woocommerce-admin/client/marketing/overview-multichannel/MarketingOverviewMultichannel.tsx
2023-01-31 23:50:03 +08:00
Gan Eng Chin d59e7e5721
Edit and arrange imports in MarketingOverviewMultichannel. 2023-01-31 23:39:02 +08:00
louwie17 5f0572664f
Add new `@woocommerce/product-editor` JS package (#36600)
* Bootstrap product-editor package

* Move product section components over to product editor package

* Add changelogs

* Remove unused import leftover from rebase
2023-01-31 09:38:28 -04:00
Joel Thiessen c080886262
Implementation of separate variant slots via refactored components (#36646)
* Adding contants, renaming files, wiring up shipping section with discrete slots for variants and non-variants

* Refactoring pricing section to give discrete slots for variant and non-variant forms

* Refactoring inventory fills to give discrete slots for variant and non-variant products

* Adding additional slot to pricing -> taxes -> advanced

* Renaming api fields component file

* Refactoring images, details and attributes to match others

* Ensure variant field IDs are distinct, organize all product field fill IDs

* Adding changelog

* Simplifying IDs used for slots

* Minor refactor of pricing taxes class field

* Give api fill exports their own registerPlugin scope

* Refactoring WooProductFieldItem to generate unique IDs

* Adding components changelog
2023-01-31 07:19:21 -04:00
Gan Eng Chin 449da4e91c
Merge branch 'trunk' into feature/34906-marketing-channels-card 2023-01-29 01:29:31 +08:00
Gan Eng Chin e700232415
Simplify Channels component. 2023-01-29 01:28:14 +08:00
Joel Thiessen 9be843422d
Fixing issue preventing import productes CES exit page from firing (#36656) 2023-01-27 12:14:59 -08:00
Joshua T Flowers c12ae8033d
Tweak product link description and display (#36591)
* Tweak product link description and display

* Add changelog entry

* Fix up edit product link modal tests

* Update changelog entry
2023-01-27 10:59:39 -08:00
Gan Eng Chin 15200103cc
Simplify Channels CSS. 2023-01-28 01:16:31 +08:00
Gan Eng Chin 0eb318c1f5
Simplify and remove RecommendedChannels and RecommendedChannelsList components. 2023-01-28 01:12:36 +08:00
Joel Thiessen 79c596cbd0
Updating section and field product fills to support multiple slots (#36592) 2023-01-27 08:42:51 -08:00
Gan Eng Chin 14511ae4d6
Code refactor with SyncStatus and IssueStatus components. 2023-01-28 00:14:50 +08:00
Nathan Silveira d5e2ae0474
Move clearQueue call to inside an useEffect (#36626)
* Move clearQueue call to inside an useEffect

That call was causing a React error (Cannot update a component while rendering a different component)

* Move queueForPage declaration to before it's use
2023-01-27 12:33:48 -03:00
Gan Eng Chin 49032b98db
Make data undefined on first load in useRecommendedChannels. 2023-01-27 21:38:38 +08:00
Gan Eng Chin 316aad8b2e
Simplify RegisteredChannelCardBody CSS. 2023-01-27 21:15:40 +08:00
Gan Eng Chin 0061e34a00
Code refactor on marketing components (#36540) 2023-01-27 16:00:35 +08:00
Gan Eng Chin c2aad26473
Simplify CardHeaderTitle CSS.
- Use `@include font-size ( 20 )` to generate relative size in rem.
- Use unitless number value for line-height; this is the preferred way according to MDN.
- `font-weight` and `letter-spacing` are not needed.

The UI looks the same before and after this change.
2023-01-27 01:26:37 +08:00
Joshua T Flowers dfe2780e6a
Add default value for backorders (#36607)
* Add default value for backorders

* Add changelog entry
2023-01-26 09:20:10 -08:00
louwie17 bcdf2518e6
Refactor product tabs and add product tab slot fills (#36551) 2023-01-24 15:37:21 -08:00
Joel Thiessen 4341a53144
Migrating pricing section in product editor to slot fills (#36500)
* Adding changelogs

* Migrating pricing section in product editor to slot fills

* Adding slot and plugarea to variation form

* Removing obsolete pricing section files
2023-01-24 04:24:45 -04:00
Fernando Marichal c030b7dcd5
Add survey when disabling new experience (#36544)
* Add customer-score-tracks data

* Add callback after disabling new exp

* Add TransientNotice after filling out the survey

# Conflicts:
#	plugins/woocommerce/src/Admin/Features/NewProductManagementExperience.php

* Remove comments

* Remove NEW_PRODUCT_MANAGEMENT_FEEDBACK

* Add changelog

* Rename const

* Remove queryParam after showing notice

* Fix lint

* Fix lint 2.0

* Remove empty line

* Refactor `maybe_show_disabled_notice`

* Fix lint 3.0

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-01-23 22:43:17 -03:00
Joshua T Flowers 372208be41
Always show comments for product feedback form (#36484)
* Always show comments for product feedback form

* Add changelog entry

* Add CES changelog entry

* Fix up lint errors

* Add default for shouldShowComments in CustomerFeedbackModal
2023-01-23 17:36:48 -08:00
Fernando Marichal db2343cfed
Enable new experience when new user selects "Physical product" (#36406)
* Enable new experience for simple products

* Add changelog

* Fix `updateOptions`

* Fix redirect when new-exp is enabled

* Redirect when new-exp is enabled

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-01-23 20:18:43 -03:00
Joshua T Flowers 4a2180f442
Show product CES footer on product tour close (#36516)
* Show product CES footer on product tour close

* Add changelog entry

* Remove unused code
2023-01-23 11:55:35 -08:00
Nathan Silveira 732fd7dba7
Fix typo in product tour in new product management experience (#36561) 2023-01-23 16:23:03 -03:00
Joshua T Flowers 7e27cffdb3
Fix overlapping header elements on product page (#36495)
* Place product tabs beneath header elements

* Observe header height changes and adjust tabs position

* Move header height into reusable hook

* Add changelog entry
2023-01-23 10:14:58 -08:00
Joel Thiessen 447379a424
Migrating product editor inventory section to use slot fills (#36509)
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2023-01-23 08:11:41 -08:00
Joel Thiessen cb0105efd9
Migrate shipping shipping in product editor to slot fill (#36534)
* Migrate shipping shipping in product editor to slot fill

* Adding changelog

* Removing obsolete shipping section files, adding support to variations form
2023-01-23 10:44:29 -04:00
Adrian Duffell b87df2fd4a
Add SlotFill for Task List Footer (#36527)
* Add footer slot

* Add ExperimentalWooTaskListFooter slot to task list

* Update inline documentation

* Add changelog
2023-01-23 13:48:42 +08:00
Gan Eng Chin d70fb07f31
Modify PluginCardBody to accept className, and change description type. 2023-01-21 23:13:13 +08:00
Gan Eng Chin 6baa403071
Move and rename type Plugin to RecommendedPlugin. 2023-01-21 23:12:04 +08:00
Gan Eng Chin d252922110
Rename file Plugin to InstalledPlugin.
(cherry picked from commit 0229354da0)
2023-01-21 23:11:47 +08:00
Gan Eng Chin 8873252c45
Rename type Plugin to InstalledPlugin.
(cherry picked from commit 56dbf53a35)
2023-01-21 23:11:36 +08:00
Gan Eng Chin 0fe028d8c2
Code refactor with CardHeaderTitle component.
This component will be used in other components later.

(cherry picked from commit 995fb7e02d)
2023-01-21 23:10:31 +08:00
Gan Eng Chin 3f56382cf1
Code refactor with CenteredSpinner.
(cherry picked from commit 5216643465)
2023-01-21 23:09:06 +08:00
Ilyas Foo 30a4bdefd8
Add Tasklist extensibility and WooOnboardingTaskListHeader SlotFill (#36519)
* Add experimental onboarding_tasklist PHP filter

* Add WooOnboardingTaskListHeader and woocommerce_onboarding_task_list_header Slot to task list

* Changelog

* Fix header task logic

* Remove React FC types

* Update changelog

* Fix comment
2023-01-21 15:19:20 +08:00
RJ 39cd780e18
add: slot for tasklist completion component slotfill (#36487)
* add: slot for tasklist completion component slotfill

* added fillprops and changed to experimental slotfill name
2023-01-21 11:05:45 +08:00
Gan Eng Chin 1af1524b83
Rename CSS installed-channel to registered-channel. 2023-01-21 02:38:00 +08:00
Gan Eng Chin ef669d8ca2
Rename InstalledChannel to RegisteredChannel. 2023-01-21 02:36:39 +08:00
Gan Eng Chin 8754003fb0
Add mapping for sync-failed product listings status. 2023-01-21 02:26:19 +08:00
Gan Eng Chin 2a15f09514
Remove TODO comments. 2023-01-21 02:22:30 +08:00
Gan Eng Chin 3cc568b4ed
Remove duplicated RecommendedChannel type. 2023-01-21 02:20:06 +08:00
Gan Eng Chin 0b1ab21836
Rename types. 2023-01-21 02:14:36 +08:00
Joel Thiessen 67d811a67d
Migrating attributes section in product editor to slot fills (#36483) 2023-01-20 08:56:56 -08:00
Gan Eng Chin a511054a3e
Merge branch 'feature/34903-multichannel-marketing-frontend/main' into feature/34903-multichannel-marketing-frontend/34906-channels-card 2023-01-21 00:10:00 +08:00
RJ 7d8f7ad57c
add: slot for header banner slotfill (#36467) 2023-01-20 22:01:20 +08:00
Nathan Silveira 1123f9991f
Scroll newly added attribute into view (#36447)
* Scroll newly added attribute into view

* Increment changelog

* Add smooth scrolling when adding new attributes
2023-01-19 19:43:36 -03:00
Moon 395f3b3eb5
Add slot for ProgressHeader and ProgressTitle (#36482)
* Add slot for ProgressTitle

* Add slot for ProgressHeader

* Add changelog

* Add experimental prefix
2023-01-19 13:21:54 -08:00
Joel Thiessen 687dd6fdfe
Migrating product editor images section to slot-fill (#36461) 2023-01-19 09:45:30 -08:00
Gan Eng Chin d69f078fd5
Replace useIsPluginInstalled with useIsPluginInstalledNotActivated. 2023-01-20 01:36:39 +08:00
Gan Eng Chin cd0402a10c
Refetch registered channels after install and activate recommended channels. 2023-01-20 01:02:41 +08:00
Gan Eng Chin 9fa6ea4a25
Display activate button for channels that are not yet activated. 2023-01-20 00:36:34 +08:00
Gan Eng Chin 223ea4d712
Filter recommended channels to get "not installed" or "not activated" channels. 2023-01-19 22:23:00 +08:00
Gan Eng Chin cf4c62e707
Fix loading bug in useRecommendedChannels. 2023-01-19 19:50:56 +08:00
Gan Eng Chin b708cc18ff
Get recommended channels from API. 2023-01-19 19:33:51 +08:00
Joel Thiessen 2fae3537a7
Experimental SlotContext for managing slot fill interactions (#36333)
* Adding Slotcontext component and adding support to product slot fill components

* Passing inject props correctly to non-function components.
2023-01-19 05:52:45 -04:00
louwie17 fc1745b03b
Add/36075 render fields sections from php config (#36414)
* Add initial component to auto load fills from API config

* Add changelog

* Update logic to make use of new store and re-usable components

* Add changelog

* Add loading state for product form data to add/edit product pages
2023-01-19 04:52:02 -04:00
Chi-Hsuan Huang 025c6aab17
Fix tax task showing as not completed after setting up tax (#36468)
* Wait for requests to finish before redirecting

* Add changelog
2023-01-19 13:01:31 +08:00
Joshua T Flowers 1337a6d36e
Add product tour to new product management experience (#36428)
* Add product tour container and modal

* Fix modal open class name

* Add product tour

* Add changelog entry

* Move product tour state logic into hook

* Fix tour selectors for pricing and actions

* Add tests around product tour container

* Add tests around useProductTour hook

* Make tour responsive

* Use tabs instead of spaces

* Fix more scss lint errors

* Remove extra whitespace
2023-01-18 11:11:02 -08:00
Gan Eng Chin 2d7c8db2e5
Map product_listings_status to syncStatus. 2023-01-19 01:32:38 +08:00
Gan Eng Chin 0a36d7a4fe
Map errors_count to issueType and issueText. 2023-01-19 01:12:50 +08:00
Gan Eng Chin 07b8b98702
Merge branch 'feature/34903-multichannel-marketing-frontend/main' into feature/34903-multichannel-marketing-frontend/34906-channels-card 2023-01-18 17:35:50 +08:00
Gan Eng Chin f616d688d8
Call marketing channels API with wp.data. 2023-01-18 02:04:42 +08:00
Joel Thiessen d9daad3e9c
Converting product details section to utilize slot fills (#36368)
* Working prototype of product details via slotfill

* Raising default order for product slot-fills

* Move logic to details field name component

* Adding order prop to all fills.

* Adding components changelog

* Adding changelog

* Deleting obsolete product details section files

* Reducing spacing between slot filled fields
2023-01-17 05:04:58 -04:00
Joshua T Flowers ea64a98f54
Extract attribute filtering and fetching logic out of attribute components (#36354)
* Move attribution fetching to separate hook

* Add changelog entry

* Set all attributes on update of subset of attributes

* Move filtering logic to hook

* Remove tests that filter attribute by type inside the component

* Rename AttributeField to AttributeControl and props from attributes to value
2023-01-17 04:34:08 -04:00
Matt Sherman 69e7fd1b42
Analytics: Decode HTML entities in CategoryBreadcrumbs (#36321)
* Decode HTML entities in CategoryBreadcrumbs

* Changelog
2023-01-13 11:14:40 -05:00
Fernando Marichal 78002eac9c
Hide `Variations` section when it is empty (#36202)
* Add changelog

* Hide Variations section when it is empty

* Fix hiding variations

* Remove `totalCount const

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-01-12 16:32:40 -03:00
Joshua T Flowers 891ecb7efb
Redirect to new product experience when in experiment group (#36381)
* Redirect to new product experience when in experiment group

* Add changelog entry
2023-01-12 16:02:40 -03:00
Joshua T Flowers ad59769f25
Remove persisted query on return to parent product from variation (#36365)
* Remove persisted query on return to parent product from variation

* Add changelog entry
2023-01-12 09:20:46 -08:00
Matt Sherman 54c0acf8cd
Decode HTML entities in CategoryFieldItem (#36367)
* Decode HTML entities in CategoryFieldItem.

* Changelog
2023-01-12 10:21:43 -05:00
Joel Thiessen 6e428201c1
Adding WooProductSectionItem slotfill (#36331) 2023-01-11 10:00:20 -08:00
Maikel David Pérez Gómez 8bada412d4
Product variations should inherit parent product properties (#36234)
Remove manage_stock 'parent' value before saving the variation
2023-01-11 11:41:25 -03:00
Joel Thiessen f429b9444c
Adding WooProductFieldItem slotfill (#36315) 2023-01-10 10:13:02 -08:00
Gan Eng Chin b326ba1204
Merge branch 'feature/34903-multichannel-marketing-frontend/main' into feature/34903-multichannel-marketing-frontend/34906-channels-card 2023-01-09 23:38:03 +08:00
Maikel David Pérez Gómez 1ab678c13f
Include tax options in pricing section (#36299)
* Add Charge sales tax on sub section to pricing section when enable taxes is set to yes

* Add tax classes datastore

* Load tax classes in pricing section

* Set empty value when tax class is standard rate

* Add changelog files

* Add custom resolver to use slug as id for tax classes

* Add helper text and learn more link to tax class radio group
2023-01-06 09:41:45 -03:00
Fernando Marichal 230e79fbdf
Fix reordering items logic in attributes/options lists (#36296)
* Fix reordering list items bug

* Add tests

* Remove orphan comment

* Add changelog

* Rename const

* Update plugins/woocommerce-admin/client/products/fields/attribute-field/utils.ts

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* Rename `objectKey` to `attributeKey`

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
2023-01-06 08:53:03 -03:00
Joshua T Flowers 8b905b92c0
Allow product tab navigation without prompting for unsaved changes (#36235)
* Add callback to confirm whether or not the prevent leaving page prompt should trigger

* Move prevent leaving logic to util and add tests

* Add changelog entry

* Add navigation changelog entry

* Fix WooCommerce data mock

* Revert desctructuring of nav properties
2023-01-05 18:30:36 -08:00
Joshua T Flowers 04089f37e6
Add product variation flag to hide WIP (#36311)
* Add product variations feature flag

* Add changelog entry
2023-01-05 18:30:23 -08:00
Joshua T Flowers e73fb9f23f
Derive product type from product attributes (#36243)
* Derive product type from product attributes

* Add tests around derive product type

* Add changelog entry
2023-01-03 16:25:21 -08:00
Joshua T Flowers 421fc3e30b
Convert HTML to blocks in product variation description (#36241)
* Convert HTML to blocks in product variation description

* Add changelog entry
2023-01-03 16:25:12 -08:00
Joshua T Flowers df0ddb2dff
Fix navigation between variations and tab selection (#36239)
* Fix navigation between variations and tab selection

* Add changelog entry
2023-01-03 08:59:49 -08:00
Fernando Marichal af9f493c43
Fix attributes/options lists corrupt render (#36236)
* Fix attributes/options lists reordering

* Add changelog

* Fix element key

* Remove comment

* Add tests

* Fix changelog

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2023-01-03 10:33:29 -03:00
Joshua T Flowers 3fe3710c51
Automatically generate product variations on option changes (#36188)
* Auto generate variations on option changes

* Add changelog entry

* Move product variation generation to hook

* Create product auto draft if not yet created

* Allow auto-draft and trash statuses for products

* Update form context with product ID to allow fetching variations

* Fix product ID usage in variations

* Reset form after initial product creation

* Use form value name for display instead of persisted name for auto drafts

* Add additional test around auto draft title
2022-12-30 13:12:09 -08:00
Chi-Hsuan Huang 8c3f06c452
Fix "Save changes?" modal saves the options after selecting the 'Discard' option (#36160)
* Tweak save change modal padding

* Fix obw save change and add e2e tests

* Add changelog

* Fix product_types step
2022-12-28 16:23:16 +08:00
Chi-Hsuan Huang 9f0d718a33
Cleanup product task experiment (#35950)
* Cleanup product task experiment

* Rename experimental-products -> products

* Add changelog

* Clean up product task experiment in woo/onboarding

Remove product variant

* Rename experimental-import-products -> import-products

* Clean up OnboardingTasks.php

* Add changelog

* Remove experimental-products-task feature flag
2022-12-28 16:08:54 +08:00
Fernando Marichal f5e23c329c
Fix edit attribute modal terms list (#36186)
* Fix `EditAttributeModalProps` terms list

* Add changelog

* Fix `AttributeField` continuos hydration

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-12-27 15:38:08 -03:00
Maikel David Pérez Gómez 8fc2818e28
Add edit button to variations list items (#36079)
* Add edit button to variations list items

* Add comment feedbacks
2022-12-27 15:22:52 -03:00
Joshua T Flowers 5137973d91
Add product variation header actions and persistence (#36155)
* Fix up updateItem query in CRUD data store

* Add product variation form header

* Fix gaps for variation and parent product actions

* Hide preview button on mobile for product variations

* Add changelog entry

* Add data package changelog entry

* Fix lint errors
2022-12-27 10:21:32 -08:00
Gan Eng Chin f92f4d3dee
Code refactor with useIsLocationHashAddChannels. 2022-12-28 01:09:37 +08:00
Gan Eng Chin 86cc1181bf
Focus on Add Channels section when users click on Add Channels button. 2022-12-28 00:56:59 +08:00
Gan Eng Chin 35375c6fab
Rename UseIntroductionBannerType to UseIntroductionBanner. 2022-12-27 22:13:21 +08:00
Gan Eng Chin e1a82c5b94
Display and dismiss introduction banner with wp_options. 2022-12-27 22:01:46 +08:00
Gan Eng Chin a2419dbf44
Display buttons in introduction banner with large illustration. 2022-12-27 21:06:26 +08:00
Gan Eng Chin 82db71c94f
Add close button to introduction banner card. 2022-12-27 20:47:14 +08:00
Gan Eng Chin b6eec1e1bf
Add introduction banner card to marketing page. 2022-12-27 02:05:58 +08:00
Matt Sherman a9b46d51b5
Add Options section to new product experience (#35910)
* Support passing in filter and new attribute properties to AttributeField

* Changelog

* Pass addButtonLabel as prop

* Add OptionsSection to options tab

* Refactor more to create Attributes and Options fields

* Refactor a couple of things

* Refactor globalAttributeHelperMessage

* Remove `Used for filters` checkbox

* Remove `hydrationComplete`

* Add subtitle to empty state component

* Fix 'Add option' button

* Fix tests

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-12-23 11:57:28 -08:00
Maikel David Pérez Gómez 5b3b5dab59
Truncate attribute option name to a max of 32 chars in variations list (#36134)
* Truncate attribute option name to a max of 32 chars in variations list

* Use PRODUCT_VARIATION_TITLE_LIMIT to truncate attribute option names

* Fix up lint error

Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
2022-12-23 11:29:44 -08:00
Maikel David Pérez Gómez dd94bb78ee
Add product variation image (#36133)
* Convert getCheckboxTracks into generic function because of a type mismatch

* Add image to product variation and export types

* Add single image field

* Integrate SingleImageField in variation details section

* Add changelog file

* Add comment suggestions

* Fix set image onFileUploadChange
2022-12-23 10:28:44 -08:00
Gan Eng Chin c89b28157d
Merge branch 'feature/34903-multichannel-marketing-frontend/34905-campaigns-card' into feature/34903-multichannel-marketing-frontend/34909-create-campaign-modal
Conflicts:
	plugins/woocommerce-admin/client/marketing/hooks/index.ts
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Campaigns/Campaigns.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Channels/Channels.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Channels/RecommendedChannels.tsx
	plugins/woocommerce-admin/client/marketing/overview-multichannel/Channels/useChannels.ts
2022-12-24 02:07:15 +08:00
Gan Eng Chin 1d7b663186
Remove the unneeded "Create new campaign" button for now. 2022-12-24 01:45:59 +08:00
Gan Eng Chin 8e39098256
Show Campaigns card only when there is at least one registered channel. 2022-12-24 01:43:09 +08:00
Gan Eng Chin ee6fa9508e
Merge branch 'feature/34903-multichannel-marketing-frontend/34906-channels-card' into feature/34903-multichannel-marketing-frontend/34905-campaigns-card
Conflicts:
	plugins/woocommerce-admin/client/marketing/overview-multichannel/MarketingOverviewMultichannel.tsx
2022-12-24 01:39:57 +08:00
Gan Eng Chin 52dd8845cc
Load registered and recommended channels in MarketingOverviewMultichannel.
The data will be used to conditionally display Campaigns card later.
2022-12-24 01:14:02 +08:00
Gan Eng Chin e950417542
Move useRegisteredChannels and useRecommendedChannels into shared hooks directory. 2022-12-24 00:48:03 +08:00
Gan Eng Chin 7bd32ba638
Remove useChannels and use useRegisteredChannels and useRecommendedChannels directly. 2022-12-24 00:32:23 +08:00
Gan Eng Chin 9e0b71ff1c
Rename CollapsibleRecommendedChannels to RecommendedChannels. 2022-12-23 22:12:16 +08:00
Gan Eng Chin af2f4eb904
CSS for "Add channels" button. 2022-12-23 22:08:50 +08:00
Gan Eng Chin 31b635b888
Code refactor: move CSS code to corresponding SCSS file. 2022-12-23 21:53:42 +08:00
Gan Eng Chin 06a303fc33
Types for useRegisteredChannels. 2022-12-23 21:21:52 +08:00
Gan Eng Chin 4fa4f802e9
Check for empty recommended channels. 2022-12-23 21:19:00 +08:00
Moon 52640de58a
Update country select control regex (#36159)
* Update regex to match country name or " - region "

* Add changelog

* Fix style
2022-12-22 21:30:50 -08:00
Maikel David Pérez Gómez bfa2d4f3a7
Product variation order should be persisted on save (#36109)
* Persist product variation order on product save

* Add batchUpdate to product variations datastore

* Add useVariationOrders hook to manage the ordering logic

* Add local ordering logic to variations field

* Persist variation orders on product save

* Add changelog file

* Add comments suggestions

* Add more comment seggestions
2022-12-22 16:01:51 -03:00
Gan Eng Chin d0de1b5c21
Add border and change padding for recommended channels in create campaign modal. 2022-12-23 02:00:45 +08:00
Joshua T Flowers 4b4fe7c227
Add product variation title to page header (#36085)
* Add method to get product variation title from data

* Conditionally add variation to page header

* Fix CRUD data store id query on selector

* Make getProductVariation calls and data types consistent to prevent multiple calls

* Add changelog entries

* Update product link type to avoid page refresh

* Expose function to truncate title to 32 character limit
2022-12-22 09:23:44 -08:00
Fernando Marichal a9986fe75e
Product variations - Set fixed height for card (#36053)
* Add className prop to Sortable

* Add styles

* Add `rows` class

* Add changelogs

* Remove `row-#` class

* Fix min-height

* Set task list item min height

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
2022-12-22 09:03:07 -03:00
Maikel David Pérez Gómez 1ab7a851cb
Reset variation form if a new variation is given (#36078) 2022-12-21 15:00:35 -03:00
Gan Eng Chin 07894d42e3
Code refactor for Campaigns component, remove unneeded CampaignsCardHeader. 2022-12-22 01:52:24 +08:00
Maikel David Pérez Gómez c7c0322163
Persist active tab on refresh (#36112) 2022-12-21 14:47:13 -03:00
Gan Eng Chin a3c8680789
Use perPage variable instead of duplicated number. 2022-12-22 01:34:46 +08:00
Gan Eng Chin 321145eb2e
Better code clarity with woocommerce-marketing-campaigns-table class name. 2022-12-21 23:12:10 +08:00
Gan Eng Chin 894b77dc96
Code refactor with CreateNewCampaignModal. 2022-12-21 22:56:22 +08:00
Gan Eng Chin 5caffb6c63
Make create campaign button open in new tab depending on createUrl origin. 2022-12-21 21:26:57 +08:00
Maikel David Pérez Gómez 60e3adabd9
Add product variation navigation component (#36076)
* Add simple navigation component

* Add useProductVariationNavigation hook to manage navigation logic

* Integrate navigation component and hook in product variation form

* Add changelog file

* Add comment feedbacks
2022-12-20 18:02:25 -03:00
Gan Eng Chin 6b3fbdf16b
Display new campaign types in create campaign modal. 2022-12-21 02:38:56 +08:00
Joshua T Flowers 92496e3578
Add product variation General section (#36081)
* Add product variation general section

* Add changelog entry
2022-12-20 09:03:51 -08:00
Gan Eng Chin 24d59f7316
Hide the recommended channels section if it is empty. 2022-12-20 22:39:00 +08:00
Gan Eng Chin 17f2072d9f
Display recommended channels in create campaign modal. 2022-12-20 02:37:02 +08:00
Gan Eng Chin 5f50e63a1e
Move useRecommendedChannels to shared hooks directory. 2022-12-20 02:35:37 +08:00
Gan Eng Chin 6de95c78a1
Move RecommendedChannelsList to shared components directory. 2022-12-20 02:33:35 +08:00
Gan Eng Chin 33998743d6
Remove unneeded imports in RecommendedChannelsList. 2022-12-20 02:29:42 +08:00
Gan Eng Chin 08661353eb
Add CampaignsCardHeader component with modal. 2022-12-20 01:17:30 +08:00
Gan Eng Chin 558ddf2609
Use Campaign type in useCampaigns. 2022-12-19 20:54:01 +08:00
Gan Eng Chin c67e479162
Add Campaign type. 2022-12-19 20:53:31 +08:00
Gan Eng Chin cbc616a9f3
Set cost column as numeric in Campaigns card.
This makes the column right-aligned.
2022-12-18 20:38:07 +08:00
Gan Eng Chin 32cf8d1341
Add pagination to Campaigns card. 2022-12-18 20:37:25 +08:00
Gan Eng Chin c444dbd126
CSS for campaign rows in Campaigns card. 2022-12-18 20:08:21 +08:00
Gan Eng Chin f5799c8721
Display campaign data in table in Campaigns card. 2022-12-18 19:34:16 +08:00
Gan Eng Chin af4f79ab28
Add loading state for Campaigns card. 2022-12-17 21:08:14 +08:00
Moon 62a957c75d
Add aria-label for simple select dropdown in select-control component (#35808)
* Add aria-label for simple select dropdown

* Add changelog

* Use placeholder value

* Allow aria label prop and use label as a fallback

* Update test snapshot

* Add changelog
2022-12-16 09:55:55 -08:00
Maikel David Pérez Gómez d768307e69
Add single product variation sections (#36051) 2022-12-16 14:44:54 -03:00
Maikel David Pérez Gómez a6fa0e71bf
Add product variation visibility toggle (#36020)
* Add svg icons and show them in variations list

* The visibility icon should reflect the current visibility status

* Clicking the visibility icon should toggle on or off the variation visibility and persist these settings on refresh

* Price and quantity should be fade when the variant is not visible

* Add changelog

* Hovering the visibility icon should display a tooltip indicating what clicking this button will do

* Fix linter error

* Fix spinner opacity if button is disabled
2022-12-16 14:44:06 -03:00
Joshua T Flowers d46a1045e8
Add product variation form and routes (#36033)
* Add route for editing product variation

* Fix up ID selector for getItem in CRUD data store

* Add product variation form

* Add changelog entries
2022-12-16 11:20:10 -03:00
Adrian Duffell 915256b709
Add Missing Tracks Events to Tax Settings Conflict Warning (#36042)
* Import Tracks package

* Add tracks event tax_settings_conflict_recommended_settings_clicked

* Add tracks event tax_settings_conflict

* Add tracks event tax_settings_conflict_dismissed

* Add changelog
2022-12-16 16:57:09 +08:00
Matt Sherman c94a5c6f4b
Refactor AttributeField into sub-components (#35997)
* Add className support to ListItem
* Refactor to extract AttributeListItem component
* Use AttributeListItem component in AttributeField
* Extract AttributeEmptyState from AttributeField
* Use AttributeEmptyState in AttributeField
* Add default value for label prop on AddAttributeListItem
* Add props for labels in AddAttributeModal
* Add props for labels in EditAttributeModal
2022-12-15 21:49:02 -05:00
Joel Thiessen 54f22aa437
Adding delayed spotlight to feedback button on current product page (#35865) 2022-12-15 16:09:21 -08:00
Joel Thiessen 6e20f66966
Adding the feedback button on activity panel for the classic product page (#35810) 2022-12-15 14:31:47 -08:00
Joel Thiessen 8405974674
Adding ces exit prompt when product importer abandoned (#35996) 2022-12-15 13:18:35 -08:00
louwie17 895cb1561c
Add/35126 ces exit prompt orders (#35762)
* Add exit tracking for orders

* Update exit page CES action

* Fix order hook name

* Add changelog

* Address PR feedback
2022-12-15 15:50:34 -04:00
Joshua T Flowers 266b61cd4c
Disable irrelevant product tabs when variations exist (#35939)
* Add disabled prop to product form tabs

* Add tooltips to disabled tabs

* Add styling for tooltips when disabled

* Add changelog entry

* Update disabled styles for experimental focus buttons
2022-12-15 11:20:10 -08:00
Fernando Marichal 44cf396be6
Product variation quantity status indicator (#35982)
* Add variation status indicator

* Add changelog

* Add tests

* Fix style

* Rename enum

* Fix lint

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-12-15 15:20:21 -03:00
Gan Eng Chin 30d316886c
Add empty state Campaigns card. 2022-12-16 01:13:32 +08:00
Maikel David Pérez Gómez 393cc629d9
Add pagination to variations list (#35979)
* Add changelog

* Add pagination to variations list

* Apply styles for pagination paddings and to keep it at the bottom of the section card

* Returning back per page option from 2 to 25

* Fix pagination label text from uppercase to normal and font styles

* Update variation footer gap

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
2022-12-15 10:13:29 -03:00
RJ cc9f4b65fc
Enhancement: Tax settings conflict warning (#36010)
* Add WIP error handling when conflicting settings chosen

* add: enhance tax settings conflict warning

* Fix WC_Settings_Tax_Test::test_get_settings_for_default_section

* Wrap texts in i18n method

* Add snackbar

Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2022-12-15 21:04:28 +08:00
Adrian Duffell dbbe78c8ae
Add Codisto Extension to Onboarding (#36009)
* WIP

* Update codistoconnect

* Update selective-extensions-bundle for free trial badge

* Add codisto onboarding logo

* Add changelog

* Fix lint issues

* Fix lint issues with necassary spacing this time

* Add link to codisto product page

* Fix lint formatting

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2022-12-15 20:34:34 +08:00
Maikel David Pérez Gómez 31e6f90e74
Fix product tab to be shown on production build (#35976) 2022-12-14 18:07:55 -03:00
louwie17 c7132ec8f0
Add/35126 ces exit prompt settings (#35761)
* Add exit settings page tracker

* Add exception for when user hits the save button

* Update settings and add icon support

* Add changelog

* Add dismiss track for when user dismisses CES modal

* Add changelog

* Add tests for staticFormDataToObject function

* Fix imports of test file
2022-12-14 10:55:12 -04:00
Gan Eng Chin 2e8b5227e4
Move RecommendedChannel type. 2022-12-14 20:54:29 +08:00
Gan Eng Chin 6f4e05945b
Add dummy data for testing in useRecommendedChannels. 2022-12-14 20:19:20 +08:00
Gan Eng Chin 6c127d70c8
Add dummy data for testing. 2022-12-14 20:11:40 +08:00
timur987 4ac1d822ac
Update In-App Marketplace tour wording (#35929) 2022-12-14 10:59:42 +03:00
Chi-Hsuan Huang 679e875bd2
Fix ellipsis dropdown is hidden in task list (#35949)
* Fix the ellipsis dropdown menu is mostly hidden within the task list

* Add changelog
2022-12-14 13:53:52 +08:00
Joshua T Flowers e1aabf2d9d
Add product variations list to new product management experience (#35889)
* Add product variations section

* Add variations list

* Add util to get product stock status

* Add variation specific attribute type

* Add currency code to header column

* Fix up variations header width

* Add variations loading state

* Add changelog entries

* Convert spaces to tabs

* Fix status typo

* Fix up return type for stock status
2022-12-13 15:29:05 -08:00
Gan Eng Chin 6b80109754
Code refactor with RecommendedChannelsList. 2022-12-14 02:07:35 +08:00
Gan Eng Chin 4a2205bcd1
Display recommended channels in a collapsible list in Channels card. 2022-12-14 01:13:00 +08:00
Joshua T Flowers 4eacc67501
Add product tabs to product layout (#35862)
* Add product form tabs to layout

* Move product sections to respective tabs

* Add tab styling

* Add changelog entry

* Scroll to top on tab change

* Update font weight on active or inactive tabs

* Add blank EOL
2022-12-13 08:13:12 -08:00
Gan Eng Chin 9963fd07ab
Display description and button based on channel setup status in Channels card. 2022-12-13 23:23:13 +08:00
Gan Eng Chin f713c01f56
Add more properties into InstalledChannel type. 2022-12-13 23:22:27 +08:00
Gan Eng Chin e6e6dc19ef
Display issue status in Channels card. 2022-12-13 22:47:16 +08:00
Gan Eng Chin 437ebb20a8
Display sync status in Channels card. 2022-12-13 21:36:09 +08:00
Gan Eng Chin 02ce7cccc5
Modify PluginCardBody to accept className, and change description type. 2022-12-13 21:35:01 +08:00
Moon 131183597f
Fix RegExp used to filter the country list dropdown on the store details step (#35942)
* Add custom regexp for the country dropdown search

* Add changelog
2022-12-12 18:48:22 -08:00
louwie17 613e58c061
CES exit prompt for product editing screens (#35728)
* Add exit page tracker logic and implement it for product pages

* Add changelog

* Fix lint errors and add comments

* Add ces_location prop

* Add mock to fix broken test

* Add CES exit page survey tests

* Fix a bug with React pages redirects and update actions

* Fix test

* Fix lint

* Add default inside location prop

* Remove exit prefix within action

* Address PR feedback and make sure its not triggered on save

* Update copy of exit feedback notice

* Add changelog

* Update name of param

* Fix lint error

* Use hasFinishedResolution vs isResolved in customerEffortScoreTracks
2022-12-12 09:56:28 -04:00
louwie17 d406eeb299
Fix react chunk build warnings (#35930)
* Reorganize imports to fix build warnings and remove overlapping css import

* Add changelog

* Update changelog
2022-12-12 09:43:34 -04:00
Gan Eng Chin be621df8da
Add more data for testing. 2022-12-10 02:29:58 +08:00
Gan Eng Chin a9010ffd68
Add InstalledChannelCardBody to Channels. 2022-12-10 02:29:58 +08:00
Gan Eng Chin 92112e27a1
Add InstalledChannel type. 2022-12-10 02:29:58 +08:00
Gan Eng Chin 7852448a7a
Use SmartPluginCardBody in Channels component. 2022-12-10 02:29:58 +08:00
Gan Eng Chin 5da2385d41
Add SmartPluginCardBody component. 2022-12-10 02:29:58 +08:00
Gan Eng Chin 542b26e346
Move and rename type Plugin to RecommendedPlugin. 2022-12-10 02:29:58 +08:00
Gan Eng Chin 0229354da0
Rename file Plugin to InstalledPlugin. 2022-12-10 02:29:58 +08:00
Gan Eng Chin 56dbf53a35
Rename type Plugin to InstalledPlugin. 2022-12-10 02:29:57 +08:00
Gan Eng Chin 5cd1d0fe3f
Add CardHeaderDescription in Channels card. 2022-12-10 02:29:57 +08:00
Gan Eng Chin 995fb7e02d
Code refactor with CardHeaderTitle component.
This component will be used in other components later.
2022-12-10 02:29:57 +08:00
Gan Eng Chin a8c8be7c26
Use CenteredSpinner in Channels. 2022-12-10 02:29:57 +08:00
Gan Eng Chin 5216643465
Code refactor with CenteredSpinner. 2022-12-10 02:29:57 +08:00
Gan Eng Chin dc7a233cb1
Add Channels card into Marketing page. 2022-12-10 02:29:57 +08:00
Nathan Silveira 31773d4b06
Create ProductForm component to merge duplicated UI (#35783)
* Extract new component 'ProductForm', to reduce duplicated code between add-product-page and edit-product-page

* Add changelog

* Try to merge add-product-page and edit-product-page into a single product-page: running into some issues probably with the controller

* Revert "Try to merge add-product-page and edit-product-page into a single product-page: running into some issues probably with the controller"

This reverts commit bc30b67ef2.
2022-12-05 17:46:21 -03:00
louwie17 e7dd1a0be9
Add/35300 ces feedback product mvp (#35690)
* Add ability to show CES modal through share Feedback button

* Make use of showCesModal in footer

* Update CES action for share feedback

* Update changes to support second CES question

* Add changelog

* Address some PR feedback
2022-12-02 11:59:42 -04:00
louwie17 0e8fbe083d
Add/35129 product mvp ces (#35652)
* Add product mvp ces footer

* Add changelog

* Reset action option name after CES action

* Make sure we make use of cesAction

* Add close button

* Fix formatting

* Fix css styling issues

* Add icon to success notice

* Add product mvp CES hook and modify logic a little bit

* Update the CES product action name

* Address PR feedback and fix styling for smaller screens

* Add second question to CES product footer and update options

* Add changelog

* Fix lint error

* Fix tests
2022-12-02 05:35:47 -04:00
RJ 14ab611008
fix: woocommerce admin cart modal header clips header text (#35780)
fix: increased woocommerce cart modal margin
2022-12-01 08:03:58 +08:00
Maikel David Pérez Gómez 25a7c35cf4
Improve element stacking in modals on tablet and mobile (#35733)
* Add updated versions of sr-only and not-sr-only mixins

* Improve element stacking in modals on tablet and mobile

* Add comment suggestion

* Change sr-only for screen-reader-only which is more descriptive
2022-11-30 13:28:00 -03:00
Fernando Marichal 1e9fff35c0
Allow the user to select multiple images in the Media Library (#35722)
* Add multiple selection to MediaUploader

# Conflicts:
#	packages/js/components/src/media-uploader/media-uploader.tsx

* Fix README.md

* Add multiple select to image section

# Conflicts:
#	plugins/woocommerce-admin/client/products/sections/images-section.tsx

* Add changelogs

* Fix repeated images addition

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-11-30 10:40:41 -03:00
Fernando Marichal 716d5ab322
Move file picker by clicking card into the MediaUploader component (#35738)
* Fix `MediaUploader` component

* Fix storybook

* Fix image section

* Add changelogs

* Fix code comment

* Fix text

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-11-30 09:00:14 -03:00
louwie17 f16cfbc9d6
Add open on focus to attribute fields (#35758)
* Add experimental open menu on focus to attribute input fields

* Add changelog
2022-11-30 04:05:11 -04:00
Maikel David Pérez Gómez 79566d7e6b
Add a bottom padding to the whole form (#35721) 2022-11-29 15:11:57 -03:00
Joel Thiessen 4db5c0d8cd
Add additional question to CES modal (#35680) 2022-11-29 08:15:58 -08:00
Nathan Silveira 121bfe3a29
Add tracks event for "View product" and dismiss action after update (#35582)
* Record an event 'product_view_product_click' when the 'View Product' link is clicked after creating or updating a product

* Add product_view_product_dismiss tracks events (WIP, not currently working)

* Add changelog

* Fix whitespace in addEventListener and remove console.logs

* Change link tag id to be more specific and comply with CSS guidelines
Move HTML code out of translation function

* Run phpcs in class-wc-admin-post-types

* Add tinyMCE types to add global tinymce variable in typescript code

* Add additional data in getProductData

TODO: I'm not sure if it's possible, or if it makes sense, to include stock_quantity_update in the object

* Add code review suggestions, including:

* Create isElementVisible function to backfill jQuery implementation
* Fix wrong value for is_downloadable, is_virtual, manage_stock
* Fix wrong radix
* Update menu_order implementation
* Add missing ? to weight

* Add stock_quantity_update implementation which is not working as intended

Since the page reloads after product update, the initialStockValue is updated as well

* Remove stock_quantity_update property and adjust is_downloadable, is_virtual, and manage_stock for consistency
2022-11-28 22:01:10 -03:00
Maikel David Pérez Gómez 3857b51f30
Fix price field currency symbol position (#35718)
* Currency symbol is fixed on the left side of the price input field

* Currency symbol has a different color from the input field value (Gutenberg-700)

* Input value is aligned right

* On focus, we highlight the field's content so the user can quickly clear or overwrite the placeholder text

* On focus, the user can press the up and down arrow keys to increase or decrease the value by 1

* Add changelog

* Remove unnecesary stepUp function
2022-11-25 11:48:18 -03:00
Maikel David Pérez Gómez 410f06b8c8
Add a blank space between the emoji and the message within a notice popup (#35698)
* Add a blank space between the emoji and the message within a notice popup

* Apply comment suggestions

* Remove duplicated text in the snackbar message after publishing a product
2022-11-25 10:21:22 -03:00
Fernando Marichal 12121a40ee
Open file picker by clicking card (#35358)
* Add FormFileUpload component

* Add styles

* Add changelog

* Fix lint

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-11-25 09:07:54 -03:00
AnnaMag 49aa5e03fd
Update the summary placeholder text in the product management form. (#35717)
* Product management: change the product summary placeholder text.

* Add changelog

* Correct formatting
2022-11-24 17:11:04 -03:00
Fernando Marichal 28f5616973
Fix the gap in the featured product checkbox (#35710)
* Fix style

* Add changelog

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-11-24 12:15:15 -03:00
Joshua T Flowers db737f2190
Add responsiveness to product form header (#35623)
* Update product title in smaller viewports

* Move secondary product actions to menu group on mobile

* Hide settings menu on smaller viewports

* Add changelog entry
2022-11-24 11:00:20 -03:00
Gan Eng Chin a811009a06
Add one-click installation for recommended extensions in multichannel Marketing page (#35542) 2022-11-24 21:46:08 +08:00
Joshua T Flowers 527249f754
Fix unread notes count in inbox panel (#35396)
* Mark note as read when viewing

* Show unread note count

* Add ability to fetch read or unread notes

* Count unread notes on server side to avoid pagination limits

* Add changelog entry

* Add data changelog entry

* Add check for note actions before checking length

* Add changelog entry

* Mark note as read after 3s delay
2022-11-23 08:52:46 -08:00
Maikel David Pérez Gómez 29b9c691cd
Fix/unsaved prompt (#35657)
* Set initial values prop from reset form function as optional

* Fix unsaved modal propmt to not be shown during form submission

* Reset form on save draft and before navigation starts

* Add comments ssuggestions
2022-11-22 11:56:27 -03:00
Fernando Marichal 6ac092e498
Add tracks events to a few sections (#35262)
* Add tracks events

* Add changelog

* Add more tracks events

# Conflicts:
#	plugins/woocommerce-admin/client/products/fields/attribute-field/add-attribute-modal.tsx
#	plugins/woocommerce-admin/client/products/sections/product-shipping-section.tsx

* Fix name

* Fix duplicated event

* Add select as cover event

* Add cancel shipping class creation

* Rename tracks events

# Conflicts:
#	plugins/woocommerce-admin/client/products/sections/product-shipping-section.tsx

* Add const for tracks event name

* Rename event

* Rename events

* Remove `product_modal_new_shipping_class_cancel_button` trancks event

* Rename `product_add_first_attribute_button_click` event

* Fix method

* Fix confirmation modal events

* Rename `product_add_attributes_modal_add_button_click` event

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-11-22 11:30:44 -03:00
louwie17 7ec3210b8b
Create attribute within the new product MVP (#35100)
* Add initial add new option

* Hook in create attribute modal to add attribute field

* Add unit tests for the create attribute modal

* Add extra test to attribute input field

* Add changelog

* Add custom attribute term input field and support for custom attributes

* Fix tets

* Add track for custom attribute creation

* Fix changes after merge conflict

* Revert one change

* Fix lint error

* Seperate out some logic and make use of null as empty object versus id: undefined

* Add isNewAttributeListItem helper function

* Make use of helper function for create new markup
2022-11-21 10:56:46 -04:00
Joshua T Flowers b2f66e3cf4
Add breadcrumbs to new product management experience (#35596)
* Add product breadcrumbs component

* Add breadcrumb styling

* Truncate breadcrumbs when more than 3

* Add tests around product breadcrumbs

* Add changelog entry

* Convert indentation to tabs

* Add key to mapped breadcrumb items
2022-11-18 09:51:01 -08:00
Nathan Silveira 6d4c1b3b8a
Adapt the width of the pricing fields (#35545)
* Add css class to change the input width based on the screen's width

* Changelog

* Move class from pricing-section.scss to product-page.scss and use breakpoint 960px mixin

* Move className from currencyInputProps to InputControl

* Improve changelog

* Move 'half-width-field' class to currencyInputProps instead of adding it manually for the two currency fields

* Add 'half-width-field' class to SKU and Shipping Class

Sent as a parameter to getInputProps and getSelectControlProps to avoid overwriting any additional className

* Update changelog
2022-11-18 13:03:10 -03:00
Maikel David Pérez Gómez dba6d337f7
Add a confirmation modal when the user tries to navigate away with unsaved changes (#35625)
* Add a confirmation modal when the user tries to navigate away with unsaved changes

* Add support for react router navigation

* Fix unit tests
2022-11-18 11:54:59 -03:00
Joshua T Flowers ba91c94ca9
Check if blocks have been added to rich text editors before updating value (#35626)
* Check if blocks have been added to rich text editors before updating value

* Add changelog entry
2022-11-17 10:06:10 -08:00
Maikel David Pérez Gómez fc56dcf6e9
Add/35173 category field improvements (#35606)
* Add experimental open menu when user click the select control input element

* Open categories menu list when the user click the category field

* Fix linter error

* Move open menu from click to focus event

* Fix linter errors
2022-11-17 15:04:40 -03:00
Joshua T Flowers 233e23704f
Add product settings menu to new product management experience (#35592)
* Add icons

* Add classic editor url

* Remove welcome guide link and icon

* Add initial settings menu

* Fix up button styling

* Move product settings to its own folder

* Remove unnecessary registerPlugin call

* Use number type control for menu order field

* Add tests around product settings component

* Allow reviews by default on all new products

* Alphabetize product properties

* Add changelog entry

* Add data changelog entry

* Convert indentation to tabs

* Fix up scss linting errors

* Remove whitespace
2022-11-17 09:59:51 -08:00
Adrian Duffell ba0994fda5
Deploy the stacked layout in the Products Task experiment (#35611)
* Deploy stacked layout in product task experiment

* Add changelog

* Remove unused import
2022-11-17 22:48:14 +08:00
louwie17 1550806efc
Add/34 create new category field modal (#35132)
* Add initial category field component with new typeahead

Move search logic to useCategorySearch hook

Add initial add new category logic

Add parent category field to add new category modal

Adding some debug changes

Update category control to make use of internal selectItem function of select control

Add changelogs

Update pagesize back to 100

Add placeholder

Empty placeholder

Fix input and icon sizes

Fix input underline

Add max height and scroll to category dropdown

Add sorting of category items

Auto open parents when traversing up the tree using arrow keys

Add several comments

Add some initial unit tests for the category field component

Add tests for useCategorySearch hook and fixed minor bug

Update styling and autoselect parent if child is selected

Fix styling issues for the select control dropdown inside a modal

Fix issue with creating new category with parent

Add function comment and fixed border styling

* Fix up some issues after the rebase

* Some small fixes for the Category creation

* Fix up some styling issues around the add-new-item

* Add changelogs

* Remove unneeded export of toggle button props

* Fix create category error and tests in attribute field

* Fix some minor bugs and styling changes that came up during PR feedback

* Fix tests

* Make use of $gap variable for css
2022-11-16 12:30:42 -04:00
Joshua T Flowers 7bff5cbb6b
Add product status badge to product form header (#35460)
* Add product status badge

* Update status method to return keys

* Add tests around product status

* Add styling to badge

* Add changelog entry

* Change product status keys to enum

* Add enum return type to product status function

* Fix up lint errors

* Convert indentation to tabs
2022-11-16 08:03:39 -08:00
Joshua T Flowers 2297787a4f
Add contextual product more menu (#35447)
* Add icons

* Add product more menu

* Add classic editor url

* Update header and more menu styles

* Update dropdown menu label

* Add changelog entry

* Remove welcome guide link and icon

* Remove errant import

* Remove unnecessary plugin registration
2022-11-16 07:02:45 -08:00
Daniel Mallory ad80ff7134
WCPay Experiment: Create an Inbox Note if user wants more info on WCPay (#35581) 2022-11-16 13:22:16 +00:00
Joshua T Flowers 23ca8d6297
Add product title to header when available (#35431)
* Move shared product header components to separate file

* Fill header title with product name

* Create method to get product title

* Add tests around title

* Add changelog entry

* Remove unnecessary plugin registration
2022-11-15 11:19:58 -08:00
timur987 8dc954d54b
Feature: Add the In-App Marketplace Tour (#35278)
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
2022-11-15 11:12:17 +01:00
Matt Sherman 5b06618a6f
Add scheduled sale fields (#34538)
* Add scheduled sale fields to product form
* Close DateTimePickerControl's dropdown when blurring from input.
* Log when onChange is called for Controlled stories
* Handle when input changes occur but the end date is the same
* Fix DateTimePickerControl usage when uncontrolled
* Fix handling when blur happens before debounced onChange
2022-11-14 21:03:13 +00:00
Joel Thiessen 5b1296fe45
Adding attribute edit modal for products MVP (#35269) 2022-11-03 08:20:29 -07:00
Chi-Hsuan Huang 76f99a482f
Cleanup and deprecate task properties and methods (#35450)
* Remove unused sectioned task code

* Remove section task type and update getVisibleTasks logic

* Clean up task list and deprecate methods/properties

* Add changelog

* Fix lint

* Remove snooze tests

* Remove snooze JS tests
2022-11-03 09:22:36 +08:00
Chi-Hsuan Huang 3fc0ee338e
Fix business details step fails to display when Gutenberg plugin is active (#35448)
* Fix business details tabs when Gutenberg is active

Fix business details tabs when Gutenberg is active

Fix business details tabs when Gutenberg is active

* Add changelog
2022-11-02 13:40:02 -05:00
louwie17 ff2b06c9af
Add create attribute term modal (#35131)
* Add create attribute term modal

* Add back filter missed during rebase

* Add changelog

* Fix lint error

* Address some feedback from PR review

* Prevent first modal from closing if closing the second modal when clicking outside
2022-11-01 09:05:46 -03:00
Joshua T Flowers e1ebabba29
Fix up rich text editor initial selection and add blocks (#35286)
* Fix double click toolbar behavior

* Fix initial block selection on editor load

* Add placeholder option to RichTextEditor

* Add image and video blocks

* Set toolbar height

* Allow inserter to be shown

* Allow media uploads in rich text editor

* Add changelog entries

* Fix media upload

* Check for existence of selected blocks before checking length

* Pass blocks to avoid race in detecting initially empty blocks
2022-10-31 14:36:54 -07:00
Joshua T Flowers 66370c823f
Add inventory advanced section (#35164)
* Add sold individually inventory option

* Add backorder purchase options

* Add margin around collapsible content areas

* Add changelog entry

* Add tests around inventory section

* Fix up checkbox props after rebase

* Check for disabled track quantity toggle

* Update manage stock test

* Fix nested radio control label margin
2022-10-31 14:36:33 -07:00
Tomek Wytrębowicz dafbfec094 Merge branch 'trunk' into remove/qs 2022-10-31 17:21:26 +01:00
louwie17 04d6e8849c
Add name to select control popover slots (#35353)
* Add name to SelectControlMenuSlot

* Add changelogs

* Update changelog

* Fix typo in changelog
2022-10-27 12:52:29 -03:00
Joshua T Flowers 89961fe067
Add summary field to new product experience (#35201)
* Add summary to new product page experience

* Add changelog entry
2022-10-26 11:20:11 -07:00
Maikel David Pérez Gómez 47439ec241
Fix the display of letter descenders in the shipping class dropdown menu (#35258)
* Fix the display of letter descenders in the shipping class dropdown menu

* Add comment suggestions
2022-10-25 17:28:37 -03:00
Maikel David Pérez Gómez 78f659b702
Increase the spacing between the shipping box illustration and the dimensions fields (#35259) 2022-10-25 17:17:30 -03:00
Maikel David Pérez Gómez c1e5098ff2
Change the product info section title to Product Details (#35255)
* Change the product info section title to Product Details

* Add comment suggestions
2022-10-25 16:49:48 -03:00
Maikel David Pérez Gómez 1bca35c360
Improve the communication around required and optional (#35266)
* Improve the communication around required and optional

* Add comments suggestions
2022-10-25 16:49:02 -03:00
Maikel David Pérez Gómez 69e52c2fa0
Remove some placeholder values (#35267) 2022-10-25 10:17:43 -03:00
Joshua T Flowers 2aa4ce0d9f
Disable product inventory toggle when inventory management is disabled (#35059)
* Disable product inventory toggle when inventory management is disabled

* Export conditional wrapper as experimental component

* Conditionally show the tooltip

* Add comment explaining the tooltip overlay

* Add components changelog entry

* Display tooltip on hover any portion of toggle or label

* Add changelog entry

* Fix scss lint error

* Center tooltip over label and toggle

* Fix up input props after rebase

* Add wrapper around field to maintain block item formatting
2022-10-24 09:08:27 -07:00
Maikel David Pérez Gómez 64ee20ff0f
Show a dismissible snackbar if the server responds an error (#35160)
* Show a dismissible snackbar if the server responds an error

* Removed the default value New shipping class from the Name field and replaced it with a placeholder: e.g. Fragile products

* Only used the category's name when the user creates a new shipping class for the first time

* Fix linter errors

* Update grammar error

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* Add empty initial values to form field to prevent controlled/uncontrolled react error

* Tune error handling

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
2022-10-22 10:47:17 -03:00
Joshua T Flowers 28f8e7f996
Enhance getInputProps to allow passing of non-overridden props (#35034)
* Allow additional props to be passed to the Form getInputProps method

* Remove getTextControlProps

* Pass additional shared props through getInputProps in shipping

* Simplify checkbox props

* Unwrap currency props

* Use onBlur event to sanitize prices

* Add changelog entry

* Add option to get checkbox props to form context helpers

* Update checkbox tracks handler naming and typing

* Fix up usage of getInputProps

* Add helper sanitize method

* Use sanitize helper method for product input fields

* Fix inventory input props after rebase

* Fix shipping typo

* Fix up form types after rebase

* Align all checkboxes on product page

* Rename new checkbox helper to getCheckboxControlProps

* Add helper method to get select control props

* Add data changelog entry

* Check for product name length on blur

* Add initial value for name to prevent uncontrolled value

* Add initial value for sku
2022-10-21 07:03:49 -07:00
Joshua T Flowers 3a2a22905b
Add manual stock management section to product management experience (#35047)
* Add manual stock management section to product management experience

* Add changelog entry

* Add default value for stock status

* Fix up lint issues

* Handle PR feedback
2022-10-20 14:14:54 -07:00
Maikel David Pérez Gómez 114be56f63
Move product action buttons to header menu (#35214)
* Move product action buttons to header menu

* Fix unit tests

* Add comment suggestions
2022-10-20 17:15:44 -03:00
louwie17 5f2c656e6b
Add/34331 add attributes modal (#34999)
* Add initial add attribute modal

* Add async select control component and add attribute terms

* Make use of AsyncSelectControl for attributes

* Rearranged the add attribute form to make removing easier

* Make sure add button is disabled if fields are empty

* Remove the use of AsyncSelectControl for now

* Add disabled option and fix merge conflict

* Add attribute modal tests

* Remove unused trigger drag

* Add popover slot

* Small update to select control and fix multi selection in term field

* Add tests for attribute and attribute term fields

* Add changelogs

* Small fix after merge conflict

* Fix some styling and issue with select control when clearing item

* Fix lint error

* Fix up some styling issues after rebase

* Fix formatting, some styling issues, and address some PR feedback

* And confirmation dialog for closing the modal.
2022-10-19 16:28:29 -03:00
Joshua T Flowers c72e00d85c
Add Tooltip component and remove EnrichedLabel (#35024)
* Add experimental tooltip component

* Add tooltip stories

* Update EnrichedLabel component

* Remove EnrichedLabel

* Add changelog entries

* Fix up linting issues

* Handle PR feedback
2022-10-18 16:08:49 -07:00
Maikel David Pérez Gómez c79af1acc5
Replace the trash can icon in the attribute list (#35133) 2022-10-18 16:05:01 -03:00
Maikel David Pérez Gómez a0b27a4966
Select the current new added shipping class (#35123)
* Select the current new added shipping class

* Extracting constants into the right file

* Add unit tests

* Use setValue instead onChange to select the shipping class of the product
2022-10-18 15:40:56 -03:00
Joshua T Flowers 3c6681054a
Add product management description (#34961)
* Add label prop to rich text editor

* Create feature class and enqueue styles

* Add description editor and parsing

* Fix up incorrect context for product data

* Add styling to rich text editors in product form

* Fix editor initialization on new product

* Add changelog entries

* Use trunk lock file

* Add component changelog entry

* Update lock file

* Register block store provider in tests

* Fix up phpcs errors in product feature file
2022-10-18 08:55:31 -07:00
Tomek Wytrębowicz b9842b6f99 Fix JS linting errors
adjust whitespaces and parentheses.
2022-10-18 00:17:22 +02:00
Tomek Wytrębowicz 30a487d545 Remove `qs` dependency from `ProductTour`,
use native `URLSearchParams` instead.
2022-10-17 23:52:43 +02:00
Tomek Wytrębowicz 1baac3445e Remove `qs` dependency from `EmbeddedBodyLayout`,
use native `URLSearchParams` instead.
2022-10-17 17:12:20 +02:00
Tomek Wytrębowicz 76c40951c2 Remove `qs` dependency from client analitics,
use native `URLSearchParams` instead.
2022-10-17 16:57:21 +02:00
Tomek Wytrębowicz 1002f06d07 Remove `qs` dependency from `<_Layout>`,
use native `URLSearchParams` instead.
2022-10-17 16:39:19 +02:00
Tomek Wytrębowicz c3888d658e Remove `qs` dependency from layout Controller,
use native `URLSearchParams` instead.
2022-10-17 16:24:29 +02:00
Moon 0f58f2efbd
Fix JS errors when the OBW business step is accessed directly via URL (#35045)
* Set default value for product types

* Add changelog
2022-10-14 11:43:36 -07:00
louwie17 c55c91d7e0
Add category field dropdown field (#34400)
* Add initial category field component with new typeahead

Move search logic to useCategorySearch hook

Add initial add new category logic

Add parent category field to add new category modal

Adding some debug changes

Update category control to make use of internal selectItem function of select control

Add changelogs

Update pagesize back to 100

Add placeholder

Empty placeholder

Fix input and icon sizes

Fix input underline

Add max height and scroll to category dropdown

Add sorting of category items

Auto open parents when traversing up the tree using arrow keys

Add several comments

Add some initial unit tests for the category field component

Add tests for useCategorySearch hook and fixed minor bug

Update styling and autoselect parent if child is selected

Fix styling issues for the select control dropdown inside a modal

Fix issue with creating new category with parent

Add function comment and fixed border styling

Prune out create new category logic

Fix minor css issue with border

Revert some of the select control changes and make use of the custom type

Fix up some styling changes

* Fix type conflict

* Revert change in state reducer

* Add cursor pointer

* Fix styling errors

* Fix broken category tests

* Fix merge conflict
2022-10-14 09:05:39 -03:00
Joel Thiessen 315e163b29
Only show five inbox messages and add "Show more" button (#35003)
* Basic paging functionality

* Adding changelog

* Inserting placeholder at end of list, working dismissal

* Fixing issues with dismissed notes not updating UI

* Fixing odd display when removing last note

* Renaming page variable

* Adding tracks event

* Addressing issues caused by .map within useSelect, and getting rid of hash

* Fixing nested ternary linting issue

* Removing console logs

* Updating test
2022-10-13 08:36:02 -03:00
RJ 1991347234
fix: handle error loading and error states for magic link button (#35068) 2022-10-13 16:12:40 +08:00
Ismael Martín Alabarce 3d1f8c36e0
Update WCPay promo requirements and ensure dismiss (#35030)
* Ensure Payments menu is dismissed after choosing no

Now it gets also dismissed on modal close

* Add a new requirement

Check if the store has another payment gateway installed to be eligible for the promotion.

* Add changelog entry

* Fix not using strict comparison for in_array

* Update is_another_payment_gateway_installed

To use a static list instead of PaymentGatewaySuggestions
2022-10-13 08:14:01 +02:00
Joshua T Flowers 8fbdbaf354
Add product page inventory quantity management (#34984)
* Add manage stock section to product inventory section

* Fix up h4 styles in form sections

* Check if stock management is enabled in store settings

* Fix up more styles in form

* Extract inventory validation and add new validation rules

* Add changelog entry

* Add changelog entry

* Remove sku related validation
2022-10-12 14:30:02 -07:00
Joshua T Flowers 0ca3f6d589
Add product management SKU (#34978)
* Add product inventory section and sku control

* Add validation and errors

* Add changelog entry

* Add dependencies comment block

* Call input props onBlur for product name field

* Remove slug validation

* Watch product name value change in inventory section

* Fix up usePrevious hook TS

* Revert watching changes by previous touched status
2022-10-12 13:11:05 -07:00
Fernando Marichal 98162b9d42
Images Product management MVP 1.0 (#34769)
* Add image section

# Conflicts:
#	plugins/woocommerce-admin/client/products/add-product-page.tsx

* Add `keepSpaceWhenDragging` to sortable

# Conflicts:
#	packages/js/components/src/sortable/sortable-item.tsx
#	packages/js/components/src/sortable/sortable.tsx

# Conflicts:
#	packages/js/components/src/sortable/sortable.tsx

* Export ImageGalleryItem

* Add props to `image-gallery`

# Conflicts:
#	packages/js/components/src/image-gallery/image-gallery-item.tsx
#	packages/js/components/src/image-gallery/image-gallery.tsx

* Changed `media-uploader` label

* Add changelogs

* Fix image-gallery and sortable components

# Conflicts:
#	packages/js/components/src/sortable/sortable-item.tsx
#	packages/js/components/src/sortable/sortable.tsx

# Conflicts:
#	packages/js/components/src/image-gallery/image-gallery.tsx
#	packages/js/components/src/sortable/sortable.tsx

* Set gallery min-height

* Add onOrderChange

* Show images section edit-product

# Conflicts:
#	plugins/woocommerce-admin/client/products/edit-product-page.tsx

# Conflicts:
#	plugins/woocommerce-admin/client/products/edit-product-page.tsx

# Conflicts:
#	plugins/woocommerce-admin/client/products/edit-product-page.tsx

* Fix styles

* Fix styles

* Fix image alt

* Fix TS any

* Add prop `onDragOver`

# Conflicts:
#	packages/js/components/src/image-gallery/image-gallery.tsx

* Fix styles

* Fix padding

* Fix image area min-height

* Fix subtitle copy

* Fix image margin

* Change `draggedImageId`

* Fix `setDraggedImageId` reset

* Rename `isRemoveZoneVisible`

* Add `CardBody` and remove redundant `setValue`

* Fix card styles

* Remove `getUniqueImages`

* Use url as a key when there is no image id

* Fix `orderedImages`

* Add hover to gallery images

* Fix gallery arrows and set cover problems

* Altering blur handler to prevent toolbar closure on media modal

* Fix toolbar drag and drop

* Add replace fn

* Restoring modal class for blur function

* Fix storybook

* Ensuring onBlur doesn't happen while dragging, resolving issue in Firefox

* Adding expected event object to drag callbacks

* Fix image size

* Fix lint

* Another fix lint

* Update plugins/woocommerce-admin/client/products/sections/images-section.tsx

Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>

* Fix `draggedImageId` default value

* Fix toolbar icon style

* Rename consts

* Update pnpm-lock.yaml

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
Co-authored-by: Joel <dygerati@gmail.com>
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
2022-10-12 15:16:22 -03:00
Oleksandr Aratovskyi a9dbb6d64e
Change copy of the payments welcome modal (#35031)
* Change copy in Payments Welcome modal

* Change copy in Payments Welcome modal
2022-10-12 16:18:13 +03:00
Maikel David Pérez Gómez e95bb3768e
Add new shipping class modal to a shipping class section in product page (#34937)
Add new shippping class modal to a shipping class section in product page
2022-10-11 12:00:35 -03:00
louwie17 6af1695f34
Add/34333 attribute list (#34841)
* Add initial attribute list with dragging and removing functionality

* Fix sortable styling and remove the default selected logic

* Fix css formatting

* Add changelogs

* Add missing question mark

* Add tests

* Some minor CSS updates and move some logic to a util function

* Fix lint issues and add extra test
2022-10-05 13:04:20 -03:00
Maikel David Pérez Gómez d3c19642b0
Add shipping dimensions image (#34857)
* Remove custom styles from FormSection component and use Card and CardBody instead

* Add dimension fields formating using the woo number global settings

* Load size units to show it as a suffix of shipping dimensions fields

* Fix card styles according the disign and pass props manually to BaseControl

* Add shipping dimensions image

* Apply comment suggestions
2022-10-03 15:06:17 -03:00
Adam Heckler 4b44189e1d
Change "WCPay" to "WooCommerce Payments" (#34666) 2022-10-03 15:42:04 +05:30
Chi-Hsuan Huang 5f2aa49579
Deploy spotlight product tour (#34859)
* Remove product tour experiment code

* Remove experimental-product-tour flags

* Replace old product tour

* Add changelog

* Remove spotlight query string
2022-10-03 16:34:49 +08:00
Chi-Hsuan Huang 08848d46ca
Fix onboarding wizard popover padding (#34896)
* Fix onboarding wizard popover padding for WP6.1

* Add changelog
2022-10-03 16:34:20 +08:00
Chi-Hsuan Huang 4a39091961
Add "aria-disabled" prop to truly disable OBW continue buttons (#34895)
* Add aria-disabled prop to truly disable OBW continue buttons

* Add changelog
2022-10-03 16:32:23 +08:00
Joshua T Flowers 3fd736c72f
Update plugins installer component to TS, Fix TS bugs and Syncpack TypeScript (#34787) 2022-09-30 10:59:07 +13:00
Maikel David Pérez Gómez 7fe05d65f3
Load size units to show them as a suffix of shipping dimensions fields (#34856)
* Add dimensions to shipping section
Change the FormComponent to support input name with dot notation like dimensions.width
Add the dimension controls to the product form

* Remove custom styles from FormSection component and use Card and CardBody instead

* Add dimension fields formating using the woo number global settings

* Add dimension fields validations

* Solve conflics from rebase

* Add changelogs

* Fix resetForm function to consider the passed params and the initialValues

* Load size units to show it as a suffix of shipping dimensions fields

* Fix card styles according the disign and pass props manually to BaseControl
2022-09-29 14:54:04 -03:00
Gan Eng Chin 9e697cdf0a
Add tests for UI Revamp on Marketing page (#34840) 2022-09-27 22:25:48 +08:00