Merge branch 'trunk' into fix/admin-colors-use-theme

This commit is contained in:
Panos (Panagiotis) Synetos 2023-07-19 15:21:30 +03:00
commit ea1d08c72a
No known key found for this signature in database
GPG Key ID: 0404F1D7F00137F9
373 changed files with 4505 additions and 3417 deletions

View File

@ -29,7 +29,7 @@ runs:
- name: Setup PNPM
uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd
with:
version: '8.6.5'
version: '8.6.7'
- name: Setup Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c

View File

@ -24,7 +24,7 @@ jobs:
- name: Setup PNPM
uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd
with:
version: '8.6.5'
version: '8.6.7'
- name: Setup Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c

View File

@ -26,4 +26,4 @@ jobs:
run: pnpm run -r --filter='release-posts' --filter='woocommerce/client/admin...' --filter='@woocommerce/monorepo-utils' --filter='!@woocommerce/e2e*' --filter='!@woocommerce/api' --color lint
- name: Test
run: pnpm run test --filter='woocommerce/client/admin...' --filter='!@woocommerce/e2e*' --filter='!@woocommerce/api' --color
run: pnpm run test --filter='woocommerce/client/admin...' --filter='@woocommerce/monorepo-utils' --filter='!@woocommerce/e2e*' --filter='@woocommerce/monorepo-utils' --filter='!@woocommerce/api' --color

View File

@ -0,0 +1,24 @@
name: Run unit for other PHP plugins
on:
pull_request:
paths-ignore:
- '**/changelog/**'
permissions: {}
jobs:
test:
runs-on: ubuntu-20.04
permissions:
contents: read
steps:
- uses: actions/checkout@v3
- name: Setup WooCommerce Monorepo
uses: ./.github/actions/setup-woocommerce-monorepo
with:
php-version: '8.0'
- name: Run WooCommerce Docs Tests
run: pnpm test:unit
working-directory: ./plugins/woocommerce-docs

View File

@ -18,6 +18,8 @@ jobs:
pull-requests: write
steps:
- uses: actions/checkout@v3
with:
fetch-depth: '0'
- name: Setup WooCommerce Monorepo
uses: ./.github/actions/setup-woocommerce-monorepo

View File

@ -45,3 +45,9 @@ jobs:
env:
PULL_REQUEST_ID: ${{ github.event.pull_request.node_id }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: 'Add the label for PR analysis'
if: github.event.pull_request.base.ref == 'trunk'
uses: actions-ecosystem/action-add-labels@bd52874380e3909a1ac983768df6976535ece7f8
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
labels: 'needs: analysis'

View File

@ -44,7 +44,7 @@ jobs:
- name: Setup PNPM
uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd
with:
version: '8.6.5'
version: '8.6.7'
- name: Setup Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c
@ -106,7 +106,7 @@ jobs:
- name: Setup PNPM
uses: pnpm/action-setup@c3b53f6a16e57305370b4ae5a540c2077a1d50dd
with:
version: '8.6.5'
version: '8.6.7'
- name: Setup Node
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c

View File

@ -0,0 +1,34 @@
name: Send PRs that require further testing to Slack
on:
pull_request_target:
types: [labeled]
permissions: {}
jobs:
send-pr-to-slack-for-further-testing:
if: "${{ github.event.label.name == 'needs: analysis' && (github.event.pull_request.state == 'open' || github.event.pull_request.merged) }}"
runs-on: ubuntu-20.04
steps:
- name: Get the PR status
id: get_pr_status
run: |
pr_status=${{ github.event.pull_request.merged == true && 'merged' || 'open' }}
echo "pr_status=$pr_status" >> $GITHUB_OUTPUT
- name: Calculate SLA timestamp
id: calculate_sla
run: |
sla_timestamp=$(date -d "+ 5 hours" -u +%s)
echo "sla_timestamp=$sla_timestamp" >> $GITHUB_OUTPUT
- name: Notify Slack
uses: archive/github-actions-slack@d9dae40827adf93bddf939db6552d1e392259d7d
id: notify
with:
slack-bot-user-oauth-access-token: ${{ secrets.TEST_ASSISTANCE_BOT_TOKEN }}
slack-channel: ${{ secrets.WOO_PR_TESTING_ANALYSIS_SLACK_CHANNEL }}
slack-text: |
<!subteam^${{ secrets.WOO_PR_TESTING_ANALYSIS_TEAM_ID }}>, there is a new *${{ steps.get_pr_status.outputs.pr_status }}* PR to analyze.
<${{ github.event.pull_request.html_url }}|${{ github.event.pull_request.title }}> :thread:
*SLA:* <!date^${{ steps.calculate_sla.outputs.sla_timestamp }}^{date_short_pretty} at {time}|5 hours from now>
slack-optional-unfurl_links: false
slack-optional-unfurl_media: false

1
.gitignore vendored
View File

@ -40,6 +40,7 @@ npm-debug.log
build/
build-module/
build-style/
build-style.js
build-types/
dist/

View File

@ -1,22 +1,39 @@
{
"dev": true,
"filter": "^(?:config|react|react-dom|eslint|typescript|@typescript-eslint|@types/react|@wordpress|@types/wordpress__components|postcss|@types/node).*$",
"indent": "\t",
"overrides": true,
"peer": true,
"pnpmOverrides": true,
"prod": true,
"semverRange": "^",
"workspace": true,
"customTypes": {
"engines": {
"path": "engines",
"strategy": "versionsByName"
}
},
"versionGroups": [
{
"dependencies": [
"pnpm"
],
"pinVersion": "^8.6.7",
"packages": [
"**"
]
},
{
"dependencies": [
"node"
],
"dependencyTypes": [
"engines"
],
"pinVersion": "^16.14.1",
"packages": [
"**"
]
},
{
"dependencies": [
"@typescript-eslint/**"
],
"dependencyTypes": [
"devDependencies"
],
"pinVersion": "^5.43.0",
"pinVersion": "^5.54.0",
"packages": [
"**"
]
@ -187,6 +204,38 @@
"**"
],
"pinVersion": "^16.18.18"
},
{
"label": "Only manage versions for these dependencies",
"dependencies": [
"@types/node",
"@types/react",
"@types/wordpress__components",
"@typescript-eslint/**",
"@wordpress/**",
"config",
"eslint",
"node",
"pnpm",
"postcss",
"postcss-loader",
"react",
"react-dom",
"typescript"
],
"packages": [
"**"
]
},
{
"label": "Ignore versions for everything else",
"dependencies": [
"**"
],
"packages": [
"**"
],
"isIgnored": true
}
]
}

View File

