Commit Graph

1146 Commits

Author SHA1 Message Date
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 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
Matt Sherman ef6fe8567d
Create Product Editor Block: Do not add script prop to generated block.json (#38496)
* Remove script prop from generated block.json

* Changelog

* Remove style prop from generated block.json
2023-06-13 09:53:20 -04:00
Matt Sherman 0f8d274d7f
Remove editor-styles-wrapper class from product editor (#38681)
* Remove editor-styles-wrapper class from product editor

* Override default block margins and layout applied for themes without a theme.json file

* Changelog
2023-06-12 18:56:57 -04:00
Joshua T Flowers 93262ac019
Add editor history and undo/redo toolbar buttons (#38573)
* Add editor history and undo/redo behavior

* Add option to limit max editor history

* Move inserter properties to editor context

* Move editor toolbar to separate folder

* Add changelog entry

* Remove no longer needed editor provider
2023-06-12 14:23:22 -07:00
Joshua T Flowers 90e4ddbf29
Update product editor CES modal to match new designs (#38592)
* Add new fields and copy update to product CES modal

* Update styling for product CES modal

* Record email in tracks callback if provided

* Fix modal header spacing

* Fix record callback types

* Add optional tag styling

* Allow submitting form when a reason has been selected

* Fix modal padding bottom

* Update modal width to match designs

* Add changelog entries

* Update margin for legend

* Add props to doc comment

* Make className prop optional

* Update tests for recording score with email
2023-06-12 10:58:00 -07: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
Matt Sherman dadc0eb777
Show feedback footer on product editor page (#38599) 2023-06-08 20:56:07 -04:00
Joshua T Flowers e09e8b8ab0
Show "Save draft" instead of "Saved" on initial product page (#38609) 2023-06-08 15:32:49 -07:00
Joshua T Flowers 4569fda5c1
Add iframe editor header toolbar and block inserter (#38549)
* Add initial toolbar and secondary sidebar

* Style the sidebar and inserter panel

* Adjust toolbar and modal paddings

* Move header toolbar styles to separate file

* Make header toolbar class names consistent with component

* Dont use experimental insertion index and fall back to default insertion point

* Add changelog entry
2023-06-08 12:14:25 -07:00
Maikel David Pérez Gómez 338bf6e45e
Product route not updated after save initially failed and succeeded after (#38507)
* Enhance error handling

* Use last persisted product status to show a right publish button label and notices

* Use last persisted product status to show a right preview button label and notices

* Use last persisted product status to show a right save draft button label and notices

* Uses the last persisted product to better compare it with the most recently updated product so the buttons can behave correctly

* Add changelog file

* Fix getProductErrorMessage unit test

* Fix notice message when create / update the product

* Get product id from within each button hook
2023-06-08 14:22:07 -04: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
louwie17 bb0e8803a0
Replace interpolateComponents within onboarding package (#38423)
* Replace use of interpolateComponents with createInterpolateElement

* Remove @automattic/interpolate-components package from onboarding package

* Add changelog
2023-06-05 10:36:47 -03:00
Maikel David Pérez Gómez abcedbefe0
[MVP QA #1] Visual: spacings (#38325)
* Update the margin-left on the buttons in the top bar from 16px to 8px

* On mobile, the left and right body margins should be 32 px

* The inner padding in the tab in the top bar should be 12px, not 16px

* In the edit product link modal, let's set this modal’s width to 650 px and remove the line separating the header from the contents

* All modals should now have 8 px window radius

* In the feedback form, can we fix the buttons at the bottom

* The help icon in checkboxes small, detached from the item label, and vertically misaligned. Left margin of 4 px, no vertical adjustment; somehow it has a -2px set for the top margin)

* Fix block-editor-block-contextual-toolbar top position

* When the product is in a draft state, the button in the top bar should say Add, not Save. It should change into Update once it's published on the store

* Fix layout margin top

* Add ection support for blockGap and set title and description to optional

* Remove non needed control field margin bottom

* Fix schedule sale block spacing

* Remove non needed control field help text margin bottom

* Remove the sub section outer spacing

* Move pricing fields into a sub section block

* Fix collapsible-contet margin top

* Remove invalid inner block layout spacing

* Wrap sku, stock toogle and quantity within a sub section

* Group inventory advance section inner blocks into a sub section

* Fix linter error

* Add changelog files

* Fix php lint error

* Change unit names to fit GB definitions
see: b2c16f3c68/packages/base-styles/_variables.scss\#L31-L41
2023-06-01 13:56:31 -04:00
Sam Seay 664468f51a
Add a new plugin to the monorepo for the docs project (#38406) 2023-06-01 10:21:33 +12:00
Sam Seay 4f2fb497fd
Remove eslint-plugin-react plugin warnings from lint (#38512) 2023-06-01 08:27:06 +12:00
Joshua T Flowers a5e36377f9
Check for unsaved changes before leaving product editor (#38430)
* Check for unsaved changes before leaving product editor

* Add changelog entry

* Add hasEdit convenience method to useProductEdits hook
2023-05-31 10:14:12 -07:00
Sam Seay b076a7b521
Fix linter issues and update Syncpack (#38523) 2023-05-31 11:45:10 +12:00
Matt Sherman 4e530ba2e2
Prevent theme styles from being used in the block-based product editor (#38491) 2023-05-30 13:25:55 -04: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
Matt Sherman 27574c98cd
Update DateTimePickerControl's dropdown positioning (#38466) 2023-05-29 16:12:28 -04:00
Matt Sherman f186403a77
Opt out of Reset and Help buttons in DateTimePickerControl (#38480) 2023-05-29 16:09:06 -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
Christopher Allford 230bc04050
Updated `wp-env` To 8.0.0 (#38440) 2023-05-26 15:48:48 -07:00
Matt Sherman 2b12908a80
Add @woocommerce/create-product-editor-block package (#38263)
* Initial commit for create-product-editor-block

* Changelog

* Add stylelint support

* Install WooCommerce and WooCommerce Beta Tester in wp-env

* Set PHP and WordPress versions

* Enable product block editor after wp-env setup

* Lower priority for modifying template, so that the template is actual there!

* Update wp-env afterSetup command to use npx

* Update output README.md

* Update README for package

* Use long form of template parm name in README

* Remove unused example in block config

* Update block registration to handle both WP 6.2 and WP 6.3

* Include note about how to change version of WP and WC in README

* Update WP to 6.2.1

* Remove explicit enqueuing of block script and style

* Update minimum required versions of WordPress and PHP in generated plugin file

* Enable feature flag option after setup of wp-env

* Add minimum required WC version to generated plugin file

* Support wp-env lifecycleScripts

* Guard against product_block_editor not enabled or missing template

* Update lock file
2023-05-26 08:16:57 -04:00
Maikel David Pérez Gómez a43a418019
List price gets reset on blur when error is shown (#38414)
* List price gets reset on blur when error is shown

* Add changelog file

* Fix linter error
2023-05-24 13:53:28 -04:00
Joshua T Flowers 353e01eb65
Tweak typography and element spacing in product editor (#38351)
* Update header font size

* Remove icons from sections

* Update radio block label and spacing

* Make checkbox tooltips larger and vertically align

* Update description colors

* Update h4 font sizes in editor

* Add changelog entry

* Add core changelog entry

* Handle initial design feedback

* Remove copy of assets in client webpack config
2023-05-24 10:11:00 -04:00
Maikel David Pérez Gómez 195bcd2368
Limit 'email me when stock reaches' field to numerical only (#38353)
* Limit 'email me when stock reaches' field to numerical only

* Add changelog file
2023-05-22 06:59:58 -03:00
Maikel David Pérez Gómez e16792dc11
Make DateTimePickerControl a ForwardedRef (#38306)
* Forward ref the DateTimePickerControl

* Add changelog file

* Remove the component typing definition

* Integrate the forwardedRef component with the schedule-sale block

* Add changelog file
2023-05-22 06:55:07 -03:00
Chi-Hsuan Huang 4547922f3f
Add core profiler user profile page (#38328) 2023-05-22 11:21:16 +08:00
Nathan Silveira 5437ed50c3
Use SelectTree in Parent Category field (#38261)
* Increment label CSS to look the same as TextControl's label

* Migrate Parent Category field to SelectTree

* Add changelogs

* Fix unit test that was edited by mistake

* Revert css changes in select-control.scss

* Use BaseControl as label on SelectTree

* Increment changelog

* Increment changelogs

* Refactor test

* Refactor category-field functions and use them in related places

* Fix ordered list appearing empty
2023-05-19 12:45:11 -03:00
RJ 06e6f5012f
dev: moved geolocation utils from wccom to here (#38356) 2023-05-19 15:02:39 +08: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 d17ca83b02
Add error specific messages to product save functionality (#38307)
* Allow errors to be thrown when saving entity records

* Show frontend error message when one exists

* Allow errors to be thrown in preview save entity

* Rename new util to getProductErrorMessage

* Add tests around error message util

* Add changelog entry
2023-05-18 05:28:28 -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
Maikel David Pérez Gómez 470ecd0e7d
Fix validation behavior (#38194)
* Create ValidationContext

* Add ValidationProvider to the product editor

* Add new validation to the name block

* Add new validation to the Save button

* Store validations within a useRef instead of useState to improves re-renders

* Create find first visible and invalid element function

* Add focus first invalid element feat when submitting

* Integrate autofocus with name block

* Migrate sale-price block to the new validation system

* Add changelog file

* Migrate regular-price block to the new validation system

* Migrate schedule-sale block to the new validation system

* Migrate inventory-quantity block to the new validation system

* Migrate shipping-dimensions block to the new validation system

* Remove old validation hook

* Add validation to the save-draft button

* Add validation to the preview button

* Expose validation hooks to be used outside of the package

* Make sure the product is in fact saved before calling the onPublishSuccess
2023-05-17 01:01:30 -04:00
Joshua T Flowers 5b50bbc442
Wrap selected items in experimental select control (#38284) 2023-05-16 15:15:26 -07: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
Joshua T Flowers 35e1fed2f9
Wait for editor changes to be debounced before closing modal (#38262)
* Wait for editor changes to be debounced before closing modal

* Handle PR feedback
2023-05-16 04:41:43 -03:00
RJ 8cd0f2f997
dev: added types for resolveSelect where applicable (#38241) 2023-05-16 08:55:50 +08:00
Maikel David Pérez Gómez 332094e87d
Update shipping class block to match new designs (#38301)
* Change the section title from Shipping fee to Shipping class

* Replace the radio buttons with a regular dropdown

* Add changelog files
2023-05-15 13:06:48 -04:00
Matt Sherman ac78d3de2b
Product Block Editor: Fix product summary field top margin (#38251)
* Fix product summary field margin

* Changelog
2023-05-12 10:45:03 -03:00
Nathan Silveira 581601f545
Add single selection mode to SelectTree (#38140)
* Add single mode for SelectTree

* Add storybook example for single selection in SelectTree

* Add changelog

* Improve type definitions and refactor code

* Add onRemove to story
2023-05-11 13:42:20 -03:00
Joshua T Flowers a587612934
Add editor styles to product editor and iframe editor (#38168)
* Add editor styles to product editor and iframe editor

* Make section title css selectors more specific

* Add changelog entry

* Remove additional commented component

* Remove unused import
2023-05-11 11:43:22 -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
Maikel David Pérez Gómez 227695386d
Fix spacing between pricing fields (#38146)
* Fix spacing between pricing fields

* Add changelog file

* Fix spacing between sale toggle and the next section
2023-05-09 19:13:56 -04: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
Joel Thiessen c76203cde5
Correcting spacing for image gallery block (#38151)
* Correcting spacing for image gallery component

* Adding changelog
2023-05-08 14:18:15 -03:00