Commit Graph

6825 Commits

Author SHA1 Message Date
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
Sam Seay 7cbc3811d8
Update monorepo to pnpm 8 and Node to 16.14 (#37915) 2023-04-25 18:49:30 +12: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 87da63eb3a
Moving section icon svgs to assets folder and loading by URL (#37869) 2023-04-21 11:53:06 -07: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
Joshua T Flowers 85080f642b
Add block related assets entry points to product editor build (#37318)
* Add editorStyle properties to blocks

* Rename style.scss files to editor.scss

* Get block entry points for block related assets

* Copy block assets to core assets build folder

* Remove unusable dependency

* Add changelog entries

* Fix up RTL style builds for block assets

* Update copy-webpack-plugin dependency and lock file

* Fix up lock file after rebase

* Fix order of webpack rtl stylesheet builds to prevent additional stylsheets

* Fix up lock file after rebase

* Fix tsconfig
2023-03-31 10:36:40 -07: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
Matt Sherman a77e4abffe
Emit error on webpack build when invalid export name used in import for JS (#37195) 2023-03-26 21:42:33 -04: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
Christopher Allford 3d614cd862
Removed TypeScript Incremental Build Support (#37374) 2023-03-23 11:25:42 -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
Gan Eng Chin aa15311e8b
Disable React Fast Refresh completely in webpack when running `start` command (#37289) 2023-03-17 22:22:50 +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
Chi-Hsuan Huang a6e3398e06 Disable React Fast Refresh completely in webpack when running start command 2023-03-17 17:52:24 +08:00
Chi-Hsuan Huang a643fef112
Fix woocommerce-admin "packages" commands (#37204)
Fix WCA run packages command

Add changelog
2023-03-17 15:11:33 +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
Chi-Hsuan Huang c804e76156
Set up "React Fast Refresh" in woocommerce-admin (#37165)
* Add @pmmmwh/react-refresh-webpack-plugin, react-refresh, webpack-dev-server and add start:hot command

* Set up react fast fresh

* Add changelog

* Run prestart in hot command

* Update pnpm-lock.yaml

* Update pnpm-lock.yaml
2023-03-16 11:52:03 +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