diff --git a/packages/js/components/changelog/add-36355_new_product_editor_package b/packages/js/components/changelog/add-36355_new_product_editor_package new file mode 100644 index 00000000000..19797698691 --- /dev/null +++ b/packages/js/components/changelog/add-36355_new_product_editor_package @@ -0,0 +1,4 @@ +Significance: minor +Type: update + +Move experimental product section components to @woocommerce/product-editor package. diff --git a/packages/js/components/src/index.ts b/packages/js/components/src/index.ts index f038899e38c..38816ca6c0f 100644 --- a/packages/js/components/src/index.ts +++ b/packages/js/components/src/index.ts @@ -88,10 +88,6 @@ export { createOrderedChildren, sortFillsByOrder } from './utils'; export { WooProductFieldItem as __experimentalWooProductFieldItem } from './woo-product-field-item'; export { WooProductSectionItem as __experimentalWooProductSectionItem } from './woo-product-section-item'; export { WooProductTabItem as __experimentalWooProductTabItem } from './woo-product-tab-item'; -export { - ProductSectionLayout as __experimentalProductSectionLayout, - ProductFieldSection as __experimentalProductFieldSection, -} from './product-section-layout'; export * from './product-fields'; export { SlotContextProvider, diff --git a/packages/js/components/src/style.scss b/packages/js/components/src/style.scss index 1f2c3be423e..a38163a2a32 100644 --- a/packages/js/components/src/style.scss +++ b/packages/js/components/src/style.scss @@ -56,5 +56,4 @@ @import 'tour-kit/style.scss'; @import 'collapsible-content/style.scss'; @import 'form/style.scss'; -@import 'product-section-layout/style.scss'; @import 'experimental-tree-control/tree.scss'; diff --git a/packages/js/dependency-extraction-webpack-plugin/assets/packages.js b/packages/js/dependency-extraction-webpack-plugin/assets/packages.js index 7f053d7acf2..42df69e8535 100644 --- a/packages/js/dependency-extraction-webpack-plugin/assets/packages.js +++ b/packages/js/dependency-extraction-webpack-plugin/assets/packages.js @@ -14,6 +14,7 @@ module.exports = [ '@woocommerce/navigation', '@woocommerce/notices', '@woocommerce/number', + '@woocommerce/product-editor', '@woocommerce/tracks', // wc-blocks packages '@woocommerce/blocks-checkout', diff --git a/packages/js/dependency-extraction-webpack-plugin/changelog/add-36355_new_product_editor_package b/packages/js/dependency-extraction-webpack-plugin/changelog/add-36355_new_product_editor_package new file mode 100644 index 00000000000..eb22e8071c4 --- /dev/null +++ b/packages/js/dependency-extraction-webpack-plugin/changelog/add-36355_new_product_editor_package @@ -0,0 +1,4 @@ +Significance: minor +Type: add + +Add @woocommerce/product-editor package to the packages list. diff --git a/packages/js/product-editor/.npmrc b/packages/js/product-editor/.npmrc new file mode 100644 index 00000000000..43c97e719a5 --- /dev/null +++ b/packages/js/product-editor/.npmrc @@ -0,0 +1 @@ +package-lock=false diff --git a/packages/js/product-editor/README.md b/packages/js/product-editor/README.md new file mode 100644 index 00000000000..ecbb246c040 --- /dev/null +++ b/packages/js/product-editor/README.md @@ -0,0 +1,11 @@ +# Product Editor + +A collection of WooCommerce Admin product editor components and utilities. + +## Installation + +Install the module + +```bash +pnpm install @woocommerce/product-editor --save +``` diff --git a/packages/js/product-editor/changelog/add-36355_new_product_editor_package b/packages/js/product-editor/changelog/add-36355_new_product_editor_package new file mode 100644 index 00000000000..e2ad0fa7059 --- /dev/null +++ b/packages/js/product-editor/changelog/add-36355_new_product_editor_package @@ -0,0 +1,4 @@ +Significance: minor +Type: add + +Adding initial build/package files for brand new package: @woocommere/product-editor. diff --git a/packages/js/product-editor/composer.json b/packages/js/product-editor/composer.json new file mode 100644 index 00000000000..84a7b3a254f --- /dev/null +++ b/packages/js/product-editor/composer.json @@ -0,0 +1,32 @@ +{ + "name": "woocommerce/product-editor", + "description": "WooCommerce Admin product editor component 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" + } + } +} diff --git a/packages/js/product-editor/composer.lock b/packages/js/product-editor/composer.lock new file mode 100644 index 00000000000..5aa2538970b --- /dev/null +++ b/packages/js/product-editor/composer.lock @@ -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": "36c31d66fa022c27e5bb2bf5db177a6b", + "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": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "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.27-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/v1.27.0" + }, + "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": "2022-11-03T14:55:06+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" +} diff --git a/packages/js/product-editor/package.json b/packages/js/product-editor/package.json new file mode 100644 index 00000000000..7e22fc72096 --- /dev/null +++ b/packages/js/product-editor/package.json @@ -0,0 +1,64 @@ +{ + "name": "@woocommerce/product-editor", + "version": "1.0.0-beta.0", + "description": "React components for the WooCommerce admin product editor.", + "author": "Automattic", + "license": "GPL-2.0-or-later", + "keywords": [ + "wordpress", + "woocommerce" + ], + "homepage": "https://github.com/woocommerce/woocommerce/tree/trunk/packages/js/product-editor/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" + ], + "publishConfig": { + "access": "public" + }, + "dependencies": { + "@woocommerce/components": "workspace:*", + "@wordpress/components": "^19.5.0", + "@wordpress/element": "^4.1.1" + }, + "devDependencies": { + "@types/wordpress__components": "^19.10.1", + "@woocommerce/eslint-plugin": "workspace:*", + "@woocommerce/internal-style-build": "workspace:*", + "@wordpress/browserslist-config": "^4.1.1", + "css-loader": "^3.6.0", + "eslint": "^8.12.0", + "jest": "^27.5.1", + "jest-cli": "^27.5.1", + "postcss-loader": "^3.0.0", + "sass-loader": "^10.2.1", + "ts-jest": "^27.1.3", + "typescript": "^4.8.3", + "webpack": "^5.70.0", + "webpack-cli": "^3.3.12" + }, + "scripts": { + "turbo:build": "pnpm run build:js && pnpm run build:css", + "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", + "lint": "eslint src", + "build:js": "tsc --build ./tsconfig.json ./tsconfig-cjs.json", + "build:css": "webpack", + "start": "concurrently \"tsc --build --watch\" \"webpack --watch\"", + "prepack": "pnpm run clean && pnpm run build", + "lint:fix": "eslint src --fix" + } +} diff --git a/packages/js/product-editor/src/index.ts b/packages/js/product-editor/src/index.ts new file mode 100644 index 00000000000..e38787183bf --- /dev/null +++ b/packages/js/product-editor/src/index.ts @@ -0,0 +1,4 @@ +export { + ProductSectionLayout as __experimentalProductSectionLayout, + ProductFieldSection as __experimentalProductFieldSection, +} from './product-section-layout'; diff --git a/packages/js/components/src/product-section-layout/index.ts b/packages/js/product-editor/src/product-section-layout/index.ts similarity index 100% rename from packages/js/components/src/product-section-layout/index.ts rename to packages/js/product-editor/src/product-section-layout/index.ts diff --git a/packages/js/components/src/product-section-layout/product-field-section.tsx b/packages/js/product-editor/src/product-section-layout/product-field-section.tsx similarity index 88% rename from packages/js/components/src/product-section-layout/product-field-section.tsx rename to packages/js/product-editor/src/product-section-layout/product-field-section.tsx index 5ae1d11b36c..f0dfb0133d4 100644 --- a/packages/js/components/src/product-section-layout/product-field-section.tsx +++ b/packages/js/product-editor/src/product-section-layout/product-field-section.tsx @@ -3,12 +3,12 @@ */ import { createElement } from '@wordpress/element'; import { Card, CardBody } from '@wordpress/components'; +import { __experimentalWooProductFieldItem as WooProductFieldItem } from '@woocommerce/components'; /** * Internal dependencies */ import { ProductSectionLayout } from './product-section-layout'; -import { WooProductFieldItem } from '../woo-product-field-item'; type ProductFieldSectionProps = { id: string; diff --git a/packages/js/components/src/product-section-layout/product-section-layout.tsx b/packages/js/product-editor/src/product-section-layout/product-section-layout.tsx similarity index 89% rename from packages/js/components/src/product-section-layout/product-section-layout.tsx rename to packages/js/product-editor/src/product-section-layout/product-section-layout.tsx index 5c80ab9e426..1a64941b85d 100644 --- a/packages/js/components/src/product-section-layout/product-section-layout.tsx +++ b/packages/js/product-editor/src/product-section-layout/product-section-layout.tsx @@ -2,11 +2,7 @@ * External dependencies */ import { Children, isValidElement, createElement } from '@wordpress/element'; - -/** - * Internal dependencies - */ -import { FormSection } from '../form-section'; +import { FormSection } from '@woocommerce/components'; type ProductSectionLayoutProps = { title: string; diff --git a/packages/js/components/src/product-section-layout/style.scss b/packages/js/product-editor/src/product-section-layout/style.scss similarity index 100% rename from packages/js/components/src/product-section-layout/style.scss rename to packages/js/product-editor/src/product-section-layout/style.scss diff --git a/packages/js/product-editor/src/style.scss b/packages/js/product-editor/src/style.scss new file mode 100644 index 00000000000..1e0e508f153 --- /dev/null +++ b/packages/js/product-editor/src/style.scss @@ -0,0 +1 @@ +@import 'product-section-layout/style.scss'; diff --git a/packages/js/product-editor/tsconfig-cjs.json b/packages/js/product-editor/tsconfig-cjs.json new file mode 100644 index 00000000000..035d2318baf --- /dev/null +++ b/packages/js/product-editor/tsconfig-cjs.json @@ -0,0 +1,6 @@ +{ + "extends": "../tsconfig-cjs", + "compilerOptions": { + "outDir": "build" + } +} diff --git a/packages/js/product-editor/tsconfig.json b/packages/js/product-editor/tsconfig.json new file mode 100644 index 00000000000..ea9f201d401 --- /dev/null +++ b/packages/js/product-editor/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../tsconfig", + "compilerOptions": { + "rootDir": "src", + "outDir": "build-module", + "declaration": true, + "declarationMap": true, + "declarationDir": "./build-types" + } +} diff --git a/packages/js/product-editor/webpack.config.js b/packages/js/product-editor/webpack.config.js new file mode 100644 index 00000000000..46a04612713 --- /dev/null +++ b/packages/js/product-editor/webpack.config.js @@ -0,0 +1,18 @@ +/** + * Internal dependencies + */ +const { webpackConfig } = require( '@woocommerce/internal-style-build' ); + +module.exports = { + mode: process.env.NODE_ENV || 'development', + entry: { + 'build-style': __dirname + '/src/style.scss', + }, + output: { + path: __dirname, + }, + module: { + rules: webpackConfig.rules, + }, + plugins: webpackConfig.plugins, +}; diff --git a/plugins/woocommerce-admin/client/products/fills/attributes-section/attributes-section-fills.tsx b/plugins/woocommerce-admin/client/products/fills/attributes-section/attributes-section-fills.tsx index 270e316d061..38822e65297 100644 --- a/plugins/woocommerce-admin/client/products/fills/attributes-section/attributes-section-fills.tsx +++ b/plugins/woocommerce-admin/client/products/fills/attributes-section/attributes-section-fills.tsx @@ -5,9 +5,9 @@ import { __ } from '@wordpress/i18n'; import { __experimentalWooProductSectionItem as WooProductSectionItem, __experimentalWooProductFieldItem as WooProductFieldItem, - __experimentalProductSectionLayout as ProductSectionLayout, Link, } from '@woocommerce/components'; +import { __experimentalProductSectionLayout as ProductSectionLayout } from '@woocommerce/product-editor'; import { recordEvent } from '@woocommerce/tracks'; /** diff --git a/plugins/woocommerce-admin/client/products/fills/details-section/details-section-fills.tsx b/plugins/woocommerce-admin/client/products/fills/details-section/details-section-fills.tsx index bfcfd642117..9bb7df9a001 100644 --- a/plugins/woocommerce-admin/client/products/fills/details-section/details-section-fills.tsx +++ b/plugins/woocommerce-admin/client/products/fills/details-section/details-section-fills.tsx @@ -5,8 +5,8 @@ import { __ } from '@wordpress/i18n'; import { __experimentalWooProductSectionItem as WooProductSectionItem, __experimentalWooProductFieldItem as WooProductFieldItem, - __experimentalProductFieldSection as ProductFieldSection, } from '@woocommerce/components'; +import { __experimentalProductFieldSection as ProductFieldSection } from '@woocommerce/product-editor'; /** * Internal dependencies diff --git a/plugins/woocommerce-admin/client/products/fills/images-section/images-section-fills.tsx b/plugins/woocommerce-admin/client/products/fills/images-section/images-section-fills.tsx index 6a9b88df499..685f27b821e 100644 --- a/plugins/woocommerce-admin/client/products/fills/images-section/images-section-fills.tsx +++ b/plugins/woocommerce-admin/client/products/fills/images-section/images-section-fills.tsx @@ -5,9 +5,9 @@ import { __ } from '@wordpress/i18n'; import { __experimentalWooProductSectionItem as WooProductSectionItem, __experimentalWooProductFieldItem as WooProductFieldItem, - __experimentalProductFieldSection as ProductFieldSection, Link, } from '@woocommerce/components'; +import { __experimentalProductFieldSection as ProductFieldSection } from '@woocommerce/product-editor'; import { recordEvent } from '@woocommerce/tracks'; /** diff --git a/plugins/woocommerce-admin/client/products/fills/inventory-section/inventory-section-fills.tsx b/plugins/woocommerce-admin/client/products/fills/inventory-section/inventory-section-fills.tsx index efcce2629ee..1f85d91780e 100644 --- a/plugins/woocommerce-admin/client/products/fills/inventory-section/inventory-section-fills.tsx +++ b/plugins/woocommerce-admin/client/products/fills/inventory-section/inventory-section-fills.tsx @@ -5,11 +5,11 @@ import { __ } from '@wordpress/i18n'; import { __experimentalWooProductSectionItem as WooProductSectionItem, __experimentalWooProductFieldItem as WooProductFieldItem, - __experimentalProductSectionLayout as ProductSectionLayout, Link, useFormContext, CollapsibleContent, } from '@woocommerce/components'; +import { __experimentalProductSectionLayout as ProductSectionLayout } from '@woocommerce/product-editor'; import { Card, CardBody } from '@wordpress/components'; import { recordEvent } from '@woocommerce/tracks'; import { getAdminLink } from '@woocommerce/settings'; diff --git a/plugins/woocommerce-admin/client/products/fills/pricing-section/pricing-section-fills.tsx b/plugins/woocommerce-admin/client/products/fills/pricing-section/pricing-section-fills.tsx index 24d9a10d21a..6329d7e19f9 100644 --- a/plugins/woocommerce-admin/client/products/fills/pricing-section/pricing-section-fills.tsx +++ b/plugins/woocommerce-admin/client/products/fills/pricing-section/pricing-section-fills.tsx @@ -5,11 +5,11 @@ import { __ } from '@wordpress/i18n'; import { __experimentalWooProductSectionItem as WooProductSectionItem, __experimentalWooProductFieldItem as WooProductFieldItem, - __experimentalProductSectionLayout as ProductSectionLayout, Link, useFormContext, CollapsibleContent, } from '@woocommerce/components'; +import { __experimentalProductSectionLayout as ProductSectionLayout } from '@woocommerce/product-editor'; import { recordEvent } from '@woocommerce/tracks'; import { Product } from '@woocommerce/data'; import { useContext } from '@wordpress/element'; diff --git a/plugins/woocommerce-admin/client/products/fills/product-form-api-section-fills.tsx b/plugins/woocommerce-admin/client/products/fills/product-form-api-section-fills.tsx index 6df4347e24f..7c1e68acef5 100644 --- a/plugins/woocommerce-admin/client/products/fills/product-form-api-section-fills.tsx +++ b/plugins/woocommerce-admin/client/products/fills/product-form-api-section-fills.tsx @@ -1,10 +1,9 @@ /** * External dependencies */ -import { - __experimentalWooProductSectionItem as WooProductSectionItem, - __experimentalProductFieldSection as ProductFieldSection, -} from '@woocommerce/components'; +import { __ } from '@wordpress/i18n'; +import { __experimentalWooProductSectionItem as WooProductSectionItem } from '@woocommerce/components'; +import { __experimentalProductFieldSection as ProductFieldSection } from '@woocommerce/product-editor'; import { ProductFormSection } from '@woocommerce/data'; export const Sections: React.FC< { sections: ProductFormSection[] } > = ( { diff --git a/plugins/woocommerce-admin/client/products/fills/shipping-section/shipping-section-fills.tsx b/plugins/woocommerce-admin/client/products/fills/shipping-section/shipping-section-fills.tsx index 27e8916a810..262d15b4e98 100644 --- a/plugins/woocommerce-admin/client/products/fills/shipping-section/shipping-section-fills.tsx +++ b/plugins/woocommerce-admin/client/products/fills/shipping-section/shipping-section-fills.tsx @@ -5,8 +5,8 @@ import { __ } from '@wordpress/i18n'; import { __experimentalWooProductSectionItem as WooProductSectionItem, __experimentalWooProductFieldItem as WooProductFieldItem, - __experimentalProductSectionLayout as ProductSectionLayout, } from '@woocommerce/components'; +import { __experimentalProductSectionLayout as ProductSectionLayout } from '@woocommerce/product-editor'; import { PartialProduct, OPTIONS_STORE_NAME } from '@woocommerce/data'; import { useSelect } from '@wordpress/data'; import { useState } from '@wordpress/element'; diff --git a/plugins/woocommerce-admin/package.json b/plugins/woocommerce-admin/package.json index 7671222bec5..49b527f4916 100644 --- a/plugins/woocommerce-admin/package.json +++ b/plugins/woocommerce-admin/package.json @@ -151,6 +151,7 @@ "@woocommerce/navigation": "workspace:*", "@woocommerce/notices": "workspace:*", "@woocommerce/number": "workspace:*", + "@woocommerce/product-editor": "workspace:*", "@woocommerce/onboarding": "workspace:*", "@woocommerce/tracks": "workspace:*", "@wordpress/babel-preset-default": "^6.5.1", diff --git a/plugins/woocommerce-admin/webpack.config.js b/plugins/woocommerce-admin/webpack.config.js index 00b70e43f47..258d7eaeae3 100644 --- a/plugins/woocommerce-admin/webpack.config.js +++ b/plugins/woocommerce-admin/webpack.config.js @@ -36,6 +36,7 @@ const wcAdminPackages = [ 'data', 'tracks', 'onboarding', + 'product-editor', ]; // wpAdminScripts are loaded on wp-admin pages outside the context of WooCommerce Admin // See ./client/wp-admin-scripts/README.md for more details diff --git a/plugins/woocommerce/changelog/add-36355_new_product_editor_package b/plugins/woocommerce/changelog/add-36355_new_product_editor_package new file mode 100644 index 00000000000..2287510a5c9 --- /dev/null +++ b/plugins/woocommerce/changelog/add-36355_new_product_editor_package @@ -0,0 +1,4 @@ +Significance: minor +Type: add + +Add @woocommerce/product-editor dependency and change dependency of ProductSectionLayout component. diff --git a/plugins/woocommerce/src/Internal/Admin/WCAdminAssets.php b/plugins/woocommerce/src/Internal/Admin/WCAdminAssets.php index bf8d399f47d..c2887a48356 100644 --- a/plugins/woocommerce/src/Internal/Admin/WCAdminAssets.php +++ b/plugins/woocommerce/src/Internal/Admin/WCAdminAssets.php @@ -263,6 +263,7 @@ class WCAdminAssets { 'wc-store-data', 'wc-currency', 'wc-navigation', + 'wc-product-editor', ); $scripts_map = array( @@ -311,6 +312,14 @@ class WCAdminAssets { ); wp_style_add_data( 'wc-components', 'rtl', 'replace' ); + wp_register_style( + 'wc-product-editor', + self::get_url( 'product-editor/style', 'css' ), + array(), + $css_file_version + ); + wp_style_add_data( 'wc-product-editor', 'rtl', 'replace' ); + wp_register_style( 'wc-customer-effort-score', self::get_url( 'customer-effort-score/style', 'css' ), @@ -339,7 +348,7 @@ class WCAdminAssets { wp_register_style( WC_ADMIN_APP, self::get_url( 'app/style', 'css' ), - array( 'wc-components', 'wc-customer-effort-score', 'wp-components', 'wc-experimental' ), + array( 'wc-components', 'wc-customer-effort-score', 'wc-product-editor', 'wp-components', 'wc-experimental' ), $css_file_version ); wp_style_add_data( WC_ADMIN_APP, 'rtl', 'replace' ); @@ -370,6 +379,7 @@ class WCAdminAssets { 'wc-date', 'wc-components', 'wc-tracks', + 'wc-product-editor', ]; foreach ( $handles_for_injection as $handle ) { $script = wp_scripts()->query( $handle, 'registered' ); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75891be5b4e..3f668e27b27 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1289,6 +1289,45 @@ importers: webpack: 5.70.0_webpack-cli@3.3.12 webpack-cli: 3.3.12_webpack@5.70.0 + packages/js/product-editor: + specifiers: + '@types/wordpress__components': ^19.10.1 + '@woocommerce/components': workspace:* + '@woocommerce/eslint-plugin': workspace:* + '@woocommerce/internal-style-build': workspace:* + '@wordpress/browserslist-config': ^4.1.1 + '@wordpress/components': ^19.5.0 + '@wordpress/element': ^4.1.1 + css-loader: ^3.6.0 + eslint: ^8.12.0 + jest: ^27.5.1 + jest-cli: ^27.5.1 + postcss-loader: ^3.0.0 + sass-loader: ^10.2.1 + ts-jest: ^27.1.3 + typescript: ^4.8.3 + webpack: ^5.70.0 + webpack-cli: ^3.3.12 + dependencies: + '@woocommerce/components': link:../components + '@wordpress/components': 19.12.0_rysvg2ttzfworbkpz2ftlx73d4 + '@wordpress/element': 4.20.0 + devDependencies: + '@types/wordpress__components': 19.10.1_prpqlkd37azqwypxturxi7uyci + '@woocommerce/eslint-plugin': link:../eslint-plugin + '@woocommerce/internal-style-build': link:../internal-style-build + '@wordpress/browserslist-config': 4.1.3 + css-loader: 3.6.0_webpack@5.70.0 + eslint: 8.28.0 + jest: 27.5.1 + jest-cli: 27.5.1 + postcss-loader: 3.0.0 + sass-loader: 10.2.1_webpack@5.70.0 + ts-jest: 27.1.3_77oryishcckaigojnzbhxsiona + typescript: 4.8.4 + webpack: 5.70.0_webpack-cli@3.3.12 + webpack-cli: 3.3.12_webpack@5.70.0 + packages/js/tracks: specifiers: '@babel/core': ^7.17.5 @@ -1474,6 +1513,7 @@ importers: '@woocommerce/notices': workspace:* '@woocommerce/number': workspace:* '@woocommerce/onboarding': workspace:* + '@woocommerce/product-editor': workspace:* '@woocommerce/tracks': workspace:* '@wordpress/a11y': ^3.5.0 '@wordpress/api-fetch': ^6.0.1 @@ -1689,6 +1729,7 @@ importers: '@woocommerce/notices': link:../../packages/js/notices '@woocommerce/number': link:../../packages/js/number '@woocommerce/onboarding': link:../../packages/js/onboarding + '@woocommerce/product-editor': link:../../packages/js/product-editor '@woocommerce/tracks': link:../../packages/js/tracks '@wordpress/babel-preset-default': 6.6.1 '@wordpress/block-editor': 9.8.0_vcke6catv4iqpjdw24uwvlzyyi @@ -4094,7 +4135,7 @@ packages: '@babel/core': 7.12.9 '@babel/helper-annotate-as-pure': 7.16.7 '@babel/helper-create-class-features-plugin': 7.17.6_@babel+core@7.12.9 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-plugin-utils': 7.18.9 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.12.9 transitivePeerDependencies: - supports-color @@ -4109,7 +4150,7 @@ packages: '@babel/core': 7.16.12 '@babel/helper-annotate-as-pure': 7.16.7 '@babel/helper-create-class-features-plugin': 7.17.6_@babel+core@7.16.12 - '@babel/helper-plugin-utils': 7.19.0 + '@babel/helper-plugin-utils': 7.18.9 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.16.12 transitivePeerDependencies: - supports-color @@ -7495,7 +7536,7 @@ packages: resolution: {integrity: sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==} dependencies: '@emotion/memoize': 0.7.5 - '@emotion/sheet': 1.1.0 + '@emotion/sheet': 1.2.1 '@emotion/utils': 1.2.0 '@emotion/weak-memoize': 0.2.5 stylis: 4.0.13 @@ -7533,7 +7574,7 @@ packages: '@emotion/babel-plugin': 11.10.5_@babel+core@7.17.8 '@emotion/cache': 11.10.5 '@emotion/serialize': 1.1.1 - '@emotion/sheet': 1.1.0 + '@emotion/sheet': 1.2.1 '@emotion/utils': 1.2.0 /@emotion/hash/0.8.0: @@ -7664,9 +7705,6 @@ packages: /@emotion/sheet/0.9.4: resolution: {integrity: sha512-zM9PFmgVSqBw4zL101Q0HrBVTGmpAxFZH/pYx/cjJT5advXguvcgjHFTCaIO3enL/xr89vK2bh0Mfyj9aa0ANA==} - /@emotion/sheet/1.1.0: - resolution: {integrity: sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g==} - /@emotion/sheet/1.2.1: resolution: {integrity: sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==} @@ -7812,8 +7850,8 @@ packages: dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.4.0 - globals: 13.17.0 + espree: 9.4.1 + globals: 13.18.0 ignore: 4.0.6 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -7829,8 +7867,8 @@ packages: dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.4.0 - globals: 13.17.0 + espree: 9.4.1 + globals: 13.18.0 ignore: 5.2.0 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -7896,6 +7934,20 @@ packages: - '@types/react' dev: false + /@floating-ui/react-dom/0.6.3_prpqlkd37azqwypxturxi7uyci: + resolution: {integrity: sha512-hC+pS5D6AgS2wWjbmSQ6UR6Kpy+drvWGJIri6e1EDGADTPsCaa4KzCgmCczHrQeInx9tqs81EyDmbKJYY2swKg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/dom': 0.4.5 + react: 17.0.2 + react-dom: 16.14.0_react@17.0.2 + use-isomorphic-layout-effect: 1.1.1_react@17.0.2 + transitivePeerDependencies: + - '@types/react' + dev: false + /@floating-ui/react-dom/1.0.0_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-uiOalFKPG937UCLm42RxjESTWUVpbbatvlphQAU6bsv+ence6IoVG8JOUZcy8eW81NkU+Idiwvx10WFLmR4MIg==} peerDependencies: @@ -8206,7 +8258,7 @@ packages: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 17.0.21 + '@types/node': 18.11.18 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 @@ -8792,7 +8844,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.3 '@types/istanbul-reports': 3.0.1 - '@types/node': 17.0.21 + '@types/node': 18.11.18 '@types/yargs': 16.0.4 chalk: 4.1.2 @@ -15473,6 +15525,60 @@ packages: - react-with-direction dev: false + /@wordpress/components/19.12.0_rysvg2ttzfworbkpz2ftlx73d4: + resolution: {integrity: sha512-Ac1+aIMM7NDgN3G7i5kcaETSvZfeqB4U6PubApPmM6FdBF5VfkYUZeqNcC7cuJdveyokRrqHg11/l+DcJGA7/g==} + engines: {node: '>=12'} + peerDependencies: + react: ^17.0.0 + react-dom: ^17.0.0 + dependencies: + '@babel/runtime': 7.19.0 + '@emotion/cache': 11.10.5 + '@emotion/css': 11.7.1_@babel+core@7.17.8 + '@emotion/react': 11.10.5_mcptgafjogap2nfvnfqvfwh6uu + '@emotion/serialize': 1.1.1 + '@emotion/styled': 11.8.1_c2qm47vaialpqni522adyu6za4 + '@emotion/utils': 1.0.0 + '@floating-ui/react-dom': 0.6.3_prpqlkd37azqwypxturxi7uyci + '@use-gesture/react': 10.2.10_react@17.0.2 + '@wordpress/a11y': 3.19.0 + '@wordpress/compose': 5.17.0_react@17.0.2 + '@wordpress/date': 4.19.0 + '@wordpress/deprecated': 3.19.0 + '@wordpress/dom': 3.19.0 + '@wordpress/element': 4.20.0 + '@wordpress/escape-html': 2.22.0 + '@wordpress/hooks': 3.19.0 + '@wordpress/i18n': 4.19.0 + '@wordpress/icons': 9.10.0 + '@wordpress/is-shallow-equal': 4.19.0 + '@wordpress/keycodes': 3.19.0 + '@wordpress/primitives': 3.17.0 + '@wordpress/rich-text': 5.17.0_react@17.0.2 + '@wordpress/warning': 2.19.0 + classnames: 2.3.1 + colord: 2.9.2 + dom-scroll-into-view: 1.2.1 + downshift: 6.1.12_react@17.0.2 + framer-motion: 6.2.8_prpqlkd37azqwypxturxi7uyci + gradient-parser: 0.1.5 + highlight-words-core: 1.2.2 + lodash: 4.17.21 + memize: 1.1.0 + moment: 2.29.1 + re-resizable: 6.9.5_prpqlkd37azqwypxturxi7uyci + react: 17.0.2 + react-colorful: 5.5.1_prpqlkd37azqwypxturxi7uyci + react-dates: 21.8.0_itvjtpkzdblwka3tnmrs5t5e6y + react-dom: 16.14.0_react@17.0.2 + reakit: 1.3.11_prpqlkd37azqwypxturxi7uyci + uuid: 8.3.2 + transitivePeerDependencies: + - '@babel/core' + - '@types/react' + - react-with-direction + dev: false + /@wordpress/components/19.12.0_tufdcic6wklrwyy3rhbsbktylu: resolution: {integrity: sha512-Ac1+aIMM7NDgN3G7i5kcaETSvZfeqB4U6PubApPmM6FdBF5VfkYUZeqNcC7cuJdveyokRrqHg11/l+DcJGA7/g==} engines: {node: '>=12'} @@ -16302,7 +16408,7 @@ packages: '@babel/runtime': 7.19.0 '@types/react': 16.14.31 '@types/react-dom': 16.9.16 - '@wordpress/escape-html': 2.19.0 + '@wordpress/escape-html': 2.22.0 lodash: 4.17.21 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 @@ -16366,12 +16472,6 @@ packages: '@babel/runtime': 7.19.0 dev: false - /@wordpress/escape-html/2.19.0: - resolution: {integrity: sha512-pBMuDDaV15SGXNu4cSu1pYiavkcx1rCBOuzGTSJ/WYLAC+K6PK+1lacPsPajVqnm2LLeKkNG4b9yn3PSZlbCww==} - engines: {node: '>=12'} - dependencies: - '@babel/runtime': 7.19.0 - /@wordpress/escape-html/2.22.0: resolution: {integrity: sha512-GUo6VLugIZxen1rdYuotvz6Vqa+5fNtVelNjXLwDqRu0iY2RXeoTux9V5bZWXPnGb54ryqfYmR4gH6F8xZhWzQ==} engines: {node: '>=12'} @@ -17226,7 +17326,7 @@ packages: '@wordpress/compose': 5.17.0_react@17.0.2 '@wordpress/data': 6.15.0_react@17.0.2 '@wordpress/element': 4.20.0 - '@wordpress/escape-html': 2.19.0 + '@wordpress/escape-html': 2.22.0 '@wordpress/i18n': 4.19.0 '@wordpress/keycodes': 3.19.0 lodash: 4.17.21 @@ -17745,13 +17845,6 @@ packages: acorn: 8.7.0 dev: true - /acorn-jsx/5.3.2_acorn@8.8.0: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.8.0 - /acorn-jsx/5.3.2_acorn@8.8.1: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -17792,11 +17885,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - /acorn/8.8.0: - resolution: {integrity: sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==} - engines: {node: '>=0.4.0'} - hasBin: true - /acorn/8.8.1: resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} engines: {node: '>=0.4.0'} @@ -24083,8 +24171,8 @@ packages: resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.8.0 - acorn-jsx: 5.3.2_acorn@8.8.0 + acorn: 8.8.1 + acorn-jsx: 5.3.2_acorn@8.8.1 eslint-visitor-keys: 3.3.0 /espree/9.4.1: @@ -25944,7 +26032,7 @@ packages: dev: true /good-listener/1.2.2: - resolution: {integrity: sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=} + resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==} dependencies: delegate: 3.2.0 @@ -26965,7 +27053,7 @@ packages: dev: true /import-cwd/2.1.0: - resolution: {integrity: sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=} + resolution: {integrity: sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==} engines: {node: '>=4'} dependencies: import-from: 2.1.0 @@ -26985,7 +27073,7 @@ packages: resolve-from: 4.0.0 /import-from/2.1.0: - resolution: {integrity: sha1-M1238qev/VOqpHHUuAId7ja387E=} + resolution: {integrity: sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==} engines: {node: '>=4'} dependencies: resolve-from: 3.0.0 @@ -27514,7 +27602,7 @@ packages: dev: true /is-path-inside/1.0.1: - resolution: {integrity: sha1-jvW33lBDej/cprToZe96pVy0gDY=} + resolution: {integrity: sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==} engines: {node: '>=0.10.0'} dependencies: path-is-inside: 1.0.2 @@ -31187,11 +31275,11 @@ packages: dev: true /memory-fs/0.2.0: - resolution: {integrity: sha1-8rslNovBIeORwlIN6Slpyu4KApA=} + resolution: {integrity: sha512-+y4mDxU4rvXXu5UDSGCGNiesFmwCHuefGMoPCO1WYucNYj7DsLqrFaa2fXVI0H+NNiPTwwzKwspn9yTZqUGqng==} dev: true /memory-fs/0.4.1: - resolution: {integrity: sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=} + resolution: {integrity: sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==} dependencies: errno: 0.1.8 readable-stream: 2.3.7 @@ -34665,7 +34753,7 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} /prr/1.0.1: - resolution: {integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY=} + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} /pseudomap/1.0.2: resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} @@ -35129,6 +35217,36 @@ packages: react-with-styles-interface-css: 6.0.0_u5gvwsivijvqc4cln26hqg7igq dev: false + /react-dates/21.8.0_itvjtpkzdblwka3tnmrs5t5e6y: + resolution: {integrity: sha512-PPriGqi30CtzZmoHiGdhlA++YPYPYGCZrhydYmXXQ6RAvAsaONcPtYgXRTLozIOrsQ5mSo40+DiA5eOFHnZ6xw==} + peerDependencies: + '@babel/runtime': ^7.0.0 + moment: ^2.18.1 + react: ^0.14 || ^15.5.4 || ^16.1.1 + react-dom: ^0.14 || ^15.5.4 || ^16.1.1 + react-with-direction: ^1.3.1 + dependencies: + '@babel/runtime': 7.19.0 + airbnb-prop-types: 2.16.0_react@17.0.2 + consolidated-events: 2.0.2 + enzyme-shallow-equal: 1.0.4 + is-touch-device: 1.0.1 + lodash: 4.17.21 + moment: 2.29.1 + object.assign: 4.1.4 + object.values: 1.1.5 + prop-types: 15.8.1 + raf: 3.4.1 + react: 17.0.2 + react-dom: 16.14.0_react@17.0.2 + react-moment-proptypes: 1.8.1_moment@2.29.1 + react-outside-click-handler: 1.3.0_prpqlkd37azqwypxturxi7uyci + react-portal: 4.2.1_prpqlkd37azqwypxturxi7uyci + react-with-direction: 1.4.0_prpqlkd37azqwypxturxi7uyci + react-with-styles: 4.2.0_tzgwoaxjvs23ve2qhnwxwqxt3e + react-with-styles-interface-css: 6.0.0_sjrqpgd5uboanyy2xkv2xcu6vm + dev: false + /react-dates/21.8.0_ruqm5uqcpfavftrrblmrkdsf44: resolution: {integrity: sha512-PPriGqi30CtzZmoHiGdhlA++YPYPYGCZrhydYmXXQ6RAvAsaONcPtYgXRTLozIOrsQ5mSo40+DiA5eOFHnZ6xw==} peerDependencies: @@ -35145,7 +35263,7 @@ packages: is-touch-device: 1.0.1 lodash: 4.17.21 moment: 2.29.1 - object.assign: 4.1.2 + object.assign: 4.1.4 object.values: 1.1.5 prop-types: 15.8.1 raf: 3.4.1 @@ -35755,6 +35873,24 @@ packages: react-dom: 17.0.2_react@17.0.2 dev: false + /react-with-direction/1.4.0_prpqlkd37azqwypxturxi7uyci: + resolution: {integrity: sha512-ybHNPiAmaJpoWwugwqry9Hd1Irl2hnNXlo/2SXQBwbLn/jGMauMS2y9jw+ydyX5V9ICryCqObNSthNt5R94xpg==} + peerDependencies: + react: ^0.14 || ^15 || ^16 + react-dom: ^0.14 || ^15 || ^16 + dependencies: + airbnb-prop-types: 2.16.0_react@17.0.2 + brcast: 2.0.2 + deepmerge: 1.5.2 + direction: 1.0.4 + hoist-non-react-statics: 3.3.2 + object.assign: 4.1.4 + object.values: 1.1.5 + prop-types: 15.8.1 + react: 17.0.2 + react-dom: 16.14.0_react@17.0.2 + dev: false + /react-with-direction/1.4.0_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-ybHNPiAmaJpoWwugwqry9Hd1Irl2hnNXlo/2SXQBwbLn/jGMauMS2y9jw+ydyX5V9ICryCqObNSthNt5R94xpg==} peerDependencies: @@ -35833,7 +35969,7 @@ packages: object.assign: 4.1.4 prop-types: 15.8.1 react: 17.0.2 - react-with-direction: 1.4.0_sfoxds7t5ydpegc3knd667wn6m + react-with-direction: 1.4.0_prpqlkd37azqwypxturxi7uyci dev: false /react-with-styles/4.2.0_vnnik6nzwz6bu5mwl5zhriyd4i: @@ -37039,7 +37175,7 @@ packages: dev: false /select/1.1.2: - resolution: {integrity: sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=} + resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==} /semver-diff/2.1.0: resolution: {integrity: sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=} @@ -40145,7 +40281,6 @@ packages: optional: true dependencies: react: 17.0.2 - dev: true /use-latest/1.2.0_pxzommwrsowkd4kgag6q3sluym: resolution: {integrity: sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==}