* 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
* 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
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
* 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
* 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>
* 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
* 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
* 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
* 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
* 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>
* 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
* 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>
* 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
* 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
* 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