Co-authored-by: Joel Thiessen <444632+joelclimbsthings@users.noreply.github.com>
Co-authored-by: Nima Karimi <73110514+nima-karimi@users.noreply.github.com>
Co-authored-by: Thomas Shellberg <tommy.shellberg@automattic.com>
* Replace use of interpolateComponents with createInterpolateElement
* Remove @automattic/interpolate-components package from onboarding package
* Add changelog
* 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
* Updated `wp-env` To 7.0.0
* Adopted `wp-env` Changes To `update-wp-env.php`
* Updated E2E Test Bootstrapping
With the changes to `wp-env` we can update our
test bootstrapping to use the new functionality.
* Changelogs
* Restored `update-wp-env.php` Usage
There's a bit of work to do in support of this and I
don't want it to hold up the pull request!
* Fixed `wp-env` JSON Problems
It was writing an empty array in places where the
expectation was an empty object.
* Fixed Broken Echo Escape
* Fixed Init Quoting
* Update close button locator
* Reverted Quote Removal
There is an upstream bug relating to quotes that needs to be resolved!
* Reverted Quote Removal
---------
Co-authored-by: rodelgc <rodel.calasagsag@automattic.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
* Create schedule sale pricing block
* Add auto show/hide and clean fields depending on the initial values
* Add validations to From and To dates fields
* Add changelog files
* Align block with the figma design
* Revert linter replacement in the editor global style.scss file
* Fix some words typos
* Move and rename schedule sale block to the blocks folder
* Load datetime format from @wordpress/date instead of using the woo options datastore
* Remove the min difference using by moment to compare dates from 'minute' to undefined
* Make sure the dates are normalized for comparison
* 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
* Add images block to the product editor
* Allow html in section block descriptions
* Add changelog entry
* Add client changelog entry
* Remove SVG related changes
* Fix up lock file after rebase
* Remove unused import
* Fix up php lint errors
* Move sanitize function to utils folder
* 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
* 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>
* Add @woocommerce/tracks to dev dependencies
* Move remaining CES-related components to @woocommerce/customer-effort-score
* Update imports in woocommerce/client/admin
* Add custom hook to validate product fields within blocks
* Add changelog file
* Add unit tests
* Fix non working tests
* Fix linter errors
* Add changelog file
* Fix async validation rejection
* Solve conflicts after rebasing
* Revert false negative lint errors
* Move the hook to its own folder and add the readme.md file
* 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
* 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
* 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>
* 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
* 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
* 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
* Update `config@3.3.7` (from `3.3.3`)
Add it to syncpack, to avoid `ReferenceError: node_env_var_name is not defined` when external extension imports and transforms the `admin-e2e-tests` directly from `node_modules`.
Include https://github.com/node-config/node-config/pull/642
* pin eslint in .syncpackrc
run `pnpm run sync-dependencies` to ensure pinned version is used across projects, then run `pnpm install` to update `pnpm-lock.yaml`
* add changelog files
ran `pnpm run --no-bail --filter='[HEAD^1]' changelog add --significance=patch --type=dev --entry='Update eslint to 8.32.0 across the monorepo.'`
* re-run `pnpm install` to fix what broke while merging
* Add @wordpress/base-styles as dependency to @woocommerce/components
* Import experimental tree control styles
* Calc padding-left for tree item in CSS instead of JS
* Force resolution of 7.0.2 react and install base styles.
* Update lock file
Co-authored-by: Sam Seay <samueljseay@gmail.com>
* Add @babel/plugin-proposal-class-properties to run storybook
* Add @babel/plugin-proposal-class-properties to webpack config and remove storybook env from babel config
* Add changelog
* 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
* 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
* Add initial rich text editor component
* Use fixed toolbar and add base formatters
* Add link as formatter option
* Fix up references to core/link block
* Add quote transform
* Add changelog entry
* Add text alignment toolbar
* Remove references to checkbox list
* Update toolbar button organization
* Remove unused rtj format types
* Create unique instance for editor writing flow
* Add registry provider for storybook examples
* Update styling for editor
* Rebase and fix lock file
* Add packages and type dependencies
* Move component to experimental
* Fix up formatting
* Update editor to use default GB toolbar
* Prefix names with woocoommerce
* Create block on initialization so toolbar is visible
* Rely on insertBlock to handle selection
* Update text editor to use setting instead of BlockList prop
* Fix up lock file after rebase
* Handle PR feedback
* Move logic for force rerender
* Fix up pnpm lock file
* Use trunk lock file
* Update lock file
* Add missing semicolon
* Use Pauls lock file and package file
* Update Playwright 1.22.1 -> 1.26.0
* Update page title locator
* Wait for View cart link after adding to cart
* Add a wait when applying second coupon
* Fix flakey coupon test
* Ensure Store is in US
* Add changelog
* Revert lock file commit
This reverts commit b75192f53c.
* Updated lock file
* Added command for Playwright test execution
* Resolve merge conflict
* Resolve merge conflict
* Fixed pnpm-lock.json
* Update PW Selectors (#34959)
* Updated PW selectors
* Updated selector
* Removed extra command
* Ensure Billing country is set
* Fix failing payment setup test
* Old test is still running in actions
* Adds colour output for Playwright in GH Actions
* Fix payment test
* Lock file update
* Skipping a test for now
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: jamelreid <jnoelreid@gmail.com>
Co-authored-by: Jamel Noel Reid <MrJnrman@users.noreply.github.com>
* Add key event handlers
* Track selected item and focus
* Fix selected indexes on up down selection and drop
* Consolidate update item order logic
* Hide horizontal items on drag
* Update naming of ordering persistence
* Announce keyboard events to screen readers
* Consolidate reset method
* Simplify drop index numbers and conditions
* Fix up announcements
* Add tests around new utils
* Fall back for item name in announcement from aria label or alt text
* Update lock file
* Add changelog entry
* Handle PR feedback
* Fix up lock file after rebase
* Update lock file
* Update lock file again
* Update lock file after pnpm7
* Use trunk lock file
* Update lock file with a11y package
* Try new lock file
* Try lock file with pnpm add
* pnpm add from root
* Fix itemToString in SelectControl
* Downgrade a11y to v3.5.0
* Remove -- -- from scripts that fixed issue in pnpm 6, fix a couple TS issues in sep packages
* Minor fixes to analyzer scripts and doco based on pnpm 7
* Add dompurify types to data package to avoid TS errors
* Remove pnpx in favor of pnpm exec
* Modify the code analyzer to respect pnpm version if present.
* Update instructions for running recursive lint, add comments to explain
This updates Turborepo and adjusts the output caching for `woocommerce/client/legacy` and `woocommerce/client/admin`. The result is that build outputs in `plugins/woocommerce/assets` should be stored correctly.
* Update `jest-puppeteer@5.0.4` (from `4.4.0`)
to be albe to run with jest 28.
* Update `jest` and `ts-jest@^27` (from `25`),
to match `e2e-environment` needs.
* Update api-core-tests' `jest@^27` (from `25`),
to unify the used version across the stack.
* Update e2e-env's `jest@^27` & co. (from `25`),
to unify the used version across the stack.
* Update e2e-env's `@jest/test-sequencer@^27` (from `25`),
to unify the used version across the stack.
* Update admin-e2e-tests' `@jest/globals@^27` (from `26`),
to unify the used version across the stack.
* Update woocommerce's `jest@^27.5.1` (from `25`),
to unify the used version across the stack.
* Replace `mocked` from `ts-jest` to the one from `jest`,
Update `@types/jest@27.4.1` from `27.0.2`.
Try to fix broken tsc build.
* Update `e2e-core-tests`' `@jest/globals@^27.5.1`
from `^26.4.2`.
* Remove changelog entry for bumpin jest in `api-core-tests`
It was already covered in `trunk`.
Addresses https://github.com/woocommerce/woocommerce/pull/34322#discussion_r956019567
* Updated package-lock.yaml
* Updated timeout
* Added changelogs
Co-authored-by: jamelreid <jnoelreid@gmail.com>
* Unify test spec helpers `export` syntax to ESM,
to make it possible to impor them locally.
* Unify import syntax to ESM
* Install missing dependencies of admin-e2e-tests
* Do not import `expect` from `@jest/globals` in admin-e2e-tests
Let typescript pick the puppeteer extension from global.
Address https://github.com/woocommerce/woocommerce/pull/33901#issuecomment-1221650234
* Map unknown types in `admin-e2e-tests` to make tsc happy.
* Add changelog entry
* Use the angle-bracket syntax instead of type assertions
Address https://github.com/woocommerce/woocommerce/pull/33901#discussion_r955591953
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Add GitHub action and pre-push hook for syncpack for react and react-dom
* Fix typo in pre-push script
* Don't execute suggested command to fix mismatches automatically.
* Update react and react-dom to 17.0.2
* Move changelog check to last, so that pre-push still fails if check isn't successful
* Add changelog files
* Correct issue with syncpack.yml referencing an internal action
* Add command to top-level package.json for fixing mismatches
* Update syncpack action to only run when package.json files are affected
* Update workflow to just run syncpack list-mismatches
* Add version pinning to syncpackrc
* Add initial SearchControl component
* Add async example
* Reorganize getItemPropsType type
* Create separate MenuItem component
* Update items to use value/label pairs
* Add fuzzy matching example
* Use MenuItem component in example
* Add callback method example and onSelect prop
* Add custom render example
* Add styling
* Simplify Menu component
* Add changelog entry
* Update SelectControl to DeprecatedSelectControl
* Rename SearchControl to SelectControl
* Add readme
* Add placeholder prop
* Add icon to combox box
* Rename deprecated SelectControl classes
* Add changelog entries
* Pass menu props to menu to fix ref issues
* Update lock file
* Rebase and update lock file
* Fix up IDs in e2e tests
* Make list structure more semantic
* Fix update conflict with pnpm-lock
* Move new SelectControl to experimental
* Change experimental class name to avoid style conflicts
* Fix up latest lock file from rebase
* Remove onboarding e2e changes
* Update changelogs
* Update lock file again
* Update pnpm-lock and fix lint error
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Add media uploader component
* Expand on mocked examples in storybook
* Add styling
* Move MediaUploder out of index
* Add changelog entry
* Handle PR feedback
* Add readme
* Fix missing media utils types
* Rebase and use variant instead of isSecondary for Button
* Fix up lock file
* Fix up lint errors
* Change package json commands and turbo repo config to allow for greatly simplifying running turbo
* Remove require-turbo script which was causing caching issues
* Colorize CI output from scripts
* Add missing changelog script to extend-cart-checkout-block
* Final updates for Playwright
* Update config
* Add uuid dependency
* Increase retries to 2
* Update selectors on shipping page
* Use baseURL instead of hard-coded URL for API
* Clarify comment
* Use baseURL instead of hard-coded URL
* Check to see if an order was created before attempting to delete it
* Add changelog
* Turn on Playwright tests in GitHub
* Increase timeout for CI execution
* Update configuration options (minor edit)
* Fix for checkout flaky test
* Parse orderId from URL
* Check for substring
* Streamline email tests
* Remove .only
* Only clear email logs of messages for test
* Get orderId from page element
* Fix for test not waiting for reset
* Add in second wait for Performance section
* Change significance from minor to patch
Co-authored-by: Jon Lane <jon.lane@automattic.com>
add: intro tooltips for shipping smart defaults
- removed php code for setting 'reviewed' option as it was being set on page load and thus always evaluated to true before the user sees it
- added intro tooltips
* Bump `@wordpress/e2e-test-utils` from `4.16.1` to `wp-5.8`
which resolves currently to `5.3.2`,
to match minimum required WordPress version.
* Add changelog entry
In line with the fact that it's a component of WooCommerce rather than a standalone package, `woocommerce-legacy-assets` has been renamed `woocommerce/client/legacy`.
This replaces all `nx` commands with `turbo` commands and removes Nx from the repository. All of the `project.json` files have been removed and any commands that broke with Turborepo have been adjusted.
* Add product-tour admin script
* Update class-wc-admin-pointers.php to show experimental product tour
* Remove unnecessary window.onload
* Replace add new button with Enable guided mode button for product editing
* Show tour when tutorial query = true
* Add logic to show new tour only when a user select the physical product template
* Update product tour last step button text
* Add auto-scroll effect
* Fix i18n text
* Use bottom-start placement and align the arrow to the left
* Update pnpm-lock.yaml
* Update product tour effects
* Add changelog
* Add doc comments & check for tour-kit
* Add focus elements to product tour and wait initial element for tour showup
* Use spotlight query param to toggle new product tour feature
* Update wait seconds
* Update border style for product description & short description when editor is focused
* Add experimental-product-tour feature flag
* Refactor product-tour and support html editor focus style
Co-authored-by: moon <moon.kyong@automattic.com>