@ -1,5 +1,139 @@
== Changelog ==
= 7.9.0 2023-07-17 =
**WooCommerce**
* Fix - Fix frontend styles not loading in the site editor. [#38769](https://github.com/woocommerce/woocommerce/pull/38769)
* Fix - Perform feature flag change and redirection in the same request and remove feature related query args after enabling/disabling it [#38833](https://github.com/woocommerce/woocommerce/pull/38833)
* Fix - Eliminate woocommerce_cart_item_name filter running twice on cart.php template [#38999](https://github.com/woocommerce/woocommerce/pull/38999)
* Fix - Override /jetpack/v4/connection/data to return 404 to fix conflict with Android app flow [#38987](https://github.com/woocommerce/woocommerce/pull/38987)
* Fix - Use window.location.href for page redirection to get the latest onboarding profile values on the Homescreen [#38861](https://github.com/woocommerce/woocommerce/pull/38861)
* Fix - Fix core profiler UI bugs [#38872](https://github.com/woocommerce/woocommerce/pull/38872)
* Fix - Remove feature related query args after enabling/disabling it [#38852](https://github.com/woocommerce/woocommerce/pull/38852)
* Fix - Add product_block_editor to legacy_feature_ids. [#38835](https://github.com/woocommerce/woocommerce/pull/38835)
* Fix - Add "PrepareUrl" transformer to RIM rules processor [[#38312]](https://github.com/woocommerce/woocommerce/pull/38312)
* Fix - Add another check in base location rule to fix OBW extensions bug [[#38794]](https://github.com/woocommerce/woocommerce/pull/38794)
* Fix - add cart cookie validation [[#38294]](https://github.com/woocommerce/woocommerce/pull/38294)
* Fix - add HPOSToggleTrait.php to unit test loader [[#38684]](https://github.com/woocommerce/woocommerce/pull/38684)
* Fix - Address possible PHP warning in wc-admin/options REST endpoint. [[#38685]](https://github.com/woocommerce/woocommerce/pull/38685)
* Fix - Add support for taxonomy meta boxes in HPOS order edit screen. [[#38676]](https://github.com/woocommerce/woocommerce/pull/38676)
* Fix - Allow plugins_page_skipped parameter in Onboarding API endpoint [[#38764]](https://github.com/woocommerce/woocommerce/pull/38764)
* Fix - cast url to string for str_replace [[#38530]](https://github.com/woocommerce/woocommerce/pull/38530)
* Fix - CES modal: styling fixes and extraFiels prop added [[#38643]](https://github.com/woocommerce/woocommerce/pull/38643)
* Fix - Default to the first state in a country for the country dropdown options when only the country was previously saved [[#38469]](https://github.com/woocommerce/woocommerce/pull/38469)
* Fix - Ensure order ordering in order filter unit test [[#38680]](https://github.com/woocommerce/woocommerce/pull/38680)
* Fix - ensure parameter datatype for array_slice [[#38529]](https://github.com/woocommerce/woocommerce/pull/38529)
* Fix - Filter by date_paid and date_completed on list table orders based on configuration [[#38428]](https://github.com/woocommerce/woocommerce/pull/38428)
* Fix - Fire bulk action orders hook for all custom actions. [[#38747]](https://github.com/woocommerce/woocommerce/pull/38747)
* Fix - Fix 'dynamic property declaration' warnings in wc-admin code (PHP 8.2+). [[#38587]](https://github.com/woocommerce/woocommerce/pull/38587)
* Fix - Fix block grouping within a section [[#38325]](https://github.com/woocommerce/woocommerce/pull/38325)
* Fix - Fix character encoding detection in CSV exporter for PHP 8.1 [[#38648]](https://github.com/woocommerce/woocommerce/pull/38648)
* Fix - fix deprecated warning in dashboard setup [[#38776]](https://github.com/woocommerce/woocommerce/pull/38776)
* Fix - Fix dynamic property declaration warnings in gateway code (PHP 8.2+). [[#38566]](https://github.com/woocommerce/woocommerce/pull/38566)
* Fix - Fix dynamic property declaration warnings in HPOS code (PHP 8.2+) [[#38565]](https://github.com/woocommerce/woocommerce/pull/38565)
* Fix - Fix dynamic property declaration warnings in shipping-related code (PHP 8.2+). [[#38569]](https://github.com/woocommerce/woocommerce/pull/38569)
* Fix - Fixed a visual bug where text overlapped the image in the task list header. [[#38707]](https://github.com/woocommerce/woocommerce/pull/38707)
* Fix - Fix infinite redirect from homescreen when onboarding isn't completed using useEffect to remove unintentional rerendering [[#38768]](https://github.com/woocommerce/woocommerce/pull/38768)
* Fix - Fix Layout Controller forwarding arrays from the URL query string. [[#38593]](https://github.com/woocommerce/woocommerce/pull/38593)
* Fix - Fix number of orders under tax report [[#38525]](https://github.com/woocommerce/woocommerce/pull/38525)
* Fix - Fix overlapping TransientNotices with footer [[#38698]](https://github.com/woocommerce/woocommerce/pull/38698)
* Fix - Fix payment gateway suggestions display logic, added IN to paypal gateway visible rule, updated tests, improved comments [[#38658]](https://github.com/woocommerce/woocommerce/pull/38658)
* Fix - Fix selection of multiple orders in HPOS list table. [[#38749]](https://github.com/woocommerce/woocommerce/pull/38749)
* Fix - Fix Shipping Methods autosaving entire form. [[#38431]](https://github.com/woocommerce/woocommerce/pull/38431)
* Fix - fix string + string for PHP 8.X [[#38534]](https://github.com/woocommerce/woocommerce/pull/38534)
* Fix - fix Unsupported operand string * float [[#38532]](https://github.com/woocommerce/woocommerce/pull/38532)
* Fix - Fix various 'dynamic property declaration' warnings on PHP 8.2+. [[#38589]](https://github.com/woocommerce/woocommerce/pull/38589)
* Fix - Handle possibly empty refund value in reports (PHP 8.1+). [[#38683]](https://github.com/woocommerce/woocommerce/pull/38683)
* Fix - improve get_children transient validation [[#38666]](https://github.com/woocommerce/woocommerce/pull/38666)
* Fix - Minor UI fixes in Core profiler steps [[#38759]](https://github.com/woocommerce/woocommerce/pull/38759)
* Fix - Redirect users to WooCommerce Home when Jetpack auth endpoint returns an invalid URL. [[#38760]](https://github.com/woocommerce/woocommerce/pull/38760)
* Fix - Support custom editor-only blocks in the block-based product editor. [[#38495]](https://github.com/woocommerce/woocommerce/pull/38495)
* Fix - Support values written in exponential notation for HPOS migrations. [[#38561]](https://github.com/woocommerce/woocommerce/pull/38561)
* Fix - Update status only when it's changed. [[#38696]](https://github.com/woocommerce/woocommerce/pull/38696)
* Fix - Do not show "Adding new attribute failed" error message when loading of product screens is interrupted by page unload. [[#38815]](https://github.com/woocommerce/woocommerce/pull/38815)
* Add - Add source property to product tracking data [#38728](https://github.com/woocommerce/woocommerce/pull/38728)
* Add - Add an admin notice about the upcoming PHP version requirement change for PHP 7.3 users [[#38604]](https://github.com/woocommerce/woocommerce/pull/38604)
* Add - Add an animated spinner to the Core Profiler to be displayed when assets are loading. [[#38598]](https://github.com/woocommerce/woocommerce/pull/38598)
* Add - Added ability for the core profiler state machine to navigate by using the 'step' URL query param [[#38620]](https://github.com/woocommerce/woocommerce/pull/38620)
* Add - Added business info page to new core profiler [[#38412]](https://github.com/woocommerce/woocommerce/pull/38412)
* Add - Add Jetpack Connection package [[#38674]](https://github.com/woocommerce/woocommerce/pull/38674)
* Add - Add plugins page to the core profiler [[#38405]](https://github.com/woocommerce/woocommerce/pull/38405)
* Add - Add properties and methods for detecting order admin screens more easily. [[#38417]](https://github.com/woocommerce/woocommerce/pull/38417)
* Add - Add re-migrate support to HPOS CLI. [[#38690]](https://github.com/woocommerce/woocommerce/pull/38690)
* Add - Add Saint Kitts and Nevis parishes [[#38621]](https://github.com/woocommerce/woocommerce/pull/38621)
* Add - Add support to change features through the url as query parameters [[#38551]](https://github.com/woocommerce/woocommerce/pull/38551)
* Add - Allow filtering HPOS order queries. [[#36625]](https://github.com/woocommerce/woocommerce/pull/36625)
* Add - Implement the product blocks experiment within code for new users [[#38700]](https://github.com/woocommerce/woocommerce/pull/38700)
* Add - Override the interface skeleton container so it can be scrollable [[#38484]](https://github.com/woocommerce/woocommerce/pull/38484)
* Add - Product Editor Onboarding: Add About the editor... option the more menu in product block editor [[#38691]](https://github.com/woocommerce/woocommerce/pull/38691)
* Add - Provide a data-store agnostic way of untrashing orders. [[#38670]](https://github.com/woocommerce/woocommerce/pull/38670)
* Add - Replace 'use classic editor' with 'Turn off the new product editor' in options menu#38575 [[#38693]](https://github.com/woocommerce/woocommerce/pull/38693)
* Add - Show feedback bar after product block editor tour/guide [[#38669]](https://github.com/woocommerce/woocommerce/pull/38669)
* Add - Show feedback bar for product editor. [[#38599]](https://github.com/woocommerce/woocommerce/pull/38599)
* Add - Show spotlight for first time visitors of block product editor [[#38590]](https://github.com/woocommerce/woocommerce/pull/38590)
* Add - Updated payment gateway suggestions for 2023 Q3 [[#38646]](https://github.com/woocommerce/woocommerce/pull/38646)
* Update - Update WooCommerce Blocks to 10.4.5 [#39048](https://github.com/woocommerce/woocommerce/pull/39048)
* Update - Update WooCommerce Blocks to 10.4.4 [#38918](https://github.com/woocommerce/woocommerce/pull/38918)
* Update - Redirect to the old editor when attempting to edit a non-supported product type [#38745](https://github.com/woocommerce/woocommerce/pull/38745)
* Update - Update WooCommerce Blocks to 10.4.3 [#38839](https://github.com/woocommerce/woocommerce/pull/38839)
* Update - Add 'Tell me more' button to end of block editor tour for more information [[#38639]](https://github.com/woocommerce/woocommerce/pull/38639)
* Update - Add descriptive document titles to HPOS order admin screens [[#38617]](https://github.com/woocommerce/woocommerce/pull/38617)
* Update - Add obw/core-profiler to the free-extensions endpoint [[#38418]](https://github.com/woocommerce/woocommerce/pull/38418)
* Update - Adds info about features and plugin compatibility to the data collected by WC Tracker [[#38613]](https://github.com/woocommerce/woocommerce/pull/38613)
* Update - CSS change to change the hover color of select options [[#38724]](https://github.com/woocommerce/woocommerce/pull/38724)
* Update - Disable 'Used for variations' checkbox when product type is not variable [[#38802]](https://github.com/woocommerce/woocommerce/pull/38802)
* Update - Enable core-profiler flag to replace profile wizard with the new core profiler [[#38729]](https://github.com/woocommerce/woocommerce/pull/38729)
* Update - Expand WCPay Switch incentive to more countries and include a new action incentive. [[#38689]](https://github.com/woocommerce/woocommerce/pull/38689)
* Update - Fix DefaultShippingPartners data mismatch [[#38457]](https://github.com/woocommerce/woocommerce/pull/38457)
* Update - Make option API fail when using a disallowed option name in non-produciton environments [[#38388]](https://github.com/woocommerce/woocommerce/pull/38388)
* Update - Remove icons from product editor template [[#38351]](https://github.com/woocommerce/woocommerce/pull/38351)
* Update - Remove StoreDetails task when core-profiler flag is on [[#38722]](https://github.com/woocommerce/woocommerce/pull/38722)
* Update - Renamed install-async to install-activate-async to activate installed plugins [[#38434]](https://github.com/woocommerce/woocommerce/pull/38434)
* Update - Set woocommerce_onboarding_profile.skipped when guided set is skipped [[#38730]](https://github.com/woocommerce/woocommerce/pull/38730)
* Update - Update "Set up additional payment" task view & complete logic [[#38273]](https://github.com/woocommerce/woocommerce/pull/38273)
* Update - Update Action Scheduler to 3.6.1. [[#38721]](https://github.com/woocommerce/woocommerce/pull/38721)
* Update - Update WooCommerce Blocks to 10.2.2 [[#38545]](https://github.com/woocommerce/woocommerce/pull/38545)
* Update - Update WooCommerce Blocks to 10.4.0 [[#38656]](https://github.com/woocommerce/woocommerce/pull/38656)
* Update - Update WooCommerce Blocks to 10.4.2 [[#38656]](https://github.com/woocommerce/woocommerce/pull/38656)
* Update - Update WooCommerce Blocks to 10.4.6 [[#39278]](https://github.com/woocommerce/woocommerce/pull/39278)
* Update - Use coreprofiler_ prefix for core profiler track names [[#38710]](https://github.com/woocommerce/woocommerce/pull/38710)
* Update - Visual changes for the core profiler pages -- intro, guided setup, and skipped guided setup pages [[#38709]](https://github.com/woocommerce/woocommerce/pull/38709)
* Update - WCPay welcome incentive logic minor addition [[#38803]](https://github.com/woocommerce/woocommerce/pull/38803)
* Update - WCPay welcome incentive logic [[#38797]](https://github.com/woocommerce/woocommerce/pull/38797)
* Update - Track checkboxes and selects in Settings > Emails settings and fix XHR request error when updating shipping zone configurations. [[#38834]](https://github.com/woocommerce/woocommerce/pull/38834)
* Dev - Add a composer script to run phpcs-changed against the current branch [[#38085]](https://github.com/woocommerce/woocommerce/pull/38085)
* Dev - Added new hook `woocommerce_admin_order_data_after_payment_info` allowing extensions to render content in order details payment info metabox. [[#38443]](https://github.com/woocommerce/woocommerce/pull/38443)
* Dev - Add HPOS compat queries for tracker. [[#38293]](https://github.com/woocommerce/woocommerce/pull/38293)
* Dev - Add null-coalerscing operators for compatibility with PHP 8 [[#38008]](https://github.com/woocommerce/woocommerce/pull/38008)
* Dev - Adjust wc-formatting-functions.php null args deprecations in PHP 8.1 [[#38635]](https://github.com/woocommerce/woocommerce/pull/38635)
* Dev - Fix flakiness in `can set variation defaults` test. [[#38672]](https://github.com/woocommerce/woocommerce/pull/38672)
* Dev - Lint fixes [[#38523]](https://github.com/woocommerce/woocommerce/pull/38523)
* Dev - Move Reports-related code to reduce duplicates. [[#38048]](https://github.com/woocommerce/woocommerce/pull/38048)
* Dev - Refactored Core Profiler's plugin installation step to use XState [[#38577]](https://github.com/woocommerce/woocommerce/pull/38577)
* Dev - Refactored core profiler state machine by modularising each page [[#38606]](https://github.com/woocommerce/woocommerce/pull/38606)
* Dev - Removed page spinners between core profiler pages and added a button spinner instead [[#38750]](https://github.com/woocommerce/woocommerce/pull/38750)
* Dev - Tidied up core profiler's tracks actions [[#38603]](https://github.com/woocommerce/woocommerce/pull/38603)
* Dev - Update Codisto extension description and fix WooCommerce name typo in test. [[#38302]](https://github.com/woocommerce/woocommerce/pull/38302)
* Dev - Update woocommerce_suggest_jetpack filter description [[#38501]](https://github.com/woocommerce/woocommerce/pull/38501)
* Tweak - Address edge-cases around Incentives eligibility and display. [#39207](https://github.com/woocommerce/woocommerce/pull/39207)
* Tweak - Prefetch Jetpack connection and auth info when Jetpack is selected [#38929](https://github.com/woocommerce/woocommerce/pull/38929)
* Tweak - Always pass default product type options to product_type_options filter [#38854](https://github.com/woocommerce/woocommerce/pull/38854)
* Tweak - Decode HTML entities for the store name [[#38791]](https://github.com/woocommerce/woocommerce/pull/38791)
* Tweak - Doc block tweak, no changelog necessary [[#38630]](https://github.com/woocommerce/woocommerce/pull/38630)
* Tweak - Don't show confirmation message when removing a non-variation attribute from a product. [[#38386]](https://github.com/woocommerce/woocommerce/pull/38386)
* Tweak - Do not execute order's page controller logic outside of orders screens. [[#38641]](https://github.com/woocommerce/woocommerce/pull/38641)
* Tweak - Do not show HPOS plugin incompat warning to users with insufficient access permissions. [[#38535]](https://github.com/woocommerce/woocommerce/pull/38535)
* Tweak - Fixed race condition in core profiler's plugin list fetching and also minor spinner fixes [[#38732]](https://github.com/woocommerce/woocommerce/pull/38732)
* Tweak - Improve compatibility between GTM and the single product page.
* Tweak - Swap out deprecated jQuery ready handlers [[#37320]](https://github.com/woocommerce/woocommerce/pull/37320)
* Tweak - Update CSS styles for the core profiler header [[#37320]](https://github.com/woocommerce/woocommerce/pull/39059)
* Enhancement - Additional changes for the core profiler plugins page [[#38616]](https://github.com/woocommerce/woocommerce/pull/38616)
* Enhancement - Fixed visibility and tax values convert to lowercase as issue facing in importing. [[#33820]](https://github.com/woocommerce/woocommerce/pull/33820)
* Enhancement - Loader design changes for the core profiler [[#38750]](https://github.com/woocommerce/woocommerce/pull/38750)
* Enhancement - Update product editor tour/guide copy and style. [[#38726]](https://github.com/woocommerce/woocommerce/pull/38726)
= 7.8.2 2023-07-04 =
**WooCommerce**

6
docs/snippets/README.md Normal file
View File

@ -0,0 +1,6 @@
# WooCommerce code snippets
Various code snippets you can add to your site to enable custom functionality:
- [Unhook and remove WooCommerce emails](./unhook--remove-woocommerce-emails.md);
- [Add a message above the login / register form](./before-login--register-form.md)

View File

@ -0,0 +1,35 @@
# Add a message above the login / register form
> This is a **Developer level** doc. If you are unfamiliar with code and resolving potential conflicts, select a [WooExpert or Developer](https://woocommerce.com/customizations/) for assistance. We are unable to provide support for customizations under our  [Support Policy](http://www.woocommerce.com/support-policy/?_gl=1*1lw1nc0*_gcl_au*MTUzMTUyODE0MS4xNjg0NTA1MDgy*_ga*NzE5NDY2OTA4LjE2NjA3MzY5NDM.*_ga_98K30SHWB2*MTY4OTAwODAwNy4xNDYuMC4xNjg5MDA4MDA3LjAuMC4w&_ga=2.99723742.1943287701.1688936513-719466908.1660736943).
This code will add a custom message above the login/register form on the users my-account page.
```php
if ( ! function_exists( 'YOUR_PREFIX_login_message' ) ) {
/**
* Add a message above the login / register form on my-account page
*/
function YOUR_PREFIX_login_message() {
if ( get_option( 'woocommerce_enable_myaccount_registration' ) == 'yes' ) {
?>
<div class="woocommerce-info">
<p><?php _e( 'Returning customers login. New users register for next time so you can:', 'YOUR-TEXTDOMAIN' ); ?></p>
<ul>
<li><?php _e( 'View your order history', 'YOUR-TEXTDOMAIN' ); ?></li>
<li><?php _e( 'Check on your orders', 'YOUR-TEXTDOMAIN' ); ?></li>
<li><?php _e( 'Edit your addresses', 'YOUR-TEXTDOMAIN' ); ?></li>
<li><?php _e( 'Change your password', 'YOUR-TEXTDOMAIN' ); ?></li>
</ul>
</div>
<?php
}
}
add_action( 'woocommerce_before_customer_login_form', 'YOUR_PREFIX_login_message' );
}
```
Please note that for this code to work, the following options must be checked in the WooCommerce “Accounts & Privacy” settings:
- Allow customers to create an account during checkout
- Allow customers to create an account on the "My Account" page

View File

@ -0,0 +1,45 @@
# Unhook and remove WooCommerce emails
> This is a **Developer level** doc. If you are unfamiliar with code and resolving potential conflicts, select a [WooExpert or Developer](https://woocommerce.com/customizations/) for assistance. We are unable to provide support for customizations under our  [Support Policy](http://www.woocommerce.com/support-policy/).
This code allows you to unhook and remove the default WooCommerce emails.
Add this code to your child themes `functions.php` file or via a plugin that allows custom functions to be added, such as the [Code snippets](https://wordpress.org/plugins/code-snippets/) plugin. Avoid adding custom code directly to your parent themes `functions.php` file, as this will be wiped entirely when you update the theme.
```php
if ( ! function_exists( 'YOUR_PREFIX_unhook_woocommerce_emails' ) ) {
/**
* Callback for woocommerce_email action hook
*
* @param WC_Email $email_class An Email class instance.
* @return void
*/
function YOUR_PREFIX_unhook_woocommerce_emails( $email_class ) {
/**
* Hooks for sending emails during store events.
*/
remove_action( 'woocommerce_low_stock_notification', array( $email_class, 'low_stock' ) );
remove_action( 'woocommerce_no_stock_notification', array( $email_class, 'no_stock' ) );
remove_action( 'woocommerce_product_on_backorder_notification', array( $email_class, 'backorder' ) );
// New order emails.
remove_action( 'woocommerce_order_status_pending_to_processing_notification', array( $email_class->emails['WC_Email_New_Order'], 'trigger' ) );
remove_action( 'woocommerce_order_status_pending_to_completed_notification', array( $email_class->emails['WC_Email_New_Order'], 'trigger' ) );
remove_action( 'woocommerce_order_status_pending_to_on-hold_notification', array( $email_class->emails['WC_Email_New_Order'], 'trigger' ) );
remove_action( 'woocommerce_order_status_failed_to_processing_notification', array( $email_class->emails['WC_Email_New_Order'], 'trigger' ) );
remove_action( 'woocommerce_order_status_failed_to_completed_notification', array( $email_class->emails['WC_Email_New_Order'], 'trigger' ) );
remove_action( 'woocommerce_order_status_failed_to_on-hold_notification', array( $email_class->emails['WC_Email_New_Order'], 'trigger' ) );
// Processing order emails.
remove_action( 'woocommerce_order_status_pending_to_processing_notification', array( $email_class->emails['WC_Email_Customer_Processing_Order'], 'trigger' ) );
remove_action( 'woocommerce_order_status_pending_to_on-hold_notification', array( $email_class->emails['WC_Email_Customer_On_Hold_Order'], 'trigger' ) );
// Completed order emails.
remove_action( 'woocommerce_order_status_completed_notification', array( $email_class->emails['WC_Email_Customer_Completed_Order'], 'trigger' ) );
// Note emails.
remove_action( 'woocommerce_new_customer_note_notification', array( $email_class->emails['WC_Email_Customer_Note'], 'trigger' ) );
}
}
add_action( 'woocommerce_email', 'YOUR_PREFIX_unhook_woocommerce_emails' );
```

View File

@ -5,7 +5,7 @@
"homepage": "https://woocommerce.com/",
"engines": {
"node": "^16.14.1",
"pnpm": "^8.6.5"
"pnpm": "^8.6.7"
},
"private": true,
"repository": {
@ -58,8 +58,8 @@
"request": "^2.88.2",
"sass": "^1.59.3",
"sass-loader": "^10.4.1",
"syncpack": "^10.1.0",
"turbo": "^1.9.3",
"syncpack": "^10.7.3",
"turbo": "^1.10.7",
"typescript": "^4.9.5",
"url-loader": "^1.1.2",
"webpack": "^5.76.2"

View File

@ -1,4 +1,4 @@
Significance: minor
Type: dev
Update pnpm to version 8.
Update pnpm to 8.6.7

View File

@ -0,0 +1,4 @@
Significance: patch
Type: dev
Branding rollout - change WooCommerce Payments to WooPayments

View File

@ -6,7 +6,7 @@
"homepage": "https://github.com/woocommerce/woocommerce/tree/trunk/packages/js/admin-e2e-tests/README.md",
"engines": {
"node": "^16.14.1",
"pnpm": "^8.6.5"
"pnpm": "^8.6.7"
},
"repository": {
"type": "git",

View File

@ -2,7 +2,7 @@ export const TaskTitles = {
storeDetails: 'Store details',
addPayments: 'Set up payments',
wooPayments:
'Set up WooCommerce PaymentsBy setting up, you are agreeing to the Terms of Service2 minutes',
'Set up WooPaymentsBy setting up, you are agreeing to the Terms of Service2 minutes',
addProducts: 'Add my products',
taxSetup: 'Set up tax rates',
setUpShippingCosts: 'Set up shipping',

View File

@ -100,7 +100,7 @@ export const testAdminOnboardingWizard = () => {
await profileWizard.business.expandRecommendedBusinessFeatures();
expect( page ).toMatchElement( 'a', {
text: 'WooCommerce Payments',
text: 'WooPayments',
} );
await profileWizard.business.uncheckAllRecommendedBusinessFeatures();
@ -186,7 +186,7 @@ export const testSelectiveBundleWCPay = () => {
await profileWizard.business.expandRecommendedBusinessFeatures();
expect( page ).not.toMatchElement( 'a', {
text: 'WooCommerce Payments',
text: 'WooPayments',
} );
await profileWizard.business.uncheckAllRecommendedBusinessFeatures();
@ -312,11 +312,11 @@ export const testDifferentStoreCurrenciesWCPay = () => {
if ( spec.isWCPaySupported ) {
expect( page ).toMatchElement( 'a', {
text: 'WooCommerce Payments',
text: 'WooPayments',
} );
} else {
expect( page ).not.toMatchElement( 'a', {
text: 'WooCommerce Payments',
text: 'WooPayments',
} );
}
@ -370,7 +370,7 @@ export const testSubscriptionsInclusion = () => {
await profileWizard.productTypes.isDisplayed( 7 );
await profileWizard.productTypes.selectProduct( 'Subscriptions' );
await expect( page ).not.toMatchElement( 'p', {
text: 'The following extensions will be added to your site for free: WooCommerce Payments. An account is required to use this feature.',
text: 'The following extensions will be added to your site for free: WooPayments. An account is required to use this feature.',
} );
await profileWizard.continue();
@ -390,12 +390,12 @@ export const testSubscriptionsInclusion = () => {
await profileWizard.continue();
} );
it( 'should display the WooCommerce Payments extension after it has been installed', async () => {
it( 'should display the WooPayments extension after it has been installed', async () => {
await profileWizard.business.freeFeaturesIsDisplayed();
await profileWizard.business.expandRecommendedBusinessFeatures();
expect( page ).toMatchElement( 'a', {
text: 'WooCommerce Payments',
text: 'WooPayments',
} );
} );
@ -449,7 +449,7 @@ export const testSubscriptionsInclusion = () => {
await profileWizard.productTypes.isDisplayed( 7 );
await profileWizard.productTypes.selectProduct( 'Subscriptions' );
await expect( page ).toMatchElement( 'p', {
text: 'The following extensions will be added to your site for free: WooCommerce Payments. An account is required to use this feature.',
text: 'The following extensions will be added to your site for free: WooPayments. An account is required to use this feature.',
} );
await profileWizard.continue();
@ -469,12 +469,12 @@ export const testSubscriptionsInclusion = () => {
await profileWizard.continue();
} );
it( 'cannot see the WooCommerce Payments extension after it has been installed', async () => {
it( 'cannot see the WooPayments extension after it has been installed', async () => {
await profileWizard.business.freeFeaturesIsDisplayed();
await profileWizard.business.expandRecommendedBusinessFeatures();
expect( page ).not.toMatchElement( 'a', {
text: 'WooCommerce Payments',
text: 'WooPayments',
} );
} );

View File

@ -0,0 +1,12 @@
module.exports = {
extends: [ 'plugin:@woocommerce/eslint-plugin/recommended' ],
root: true,
overrides: [
{
files: [ '**/*.js', '**/*.jsx', '**/*.tsx' ],
rules: {
'react/react-in-jsx-scope': 'off',
},
},
],
};

1
packages/js/ai/.npmrc Normal file
View File

@ -0,0 +1 @@
package-lock=false

11
packages/js/ai/README.md Normal file
View File

@ -0,0 +1,11 @@
# Artificial Intelligence tools
A collection of WooCommerce tools and utilities to implement ai features.
## Installation
Install the module
```bash
pnpm install @woocommerce/ai --save
```

View File

@ -0,0 +1,3 @@
module.exports = {
extends: '../internal-js-tests/babel.config.js',
};

View File

@ -0,0 +1,3 @@
# Changelog
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

View File

@ -0,0 +1,4 @@
Significance: minor
Type: update
Moving text completion hooks into @woocommerce/ai package for reuse.

View File

@ -0,0 +1,32 @@
{
"name": "woocommerce/ai",
"description": "WooCommerce AI library",
"type": "library",
"license": "GPL-3.0-or-later",
"minimum-stability": "dev",
"require-dev": {
"automattic/jetpack-changelogger": "3.3.0"
},
"config": {
"platform": {
"php": "7.2"
}
},
"extra": {
"changelogger": {
"formatter": {
"filename": "../../../tools/changelogger/class-package-formatter.php"
},
"types": {
"fix": "Fixes an existing bug",
"add": "Adds functionality",
"update": "Update existing functionality",
"dev": "Development related task",
"tweak": "A minor adjustment to the codebase",
"performance": "Address performance issues",
"enhancement": "Improve existing functionality"
},
"changelog": "CHANGELOG.md"
}
}
}

483
packages/js/ai/composer.lock generated Normal file
View File

@ -0,0 +1,483 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "c8190a953aa0a440f30a24c71e0fef6d",
"packages": [],
"packages-dev": [
{
"name": "automattic/jetpack-changelogger",
"version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/Automattic/jetpack-changelogger.git",
"reference": "8f63c829b8d1b0d7b1d5de93510d78523ed18959"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Automattic/jetpack-changelogger/zipball/8f63c829b8d1b0d7b1d5de93510d78523ed18959",
"reference": "8f63c829b8d1b0d7b1d5de93510d78523ed18959",
"shasum": ""
},
"require": {
"php": ">=5.6",
"symfony/console": "^3.4 || ^5.2 || ^6.0",
"symfony/process": "^3.4 || ^5.2 || ^6.0",
"wikimedia/at-ease": "^1.2 || ^2.0"
},
"require-dev": {
"wikimedia/testing-access-wrapper": "^1.0 || ^2.0",
"yoast/phpunit-polyfills": "1.0.4"
},
"bin": [
"bin/changelogger"
],
"type": "project",
"extra": {
"autotagger": true,
"branch-alias": {
"dev-trunk": "3.3.x-dev"
},
"mirror-repo": "Automattic/jetpack-changelogger",
"version-constants": {
"::VERSION": "src/Application.php"
},
"changelogger": {
"link-template": "https://github.com/Automattic/jetpack-changelogger/compare/${old}...${new}"
}
},
"autoload": {
"psr-4": {
"Automattic\\Jetpack\\Changelog\\": "lib",
"Automattic\\Jetpack\\Changelogger\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-2.0-or-later"
],
"description": "Jetpack Changelogger tool. Allows for managing changelogs by dropping change files into a changelog directory with each PR.",
"support": {
"source": "https://github.com/Automattic/jetpack-changelogger/tree/v3.3.0"
},
"time": "2022-12-26T13:49:01+00:00"
},
{
"name": "psr/log",
"version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
"reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Log\\": "Psr/Log/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
"homepage": "https://github.com/php-fig/log",
"keywords": [
"log",
"psr",
"psr-3"
],
"support": {
"source": "https://github.com/php-fig/log/tree/1.1.4"
},
"time": "2021-05-03T11:20:27+00:00"
},
{
"name": "symfony/console",
"version": "3.4.x-dev",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/a10b1da6fc93080c180bba7219b5ff5b7518fe81",
"reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81",
"shasum": ""
},
"require": {
"php": "^5.5.9|>=7.0.8",
"symfony/debug": "~2.8|~3.0|~4.0",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
"symfony/dependency-injection": "<3.4",
"symfony/process": "<3.3"
},
"provide": {
"psr/log-implementation": "1.0"
},
"require-dev": {
"psr/log": "~1.0",
"symfony/config": "~3.3|~4.0",
"symfony/dependency-injection": "~3.4|~4.0",
"symfony/event-dispatcher": "~2.8|~3.0|~4.0",
"symfony/lock": "~3.4|~4.0",
"symfony/process": "~3.3|~4.0"
},
"suggest": {
"psr/log": "For using the console logger",
"symfony/event-dispatcher": "",
"symfony/lock": "",
"symfony/process": ""
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Console\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/console/tree/3.4"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-10-24T10:57:07+00:00"
},
{
"name": "symfony/debug",
"version": "4.4.x-dev",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "1a692492190773c5310bc7877cb590c04c2f05be"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/1a692492190773c5310bc7877cb590c04c2f05be",
"reference": "1a692492190773c5310bc7877cb590c04c2f05be",
"shasum": ""
},
"require": {
"php": ">=7.1.3",
"psr/log": "^1|^2|^3"
},
"conflict": {
"symfony/http-kernel": "<3.4"
},
"require-dev": {
"symfony/http-kernel": "^3.4|^4.0|^5.0"
},
"default-branch": true,
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Debug\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Provides tools to ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/debug/tree/v4.4.44"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"abandoned": "symfony/error-handler",
"time": "2022-07-28T16:29:46+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "dev-main",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "f9c7affe77a00ae32ca127ca6833d034e6d33f25"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f9c7affe77a00ae32ca127ca6833d034e6d33f25",
"reference": "f9c7affe77a00ae32ca127ca6833d034e6d33f25",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"provide": {
"ext-mbstring": "*"
},
"suggest": {
"ext-mbstring": "For best performance"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Mbstring\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Nicolas Grekas",
"email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for the Mbstring extension",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"mbstring",
"polyfill",
"portable",
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/main"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2023-01-30T17:25:47+00:00"
},
{
"name": "symfony/process",
"version": "3.4.x-dev",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
"reference": "b8648cf1d5af12a44a51d07ef9bf980921f15fca"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/process/zipball/b8648cf1d5af12a44a51d07ef9bf980921f15fca",
"reference": "b8648cf1d5af12a44a51d07ef9bf980921f15fca",
"shasum": ""
},
"require": {
"php": "^5.5.9|>=7.0.8"
},
"type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Process\\": ""
},
"exclude-from-classmap": [
"/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/process/tree/3.4"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-10-24T10:57:07+00:00"
},
{
"name": "wikimedia/at-ease",
"version": "v2.0.0",
"source": {
"type": "git",
"url": "https://github.com/wikimedia/at-ease.git",
"reference": "013ac61929797839c80a111a3f1a4710d8248e7a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/wikimedia/at-ease/zipball/013ac61929797839c80a111a3f1a4710d8248e7a",
"reference": "013ac61929797839c80a111a3f1a4710d8248e7a",
"shasum": ""
},
"require": {
"php": ">=5.6.99"
},
"require-dev": {
"jakub-onderka/php-console-highlighter": "0.3.2",
"jakub-onderka/php-parallel-lint": "1.0.0",
"mediawiki/mediawiki-codesniffer": "22.0.0",
"mediawiki/minus-x": "0.3.1",
"ockcyp/covers-validator": "0.5.1 || 0.6.1",
"phpunit/phpunit": "4.8.36 || ^6.5"
},
"type": "library",
"autoload": {
"files": [
"src/Wikimedia/Functions.php"
],
"psr-4": {
"Wikimedia\\AtEase\\": "src/Wikimedia/AtEase/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"GPL-2.0-or-later"
],
"authors": [
{
"name": "Tim Starling",
"email": "tstarling@wikimedia.org"
},
{
"name": "MediaWiki developers",
"email": "wikitech-l@lists.wikimedia.org"
}
],
"description": "Safe replacement to @ for suppressing warnings.",
"homepage": "https://www.mediawiki.org/wiki/at-ease",
"support": {
"source": "https://github.com/wikimedia/at-ease/tree/master"
},
"time": "2018-10-10T15:39:06+00:00"
}
],
"aliases": [],
"minimum-stability": "dev",
"stability-flags": [],
"prefer-stable": false,
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"platform-overrides": {
"php": "7.2"
},
"plugin-api-version": "2.3.0"
}

View File

@ -0,0 +1,4 @@
{
"rootDir": "./src",
"preset": "../node_modules/@woocommerce/internal-js-tests/jest-preset.js"
}

View File

@ -0,0 +1,95 @@
{
"name": "@woocommerce/ai",
"version": "0.1.0-beta.0",
"description": "Utilities for usage in AI features across WooCommerce.",
"author": "Automattic",
"license": "GPL-2.0-or-later",
"keywords": [
"wordpress",
"woocommerce"
],
"homepage": "https://github.com/woocommerce/woocommerce/tree/trunk/packages/js/ai/README.md",
"repository": {
"type": "git",
"url": "https://github.com/woocommerce/woocommerce.git"
},
"bugs": {
"url": "https://github.com/woocommerce/woocommerce/issues"
},
"main": "build/index.js",
"module": "build-module/index.js",
"types": "build-types",
"react-native": "src/index",
"sideEffects": [
"build-style/**",
"src/**/*.scss"
],
"private": true,
"dependencies": {
"@wordpress/api-fetch": "wp-6.0",
"@wordpress/compose": "wp-6.0",
"@wordpress/core-data": "wp-6.0",
"@wordpress/element": "wp-6.0",
"classnames": "^2.3.1",
"debug": "^4.3.3",
"dompurify": "^2.3.6",
"prop-types": "^15.8.1",
"react-router-dom": "^6.3.0"
},
"devDependencies": {
"@babel/core": "^7.21.3",
"@babel/runtime": "^7.17.2",
"@testing-library/jest-dom": "^5.16.2",
"@testing-library/react": "^12.1.3",
"@testing-library/react-hooks": "^8.0.1",
"@testing-library/user-event": "^13.5.0",
"@types/debug": "^4.1.7",
"@types/dompurify": "^2.3.3",
"@types/jest": "^27.4.1",
"@types/react": "^17.0.2",
"@types/testing-library__jest-dom": "^5.14.3",
"@types/wordpress__core-data": "^2.4.5",
"@woocommerce/eslint-plugin": "workspace:*",
"@woocommerce/internal-js-tests": "workspace:*",
"@woocommerce/internal-style-build": "workspace:*",
"@wordpress/browserslist-config": "wp-6.0",
"concurrently": "^7.0.0",
"copy-webpack-plugin": "^9.1.0",
"css-loader": "^3.6.0",
"eslint": "^8.32.0",
"jest": "^27.5.1",
"jest-cli": "^27.5.1",
"postcss": "^8.4.7",
"postcss-loader": "^4.3.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-hooks^8.0.1": "link:@testing-library/react-hooks^8.0.1",
"rimraf": "^3.0.2",
"sass-loader": "^10.2.1",
"ts-jest": "^27.1.3",
"typescript": "^4.9.5",
"webpack": "^5.70.0",
"webpack-cli": "^3.3.12"
},
"scripts": {
"turbo:build": "pnpm run build:js && pnpm run build:css",
"turbo:test": "jest --config ./jest.config.json",
"prepare": "composer install",
"changelog": "composer exec -- changelogger",
"clean": "pnpm exec rimraf tsconfig.tsbuildinfo build build-*",
"build": "pnpm -w exec turbo run turbo:build --filter=$npm_package_name",
"test": "pnpm -w exec turbo run turbo:test --filter=$npm_package_name",
"lint": "eslint src",
"build:js": "tsc --project tsconfig.json && tsc --project tsconfig-cjs.json",
"build:css": "webpack",
"start": "concurrently \"tsc --project tsconfig.json --watch\" \"tsc --project tsconfig-cjs.json --watch\" \"webpack --watch\"",
"prepack": "pnpm run clean && pnpm run build",
"lint:fix": "eslint src --fix"
},
"peerDependencies": {
"@types/react": "^17.0.2",
"@wordpress/data": "wp-6.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
}
}

View File

@ -0,0 +1 @@
export * from './useCompletion';

View File

@ -6,23 +6,27 @@ import { useRef, useState } from '@wordpress/element';
/**
* Internal dependencies
*/
import { getCompletion } from '../utils';
import { getCompletion, createExtendedError } from '../utils/';
type StopReason = 'abort' | 'finished' | 'error' | 'interrupted';
export type UseCompletionError = Error & { code?: string; cause?: Error };
type UseCompletionProps = {
onStreamMessage?: ( message: string, chunk: string ) => void;
onCompletionFinished?: (
reason: StopReason,
previousContent: string
) => void;
onStreamError?: ( error: string ) => void;
onStreamError?: ( error: UseCompletionError ) => void;
feature?: string;
};
export const useCompletion = ( {
onStreamMessage = () => {},
onCompletionFinished = () => {},
onStreamError = () => {},
feature,
}: UseCompletionProps ) => {
const completionSource = useRef< EventSource | null >( null );
const previousContent = useRef< string >( '' );
@ -51,47 +55,68 @@ export const useCompletion = ( {
}
};
const onCompletionError = ( error: string ) => {
const onCompletionError = ( error: string | Error ) => {
stopCompletion( 'error' );
onStreamError( error );
onStreamError( typeof error === 'object' ? error : new Error( error ) );
};
const requestCompletion = async ( prompt: string ) => {
const requestCompletion = async (
prompt: string,
featureOverride?: string
) => {
if (
! window.JP_CONNECTION_INITIAL_STATE?.connectionStatus?.isActive
) {
throw createExtendedError(
'You must be connected to Jetpack for text completion',
'no_jetpack_connection'
);
}
const completionFeature = featureOverride ?? feature;
if ( completionSource.current ) {
stopCompletion( 'interrupted' );
}
previousContent.current = '';
let suggestionsSource;
try {
suggestionsSource = await getCompletion( prompt );
} catch ( e ) {
// eslint-disable-next-line no-console
console.debug( 'Completion connection error encountered', e );
onCompletionError( 'connection_error' );
return;
if ( typeof completionFeature !== 'string' ) {
throw createExtendedError(
'You must provide a feature when requesting a completion',
'missing_feature'
);
}
setCompletionActive( true );
try {
const suggestionsSource = await getCompletion(
prompt,
completionFeature
);
suggestionsSource.addEventListener( 'message', ( e ) => {
onMessage( e );
} );
suggestionsSource.addEventListener(
'error',
( event: MessageEvent ) => {
// eslint-disable-next-line no-console
console.debug( 'Streaming error encountered', event );
onCompletionError(
typeof event === 'string' ? event : event.data
);
}
);
setCompletionActive( true );
completionSource.current = suggestionsSource;
suggestionsSource.addEventListener( 'message', ( e ) => {
onMessage( e );
} );
return suggestionsSource;
suggestionsSource.addEventListener(
'error',
( event: MessageEvent ) => {
onCompletionError(
typeof event === 'string' ? event : event.data
);
}
);
completionSource.current = suggestionsSource;
return suggestionsSource;
} catch ( e ) {
throw createExtendedError(
'An error occurred while connecting to the completion service',
'connection_error',
e as Error
);
}
};
return {

View File

@ -0,0 +1,16 @@
/**
* Hooks
*/
export {
useCompletion as __experimentalUseCompletion,
UseCompletionError,
} from './hooks';
/**
* Utils
*/
export {
requestJetpackToken as __experimentalRequestJetpackToken,
getCompletion as __experimentalgetCompletion,
createExtendedError,
} from './utils';

View File

View File

@ -0,0 +1,11 @@
export type UseCompletionError = Error & { code?: string; cause?: Error };
export const createExtendedError = (
msg: string,
code?: string,
cause?: Error
) =>
Object.assign( new Error( msg ), {
code,
cause,
} );

View File

@ -0,0 +1,2 @@
export * from './text-completion';
export * from './create-extended-error';

View File

@ -7,7 +7,7 @@ import debugFactory from 'debug';
/**
* Internal dependencies
*/
import { WOO_AI_PLUGIN_FEATURE_NAME } from '../constants';
import { createExtendedError } from './create-extended-error';
const debugToken = debugFactory( 'jetpack-ai-assistant:token' );
@ -19,6 +19,7 @@ declare global {
JP_CONNECTION_INITIAL_STATE: {
apiNonce: string;
siteSuffix: string;
connectionStatus: { isActive: boolean };
};
}
}
@ -37,7 +38,10 @@ export async function requestJetpackToken() {
tokenData = JSON.parse( token );
} catch ( err ) {
debugToken( 'Error parsing token', err );
throw new Error( 'Error parsing cached token' );
throw createExtendedError(
'Error parsing cached token',
'token_parse_error'
);
}
}
@ -64,7 +68,7 @@ export async function requestJetpackToken() {
blogId: siteSuffix,
/**
* Let's expire the token in 5 minutes
* Let's expire the token in 2 minutes
*/
expire: Date.now() + JWT_TOKEN_EXPIRATION_TIME,
};
@ -74,7 +78,10 @@ export async function requestJetpackToken() {
return newTokenData;
} catch ( e ) {
throw new Error( 'Error fetching new token' );
throw createExtendedError(
'Error fetching new token',
'token_fetch_error'
);
}
}
@ -83,7 +90,7 @@ export async function requestJetpackToken() {
*
* @param {string} prompt - The query to send to the API
*/
export async function getCompletion( prompt: string ) {
export async function getCompletion( prompt: string, feature: string ) {
const { token } = await requestJetpackToken();
const url = new URL(
@ -92,7 +99,7 @@ export async function getCompletion( prompt: string ) {
url.searchParams.append( 'prompt', prompt );
url.searchParams.append( 'token', token );
url.searchParams.append( 'feature', WOO_AI_PLUGIN_FEATURE_NAME );
url.searchParams.append( 'feature', feature );
return new EventSource( url.toString() );
}

View File

@ -0,0 +1,16 @@
{
"extends": "../tsconfig-cjs",
"include": [
"**/*.d.ts",
"src/**/*",
"src/**/*.json"
],
"compilerOptions": {
"outDir": "build",
"resolveJsonModule": true,
"typeRoots": [
"./typings",
"./node_modules/@types"
]
}
}

View File

@ -0,0 +1,19 @@
{
"extends": "../tsconfig",
"compilerOptions": {
"rootDir": "src",
"outDir": "build-module",
"declaration": true,
"declarationMap": true,
"declarationDir": "./build-types",
"resolveJsonModule": true,
"typeRoots": [
"./node_modules/@types"
]
},
"include": [
"**/*.d.ts",
"src/**/*",
"src/**/*.json"
]
}

View File

@ -0,0 +1,46 @@
/**
* External dependencies
*/
const WebpackRTLPlugin = require( 'webpack-rtl-plugin' );
const MiniCssExtractPlugin = require( 'mini-css-extract-plugin' );
/**
* Internal dependencies
*/
const { webpackConfig } = require( '@woocommerce/internal-style-build' );
const NODE_ENV = process.env.NODE_ENV || 'development';
module.exports = {
mode: process.env.NODE_ENV || 'development',
entry: {
'build-style': __dirname + '/src/style.scss',
},
output: {
path: __dirname,
},
module: {
parser: webpackConfig.parser,
rules: webpackConfig.rules,
},
plugins: [
new MiniCssExtractPlugin( {
filename: ( data ) => {
return data.chunk.name.startsWith( '/build/blocks' )
? `[name].css`
: `[name]/style.css`;
},
chunkFilename: 'chunks/[id].style.css',
} ),
new WebpackRTLPlugin( {
test: /(?<!style)\.css$/,
filename: '[name]-rtl.css',
minify: NODE_ENV === 'development' ? false : { safe: true },
} ),
new WebpackRTLPlugin( {
test: /style\.css$/,
filename: '[name]/style-rtl.css',
minify: NODE_ENV === 'development' ? false : { safe: true },
} ),
],
};

View File

@ -5,7 +5,7 @@
"main": "index.js",
"engines": {
"node": "^16.14.1",
"pnpm": "^8.6.5"
"pnpm": "^8.6.7"
},
"scripts": {
"e2e": "jest",

View File

@ -1,4 +1,4 @@
Significance: minor
Type: dev
Create tree-control component
Update pnpm to 8.6.7

View File

@ -6,7 +6,7 @@
"homepage": "https://github.com/woocommerce/woocommerce/tree/trunk/packages/js/api/README.md",
"engines": {
"node": "^16.14.1",
"pnpm": "^8.6.5"
"pnpm": "^8.6.7"
},
"repository": {
"type": "git",

View File

@ -1,8 +1,77 @@
# Changelog
# Changelog
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [12.0.0](https://www.npmjs.com/package/@woocommerce/components/v/12.0.0) - 2022-12-28
## [12.1.0](https://www.npmjs.com/package/@woocommerce/components/v/12.1.0) - 2023-07-13
- Patch - Altering styles to correctly target fields within slot fills on product editor. [#36500]
- Patch - Fix collapsible content heading alignment [#38325]
- Minor - Fix issue where single item can not be cleared and text can not be selected upon click. [#36869]
- Minor - Fix issue where width of select control dropdown was not correctly calculated when rendering was delayed. [#37295]
- Patch - Fix SelectControl and TreeControl styles. [#36718]
- Minor - Fix SortableItem duplicated id [#36262]
- Patch - Include CSS for experimental tree control so it renders properly in Storybook. [#36517]
- Minor - Prevent duplicate registration of core blocks in client [#37350]
- Minor - Refactor createOrderedChildren [#36707]
- Patch - Replace isElevated prop with elevation for tour-kit step component [#38963]
- Minor - Wrap selected items in experimental select control [#38284]
- Minor - Add 6 basic fields to the product fields registry for use in extensibility within the new Product MVP. [#36392]
- Patch - Add ability to focus the first step after opening for tourkit [#38963]
- Minor - Add allowDragging option to ImageGallery to support disabling drag and drop of images. [#38045]
- Patch - Add an optional "InputProps" to experimental SelectControl component [#36470]
- Minor - Add callback for the media uploader component when gallery is opened [#38728]
- Minor - Added LearnMore option as well as made it possible to use this button multiple instances on the page [#36873]
- Minor - Adding experimental component SlotContext [#36333]
- Minor - Adding simple DisplayState wrapper and modifying Collapsible component to allow rendering hidden content. [#37305]
- Minor - Adding the WooProductSectionItem slotfill component. [#36331]
- Minor - Adding WooProductFieldItem slotfill. [#36315]
- Minor - Add minFilterQueryLength, individuallySelectParent, and clearOnSelect props. [#36869]
- Minor - Add new WooProductTabItem component for slot filling tab items. [#36551]
- Patch - Add onKeyDown and readOnlyWhenClosed options to experimentalSelectControl [#38328]
- Minor - Add product field store and helper functions for rendering fields from config. [#36362]
- Minor - Add single selection mode to SelectTree [#38140]
- Minor - Create SelectTree component that uses TreeControl [#37319]
- Minor - Expose registerBlocks as registerRichTextEditorBlocks from the rich text editor package [#38982]
- Minor - Fix dependency versions [#37023]
- Minor - Make DateTimePickerControl a ForwardedRef component" [#38306]
- Minor - TreeControl: Fix a bug where items with children were not selected in single mode and fix a bug where navigation between items with tab was not working properly. [#38079]
- Minor - Add deprecated message to packages moved to product-editor package. [#36815]
- Minor - Add deprecated message to product slot fill components [#36830]
- Minor - Apply wccom experimental select control changes [#36521]
- Minor - Export TreeSelectControl component and add additional props: onInputChange, alwaysShowPlaceholder, includeParent. [#36932]
- Patch - Opt out of Reset and Help buttons in DateTimePickerControl, as these will be removed in a future @wordpress/components version. [#38480]
- Minor - Show comma separated list in ready only mode of select tree control [#38052]
- Minor - Updated AdvancedFilter to use createInterpolateElement instead of interpolateComponents. [#37967]
- Minor - Update select tree control dropdown menu for custom slot fill support for display within Modals [#37574]
- Minor - Updating the product editor fill components to support multiple targets. [#36592]
- Minor - Updating WooProductFieldItem to uniquely generate IDs with different sections. [#36646]
- Minor - Add a11y support for the Tree component [#36459]
- Minor - Add custom rendering logic to the item label [#36476]
- Patch - Add instructions on how to run the tests when using @woocommerce/components [#38821]
- Minor - Adjust eslintrc for changes to eslint plugin. [#36988]
- Minor - Create tree-control component [#36432]
- Patch - Lint fixes [#38523]
- Patch - Migrate ellipsis-menu component to TS [#36405]
- Patch - Migrate Link component to TS [#36285]
- Patch - Migrate ProductImage component to TS [#36305]
- Patch - Migrate Rating component to TS [#36301]
- Patch - Migrate Section component to TS [#36298]
- Patch - Migrate select control component to TS [#37751]
- Patch - Migrate Table component to TS [#36370]
- Patch - Migrate Tag component to TS [#36265]
- Minor - Sync @wordpress package versions via syncpack. [#37034]
- Patch - Update eslint to 8.32.0 across the monorepo. [#36700]
- Minor - Update pnpm monorepo-wide to 8.6.5 [#38990]
- Minor - Update pnpm to version 8. [#37915]
- Patch - Update TourKit README to correct primaryButton example and formatting. [#37427]
- Patch - Update webpack config to use @woocommerce/internal-style-build's parser config [#37195]
- Patch - Correct spelling errors [#37887]
- Minor - Improve a11y support to collapsible content component [#37760]
- Minor - Small tweak to update reference to currencyContext component. [#36959]
- Patch - Update positioning of DateTimePickerControl's dropdown. [#38466]
- Minor - Use BaseControl in the SelectTree label [#38261]
## [12.0.0](https://www.npmjs.com/package/@woocommerce/components/v/12.0.0) - 2022-12-28
- Patch - Add name to exported popover slot used to display SelectControl Menu, so it is only used for SelectControl menus. [#36124]
- Patch - Close DateTimePickerControl's dropdown when blurring from input. [#36124]
@ -11,37 +80,37 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- Patch - Fixed DatePicker to work in WordPress 6.1 when currentDate is set to a moment instance. [#36124]
- Patch - Fix pagination label text from uppercase to normal and font styles [#36124]
- Patch - Include react-dates styles (no longer in WP 6.1+). [#36124]
- Minor - Set editor mode on initialization to prevent initial text editor focus [#36124]
- Patch - Set initial values prop from reset form function as optional [#36124]
- Patch - Add aria-label for simple select dropdown [#36124]
- Patch - Add async filtering support to the `__experimentalSelectControl` component [#36124]
- Patch - Add experimental open menu when user focus the select control input element [#36124]
- Patch - Updating downshift to 6.1.12. [#36124]
- Patch - Migrate search component to TS [#36124]
- Patch - Updated image gallery toolbar position and tooltips. [#36124]
- Patch - Update variable name within useFormContext. [#36124]
- Patch - Align the field height across the whole form [#36124]
- Patch - Fade the value selection field in the Attributes modal when no attribute is added [#36124]
- Patch - Update font size and spacing in the tooltip component [#36124]
- Minor - Set editor mode on initialization to prevent initial text editor focus [#36124]
- Minor - Add className prop to ListItem. [#36124]
- Minor - Add className prop to Sortable [#36124]
- Minor - Added ability to force time when DateTimePickerControl is date-only (timeForDateOnly prop). [#36124]
- Minor - Add experimental ConditionalWrapper component [#36124]
- Patch - Add experimental open menu when user focus the select control input element [#36124]
- Minor - Adding isHidden option for primary button in TourKit component. [#36124]
- Minor - Add support for custom suffix prop on SelectControl. [#36124]
- Minor - Make Table component accept className prop. [#36124]
- Minor - Move classname down in SelectControl Menu so it is on the actual Menu element. [#36124]
- Major [ **BREAKING CHANGE** ] - Switch DateTimePickerControl formatting to PHP style, for WP compatibility. [#36124]
- Patch - Updating downshift to 6.1.12. [#36124]
- Minor - Allow the user to select multiple images in the Media Library [#36124]
- Patch - Migrate search component to TS [#36124]
- Minor - Move file picker by clicking card into the MediaUploader component [#36124]
- Minor - Fix up initial block selection in RichTextEditor and add media blocks [#36124]
- Patch - Updated image gallery toolbar position and tooltips. [#36124]
- Patch - Update variable name within useFormContext. [#36124]
- Minor - Add noDataLabel property into table.js component to allow No Data label customization. [#36124]
- Patch - Align the field height across the whole form [#36124]
- Patch - Fade the value selection field in the Attributes modal when no attribute is added [#36124]
- Patch - Update font size and spacing in the tooltip component [#36124]
- Major [ **BREAKING CHANGE** ] - Switch DateTimePickerControl formatting to PHP style, for WP compatibility. [#36124]
## [11.1.0](https://www.npmjs.com/package/@woocommerce/components/v/11.1.0) - 2022-10-24
## [11.1.0](https://www.npmjs.com/package/@woocommerce/components/v/11.1.0) - 2022-10-24
- Minor - Allow passing of additional props to form inputs [#35160]
## [11.0.0](https://www.npmjs.com/package/@woocommerce/components/v/11.0.0) - 2022-10-20
## [11.0.0](https://www.npmjs.com/package/@woocommerce/components/v/11.0.0) - 2022-10-20
- Patch - Export StepperProps for external usage [#35140]
- Patch - Fixed the initial setting of DateTimePickerControl's input field. [#35140]
@ -88,9 +157,9 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- Minor - Fix DateTimePickerControl's onChange date arg to only be a string (TypeScript). [#35140]
- Minor - Improve experimental SelectControl accessibility [#35140]
- Minor - Improve Sortable component acessibility [#35140]
- - Create new experimental SelectControl component [#35140]
- - Create new experimental SelectControl component [#35140]
## [10.3.0](https://www.npmjs.com/package/@woocommerce/components/v/10.3.0) - 2022-08-12
## [10.3.0](https://www.npmjs.com/package/@woocommerce/components/v/10.3.0) - 2022-08-12
- Patch - Added in missing TS definitions in package.json [#34279]
- Patch - fixed button rendering for 1 step tour which was not showing completion button due to bug in logic [#34279]
@ -99,11 +168,11 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- Minor - Update types for Form component and allow Form state to be reset. [#34279]
- Minor - Removed Step 1 of 1 step description for 1 step tours [#34279]
## [10.2.1](https://www.npmjs.com/package/@woocommerce/components/v/10.2.1) - 2022-07-19
## [10.2.1](https://www.npmjs.com/package/@woocommerce/components/v/10.2.1) - 2022-07-19
- Patch - Fix missing text domain
## [10.2.0](https://www.npmjs.com/package/@woocommerce/components/v/10.2.0) - 2022-07-08
## [10.2.0](https://www.npmjs.com/package/@woocommerce/components/v/10.2.0) - 2022-07-08
- Minor - Add step name to tour kit step type and export CloseHandler type to be reused elsewhere
- Minor - Tree Select Control Component
@ -112,7 +181,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
- Minor - Remove PHP and Composer dependencies for packaged JS packages
- Patch - Tweak tour kit gap between content and controls
## [10.1.0](https://www.npmjs.com/package/@woocommerce/components/v/10.1.0) - 2022-06-09
## [10.1.0](https://www.npmjs.com/package/@woocommerce/components/v/10.1.0) - 2022-06-09
- Minor - Add tour kit component
- Minor - Update dependency `memoize-one` to ^6.0.0. #32936

View File

@ -1,4 +0,0 @@
Significance: minor
Type: dev
Add a11y support for the Tree component

View File

@ -1,4 +0,0 @@
Significance: minor
Type: dev
Add custom rendering logic to the item label

View File

@ -1,4 +0,0 @@
Significance: minor
Type: dev
Add TreeControl expand/collapse functionality.

View File

@ -1,4 +0,0 @@
Significance: minor
Type: dev
Add highlighter to the tree control

View File

@ -1,4 +0,0 @@
Significance: minor
Type: dev
Add selection logic to tree control component

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Adding WooProductFieldItem slotfill.

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Adding the WooProductSectionItem slotfill component.

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Add 6 basic fields to the product fields registry for use in extensibility within the new Product MVP.

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Add product field store and helper functions for rendering fields from config.

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Added LearnMore option as well as made it possible to use this button multiple instances on the page

View File

@ -1,4 +0,0 @@
Significance: minor
Type: update
Move experimental product section components to @woocommerce/product-editor package.

View File

@ -1,4 +0,0 @@
Significance: patch
Type: fix
Altering styles to correctly target fields within slot fills on product editor.

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Fix dependency versions

View File

@ -1,4 +0,0 @@
Significance: minor
Type: fix
Fix issue where width of select control dropdown was not correctly calculated when rendering was delayed.

View File

@ -1,4 +0,0 @@
Significance: minor
Type: tweak
Improve a11y support to collapsible content component

View File

@ -1,4 +0,0 @@
Significance: patch
Type: fix
Fix collapsible content heading alignment

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Make DateTimePickerControl a ForwardedRef component"

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Expose registerBlocks as registerRichTextEditorBlocks from the rich text editor package

View File

@ -1,5 +0,0 @@
Significance: patch
Type: tweak
Comment: Allow passing react elements to heading in TourKit

View File

@ -1,4 +0,0 @@
Significance: patch
Type: add
Add onKeyDown and readOnlyWhenClosed options to experimentalSelectControl

View File

@ -1,4 +0,0 @@
Significance: patch
Type: add
Add an optional "InputProps" to experimental SelectControl component

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Add single selection mode to SelectTree

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Adding simple DisplayState wrapper and modifying Collapsible component to allow rendering hidden content.

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Create SelectTree component that uses TreeControl

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Update eslint to 8.32.0 across the monorepo.

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Lint fixes

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Migrate ellipsis-menu component to TS

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Migrate Link component to TS

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Migrate ProductImage component to TS

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Migrate Rating component to TS

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Migrate Section component to TS

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Migrate select control component to TS

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Migrate Table component to TS

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Migrate Tag component to TS

View File

@ -1,4 +0,0 @@
Significance: minor
Type: dev
Sync @wordpress package versions via syncpack.

View File

@ -0,0 +1,4 @@
Significance: minor
Type: dev
Update pnpm to 8.6.7

View File

@ -1,4 +0,0 @@
Significance: minor
Type: dev
Adjust eslintrc for changes to eslint plugin.

View File

@ -1,4 +0,0 @@
Significance: minor
Type: dev
Update pnpm monorepo-wide to 8.6.5

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Add instructions on how to run the tests when using @woocommerce/components

View File

@ -1,4 +0,0 @@
Significance: minor
Type: fix
Fix SortableItem duplicated id

View File

@ -1,4 +0,0 @@
Significance: minor
Type: fix
Refactor createOrderedChildren

View File

@ -1,4 +0,0 @@
Significance: minor
Type: fix
Prevent duplicate registration of core blocks in client

View File

@ -1,4 +0,0 @@
Significance: patch
Type: tweak
Correct spelling errors

View File

@ -1,4 +0,0 @@
Significance: minor
Type: fix
Wrap selected items in experimental select control

View File

@ -1,4 +0,0 @@
Significance: minor
Type: add
Add callback for the media uploader component when gallery is opened

View File

@ -1,4 +0,0 @@
Significance: minor
Type: fix
Fix AdvancedFilters backward compatibility

View File

@ -1,4 +0,0 @@
Significance: patch
Type: fix
Fix issue were Options tab was not showing up anymore in new product management screen.

View File

@ -1,4 +0,0 @@
Significance: patch
Type: update
Opt out of Reset and Help buttons in DateTimePickerControl, as these will be removed in a future @wordpress/components version.

View File

@ -1,4 +0,0 @@
Significance: patch
Type: fix
Include CSS for experimental tree control so it renders properly in Storybook.

View File

@ -1,4 +0,0 @@
Significance: patch
Type: fix
Replace isElevated prop with elevation for tour-kit step component

View File

@ -1,4 +0,0 @@
Significance: patch
Type: fix
Fix SelectControl and TreeControl styles.

View File

@ -1,5 +0,0 @@
Significance: patch
Type: fix
Comment: Move registerFill call to inside an useEffect since it was updating a component while rendering another component

View File

@ -1,4 +0,0 @@
Significance: patch
Type: dev
Update TourKit README to correct primaryButton example and formatting.

View File

@ -1,5 +0,0 @@
Significance: patch
Type: dev
Comment: TypeScript build change

View File

@ -1,5 +0,0 @@
Significance: patch
Type: dev
Comment: Configuration change only

View File

@ -1,5 +0,0 @@
Significance: patch
Type: dev
Comment: Configuration change only

Some files were not shown because too many files have changed in this diff Show More