* Update WCA Test Helper JS script dependencies
Add the WooCommerce Admin app script as a dependency to ensure it loads before WCA Test Helper. This enables WCA Test Helper scripts to check available features.
* Add experimental_woocommerce_wcpay_feature fill
* Add beta-tester-slotfill-examples feature
* Fix a bug
* Fix lint issues
* Add changelog
* 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>
* 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
* Register server-side tracking during rest requests
* Move loading of tracks related functionality to WC class
* Load tracks functions to allow tests to pass
* Move single init hook for WC Site Tracking to core class
* Update List price Pricing link on the general tab to navigate to the Pricing tab
* Add changelog files
* Simplify the event name to product_pricing_help_click
* Order is search with the phone number and linked with the user account. #36810
* updated the query and tested on local env
* fixed the phpcs issue
* added the changelog
* updated the string concatenation issue and also moved the change log file to the correct path
* removed the %i placeholder from the query and used the old way to add the table name
* 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>
* tweeak: use locator to fill values
* chore: log change
* format: improve code formatting
* chore: remove locator refference from variable name
* Update create-variable-product.spec.js
Specify last element with selector
* Update create-variable-product.spec.js
Different selector
* Update create-variable-product.spec.js
Third time is a charm.
* Update create-variable-product.spec.js
.second doesn't exist. User .nth
---------
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
* Track stock quantity for this product should be disabled when Enable stock management within settings is disabled, and enabled otherwise.
* Add changelog files
* 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
* Change woocommerce/product-name to woocommerce/product-name-field
* Change woocommerce/product-summary to woocommerce/product-summary-field
* Change woocommerce/product-pricing to woocommerce/product-pricing-field
* Change woocommerce/product-radio to woocommerce/product-radio-field
* Change woocommerce/product-images to woocommerce/product-images-field
* Fix product name block invalid class name
* Move woocommerce/product-section to blocks folder
* Move woocommerce/product-tab to blocks folder
* Move woocommerce/product-collapsible to blocks folder
* Organize block registration, imports and styles
* Add changelog files
* Change woocommerce/product-category to woocommerce/product-category-field
* Change woocommerce/product-checkbox to woocommerce/product-checkbox-field
* Change woocommerce/product-inventory-email to woocommerce/product-inventory-email-field
* Change woocommerce/product-sku to woocommerce/product-sku-field
* Register woocommerce/product-schedule-sale-fields in server side
* Register woocommerce/product-track-inventory-fields in server side
* Fix invalid reference in tabs tests
* Add initial category block
* Add changelogs
* Add label to font family for block editor and fix template
* Fix rebase conflict and add content role
* Some styling changes for the category field
* Move category block to blocks folder and fix merge conflict.
* Address some styling issues, and update keywords
* Fix css lint error
Internal logic:
- If the featured field is absent from all image objects in the request, set the first image in the array to featured.
- If the featured field is present in all image objects, we respect the value and set the featured image accordingly.
- If the featured field is absent from some image object, we set the featured image based on whether a true value exists; otherwise, we set the first image as featured.
- if multiple images have the featured field set to true, return a new 400 bad request response..