From f4890f906ddbba1eacfd686181b43b3ba5cb2102 Mon Sep 17 00:00:00 2001 From: Adnan Haque Date: Thu, 5 Jan 2023 12:20:25 +0600 Subject: [PATCH 01/17] Boost: Add tracks events for errors (#28068) * Track errors on speed score request failure * Update speed_score_request_error tracks props for consistancy * changelog --- .../app/assets/src/js/pages/settings/sections/Score.svelte | 5 +++++ projects/plugins/boost/changelog/add-error-tracks | 4 ++++ 2 files changed, 9 insertions(+) create mode 100644 projects/plugins/boost/changelog/add-error-tracks diff --git a/projects/plugins/boost/app/assets/src/js/pages/settings/sections/Score.svelte b/projects/plugins/boost/app/assets/src/js/pages/settings/sections/Score.svelte index d1b2a81e9c073..25032d375bead 100644 --- a/projects/plugins/boost/app/assets/src/js/pages/settings/sections/Score.svelte +++ b/projects/plugins/boost/app/assets/src/js/pages/settings/sections/Score.svelte @@ -14,6 +14,8 @@ import ComputerIcon from '../../../svg/computer.svg'; import MobileIcon from '../../../svg/mobile.svg'; import RefreshIcon from '../../../svg/refresh.svg'; + import { recordBoostEvent } from '../../../utils/analytics'; + import { castToString } from '../../../utils/cast-to-string'; import debounce from '../../../utils/debounce'; import PopOut from '../elements/PopOut.svelte'; import ScoreBar from '../elements/ScoreBar.svelte'; @@ -82,6 +84,9 @@ showPrevScores = didScoresChange( $scores ) && ! $scores.isStale; currentScoreConfigString = $scoreConfigString; } catch ( err ) { + recordBoostEvent( 'speed_score_request_error', { + error_message: castToString( err.message ), + } ); // eslint-disable-next-line no-console console.log( err ); loadError = err; diff --git a/projects/plugins/boost/changelog/add-error-tracks b/projects/plugins/boost/changelog/add-error-tracks new file mode 100644 index 0000000000000..ff578e71318f9 --- /dev/null +++ b/projects/plugins/boost/changelog/add-error-tracks @@ -0,0 +1,4 @@ +Significance: patch +Type: added + +Added tracking when speed score request fails From a2f421c84e9d5014ea46a6cc1f5397470fe94ba8 Mon Sep 17 00:00:00 2001 From: Jeremy Herve Date: Thu, 5 Jan 2023 09:50:27 +0100 Subject: [PATCH 02/17] Blaze: only enqueue script in post editor (#28187) --- .../blaze/changelog/fix-fatal-site-editor-blaze | 4 ++++ projects/packages/blaze/src/class-blaze.php | 15 +++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 projects/packages/blaze/changelog/fix-fatal-site-editor-blaze diff --git a/projects/packages/blaze/changelog/fix-fatal-site-editor-blaze b/projects/packages/blaze/changelog/fix-fatal-site-editor-blaze new file mode 100644 index 0000000000000..52122a7719f39 --- /dev/null +++ b/projects/packages/blaze/changelog/fix-fatal-site-editor-blaze @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +Do not load the Blaze panel in the site editor or the widget editor. diff --git a/projects/packages/blaze/src/class-blaze.php b/projects/packages/blaze/src/class-blaze.php index 25b4406b8aabd..49a094ab16e9f 100644 --- a/projects/packages/blaze/src/class-blaze.php +++ b/projects/packages/blaze/src/class-blaze.php @@ -43,7 +43,7 @@ public function register() { if ( ! did_action( 'jetpack_on_blaze_init' ) ) { if ( self::should_initialize() ) { add_filter( 'post_row_actions', array( $this, 'jetpack_blaze_row_action' ), 10, 2 ); - add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_block_editor_assets' ) ); + add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_block_editor_assets' ) ); } /** @@ -133,8 +133,19 @@ public function jetpack_blaze_row_action( $post_actions, $post ) { /** * Enqueue block editor assets. + * + * @param string $hook The current admin page. */ - public function enqueue_block_editor_assets() { + public function enqueue_block_editor_assets( $hook ) { + /* + * We do not want (nor need) Blaze in the site editor or the widget editor, only in the post editor. + * Enqueueing the script in those editors would cause a fatal error. + * See #20357 for more info. + */ + if ( ! in_array( $hook, array( 'post.php', 'post-new.php' ), true ) ) { + return; + } + Assets::register_script( 'jetpack-promote-editor', '../build/editor.js', From 0c349c96d3b3b8e352c817f3a97e14218e0aa6f9 Mon Sep 17 00:00:00 2001 From: Adnan Haque Date: Thu, 5 Jan 2023 17:04:14 +0600 Subject: [PATCH 03/17] [Image Guide] Fix image guide prepare script (#28186) * Fix prepare script * changelog --- .../js-packages/image-guide/changelog/fix-image-guide-prepare | 4 ++++ projects/js-packages/image-guide/package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 projects/js-packages/image-guide/changelog/fix-image-guide-prepare diff --git a/projects/js-packages/image-guide/changelog/fix-image-guide-prepare b/projects/js-packages/image-guide/changelog/fix-image-guide-prepare new file mode 100644 index 0000000000000..d233588d65328 --- /dev/null +++ b/projects/js-packages/image-guide/changelog/fix-image-guide-prepare @@ -0,0 +1,4 @@ +Significance: patch +Type: added + +Fixed an issue that would break the release process diff --git a/projects/js-packages/image-guide/package.json b/projects/js-packages/image-guide/package.json index a5294754439f4..e7c547826ef3b 100644 --- a/projects/js-packages/image-guide/package.json +++ b/projects/js-packages/image-guide/package.json @@ -15,7 +15,7 @@ "license": "GPL-2.0-or-later", "author": "Automattic", "scripts": { - "prepare": "pnpm build", + "prepare": "[ -e ./build/index.js ] || pnpm build", "build": "tsc", "clean": "rm -rf build/", "watch": "pnpm run build && pnpm webpack watch", From 24bdf83816007bde17a802bbe79a50f1caa3d41b Mon Sep 17 00:00:00 2001 From: Peter Petrov Date: Thu, 5 Jan 2023 15:41:02 +0200 Subject: [PATCH 04/17] [Boost] Run page speed locally (#28149) * Update Speed_Score_Request to use Boost_API client This will allow speed scores requests to be mocked easily. * changelog --- .../speed-score/Speed_Score_Request.php | 22 ++++++++----------- ...ate-boost-allow-running-page-speed-locally | 4 ++++ 2 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 projects/plugins/boost/changelog/update-boost-allow-running-page-speed-locally diff --git a/projects/plugins/boost/app/features/speed-score/Speed_Score_Request.php b/projects/plugins/boost/app/features/speed-score/Speed_Score_Request.php index c725aa6a2df59..3e0d7bb665455 100644 --- a/projects/plugins/boost/app/features/speed-score/Speed_Score_Request.php +++ b/projects/plugins/boost/app/features/speed-score/Speed_Score_Request.php @@ -9,9 +9,9 @@ namespace Automattic\Jetpack_Boost\Features\Speed_Score; +use Automattic\Jetpack_Boost\Lib\Boost_API; use Automattic\Jetpack_Boost\Lib\Cacheable; use Automattic\Jetpack_Boost\Lib\Url; -use Automattic\Jetpack_Boost\Lib\Utils; /** * Class Speed_Score_Request @@ -153,12 +153,8 @@ protected static function cache_prefix() { * @return true|\WP_Error True on success, WP_Error on failure. */ public function execute() { - $blog_id = (int) \Jetpack_Options::get_option( 'id' ); - - $response = Utils::send_wpcom_request( - 'POST', - sprintf( '/sites/%d/jetpack-boost/speed-scores', $blog_id ), - null, + $response = $this->get_client()->post( + 'speed-scores', array( 'request_id' => $this->get_cache_id(), 'url' => Url::normalize( $this->url ), @@ -204,13 +200,9 @@ public function is_success() { * @return true|\WP_Error True on success, WP_Error on failure. */ public function poll_update() { - $blog_id = (int) \Jetpack_Options::get_option( 'id' ); - - $response = Utils::send_wpcom_request( - 'GET', + $response = $this->get_client()->get( sprintf( - '/sites/%d/jetpack-boost/speed-scores/%s', - $blog_id, + 'speed-scores/%s', $this->get_cache_id() ) ); @@ -310,4 +302,8 @@ private function record_history( $response ) { ); } } + + private function get_client() { + return Boost_API::get_client(); + } } diff --git a/projects/plugins/boost/changelog/update-boost-allow-running-page-speed-locally b/projects/plugins/boost/changelog/update-boost-allow-running-page-speed-locally new file mode 100644 index 0000000000000..19c20718cbd47 --- /dev/null +++ b/projects/plugins/boost/changelog/update-boost-allow-running-page-speed-locally @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Update Speed_Score_Request to use Boost_API client, which will allow mocking requests to wp.com easier. From 5e3d04a31e036cbcb2b2abcd52bafaf1127d7ccf Mon Sep 17 00:00:00 2001 From: Karen Attfield Date: Thu, 5 Jan 2023 14:18:42 +0000 Subject: [PATCH 05/17] Tiled Gallery block: Adding styles to squareish tiled gallery images on WoA sites (#27858) --- .../changelog/fix-woa-squarish-tiled-galleries | 4 ++++ .../blocks/tiled-gallery/tiled-gallery.php | 16 ++++++++++++++++ .../tiled-gallery/tiled-gallery/squareish.css | 3 +++ 3 files changed, 23 insertions(+) create mode 100644 projects/plugins/jetpack/changelog/fix-woa-squarish-tiled-galleries create mode 100644 projects/plugins/jetpack/modules/tiled-gallery/tiled-gallery/squareish.css diff --git a/projects/plugins/jetpack/changelog/fix-woa-squarish-tiled-galleries b/projects/plugins/jetpack/changelog/fix-woa-squarish-tiled-galleries new file mode 100644 index 0000000000000..f60a781f26590 --- /dev/null +++ b/projects/plugins/jetpack/changelog/fix-woa-squarish-tiled-galleries @@ -0,0 +1,4 @@ +Significance: patch +Type: bugfix + +Tiled Gallery block: Ensuring localhost and WoA sites with squareish gallery images display those images with correct aspect ratios. diff --git a/projects/plugins/jetpack/extensions/blocks/tiled-gallery/tiled-gallery.php b/projects/plugins/jetpack/extensions/blocks/tiled-gallery/tiled-gallery.php index 183ed0b09dfdc..3b3db9a4793c2 100644 --- a/projects/plugins/jetpack/extensions/blocks/tiled-gallery/tiled-gallery.php +++ b/projects/plugins/jetpack/extensions/blocks/tiled-gallery/tiled-gallery.php @@ -12,6 +12,7 @@ use Automattic\Jetpack\Blocks; use Automattic\Jetpack\Status; +use Automattic\Jetpack\Status\Host; use Jetpack; use Jetpack_Gutenberg; use Jetpack_Plan; @@ -184,6 +185,21 @@ private static function is_squareish_layout( $attr ) { || 'is-style-circle' === $attr['className'] ); } + + /** + * Adds an equal aspect ratio to squareish (square and circular) tiled gallery images on WoA sites. + * + * Without this, these images in newly added tiled galleries on private WoA sites + * (and public if broken on the private sites) have un-equal spect ratios. + */ + public static function add_woa_squareish_styles() { + $is_atomic_site = ( new Host() )->is_woa_site(); + $status = new Status(); + if ( $is_atomic_site || $status->is_local_site() ) { + wp_enqueue_style( 'jetpack-squareish-tiled-gallery-styles', plugins_url( 'modules/tiled-gallery/tiled-gallery/squareish.css', JETPACK__PLUGIN_FILE ), array(), JETPACK__VERSION ); + } + } } Tiled_Gallery::register(); +Tiled_Gallery::add_woa_squareish_styles(); diff --git a/projects/plugins/jetpack/modules/tiled-gallery/tiled-gallery/squareish.css b/projects/plugins/jetpack/modules/tiled-gallery/tiled-gallery/squareish.css new file mode 100644 index 0000000000000..ce912d8e0d7a2 --- /dev/null +++ b/projects/plugins/jetpack/modules/tiled-gallery/tiled-gallery/squareish.css @@ -0,0 +1,3 @@ +.wp-block-jetpack-tiled-gallery.is-style-square img, .wp-block-jetpack-tiled-gallery.is-style-circle img { + aspect-ratio: 1/1; +} \ No newline at end of file From 53cb0f4438783da8f8526c3d37dd547c6025fe1b Mon Sep 17 00:00:00 2001 From: Jason Johnston Date: Thu, 5 Jan 2023 10:42:58 -0500 Subject: [PATCH 06/17] [RNMobile] Add React Native friendly entry points for a few packages (#28154) * Add react-native friendly entry points * Add changelogs * Add newlines * Update package versions Co-authored-by: jhnstn Co-authored-by: Jeremy Herve --- projects/js-packages/config/changelog/fix-react-native-build | 5 +++++ projects/js-packages/config/package.json | 3 ++- .../js-packages/connection/changelog/fix-react-native-build | 5 +++++ projects/js-packages/connection/index.native.js | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 projects/js-packages/config/changelog/fix-react-native-build create mode 100644 projects/js-packages/connection/changelog/fix-react-native-build create mode 100644 projects/js-packages/connection/index.native.js diff --git a/projects/js-packages/config/changelog/fix-react-native-build b/projects/js-packages/config/changelog/fix-react-native-build new file mode 100644 index 0000000000000..4c471d8912c65 --- /dev/null +++ b/projects/js-packages/config/changelog/fix-react-native-build @@ -0,0 +1,5 @@ +Significance: patch +Type: fixed + +Config: Metro JS cannot resolve `./src/index.sj` without adding the path as the `main` property in package.json + diff --git a/projects/js-packages/config/package.json b/projects/js-packages/config/package.json index 487df7526a7cc..6aa2155b51205 100644 --- a/projects/js-packages/config/package.json +++ b/projects/js-packages/config/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@automattic/jetpack-config", - "version": "0.1.16", + "version": "0.1.17-alpha", "description": "Handles Jetpack global configuration shared across all packages", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/config/#readme", "bugs": { @@ -29,5 +29,6 @@ "exports": { ".": "./src/index.js" }, + "main": "./src/index.js", "dependencies": {} } diff --git a/projects/js-packages/connection/changelog/fix-react-native-build b/projects/js-packages/connection/changelog/fix-react-native-build new file mode 100644 index 0000000000000..0776b3384fdb7 --- /dev/null +++ b/projects/js-packages/connection/changelog/fix-react-native-build @@ -0,0 +1,5 @@ +Significance: patch +Type: fixed + +Connection: Metro JS is unable to build the component SCSS files. Adding a native index file to only export the modules required for the mobile editor build. + diff --git a/projects/js-packages/connection/index.native.js b/projects/js-packages/connection/index.native.js new file mode 100644 index 0000000000000..93b3307e9a081 --- /dev/null +++ b/projects/js-packages/connection/index.native.js @@ -0,0 +1 @@ +export { default as useConnection } from './components/use-connection'; From de99df7999fa64986f1259221c990b8f540fc5cc Mon Sep 17 00:00:00 2001 From: Rafael Agostini Date: Thu, 5 Jan 2023 11:09:19 -0500 Subject: [PATCH 07/17] Backup: Setup JS unit testing (#28130) * Add jest and testing library to backup package * Add basic reducers tests * Add some selectors tests * Add some test scenarios for useBackupsState * changelog * Update pnpm-lock.yaml * Update backup package version to 1.10.7-alpha * Update composer.lock to include `pnpm run test` for backup package * Update pnpm-lock.yaml * Refactor test/api.js to use it.each() --- pnpm-lock.yaml | 774 +++++------------- .../changelog/add-backup-package-js-tests | 4 + projects/packages/backup/composer.json | 3 + projects/packages/backup/package.json | 8 + .../src/js/hooks/test/useBackupsState.js | 100 +++ .../backup/src/js/hooks/useBackupsState.js | 2 +- .../backup/src/js/reducers/test/api.js | 9 + .../backup/src/js/reducers/test/assets.js | 9 + .../src/js/reducers/test/connected-plugins.js | 9 + .../src/js/reducers/test/jetpack-status.js | 9 + .../backup/src/js/reducers/test/site-data.js | 9 + .../backup/src/js/selectors/test/api.js | 89 ++ .../js/selectors/test/connected-plugins.js | 31 + .../src/js/selectors/test/jetpack-status.js | 33 + .../backup/src/js/selectors/test/site-data.js | 58 ++ projects/packages/backup/tests/jest.config.js | 8 + projects/packages/backup/tests/jest.setup.js | 7 + .../changelog/add-backup-package-js-tests | 5 + projects/plugins/backup/composer.lock | 5 +- .../changelog/add-backup-package-js-tests | 5 + projects/plugins/jetpack/composer.lock | 5 +- 21 files changed, 600 insertions(+), 582 deletions(-) create mode 100644 projects/packages/backup/changelog/add-backup-package-js-tests create mode 100644 projects/packages/backup/src/js/hooks/test/useBackupsState.js create mode 100644 projects/packages/backup/src/js/reducers/test/api.js create mode 100644 projects/packages/backup/src/js/reducers/test/assets.js create mode 100644 projects/packages/backup/src/js/reducers/test/connected-plugins.js create mode 100644 projects/packages/backup/src/js/reducers/test/jetpack-status.js create mode 100644 projects/packages/backup/src/js/reducers/test/site-data.js create mode 100644 projects/packages/backup/src/js/selectors/test/api.js create mode 100644 projects/packages/backup/src/js/selectors/test/connected-plugins.js create mode 100644 projects/packages/backup/src/js/selectors/test/jetpack-status.js create mode 100644 projects/packages/backup/src/js/selectors/test/site-data.js create mode 100644 projects/packages/backup/tests/jest.config.js create mode 100644 projects/packages/backup/tests/jest.setup.js create mode 100644 projects/plugins/backup/changelog/add-backup-package-js-tests create mode 100644 projects/plugins/jetpack/changelog/add-backup-package-js-tests diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0c3fb2494cc40..f7b14262ab39e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -802,6 +802,10 @@ importers: '@babel/preset-env': 7.20.2 '@babel/register': 7.18.9 '@babel/runtime': 7.20.7 + '@testing-library/dom': 8.19.0 + '@testing-library/react': 12.1.5 + '@testing-library/react-hooks': 8.0.1 + '@testing-library/user-event': 14.4.3 '@wordpress/api-fetch': 6.19.0 '@wordpress/browserslist-config': 5.5.0 '@wordpress/data': 7.6.0 @@ -809,6 +813,8 @@ importers: '@wordpress/element': 4.20.0 '@wordpress/i18n': 4.22.0 concurrently: 6.0.2 + jest: 29.3.1 + jest-environment-jsdom: 29.3.1 react: 17.0.2 react-dom: 17.0.2 sass: 1.43.3 @@ -834,8 +840,14 @@ importers: '@babel/preset-env': 7.20.2_@babel+core@7.20.7 '@babel/register': 7.18.9_@babel+core@7.20.7 '@babel/runtime': 7.20.7 + '@testing-library/dom': 8.19.0 + '@testing-library/react': 12.1.5_g46twevx2c2k7lfvystw4wurrm + '@testing-library/react-hooks': 8.0.1_sfoxds7t5ydpegc3knd667wn6m + '@testing-library/user-event': 14.4.3_aaq3sbffpfe3jnxzm2zngsddei '@wordpress/browserslist-config': 5.5.0 concurrently: 6.0.2 + jest: 29.3.1 + jest-environment-jsdom: 29.3.1 sass: 1.43.3 sass-loader: 12.4.0_sass@1.43.3+webpack@5.72.1 webpack: 5.72.1_webpack-cli@4.9.1 @@ -2549,8 +2561,8 @@ packages: lru-cache: 5.1.1 semver: 6.3.0 - /@babel/helper-create-class-features-plugin/7.20.12_@babel+core@7.20.7: - resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==} + /@babel/helper-create-class-features-plugin/7.20.5_@babel+core@7.20.7: + resolution: {integrity: sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -2559,10 +2571,9 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.20.7 + '@babel/helper-member-expression-to-functions': 7.18.9 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-replace-supers': 7.19.1 '@babel/helper-split-export-declaration': 7.18.6 transitivePeerDependencies: - supports-color @@ -2633,8 +2644,8 @@ packages: dependencies: '@babel/types': 7.20.7 - /@babel/helper-member-expression-to-functions/7.20.7: - resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} + /@babel/helper-member-expression-to-functions/7.18.9: + resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.7 @@ -2660,6 +2671,21 @@ packages: transitivePeerDependencies: - supports-color + /@babel/helper-module-transforms/7.20.2: + resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.20.2 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.12 + '@babel/types': 7.20.7 + transitivePeerDependencies: + - supports-color + /@babel/helper-optimise-call-expression/7.18.6: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} @@ -2688,14 +2714,13 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-replace-supers/7.20.7: - resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} + /@babel/helper-replace-supers/7.19.1: + resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.20.7 + '@babel/helper-member-expression-to-functions': 7.18.9 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/template': 7.20.7 '@babel/traverse': 7.20.12 '@babel/types': 7.20.7 transitivePeerDependencies: @@ -2760,6 +2785,14 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 + /@babel/parser/7.20.5: + resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.20.7 + dev: true + /@babel/parser/7.20.7: resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==} engines: {node: '>=6.0.0'} @@ -2785,7 +2818,7 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.7 /@babel/plugin-proposal-async-generator-functions/7.20.1_@babel+core@7.20.7: resolution: {integrity: sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==} @@ -2808,7 +2841,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color @@ -2820,22 +2853,22 @@ packages: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.7 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-decorators/7.20.7_@babel+core@7.20.7: - resolution: {integrity: sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A==} + /@babel/plugin-proposal-decorators/7.20.5_@babel+core@7.20.7: + resolution: {integrity: sha512-Lac7PpRJXcC3s9cKsBfl+uc+DYXU5FD06BrTFunQO6QIQT+DwyzDPURAowI3bcvD1dZF/ank1Z5rstUJn3Hn4Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-replace-supers': 7.19.1 '@babel/helper-split-export-declaration': 7.18.6 '@babel/plugin-syntax-decorators': 7.19.0_@babel+core@7.20.7 transitivePeerDependencies: @@ -2921,11 +2954,11 @@ packages: '@babel/core': 7.12.9 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.9 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.12.9 + '@babel/plugin-transform-parameters': 7.20.5_@babel+core@7.12.9 dev: true - /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.7: - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + /@babel/plugin-proposal-object-rest-spread/7.20.2_@babel+core@7.20.7: + resolution: {integrity: sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2935,7 +2968,7 @@ packages: '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-parameters': 7.20.5_@babel+core@7.20.7 /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.7: resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} @@ -2947,8 +2980,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.7 - /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.7: - resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==} + /@babel/plugin-proposal-optional-chaining/7.18.9_@babel+core@7.20.7: + resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2965,7 +2998,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color @@ -2978,7 +3011,7 @@ packages: dependencies: '@babel/core': 7.20.7 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.7 transitivePeerDependencies: @@ -3202,8 +3235,8 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.7: - resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} + /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.20.7: + resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3233,8 +3266,8 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-block-scoping/7.20.11_@babel+core@7.20.7: - resolution: {integrity: sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==} + /@babel/plugin-transform-block-scoping/7.20.5_@babel+core@7.20.7: + resolution: {integrity: sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3242,8 +3275,8 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.7: - resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==} + /@babel/plugin-transform-classes/7.20.2_@babel+core@7.20.7: + resolution: {integrity: sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3255,7 +3288,7 @@ packages: '@babel/helper-function-name': 7.19.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-replace-supers': 7.19.1 '@babel/helper-split-export-declaration': 7.18.6 globals: 11.12.0 transitivePeerDependencies: @@ -3270,8 +3303,8 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.7: - resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} + /@babel/plugin-transform-destructuring/7.20.2_@babel+core@7.20.7: + resolution: {integrity: sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3364,7 +3397,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-module-transforms': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color @@ -3376,7 +3409,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-module-transforms': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-simple-access': 7.20.2 transitivePeerDependencies: @@ -3390,7 +3423,7 @@ packages: dependencies: '@babel/core': 7.20.7 '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-module-transforms': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-identifier': 7.19.1 transitivePeerDependencies: @@ -3403,7 +3436,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-module-transforms': 7.20.11 + '@babel/helper-module-transforms': 7.20.2 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color @@ -3435,12 +3468,12 @@ packages: dependencies: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-replace-supers': 7.19.1 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.12.9: - resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} + /@babel/plugin-transform-parameters/7.20.5_@babel+core@7.12.9: + resolution: {integrity: sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3449,8 +3482,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.7: - resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} + /@babel/plugin-transform-parameters/7.20.5_@babel+core@7.20.7: + resolution: {integrity: sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3485,6 +3518,19 @@ packages: '@babel/core': 7.20.7 '@babel/plugin-transform-react-jsx': 7.20.7_@babel+core@7.20.7 + /@babel/plugin-transform-react-jsx/7.19.0_@babel+core@7.20.7: + resolution: {integrity: sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.7 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.7 + '@babel/types': 7.20.5 + /@babel/plugin-transform-react-jsx/7.20.7_@babel+core@7.20.7: resolution: {integrity: sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ==} engines: {node: '>=6.9.0'} @@ -3552,8 +3598,8 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.7: - resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + /@babel/plugin-transform-spread/7.19.0_@babel+core@7.20.7: + resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3596,7 +3642,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.7 transitivePeerDependencies: @@ -3643,9 +3689,9 @@ packages: '@babel/plugin-proposal-logical-assignment-operators': 7.18.9_@babel+core@7.20.7 '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.7 '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-proposal-object-rest-spread': 7.20.2_@babel+core@7.20.7 '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.7 '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.7 '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.7 '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.7 @@ -3664,13 +3710,13 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.7 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.7 '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.7 - '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-async-to-generator': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-block-scoping': 7.20.11_@babel+core@7.20.7 - '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-block-scoping': 7.20.5_@babel+core@7.20.7 + '@babel/plugin-transform-classes': 7.20.2_@babel+core@7.20.7 '@babel/plugin-transform-computed-properties': 7.18.9_@babel+core@7.20.7 - '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-destructuring': 7.20.2_@babel+core@7.20.7 '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.7 '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.7 @@ -3685,19 +3731,19 @@ packages: '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.7 '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-parameters': 7.20.5_@babel+core@7.20.7 '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.20.7 '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-spread': 7.19.0_@babel+core@7.20.7 '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.7 '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.7 '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.7 '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.7 '@babel/preset-modules': 0.1.5_@babel+core@7.20.7 - '@babel/types': 7.20.7 + '@babel/types': 7.20.5 babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.7 babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.7 babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.7 @@ -3727,7 +3773,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.7 - '@babel/types': 7.20.7 + '@babel/types': 7.20.5 esutils: 2.0.3 /@babel/preset-react/7.18.6_@babel+core@7.20.7: @@ -3740,7 +3786,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-option': 7.18.6 '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-react-jsx': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.20.7 '@babel/plugin-transform-react-jsx-development': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-react-pure-annotations': 7.18.6_@babel+core@7.20.7 @@ -3779,6 +3825,12 @@ packages: regenerator-runtime: 0.13.11 dev: true + /@babel/runtime/7.20.6: + resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + /@babel/runtime/7.20.7: resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==} engines: {node: '>=6.9.0'} @@ -3810,6 +3862,14 @@ packages: transitivePeerDependencies: - supports-color + /@babel/types/7.20.5: + resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + /@babel/types/7.20.7: resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} engines: {node: '>=6.9.0'} @@ -5733,27 +5793,6 @@ packages: react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.11 - /@storybook/addons/6.5.15_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/api': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/channels': 6.5.15 - '@storybook/client-logger': 6.5.15 - '@storybook/core-events': 6.5.15 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/router': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@types/webpack-env': 1.18.0 - core-js: 3.26.1 - global: 4.4.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.11 - dev: true - /@storybook/api/6.5.14_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-RpgEWV4mxD1mNsGWkjSNq3+B/LFNIhXZc4OapEEK5u0jgCZKB7OCsRL9NJZB5WfpyN+vx8SwbUTgo8DIkes3qw==} peerDependencies: @@ -5780,33 +5819,6 @@ packages: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - /@storybook/api/6.5.15_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/channels': 6.5.15 - '@storybook/client-logger': 6.5.15 - '@storybook/core-events': 6.5.15 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/router': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/semver': 7.3.2 - '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - core-js: 3.26.1 - fast-deep-equal: 3.1.3 - global: 4.4.0 - lodash: 4.17.21 - memoizerific: 1.11.3 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.11 - store2: 2.14.2 - telejson: 6.0.8 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - dev: true - /@storybook/builder-webpack5/6.5.14_lvjraxmr6x5tfufieyioadep3e: resolution: {integrity: sha512-Ukj7Wwxz/3mKn5TI5mkm2mIm583LxOz78ZrpcOgI+vpjeRlMFXmGGEb68R47SiCdZoVCfIeCXXXzBd6Q6As6QQ==} peerDependencies: @@ -5868,67 +5880,6 @@ packages: - webpack-cli dev: true - /@storybook/builder-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e: - resolution: {integrity: sha512-BnSoAmI02pvbGBSyzCx+voXb/d5EopQ78zx/lYv4CeOspBFOYEfGvAgYHILFo04V12S2/k8aSOc/tCYw5AqPtw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@babel/core': 7.20.7 - '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/api': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/channel-postmessage': 6.5.15 - '@storybook/channels': 6.5.15 - '@storybook/client-api': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/client-logger': 6.5.15 - '@storybook/components': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/core-common': 6.5.15_lvjraxmr6x5tfufieyioadep3e - '@storybook/core-events': 6.5.15 - '@storybook/node-logger': 6.5.15 - '@storybook/preview-web': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/router': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/semver': 7.3.2 - '@storybook/store': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@types/node': 16.18.8 - babel-loader: 8.3.0_t7jx4cl4qpbwg7355cfrhdqi44 - babel-plugin-named-exports-order: 0.0.2 - browser-assert: 1.2.1 - case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.26.1 - css-loader: 5.2.7_webpack@5.72.1 - fork-ts-checker-webpack-plugin: 6.5.2_czu7yixrf7btnlqoc6r2d4xkfq - glob: 7.2.3 - glob-promise: 3.4.0_glob@7.2.3 - html-webpack-plugin: 5.5.0_webpack@5.72.1 - path-browserify: 1.0.1 - process: 0.11.10 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - stable: 0.1.8 - style-loader: 2.0.0_webpack@5.72.1 - terser-webpack-plugin: 5.3.6_webpack@5.72.1 - ts-dedent: 2.2.0 - typescript: 4.8.2 - util-deprecate: 1.0.2 - webpack: 5.72.1_webpack-cli@4.9.1 - webpack-dev-middleware: 4.3.0_webpack@5.72.1 - webpack-hot-middleware: 2.25.3 - webpack-virtual-modules: 0.4.6 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - eslint - - supports-color - - uglify-js - - vue-template-compiler - - webpack-cli - dev: true - /@storybook/channel-postmessage/6.5.14: resolution: {integrity: sha512-0Cmdze5G3Qwxf7yYPGlJxGiY+KiEUQ+8GfpohsKGfvrP8cfSrx6VhxupHA7hDNyRh75hqZq5BrkW4HO9Ypbt5A==} dependencies: @@ -5941,18 +5892,6 @@ packages: telejson: 6.0.8 dev: true - /@storybook/channel-postmessage/6.5.15: - resolution: {integrity: sha512-gMpA8LWT8lC4z5KWnaMh03aazEwtDO7GtY5kZVru+EEMgExGmaR82qgekwmLmgLj2nRJEv0o138o9IqYUcou8w==} - dependencies: - '@storybook/channels': 6.5.15 - '@storybook/client-logger': 6.5.15 - '@storybook/core-events': 6.5.15 - core-js: 3.26.1 - global: 4.4.0 - qs: 6.11.0 - telejson: 6.0.8 - dev: true - /@storybook/channel-websocket/6.5.14: resolution: {integrity: sha512-ZyDL5PBFWuFQ15NBljhbOaD/3FAijXvLj5oxfNris2khdkqlP6/8JmcIvfohJJcqepGZHUF9H29OaUsRC35ftA==} dependencies: @@ -5963,16 +5902,6 @@ packages: telejson: 6.0.8 dev: true - /@storybook/channel-websocket/6.5.15: - resolution: {integrity: sha512-K85KEgzo5ahzJNJjyUbSNyuRmkeC8glJX2hCg2j9HiJ9rasX53qugkODrKDlWAeheulo3kR13VSuAqIuwVbmbw==} - dependencies: - '@storybook/channels': 6.5.15 - '@storybook/client-logger': 6.5.15 - core-js: 3.26.1 - global: 4.4.0 - telejson: 6.0.8 - dev: true - /@storybook/channels/6.5.14: resolution: {integrity: sha512-hHpr4Sya6fuEDhy7vnfD2QnL5wy1CaAK9BC0FLupndXnQyKJtygfIaUP4a0B2KntuNPbzPhclb2Hb4yM7CExmQ==} dependencies: @@ -5980,14 +5909,6 @@ packages: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - /@storybook/channels/6.5.15: - resolution: {integrity: sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==} - dependencies: - core-js: 3.26.1 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - dev: true - /@storybook/client-api/6.5.14_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-G5mBQCKn8/VqE9XDCL19ixcvu8YhaQZ0AE+EXGYXUsvPpyQ43oGoGJry5IqOzeRlc7dbglFWpMkB6PeeUD7aCw==} peerDependencies: @@ -6018,49 +5939,12 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/client-api/6.5.15_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-0ZGpRgVz7rdbCguBqBpwObXbsVY5qlSTWDzzIBpmz8EkxW/MtK5wEyeq+0L0O+DTn41FwvH5yCGLAENpzWD8BQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/channel-postmessage': 6.5.15 - '@storybook/channels': 6.5.15 - '@storybook/client-logger': 6.5.15 - '@storybook/core-events': 6.5.15 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/store': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@types/qs': 6.9.7 - '@types/webpack-env': 1.18.0 - core-js: 3.26.1 - fast-deep-equal: 3.1.3 - global: 4.4.0 - lodash: 4.17.21 - memoizerific: 1.11.3 - qs: 6.11.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.11 - store2: 2.14.2 - synchronous-promise: 2.0.16 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - dev: true - /@storybook/client-logger/6.5.14: resolution: {integrity: sha512-r1pY69DGKzX9/GngkudthaaPxPlka16zjG7Y58psunwcoUuH3riAP1cjqhXt5+S8FKCNI/MGb82PLlCPX2Liuw==} dependencies: core-js: 3.26.1 global: 4.4.0 - /@storybook/client-logger/6.5.15: - resolution: {integrity: sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==} - dependencies: - core-js: 3.26.1 - global: 4.4.0 - dev: true - /@storybook/components/6.5.14_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-wqB9CF3sjxtgffnDW1G/W5SsKumsFQ0ftn/3PdrsvKULu5LM5bjNEqC2cTCWrk9vQhj+EVQxzdVM/BlPl/lSwg==} peerDependencies: @@ -6078,24 +5962,6 @@ packages: regenerator-runtime: 0.13.11 util-deprecate: 1.0.2 - /@storybook/components/6.5.15_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-bHTT0Oa3s4g+MBMaLBbX9ofMtb1AW59AzIUNGrfqW1XqJMGuUHMiJ7TSo+i5dRSFpbFygnwMEG9LfHxpR2Z0Dw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/client-logger': 6.5.15 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - core-js: 3.26.1 - memoizerific: 1.11.3 - qs: 6.11.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.11 - util-deprecate: 1.0.2 - dev: true - /@storybook/core-client/6.5.14_r26yox34l5e4rxinohcfftvhfy: resolution: {integrity: sha512-d5mUgz1xSvrAdal8XKI5YOZOM/XUly90vis3DboeZRO58qSp+NH5xFYIBBED5qefDgmGU0Yv4rXHQlph96LSHQ==} peerDependencies: @@ -6133,43 +5999,6 @@ packages: webpack: 5.72.1_webpack-cli@4.9.1 dev: true - /@storybook/core-client/6.5.15_r26yox34l5e4rxinohcfftvhfy: - resolution: {integrity: sha512-i9t4WONy2MxJwLI1FIp5ck7b52EXyJfALnxUn4O/3GTkw09J0NOKi2DPjefUsi7IB5MzFpDjDH9vw/XiTM+OZw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - typescript: '*' - webpack: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/channel-postmessage': 6.5.15 - '@storybook/channel-websocket': 6.5.15 - '@storybook/client-api': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/client-logger': 6.5.15 - '@storybook/core-events': 6.5.15 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/preview-web': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/store': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/ui': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - airbnb-js-shims: 2.2.1 - ansi-to-html: 0.6.15 - core-js: 3.26.1 - global: 4.4.0 - lodash: 4.17.21 - qs: 6.11.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.11 - ts-dedent: 2.2.0 - typescript: 4.8.2 - unfetch: 4.2.0 - util-deprecate: 1.0.2 - webpack: 5.72.1_webpack-cli@4.9.1 - dev: true - /@storybook/core-common/6.5.14_lvjraxmr6x5tfufieyioadep3e: resolution: {integrity: sha512-MrxhYXYrtN6z/+tydjPkCIwDQm5q8Jx+w4TPdLKBZu7vzfp6T3sT12Ym96j9MJ42CvE4vSDl/Njbw6C0D+yEVw==} peerDependencies: @@ -6182,22 +6011,22 @@ packages: dependencies: '@babel/core': 7.20.7 '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-decorators': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-proposal-decorators': 7.20.5_@babel+core@7.20.7 '@babel/plugin-proposal-export-default-from': 7.18.10_@babel+core@7.20.7 '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.7 - '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-proposal-object-rest-spread': 7.20.2_@babel+core@7.20.7 + '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.7 '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.7 '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.7 '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.7 - '@babel/plugin-transform-block-scoping': 7.20.11_@babel+core@7.20.7 - '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.7 - '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.20.7 + '@babel/plugin-transform-block-scoping': 7.20.5_@babel+core@7.20.7 + '@babel/plugin-transform-classes': 7.20.2_@babel+core@7.20.7 + '@babel/plugin-transform-destructuring': 7.20.2_@babel+core@7.20.7 '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.7 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-parameters': 7.20.5_@babel+core@7.20.7 '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-spread': 7.19.0_@babel+core@7.20.7 '@babel/preset-env': 7.20.2_@babel+core@7.20.7 '@babel/preset-react': 7.18.6_@babel+core@7.20.7 '@babel/preset-typescript': 7.18.6_@babel+core@7.20.7 @@ -6219,80 +6048,7 @@ packages: glob: 7.2.3 handlebars: 4.7.7 interpret: 2.2.0 - json5: 2.2.1 - lazy-universal-dotenv: 3.0.1 - picomatch: 2.3.1 - pkg-dir: 5.0.0 - pretty-hrtime: 1.0.3 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - resolve-from: 5.0.0 - slash: 3.0.0 - telejson: 6.0.8 - ts-dedent: 2.2.0 - typescript: 4.8.2 - util-deprecate: 1.0.2 - webpack: 5.72.1_webpack-cli@4.9.1 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - eslint - - supports-color - - uglify-js - - vue-template-compiler - - webpack-cli - dev: true - - /@storybook/core-common/6.5.15_lvjraxmr6x5tfufieyioadep3e: - resolution: {integrity: sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@babel/core': 7.20.7 - '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-decorators': 7.20.7_@babel+core@7.20.7 - '@babel/plugin-proposal-export-default-from': 7.18.10_@babel+core@7.20.7 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.7 - '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.7 - '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.7 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.7 - '@babel/plugin-transform-block-scoping': 7.20.11_@babel+core@7.20.7 - '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.7 - '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.7 - '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.7 - '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.7 - '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.7 - '@babel/preset-env': 7.20.2_@babel+core@7.20.7 - '@babel/preset-react': 7.18.6_@babel+core@7.20.7 - '@babel/preset-typescript': 7.18.6_@babel+core@7.20.7 - '@babel/register': 7.18.9_@babel+core@7.20.7 - '@storybook/node-logger': 6.5.15 - '@storybook/semver': 7.3.2 - '@types/node': 16.18.8 - '@types/pretty-hrtime': 1.0.1 - babel-loader: 8.3.0_t7jx4cl4qpbwg7355cfrhdqi44 - babel-plugin-macros: 3.1.0 - babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.20.7 - chalk: 4.1.2 - core-js: 3.26.1 - express: 4.18.2 - file-system-cache: 1.1.0 - find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.2_czu7yixrf7btnlqoc6r2d4xkfq - fs-extra: 9.1.0 - glob: 7.2.3 - handlebars: 4.7.7 - interpret: 2.2.0 - json5: 2.2.3 + json5: 2.2.2 lazy-universal-dotenv: 3.0.1 picomatch: 2.3.1 pkg-dir: 5.0.0 @@ -6321,12 +6077,6 @@ packages: dependencies: core-js: 3.26.1 - /@storybook/core-events/6.5.15: - resolution: {integrity: sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==} - dependencies: - core-js: 3.26.1 - dev: true - /@storybook/core-server/6.5.14_lvjraxmr6x5tfufieyioadep3e: resolution: {integrity: sha512-+Z3lHEsDpiBXt6xBwU5AVBoEkicndnHoiLwhEGPkfixy7POYEEny3cm54tteVxV8O5AHMwsHs54/QD+hHxAXnQ==} peerDependencies: @@ -6344,13 +6094,13 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': /@storybook/builder-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e + '@storybook/builder-webpack4': /@storybook/builder-webpack5/6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/core-client': 6.5.14_r26yox34l5e4rxinohcfftvhfy '@storybook/core-common': 6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/core-events': 6.5.14 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.14 - '@storybook/manager-webpack4': /@storybook/manager-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e + '@storybook/manager-webpack4': /@storybook/manager-webpack5/6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/node-logger': 6.5.14 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.14_sfoxds7t5ydpegc3knd667wn6m @@ -6422,14 +6172,14 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': /@storybook/builder-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e + '@storybook/builder-webpack4': /@storybook/builder-webpack5/6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/builder-webpack5': 6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/core-client': 6.5.14_r26yox34l5e4rxinohcfftvhfy '@storybook/core-common': 6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/core-events': 6.5.14 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.14 - '@storybook/manager-webpack4': /@storybook/manager-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e + '@storybook/manager-webpack4': /@storybook/manager-webpack5/6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/manager-webpack5': 6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/node-logger': 6.5.14 '@storybook/semver': 7.3.2 @@ -6670,62 +6420,6 @@ packages: - webpack-cli dev: true - /@storybook/manager-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e: - resolution: {integrity: sha512-yrHVFUHGdVRWq/oGJwQu+UOZzxELH5SS+Lpn5oIQ/Dblam9piQC0KmBZtFuA9X8acaw4BBVnXgF/aiqs9fOp/Q==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@babel/core': 7.20.7 - '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.7 - '@babel/preset-react': 7.18.6_@babel+core@7.20.7 - '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/core-client': 6.5.15_r26yox34l5e4rxinohcfftvhfy - '@storybook/core-common': 6.5.15_lvjraxmr6x5tfufieyioadep3e - '@storybook/node-logger': 6.5.15 - '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/ui': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@types/node': 16.18.8 - babel-loader: 8.3.0_t7jx4cl4qpbwg7355cfrhdqi44 - case-sensitive-paths-webpack-plugin: 2.4.0 - chalk: 4.1.2 - core-js: 3.26.1 - css-loader: 5.2.7_webpack@5.72.1 - express: 4.18.2 - find-up: 5.0.0 - fs-extra: 9.1.0 - html-webpack-plugin: 5.5.0_webpack@5.72.1 - node-fetch: 2.6.7 - process: 0.11.10 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - read-pkg-up: 7.0.1 - regenerator-runtime: 0.13.11 - resolve-from: 5.0.0 - style-loader: 2.0.0_webpack@5.72.1 - telejson: 6.0.8 - terser-webpack-plugin: 5.3.6_webpack@5.72.1 - ts-dedent: 2.2.0 - typescript: 4.8.2 - util-deprecate: 1.0.2 - webpack: 5.72.1_webpack-cli@4.9.1 - webpack-dev-middleware: 4.3.0_webpack@5.72.1 - webpack-virtual-modules: 0.4.6 - transitivePeerDependencies: - - '@swc/core' - - encoding - - esbuild - - eslint - - supports-color - - uglify-js - - vue-template-compiler - - webpack-cli - dev: true - /@storybook/mdx1-csf/0.0.1_@babel+core@7.20.7: resolution: {integrity: sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==} dependencies: @@ -6755,16 +6449,6 @@ packages: pretty-hrtime: 1.0.3 dev: true - /@storybook/node-logger/6.5.15: - resolution: {integrity: sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==} - dependencies: - '@types/npmlog': 4.1.4 - chalk: 4.1.2 - core-js: 3.26.1 - npmlog: 5.0.1 - pretty-hrtime: 1.0.3 - dev: true - /@storybook/postinstall/6.5.14: resolution: {integrity: sha512-vtnQczSSkz7aPIc2dsDaZWlCDAcJb258KGXk72w7MEY9/zLlr6tdQLI30B6SkRNFnR8fQQf4H2gbFq/GM0EF5A==} dependencies: @@ -6797,32 +6481,6 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/preview-web/6.5.15_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-gIHABSAD0JS0iRaG67BnSDq/q8Zf4fFwEWBQOSYgcEx2TzhAUeSkhGZUQHdlOTCwuA2PpXT0/cWDH8u2Ev+msg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/channel-postmessage': 6.5.15 - '@storybook/client-logger': 6.5.15 - '@storybook/core-events': 6.5.15 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - '@storybook/store': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - ansi-to-html: 0.6.15 - core-js: 3.26.1 - global: 4.4.0 - lodash: 4.17.21 - qs: 6.11.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.11 - synchronous-promise: 2.0.16 - ts-dedent: 2.2.0 - unfetch: 4.2.0 - util-deprecate: 1.0.2 - dev: true - /@storybook/react-docgen-typescript-plugin/1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0_czu7yixrf7btnlqoc6r2d4xkfq: resolution: {integrity: sha512-eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w==} peerDependencies: @@ -7034,21 +6692,6 @@ packages: react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.11 - /@storybook/router/6.5.15_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/client-logger': 6.5.15 - core-js: 3.26.1 - memoizerific: 1.11.3 - qs: 6.11.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.11 - dev: true - /@storybook/semver/7.3.2: resolution: {integrity: sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==} engines: {node: '>=10'} @@ -7102,31 +6745,6 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/store/6.5.15_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-r6cYTf6GtbqgdI4ZG3xuWdJAAu5fJ3xAWMiDkHyoK2u+R2TeYXIsJvgn0BPrW87sZhELIkg4ckdFECmATs3kpQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/client-logger': 6.5.15 - '@storybook/core-events': 6.5.15 - '@storybook/csf': 0.0.2--canary.4566f4d.1 - core-js: 3.26.1 - fast-deep-equal: 3.1.3 - global: 4.4.0 - lodash: 4.17.21 - memoizerific: 1.11.3 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.11 - slash: 3.0.0 - stable: 0.1.8 - synchronous-promise: 2.0.16 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - dev: true - /@storybook/telemetry/6.5.14_lvjraxmr6x5tfufieyioadep3e: resolution: {integrity: sha512-AVSw7WyKHrVbXMSZZ0fvg3oAb8xAS7OrmNU6++yUfbuqpF0JNtNkNnRSaJ4Nh7Vujzloy5jYhbpfY44nb/hsCw==} dependencies: @@ -7187,20 +6805,6 @@ packages: react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.11 - /@storybook/theming/6.5.15_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/client-logger': 6.5.15 - core-js: 3.26.1 - memoizerific: 1.11.3 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.11 - dev: true - /@storybook/ui/6.5.14_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-dXlCIULh8ytgdFrvVoheQLlZjAyyYmGCuw+6m+s+2yF/oUbFREG/5Zo9hDwlJ4ZiAyqNLkuwg2tnMYtjapZSog==} peerDependencies: @@ -7225,30 +6829,6 @@ packages: resolve-from: 5.0.0 dev: true - /@storybook/ui/6.5.15_sfoxds7t5ydpegc3knd667wn6m: - resolution: {integrity: sha512-OO+TWZmI8ebWA1C3JBKNvbUbsgvt4GppqsGlkf5CTBZrT/MzmMlYiooLAtlY1ZPcMtTd5ynLxvroHWBEnMOk2A==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - dependencies: - '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/api': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/channels': 6.5.15 - '@storybook/client-logger': 6.5.15 - '@storybook/components': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/core-events': 6.5.15 - '@storybook/router': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - '@storybook/semver': 7.3.2 - '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m - core-js: 3.26.1 - memoizerific: 1.11.3 - qs: 6.11.0 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - regenerator-runtime: 0.13.11 - resolve-from: 5.0.0 - dev: true - /@tannin/compile/1.1.0: resolution: {integrity: sha512-n8m9eNDfoNZoxdvWiTfW/hSPhehzLJ3zW7f8E7oT6mCROoMNWCB4TYtv041+2FMAxweiE0j7i1jubQU4MEC/Gg==} dependencies: @@ -7266,12 +6846,26 @@ packages: /@tannin/postfix/1.1.0: resolution: {integrity: sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw==} + /@testing-library/dom/8.19.0: + resolution: {integrity: sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==} + engines: {node: '>=12'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/runtime': 7.20.7 + '@types/aria-query': 4.2.2 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.14 + lz-string: 1.4.4 + pretty-format: 27.5.1 + dev: true + /@testing-library/dom/8.19.1: resolution: {integrity: sha512-P6iIPyYQ+qH8CvGauAqanhVnjrnRe0IZFSYCeGkSRW9q3u8bdVn2NPI+lasFyVsEQn1J/IFmp5Aax41+dAP9wg==} engines: {node: '>=12'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@types/aria-query': 5.0.1 aria-query: 5.1.3 chalk: 4.1.2 @@ -7322,7 +6916,7 @@ packages: react-test-renderer: optional: true dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-error-boundary: 3.1.4_react@17.0.2 @@ -7345,7 +6939,7 @@ packages: react-test-renderer: optional: true dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-error-boundary: 3.1.4_react@17.0.2 @@ -7367,7 +6961,7 @@ packages: react-test-renderer: optional: true dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@types/react': 17.0.52 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 @@ -7375,6 +6969,21 @@ packages: react-test-renderer: 17.0.2_react@17.0.2 dev: true + /@testing-library/react/12.1.5_g46twevx2c2k7lfvystw4wurrm: + resolution: {integrity: sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==} + engines: {node: '>=12'} + peerDependencies: + '@testing-library/dom': ^8.0.0 + react: <18.0.0 + react-dom: <18.0.0 + dependencies: + '@babel/runtime': 7.20.6 + '@testing-library/dom': 8.19.0 + '@types/react-dom': 17.0.18 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + dev: true + /@testing-library/react/12.1.5_s2motuibfpxxa3ftoqehetkmru: resolution: {integrity: sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==} engines: {node: '>=12'} @@ -7383,13 +6992,22 @@ packages: react: <18.0.0 react-dom: <18.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@testing-library/dom': 8.19.1 '@types/react-dom': 17.0.18 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 dev: true + /@testing-library/user-event/14.4.3_aaq3sbffpfe3jnxzm2zngsddei: + resolution: {integrity: sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + dependencies: + '@testing-library/dom': 8.19.0 + dev: true + /@testing-library/user-event/14.4.3_ua4wuun3fnehcjqtqj2e2ldgpe: resolution: {integrity: sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==} engines: {node: '>=12', npm: '>=6'} @@ -7412,6 +7030,10 @@ packages: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} + /@types/aria-query/4.2.2: + resolution: {integrity: sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==} + dev: true + /@types/aria-query/5.0.1: resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} dev: true @@ -7426,8 +7048,8 @@ packages: /@types/babel__core/7.1.20: resolution: {integrity: sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==} dependencies: - '@babel/parser': 7.20.7 - '@babel/types': 7.20.7 + '@babel/parser': 7.20.5 + '@babel/types': 7.20.5 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.18.3 @@ -7557,7 +7179,7 @@ packages: /@types/jsdom/20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 18.11.13 + '@types/node': 18.11.17 '@types/tough-cookie': 4.0.2 parse5: 7.1.2 dev: true @@ -7589,7 +7211,7 @@ packages: /@types/node-fetch/2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 18.11.13 + '@types/node': 18.11.17 form-data: 3.0.1 dev: true @@ -7733,7 +7355,7 @@ packages: /@types/webpack/5.28.0_webpack-cli@4.9.1: resolution: {integrity: sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==} dependencies: - '@types/node': 18.11.13 + '@types/node': 18.11.17 tapable: 2.2.1 webpack: 5.72.1_webpack-cli@4.9.1 transitivePeerDependencies: @@ -8594,7 +8216,7 @@ packages: react: ^17.0.0 react-dom: ^17.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@emotion/cache': 11.10.5 '@emotion/css': 11.10.5_@babel+core@7.20.7 '@emotion/react': 11.10.5_v5b2xvlit2prnbqrkq7ya6ipyq @@ -8654,7 +8276,7 @@ packages: react: ^17.0.0 react-dom: ^17.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@emotion/cache': 11.10.5 '@emotion/css': 11.10.5_@babel+core@7.20.7 '@emotion/react': 11.10.5_zhj3prl4wlqtonkhd53xdiqtcy @@ -8713,7 +8335,7 @@ packages: peerDependencies: react: ^17.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@types/mousetrap': 1.6.11 '@wordpress/deprecated': 3.23.0 '@wordpress/dom': 3.23.0 @@ -8758,7 +8380,7 @@ packages: peerDependencies: react: ^17.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@wordpress/compose': 5.20.0_react@17.0.2 '@wordpress/deprecated': 3.23.0 '@wordpress/element': 4.20.0 @@ -8778,7 +8400,7 @@ packages: resolution: {integrity: sha512-puM2K5h69mu+usW5HxKw9W5JoCNA0zIKxwMPfunYWCEzUZzQ/i+2NfR8K6mtUsFLCnee9ngsZDxe2DFagc4fRQ==} engines: {node: '>=12'} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@wordpress/deprecated': 3.22.0 moment: 2.29.4 moment-timezone: 0.5.40 @@ -8995,7 +8617,7 @@ packages: resolution: {integrity: sha512-Ou7EoGtGe4FUL6fKALINXJLKoSfyWTBJzkJfN2HzSgM1wira9EuWahl8MQN0HAUaWeOoDqMKPvnglfS+kC8JLA==} engines: {node: '>=12'} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@types/react': 17.0.52 '@types/react-dom': 17.0.18 '@wordpress/escape-html': 2.23.0 @@ -9116,7 +8738,7 @@ packages: engines: {node: '>=12'} hasBin: true dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@wordpress/hooks': 3.23.0 gettext-parser: 1.4.0 memize: 1.1.0 @@ -9139,7 +8761,7 @@ packages: resolution: {integrity: sha512-V8q55fI0rtzxRdJbQsAjUgg7V8JbWoncm5SyuvfEtmkL+IKTQUrYgaKO0DKPf7qaTPcZJlnOXUzy6XW+fxHmxA==} engines: {node: '>=12'} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@wordpress/element': 4.20.0 '@wordpress/primitives': 3.20.0 @@ -9256,7 +8878,7 @@ packages: peerDependencies: react: ^17.0.0 dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 '@wordpress/compose': 5.20.0_react@17.0.2 '@wordpress/element': 4.20.0 '@wordpress/hooks': 3.22.0 @@ -9528,7 +9150,7 @@ packages: resolution: {integrity: sha512-JBNrzSUg7+b4cpJQjDVTHAw8x77EcdLWOAxLlKqI37Pd2EHUZXWnlVU5EqbNLLhXVJ+/6QMzS3QqNILhjIiqdw==} engines: {node: '>=12'} dependencies: - '@babel/runtime': 7.20.7 + '@babel/runtime': 7.20.6 remove-accents: 0.4.4 /@wordpress/viewport/4.20.0_shv7e6lqreyu6ryu5t57plxoua: @@ -15237,7 +14859,7 @@ packages: '@jest/fake-timers': 29.3.1 '@jest/types': 29.3.1 '@types/jsdom': 20.0.1 - '@types/node': 18.11.13 + '@types/node': 18.11.17 jest-mock: 29.3.1 jest-util: 29.3.1 jsdom: 20.0.3 @@ -15756,12 +15378,6 @@ packages: engines: {node: '>=6'} hasBin: true - /json5/2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true - /jsonfile/4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: diff --git a/projects/packages/backup/changelog/add-backup-package-js-tests b/projects/packages/backup/changelog/add-backup-package-js-tests new file mode 100644 index 0000000000000..e5b50a2bf051b --- /dev/null +++ b/projects/packages/backup/changelog/add-backup-package-js-tests @@ -0,0 +1,4 @@ +Significance: patch +Type: added + +Setup js tests and add some tests to existing reducers, selectors and hooks diff --git a/projects/packages/backup/composer.json b/projects/packages/backup/composer.json index fa17a23360bac..975f19e6596cf 100644 --- a/projects/packages/backup/composer.json +++ b/projects/packages/backup/composer.json @@ -34,6 +34,9 @@ "test-coverage": [ "php -dpcov.directory=. ./vendor/bin/phpunit --coverage-clover \"$COVERAGE_DIR/clover.xml\"" ], + "test-js": [ + "pnpm run test" + ], "test-php": [ "@composer phpunit" ], diff --git a/projects/packages/backup/package.json b/projects/packages/backup/package.json index a190575fb8e61..1cc5bf0fd5406 100644 --- a/projects/packages/backup/package.json +++ b/projects/packages/backup/package.json @@ -18,6 +18,7 @@ "build-concurrently": "pnpm run clean && concurrently 'pnpm:build-client' 'pnpm:build-php'", "build-production-concurrently": "pnpm run clean && concurrently 'NODE_ENV=production BABEL_ENV=production pnpm run build-client' && pnpm run validate", "clean": "rm -rf build/", + "test": "jest --config=tests/jest.config.js", "validate": "pnpm exec validate-es build/", "watch": "pnpm run build && webpack watch" }, @@ -43,9 +44,16 @@ "@babel/core": "7.20.7", "@babel/preset-env": "7.20.2", "@babel/register": "7.18.9", + "@babel/runtime": "7.20.6", + "@testing-library/dom": "8.19.0", + "@testing-library/react": "12.1.5", + "@testing-library/react-hooks": "8.0.1", + "@testing-library/user-event": "14.4.3", "@babel/runtime": "7.20.7", "@wordpress/browserslist-config": "5.5.0", "concurrently": "6.0.2", + "jest": "29.3.1", + "jest-environment-jsdom": "29.3.1", "sass": "1.43.3", "sass-loader": "12.4.0", "webpack": "5.72.1", diff --git a/projects/packages/backup/src/js/hooks/test/useBackupsState.js b/projects/packages/backup/src/js/hooks/test/useBackupsState.js new file mode 100644 index 0000000000000..dc111bdd34c77 --- /dev/null +++ b/projects/packages/backup/src/js/hooks/test/useBackupsState.js @@ -0,0 +1,100 @@ +import { renderHook } from '@testing-library/react-hooks'; +import apiFetch from '@wordpress/api-fetch'; +import { BACKUP_STATE } from '../../constants'; +import useBackupState from '../useBackupsState'; + +const fixtures = { + no_backups: [], + no_backups_retry: [ + { + id: 123456, + started: '2023-01-01 02:16:32', + last_updated: '2023-01-01 02:16:34', + status: 'error-will-retry', + period: 1672530000, + percent: 0, + is_backup: 1, + is_scan: 0, + }, + ], + complete: [ + { + id: 381971090, + started: '2023-01-01 02:16:32', + last_updated: '2023-01-01 02:16:34', + status: 'finished', + period: 1672530000, + percent: 100, + is_backup: 1, + is_scan: 0, + has_warnings: false, + stats: { + prefix: 'wp_', + plugins: { count: 100 }, + themes: { count: 100 }, + uploads: { count: 100 }, + tables: { + wp_posts: { + post_published: 100, + }, + }, + }, // full stats details are not required currently + }, + ], + no_good_backups: [ + { + id: 123456, + started: '2023-01-01 02:16:32', + last_updated: '2023-01-01 02:16:34', + status: 'finished', + period: 1672530000, + percent: 0, + is_backup: 1, + is_scan: 0, + }, + ], +}; + +jest.mock( '@wordpress/api-fetch' ); + +describe( 'useBackupsState', () => { + it( 'backupState should be NO_BACKUPS when the site has no backups', async () => { + apiFetch.mockReturnValue( Promise.resolve( fixtures.no_backups ) ); + const { result, waitForNextUpdate } = renderHook( () => useBackupState() ); + + await waitForNextUpdate(); + expect( result.current.backupState ).toBe( BACKUP_STATE.NO_BACKUPS ); + } ); + + it( 'backupState should be NO_BACKUPS_RETRY when last backup has a retry state', async () => { + apiFetch.mockReturnValue( Promise.resolve( fixtures.no_backups_retry ) ); + const { result, waitForNextUpdate } = renderHook( () => useBackupState() ); + + await waitForNextUpdate(); + expect( result.current.backupState ).toBe( BACKUP_STATE.NO_BACKUPS_RETRY ); + } ); + + it( 'backupState should be COMPLETE when last backup has finished successfully', async () => { + apiFetch.mockReturnValue( Promise.resolve( fixtures.complete ) ); + const { result, waitForNextUpdate } = renderHook( () => useBackupState() ); + + await waitForNextUpdate(); + expect( result.current.backupState ).toBe( BACKUP_STATE.COMPLETE ); + } ); + + it( 'backupState should be NO_GOOD_BACKUPS when last backup finished with no stats', async () => { + apiFetch.mockReturnValue( Promise.resolve( fixtures.no_good_backups ) ); + const { result, waitForNextUpdate } = renderHook( () => useBackupState() ); + + await waitForNextUpdate(); + expect( result.current.backupState ).toBe( BACKUP_STATE.NO_GOOD_BACKUPS ); + } ); + + it( 'backupState should be NO_GOOD_BACKUPS when fetch backups API call fails', async () => { + apiFetch.mockReturnValue( Promise.reject( 'any error' ) ); + const { result, waitForNextUpdate } = renderHook( () => useBackupState() ); + + await waitForNextUpdate(); + expect( result.current.backupState ).toBe( BACKUP_STATE.NO_GOOD_BACKUPS ); + } ); +} ); diff --git a/projects/packages/backup/src/js/hooks/useBackupsState.js b/projects/packages/backup/src/js/hooks/useBackupsState.js index 32981362bcaa3..bbb8d66187ec2 100644 --- a/projects/packages/backup/src/js/hooks/useBackupsState.js +++ b/projects/packages/backup/src/js/hooks/useBackupsState.js @@ -66,7 +66,7 @@ const useBackupsState = () => { } // Repeat query for NO_BACKUPS (before first) and IN_PROGRESS - if ( res.length === 0 || 'started' === latestBackup.status ) { + if ( res.length === 0 || ( latestBackup && 'started' === latestBackup.status ) ) { // Grab progress and update every progressInterval until complete. setTimeout( () => { fetchBackupsState(); diff --git a/projects/packages/backup/src/js/reducers/test/api.js b/projects/packages/backup/src/js/reducers/test/api.js new file mode 100644 index 0000000000000..90ba24d9b6a4a --- /dev/null +++ b/projects/packages/backup/src/js/reducers/test/api.js @@ -0,0 +1,9 @@ +import API from '../api'; + +describe( 'reducer', () => { + describe( 'API', () => { + test( 'should return the initial state when undefined state is passed', () => { + expect( API( undefined, {} ) ).toEqual( {} ); + } ); + } ); +} ); diff --git a/projects/packages/backup/src/js/reducers/test/assets.js b/projects/packages/backup/src/js/reducers/test/assets.js new file mode 100644 index 0000000000000..b522aae4b4c8e --- /dev/null +++ b/projects/packages/backup/src/js/reducers/test/assets.js @@ -0,0 +1,9 @@ +import assets from '../assets'; + +describe( 'reducer', () => { + describe( 'assets', () => { + test( 'should return the initial state when undefined state is passed', () => { + expect( assets( undefined, {} ) ).toEqual( {} ); + } ); + } ); +} ); diff --git a/projects/packages/backup/src/js/reducers/test/connected-plugins.js b/projects/packages/backup/src/js/reducers/test/connected-plugins.js new file mode 100644 index 0000000000000..00ff12810b921 --- /dev/null +++ b/projects/packages/backup/src/js/reducers/test/connected-plugins.js @@ -0,0 +1,9 @@ +import connectedPlugins from '../connected-plugins'; + +describe( 'reducer', () => { + describe( 'connectedPlugins', () => { + test( 'should return the initial state when undefined state is passed', () => { + expect( connectedPlugins( undefined, {} ) ).toEqual( {} ); + } ); + } ); +} ); diff --git a/projects/packages/backup/src/js/reducers/test/jetpack-status.js b/projects/packages/backup/src/js/reducers/test/jetpack-status.js new file mode 100644 index 0000000000000..d91dc1333727a --- /dev/null +++ b/projects/packages/backup/src/js/reducers/test/jetpack-status.js @@ -0,0 +1,9 @@ +import jetpackStatus from '../jetpack-status'; + +describe( 'reducer', () => { + describe( 'jetpackStatus', () => { + test( 'should return the initial state when undefined state is passed', () => { + expect( jetpackStatus( undefined, {} ) ).toEqual( {} ); + } ); + } ); +} ); diff --git a/projects/packages/backup/src/js/reducers/test/site-data.js b/projects/packages/backup/src/js/reducers/test/site-data.js new file mode 100644 index 0000000000000..37db41c4ee86f --- /dev/null +++ b/projects/packages/backup/src/js/reducers/test/site-data.js @@ -0,0 +1,9 @@ +import siteData from '../site-data'; + +describe( 'reducer', () => { + describe( 'siteData', () => { + test( 'should return the initial state when undefined state is passed', () => { + expect( siteData( undefined, {} ) ).toEqual( {} ); + } ); + } ); +} ); diff --git a/projects/packages/backup/src/js/selectors/test/api.js b/projects/packages/backup/src/js/selectors/test/api.js new file mode 100644 index 0000000000000..1e2ce6d1768b9 --- /dev/null +++ b/projects/packages/backup/src/js/selectors/test/api.js @@ -0,0 +1,89 @@ +import selectors from '../api'; + +describe( 'apiSelectors', () => { + const fixtures = { + emptyObjectAPIState: { + API: {}, + }, + dummyValueAPIState: { + API: { + dummyItem: 'dummyValue', + }, + }, + }; + + describe( 'getAPIRoot()', () => { + it.each( [ + { + state: fixtures.emptyObjectAPIState, + expected: null, + }, + { + state: fixtures.dummyValueAPIState, + expected: null, + }, + { + state: { + API: { + WP_API_root: 'https://wordpress.com/wp-json/', + }, + }, + expected: 'https://wordpress.com/wp-json/', + }, + ] )( 'should return WP_API_root value if passed, null otherwise', ( { state, expected } ) => { + const output = selectors.getAPIRoot( state ); + expect( output ).toBe( expected ); + } ); + } ); + + describe( 'getAPINonce()', () => { + it.each( [ + { + state: fixtures.emptyObjectAPIState, + expected: null, + }, + { + state: fixtures.dummyValueAPIState, + expected: null, + }, + { + state: { + API: { + WP_API_nonce: 123456, + }, + }, + expected: 123456, + }, + ] )( 'should return WP_API_nonce value if passed, null otherwise', ( { state, expected } ) => { + const output = selectors.getAPINonce( state ); + expect( output ).toBe( expected ); + } ); + } ); + + describe( 'getRegistrationNonce()', () => { + it.each( [ + { + state: fixtures.emptyObjectAPIState, + expected: null, + }, + { + state: fixtures.dummyValueAPIState, + expected: null, + }, + { + state: { + API: { + registrationNonce: 123456, + }, + }, + expected: 123456, + }, + ] )( + 'should return registrationNonce value if passed, null otherwise', + ( { state, expected } ) => { + const output = selectors.getRegistrationNonce( state ); + expect( output ).toBe( expected ); + } + ); + } ); +} ); diff --git a/projects/packages/backup/src/js/selectors/test/connected-plugins.js b/projects/packages/backup/src/js/selectors/test/connected-plugins.js new file mode 100644 index 0000000000000..c622f32e0d032 --- /dev/null +++ b/projects/packages/backup/src/js/selectors/test/connected-plugins.js @@ -0,0 +1,31 @@ +import selectors from '../connected-plugins'; + +describe( 'connectedPluginsSelectors', () => { + describe( 'getConnectedPlugins()', () => { + it( 'should return empty object when connectedPlugins is undefined', () => { + const state = { + connectedPlugins: undefined, + }; + const output = selectors.getConnectedPlugins( state ); + expect( output ).toEqual( [] ); + } ); + + it( 'should return connectedPlugins content when defined', () => { + const state = { + connectedPlugins: { + 'jetpack-backup': { + name: 'Jetpack Backup', + url_info: 'https://jetpack.com/jetpack-backup', + }, + }, + }; + const output = selectors.getConnectedPlugins( state ); + expect( output ).toEqual( { + 'jetpack-backup': { + name: 'Jetpack Backup', + url_info: 'https://jetpack.com/jetpack-backup', + }, + } ); + } ); + } ); +} ); diff --git a/projects/packages/backup/src/js/selectors/test/jetpack-status.js b/projects/packages/backup/src/js/selectors/test/jetpack-status.js new file mode 100644 index 0000000000000..75de8f4445424 --- /dev/null +++ b/projects/packages/backup/src/js/selectors/test/jetpack-status.js @@ -0,0 +1,33 @@ +import selectors from '../jetpack-status'; + +describe( 'siteDataSelectors', () => { + describe( 'getCalypsoSlug()', () => { + it( 'should return empty object when jetpackStatus is an empty object', () => { + const state = { + jetpackStatus: {}, + }; + const output = selectors.getCalypsoSlug( state ); + expect( output ).toEqual( {} ); + } ); + + it( 'should return empty object when does not include a calypsoSlug', () => { + const state = { + jetpackStatus: { + dummyItem: 'dummyValue', + }, + }; + const output = selectors.getCalypsoSlug( state ); + expect( output ).toEqual( {} ); + } ); + + it( 'should return calypsoSlug when includes jetpackStatus with calypsoSlug', () => { + const state = { + jetpackStatus: { + calypsoSlug: 'wordpress.com', + }, + }; + const output = selectors.getCalypsoSlug( state ); + expect( output ).toBe( 'wordpress.com' ); + } ); + } ); +} ); diff --git a/projects/packages/backup/src/js/selectors/test/site-data.js b/projects/packages/backup/src/js/selectors/test/site-data.js new file mode 100644 index 0000000000000..fa63e5ac777fa --- /dev/null +++ b/projects/packages/backup/src/js/selectors/test/site-data.js @@ -0,0 +1,58 @@ +import selectors from '../site-data'; + +describe( 'siteDataSelectors', () => { + describe( 'getSiteData()', () => { + it( 'should return empty array when siteData is undefined', () => { + const state = { + siteData: undefined, + }; + const output = selectors.getSiteData( state ); + expect( output ).toEqual( [] ); + } ); + + it( 'should return siteData content when object has content', () => { + const state = { + siteData: { + id: '123456', + title: 'Dummy title', + }, + }; + const output = selectors.getSiteData( state ); + expect( output ).toEqual( { + id: '123456', + title: 'Dummy title', + } ); + } ); + } ); + + describe( 'getSiteTitle()', () => { + it( 'should return empty string when siteData state is an empty object', () => { + const state = { + siteData: {}, + }; + const output = selectors.getSiteTitle( state ); + expect( output ).toBe( '' ); + } ); + + it( 'should return empty string when does not include a title', () => { + const state = { + siteData: { + id: 123, + }, + }; + const output = selectors.getSiteTitle( state ); + expect( output ).toBe( '' ); + } ); + + it( 'should return title when includes siteData with a title', () => { + const state = { + siteData: { + id: '123456', + title: 'Dummy title', + }, + }; + const output = selectors.getSiteTitle( state ); + expect( output ).toBe( 'Dummy title' ); + } ); + } ); +} ); diff --git a/projects/packages/backup/tests/jest.config.js b/projects/packages/backup/tests/jest.config.js new file mode 100644 index 0000000000000..7406c6b2bb079 --- /dev/null +++ b/projects/packages/backup/tests/jest.config.js @@ -0,0 +1,8 @@ +const path = require( 'path' ); +const baseConfig = require( 'jetpack-js-tools/jest/config.base.js' ); + +module.exports = { + ...baseConfig, + rootDir: path.join( __dirname, '..' ), + setupFilesAfterEnv: [ ...baseConfig.setupFilesAfterEnv, '/tests/jest.setup.js' ], +}; diff --git a/projects/packages/backup/tests/jest.setup.js b/projects/packages/backup/tests/jest.setup.js new file mode 100644 index 0000000000000..8a95837f69de4 --- /dev/null +++ b/projects/packages/backup/tests/jest.setup.js @@ -0,0 +1,7 @@ +window.JP_CONNECTION_INITIAL_STATE = { + userConnectionData: { + currentUser: { + wpcomUser: { Id: 99999, login: 'bobsacramento', display_name: 'Bob Sacrmaneto' }, + }, + }, +}; diff --git a/projects/plugins/backup/changelog/add-backup-package-js-tests b/projects/plugins/backup/changelog/add-backup-package-js-tests new file mode 100644 index 0000000000000..9aa70e3ec1f75 --- /dev/null +++ b/projects/plugins/backup/changelog/add-backup-package-js-tests @@ -0,0 +1,5 @@ +Significance: patch +Type: changed +Comment: Updated composer.lock. + + diff --git a/projects/plugins/backup/composer.lock b/projects/plugins/backup/composer.lock index 9a5733a7f6226..35f74ebd27f5c 100644 --- a/projects/plugins/backup/composer.lock +++ b/projects/plugins/backup/composer.lock @@ -238,7 +238,7 @@ "dist": { "type": "path", "url": "../../packages/backup", - "reference": "4de8be67a9e7b8f048d9d69a5d14196aa4ed77cd" + "reference": "71841eee0e4daa46ef9c75742b3e2aa10e497a6f" }, "require": { "automattic/jetpack-admin-ui": "@dev", @@ -286,6 +286,9 @@ "test-coverage": [ "php -dpcov.directory=. ./vendor/bin/phpunit --coverage-clover \"$COVERAGE_DIR/clover.xml\"" ], + "test-js": [ + "pnpm run test" + ], "test-php": [ "@composer phpunit" ], diff --git a/projects/plugins/jetpack/changelog/add-backup-package-js-tests b/projects/plugins/jetpack/changelog/add-backup-package-js-tests new file mode 100644 index 0000000000000..a1c1831fa1ef7 --- /dev/null +++ b/projects/plugins/jetpack/changelog/add-backup-package-js-tests @@ -0,0 +1,5 @@ +Significance: patch +Type: other +Comment: Updated composer.lock. + + diff --git a/projects/plugins/jetpack/composer.lock b/projects/plugins/jetpack/composer.lock index 0c8d6345143f0..a5743227ad241 100644 --- a/projects/plugins/jetpack/composer.lock +++ b/projects/plugins/jetpack/composer.lock @@ -361,7 +361,7 @@ "dist": { "type": "path", "url": "../../packages/backup", - "reference": "4de8be67a9e7b8f048d9d69a5d14196aa4ed77cd" + "reference": "71841eee0e4daa46ef9c75742b3e2aa10e497a6f" }, "require": { "automattic/jetpack-admin-ui": "@dev", @@ -409,6 +409,9 @@ "test-coverage": [ "php -dpcov.directory=. ./vendor/bin/phpunit --coverage-clover \"$COVERAGE_DIR/clover.xml\"" ], + "test-js": [ + "pnpm run test" + ], "test-php": [ "@composer phpunit" ], From 6bbc5a20d2e9b0ceed9756c9684c0f1f730f0827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dami=C3=A1n=20Su=C3=A1rez?= Date: Thu, 5 Jan 2023 16:38:33 +0000 Subject: [PATCH 08/17] VideoPress: change the way to detect when the media is a File instance (#28194) * change the way to detect if media is a File * changelog --- ...update-videopress-fix-weird-instance-of-file-issue | 4 ++++ .../video/components/videopress-uploader/index.js | 11 +++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 projects/packages/videopress/changelog/update-videopress-fix-weird-instance-of-file-issue diff --git a/projects/packages/videopress/changelog/update-videopress-fix-weird-instance-of-file-issue b/projects/packages/videopress/changelog/update-videopress-fix-weird-instance-of-file-issue new file mode 100644 index 0000000000000..1df42970c7f51 --- /dev/null +++ b/projects/packages/videopress/changelog/update-videopress-fix-weird-instance-of-file-issue @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +VideoPress: change the way to detect when the media is a File instance diff --git a/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/index.js b/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/index.js index 6e10d555096d2..2e2030c5bccd1 100644 --- a/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/index.js +++ b/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/index.js @@ -193,9 +193,16 @@ const VideoPressUploader = ( { */ media = media?.[ 0 ] ? media[ 0 ] : media; - const isFileUploading = media instanceof File; + /* + * For some reason, the `instance of File` check doesn't work. + * It returns false even when the media is a File. + * https://github.com/Automattic/jetpack/issues/28191 + */ + // const isUploadingFile = media instanceof File; + const isUploadingFile = media?.name && media?.size && media?.type; + // - Handle upload by selecting a File - if ( isFileUploading ) { + if ( isUploadingFile ) { startUpload( media ); return; } From 483fe4a57bc46293319f2976a70e0c38e0de98d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dami=C3=A1n=20Su=C3=A1rez?= Date: Thu, 5 Jan 2023 17:28:06 +0000 Subject: [PATCH 09/17] VideoPress: fix duplicating uploaded file when replacing the video (#28196) * take the control when replacing the video file * changelog * handle the media source when replacing --- ...eopress-fix-duplicated-file-when-replacing | 4 +++ .../components/replace-control/index.tsx | 26 +++++++------------ 2 files changed, 14 insertions(+), 16 deletions(-) create mode 100644 projects/packages/videopress/changelog/videopress-fix-duplicated-file-when-replacing diff --git a/projects/packages/videopress/changelog/videopress-fix-duplicated-file-when-replacing b/projects/packages/videopress/changelog/videopress-fix-duplicated-file-when-replacing new file mode 100644 index 0000000000000..cb733e8078bab --- /dev/null +++ b/projects/packages/videopress/changelog/videopress-fix-duplicated-file-when-replacing @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +VideoPress: fix duplicating uploaded file when replacing the video diff --git a/projects/packages/videopress/src/client/block-editor/blocks/video/components/replace-control/index.tsx b/projects/packages/videopress/src/client/block-editor/blocks/video/components/replace-control/index.tsx index 68cd9f6ce27b9..0f7146351c387 100644 --- a/projects/packages/videopress/src/client/block-editor/blocks/video/components/replace-control/index.tsx +++ b/projects/packages/videopress/src/client/block-editor/blocks/video/components/replace-control/index.tsx @@ -27,33 +27,27 @@ const ReplaceControl = ( { onSelectVideoFromLibrary, }: ReplaceControlProps ) => { /** - * Uploading file handler. + * Handler to define the prop to run + * when the user selects a video from the media library, + * or when the user uploads a video. * - * @param {FileList} media - media file to upload + * @param { AdminAjaxQueryAttachmentsResponseItemProps | FileList } media - The media selected by the user. */ - function onFileUploadHandler( media: FileList ): void { - /* - * Allow uploading only (the first) one file - * @todo: Allow uploading multiple files - */ - const file = media?.[ 0 ] ? media[ 0 ] : media; - - const isFileUploading = file instanceof File; - if ( ! isFileUploading ) { + function selectMediaHandler( media: AdminAjaxQueryAttachmentsResponseItemProps | FileList ) { + if ( media?.[ 0 ]?.name && media?.[ 0 ]?.size && media?.[ 0 ]?.type ) { + onUploadFileStart( media[ 0 ] as File ); return; } - - onUploadFileStart( file ); + onSelectVideoFromLibrary( media as AdminAjaxQueryAttachmentsResponseItemProps ); } return ( ); }; From 10899b668a7dcef6e071d5baf0c21ad97d028aae Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Thu, 5 Jan 2023 14:34:46 -0500 Subject: [PATCH 10/17] Cleanup after #28130 (#28197) PR #28130 added some JS deps to `projects/packages/backup/package.json`, and wound up with double entries for `@babel/runtime` and an older version of `@testing-library/dom`. Fix those. --- pnpm-lock.yaml | 762 +++++++++++++----- .../fix-packages-backup-package.json | 5 + projects/packages/backup/package.json | 5 +- 3 files changed, 586 insertions(+), 186 deletions(-) create mode 100644 projects/packages/backup/changelog/fix-packages-backup-package.json diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f7b14262ab39e..3ff0045925403 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -802,7 +802,7 @@ importers: '@babel/preset-env': 7.20.2 '@babel/register': 7.18.9 '@babel/runtime': 7.20.7 - '@testing-library/dom': 8.19.0 + '@testing-library/dom': 8.19.1 '@testing-library/react': 12.1.5 '@testing-library/react-hooks': 8.0.1 '@testing-library/user-event': 14.4.3 @@ -840,10 +840,10 @@ importers: '@babel/preset-env': 7.20.2_@babel+core@7.20.7 '@babel/register': 7.18.9_@babel+core@7.20.7 '@babel/runtime': 7.20.7 - '@testing-library/dom': 8.19.0 - '@testing-library/react': 12.1.5_g46twevx2c2k7lfvystw4wurrm + '@testing-library/dom': 8.19.1 + '@testing-library/react': 12.1.5_s2motuibfpxxa3ftoqehetkmru '@testing-library/react-hooks': 8.0.1_sfoxds7t5ydpegc3knd667wn6m - '@testing-library/user-event': 14.4.3_aaq3sbffpfe3jnxzm2zngsddei + '@testing-library/user-event': 14.4.3_ua4wuun3fnehcjqtqj2e2ldgpe '@wordpress/browserslist-config': 5.5.0 concurrently: 6.0.2 jest: 29.3.1 @@ -2561,8 +2561,8 @@ packages: lru-cache: 5.1.1 semver: 6.3.0 - /@babel/helper-create-class-features-plugin/7.20.5_@babel+core@7.20.7: - resolution: {integrity: sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==} + /@babel/helper-create-class-features-plugin/7.20.12_@babel+core@7.20.7: + resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -2571,9 +2571,10 @@ packages: '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 '@babel/helper-split-export-declaration': 7.18.6 transitivePeerDependencies: - supports-color @@ -2644,8 +2645,8 @@ packages: dependencies: '@babel/types': 7.20.7 - /@babel/helper-member-expression-to-functions/7.18.9: - resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} + /@babel/helper-member-expression-to-functions/7.20.7: + resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.20.7 @@ -2671,21 +2672,6 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-module-transforms/7.20.2: - resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.12 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - /@babel/helper-optimise-call-expression/7.18.6: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} @@ -2714,13 +2700,14 @@ packages: transitivePeerDependencies: - supports-color - /@babel/helper-replace-supers/7.19.1: - resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} + /@babel/helper-replace-supers/7.20.7: + resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.20.7 '@babel/traverse': 7.20.12 '@babel/types': 7.20.7 transitivePeerDependencies: @@ -2785,14 +2772,6 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser/7.20.5: - resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.20.7 - dev: true - /@babel/parser/7.20.7: resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==} engines: {node: '>=6.0.0'} @@ -2818,7 +2797,7 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.7 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.7 /@babel/plugin-proposal-async-generator-functions/7.20.1_@babel+core@7.20.7: resolution: {integrity: sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==} @@ -2841,7 +2820,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color @@ -2853,22 +2832,22 @@ packages: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.20.7 transitivePeerDependencies: - supports-color - /@babel/plugin-proposal-decorators/7.20.5_@babel+core@7.20.7: - resolution: {integrity: sha512-Lac7PpRJXcC3s9cKsBfl+uc+DYXU5FD06BrTFunQO6QIQT+DwyzDPURAowI3bcvD1dZF/ank1Z5rstUJn3Hn4Q==} + /@babel/plugin-proposal-decorators/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 '@babel/plugin-syntax-decorators': 7.19.0_@babel+core@7.20.7 transitivePeerDependencies: @@ -2954,11 +2933,11 @@ packages: '@babel/core': 7.12.9 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.9 - '@babel/plugin-transform-parameters': 7.20.5_@babel+core@7.12.9 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.12.9 dev: true - /@babel/plugin-proposal-object-rest-spread/7.20.2_@babel+core@7.20.7: - resolution: {integrity: sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==} + /@babel/plugin-proposal-object-rest-spread/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2968,7 +2947,7 @@ packages: '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-transform-parameters': 7.20.5_@babel+core@7.20.7 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.7 /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.20.7: resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} @@ -2980,8 +2959,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.20.7 - /@babel/plugin-proposal-optional-chaining/7.18.9_@babel+core@7.20.7: - resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} + /@babel/plugin-proposal-optional-chaining/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2998,7 +2977,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color @@ -3011,7 +2990,7 @@ packages: dependencies: '@babel/core': 7.20.7 '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.7 transitivePeerDependencies: @@ -3235,8 +3214,8 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.20.7: - resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} + /@babel/plugin-transform-arrow-functions/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3266,8 +3245,8 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-block-scoping/7.20.5_@babel+core@7.20.7: - resolution: {integrity: sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==} + /@babel/plugin-transform-block-scoping/7.20.11_@babel+core@7.20.7: + resolution: {integrity: sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3275,8 +3254,8 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-classes/7.20.2_@babel+core@7.20.7: - resolution: {integrity: sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==} + /@babel/plugin-transform-classes/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3288,7 +3267,7 @@ packages: '@babel/helper-function-name': 7.19.0 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 globals: 11.12.0 transitivePeerDependencies: @@ -3303,8 +3282,8 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-destructuring/7.20.2_@babel+core@7.20.7: - resolution: {integrity: sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==} + /@babel/plugin-transform-destructuring/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3397,7 +3376,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-module-transforms': 7.20.2 + '@babel/helper-module-transforms': 7.20.11 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color @@ -3409,7 +3388,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-module-transforms': 7.20.2 + '@babel/helper-module-transforms': 7.20.11 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-simple-access': 7.20.2 transitivePeerDependencies: @@ -3423,7 +3402,7 @@ packages: dependencies: '@babel/core': 7.20.7 '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.20.2 + '@babel/helper-module-transforms': 7.20.11 '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-identifier': 7.19.1 transitivePeerDependencies: @@ -3436,7 +3415,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-module-transforms': 7.20.2 + '@babel/helper-module-transforms': 7.20.11 '@babel/helper-plugin-utils': 7.20.2 transitivePeerDependencies: - supports-color @@ -3468,12 +3447,12 @@ packages: dependencies: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-parameters/7.20.5_@babel+core@7.12.9: - resolution: {integrity: sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==} + /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.12.9: + resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3482,8 +3461,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-parameters/7.20.5_@babel+core@7.20.7: - resolution: {integrity: sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==} + /@babel/plugin-transform-parameters/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3518,19 +3497,6 @@ packages: '@babel/core': 7.20.7 '@babel/plugin-transform-react-jsx': 7.20.7_@babel+core@7.20.7 - /@babel/plugin-transform-react-jsx/7.19.0_@babel+core@7.20.7: - resolution: {integrity: sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.7 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.7 - '@babel/types': 7.20.5 - /@babel/plugin-transform-react-jsx/7.20.7_@babel+core@7.20.7: resolution: {integrity: sha512-Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ==} engines: {node: '>=6.9.0'} @@ -3598,8 +3564,8 @@ packages: '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 - /@babel/plugin-transform-spread/7.19.0_@babel+core@7.20.7: - resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} + /@babel/plugin-transform-spread/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -3642,7 +3608,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.5_@babel+core@7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.12_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.20.7 transitivePeerDependencies: @@ -3689,9 +3655,9 @@ packages: '@babel/plugin-proposal-logical-assignment-operators': 7.18.9_@babel+core@7.20.7 '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.7 '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-object-rest-spread': 7.20.2_@babel+core@7.20.7 + '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.7 '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.7 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.7 '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.7 '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.7 '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.7 @@ -3710,13 +3676,13 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.20.7 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.20.7 '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.20.7 - '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.20.7 + '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.7 '@babel/plugin-transform-async-to-generator': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-block-scoping': 7.20.5_@babel+core@7.20.7 - '@babel/plugin-transform-classes': 7.20.2_@babel+core@7.20.7 + '@babel/plugin-transform-block-scoping': 7.20.11_@babel+core@7.20.7 + '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.7 '@babel/plugin-transform-computed-properties': 7.18.9_@babel+core@7.20.7 - '@babel/plugin-transform-destructuring': 7.20.2_@babel+core@7.20.7 + '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.7 '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-duplicate-keys': 7.18.9_@babel+core@7.20.7 '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.20.7 @@ -3731,19 +3697,19 @@ packages: '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5_@babel+core@7.20.7 '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-parameters': 7.20.5_@babel+core@7.20.7 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.7 '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-regenerator': 7.20.5_@babel+core@7.20.7 '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-spread': 7.19.0_@babel+core@7.20.7 + '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.7 '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.7 '@babel/plugin-transform-typeof-symbol': 7.18.9_@babel+core@7.20.7 '@babel/plugin-transform-unicode-escapes': 7.18.10_@babel+core@7.20.7 '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.20.7 '@babel/preset-modules': 0.1.5_@babel+core@7.20.7 - '@babel/types': 7.20.5 + '@babel/types': 7.20.7 babel-plugin-polyfill-corejs2: 0.3.3_@babel+core@7.20.7 babel-plugin-polyfill-corejs3: 0.6.0_@babel+core@7.20.7 babel-plugin-polyfill-regenerator: 0.4.1_@babel+core@7.20.7 @@ -3773,7 +3739,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.20.7 - '@babel/types': 7.20.5 + '@babel/types': 7.20.7 esutils: 2.0.3 /@babel/preset-react/7.18.6_@babel+core@7.20.7: @@ -3786,7 +3752,7 @@ packages: '@babel/helper-plugin-utils': 7.20.2 '@babel/helper-validator-option': 7.18.6 '@babel/plugin-transform-react-display-name': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.20.7 + '@babel/plugin-transform-react-jsx': 7.20.7_@babel+core@7.20.7 '@babel/plugin-transform-react-jsx-development': 7.18.6_@babel+core@7.20.7 '@babel/plugin-transform-react-pure-annotations': 7.18.6_@babel+core@7.20.7 @@ -3825,12 +3791,6 @@ packages: regenerator-runtime: 0.13.11 dev: true - /@babel/runtime/7.20.6: - resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.11 - /@babel/runtime/7.20.7: resolution: {integrity: sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==} engines: {node: '>=6.9.0'} @@ -3862,14 +3822,6 @@ packages: transitivePeerDependencies: - supports-color - /@babel/types/7.20.5: - resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - /@babel/types/7.20.7: resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} engines: {node: '>=6.9.0'} @@ -5793,6 +5745,27 @@ packages: react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.11 + /@storybook/addons/6.5.15_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-xT31SuSX+kYGyxCNK2nqL7WTxucs3rSmhiCLovJcUjYk+QquV3c2c53Ki7lwwdDbzfXFcNAe0HJ4hoTN4jhn0Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/api': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/channels': 6.5.15 + '@storybook/client-logger': 6.5.15 + '@storybook/core-events': 6.5.15 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/router': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@types/webpack-env': 1.18.0 + core-js: 3.26.1 + global: 4.4.0 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + regenerator-runtime: 0.13.11 + dev: true + /@storybook/api/6.5.14_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-RpgEWV4mxD1mNsGWkjSNq3+B/LFNIhXZc4OapEEK5u0jgCZKB7OCsRL9NJZB5WfpyN+vx8SwbUTgo8DIkes3qw==} peerDependencies: @@ -5819,6 +5792,33 @@ packages: ts-dedent: 2.2.0 util-deprecate: 1.0.2 + /@storybook/api/6.5.15_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-BBE0KXKvj1/3jTghbIoWfrcDM0t+xO7EYtWWAXD6XlhGsZVD2Dy82Z52ONyLulMDRpMWl0OYy3h6A1YnFUH25w==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/channels': 6.5.15 + '@storybook/client-logger': 6.5.15 + '@storybook/core-events': 6.5.15 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/router': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/semver': 7.3.2 + '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + core-js: 3.26.1 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.21 + memoizerific: 1.11.3 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + regenerator-runtime: 0.13.11 + store2: 2.14.2 + telejson: 6.0.8 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: true + /@storybook/builder-webpack5/6.5.14_lvjraxmr6x5tfufieyioadep3e: resolution: {integrity: sha512-Ukj7Wwxz/3mKn5TI5mkm2mIm583LxOz78ZrpcOgI+vpjeRlMFXmGGEb68R47SiCdZoVCfIeCXXXzBd6Q6As6QQ==} peerDependencies: @@ -5880,6 +5880,67 @@ packages: - webpack-cli dev: true + /@storybook/builder-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e: + resolution: {integrity: sha512-BnSoAmI02pvbGBSyzCx+voXb/d5EopQ78zx/lYv4CeOspBFOYEfGvAgYHILFo04V12S2/k8aSOc/tCYw5AqPtw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/core': 7.20.7 + '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/api': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/channel-postmessage': 6.5.15 + '@storybook/channels': 6.5.15 + '@storybook/client-api': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/client-logger': 6.5.15 + '@storybook/components': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/core-common': 6.5.15_lvjraxmr6x5tfufieyioadep3e + '@storybook/core-events': 6.5.15 + '@storybook/node-logger': 6.5.15 + '@storybook/preview-web': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/router': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/semver': 7.3.2 + '@storybook/store': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@types/node': 16.18.8 + babel-loader: 8.3.0_t7jx4cl4qpbwg7355cfrhdqi44 + babel-plugin-named-exports-order: 0.0.2 + browser-assert: 1.2.1 + case-sensitive-paths-webpack-plugin: 2.4.0 + core-js: 3.26.1 + css-loader: 5.2.7_webpack@5.72.1 + fork-ts-checker-webpack-plugin: 6.5.2_czu7yixrf7btnlqoc6r2d4xkfq + glob: 7.2.3 + glob-promise: 3.4.0_glob@7.2.3 + html-webpack-plugin: 5.5.0_webpack@5.72.1 + path-browserify: 1.0.1 + process: 0.11.10 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + stable: 0.1.8 + style-loader: 2.0.0_webpack@5.72.1 + terser-webpack-plugin: 5.3.6_webpack@5.72.1 + ts-dedent: 2.2.0 + typescript: 4.8.2 + util-deprecate: 1.0.2 + webpack: 5.72.1_webpack-cli@4.9.1 + webpack-dev-middleware: 4.3.0_webpack@5.72.1 + webpack-hot-middleware: 2.25.3 + webpack-virtual-modules: 0.4.6 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - eslint + - supports-color + - uglify-js + - vue-template-compiler + - webpack-cli + dev: true + /@storybook/channel-postmessage/6.5.14: resolution: {integrity: sha512-0Cmdze5G3Qwxf7yYPGlJxGiY+KiEUQ+8GfpohsKGfvrP8cfSrx6VhxupHA7hDNyRh75hqZq5BrkW4HO9Ypbt5A==} dependencies: @@ -5892,6 +5953,18 @@ packages: telejson: 6.0.8 dev: true + /@storybook/channel-postmessage/6.5.15: + resolution: {integrity: sha512-gMpA8LWT8lC4z5KWnaMh03aazEwtDO7GtY5kZVru+EEMgExGmaR82qgekwmLmgLj2nRJEv0o138o9IqYUcou8w==} + dependencies: + '@storybook/channels': 6.5.15 + '@storybook/client-logger': 6.5.15 + '@storybook/core-events': 6.5.15 + core-js: 3.26.1 + global: 4.4.0 + qs: 6.11.0 + telejson: 6.0.8 + dev: true + /@storybook/channel-websocket/6.5.14: resolution: {integrity: sha512-ZyDL5PBFWuFQ15NBljhbOaD/3FAijXvLj5oxfNris2khdkqlP6/8JmcIvfohJJcqepGZHUF9H29OaUsRC35ftA==} dependencies: @@ -5902,6 +5975,16 @@ packages: telejson: 6.0.8 dev: true + /@storybook/channel-websocket/6.5.15: + resolution: {integrity: sha512-K85KEgzo5ahzJNJjyUbSNyuRmkeC8glJX2hCg2j9HiJ9rasX53qugkODrKDlWAeheulo3kR13VSuAqIuwVbmbw==} + dependencies: + '@storybook/channels': 6.5.15 + '@storybook/client-logger': 6.5.15 + core-js: 3.26.1 + global: 4.4.0 + telejson: 6.0.8 + dev: true + /@storybook/channels/6.5.14: resolution: {integrity: sha512-hHpr4Sya6fuEDhy7vnfD2QnL5wy1CaAK9BC0FLupndXnQyKJtygfIaUP4a0B2KntuNPbzPhclb2Hb4yM7CExmQ==} dependencies: @@ -5909,6 +5992,14 @@ packages: ts-dedent: 2.2.0 util-deprecate: 1.0.2 + /@storybook/channels/6.5.15: + resolution: {integrity: sha512-gPpsBgirv2NCXbH4WbYqdkI0JLE96aiVuu7UEWfn9yu071pQ9CLHbhXGD9fSFNrfOkyBBY10ppSE7uCXw3Wexg==} + dependencies: + core-js: 3.26.1 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: true + /@storybook/client-api/6.5.14_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-G5mBQCKn8/VqE9XDCL19ixcvu8YhaQZ0AE+EXGYXUsvPpyQ43oGoGJry5IqOzeRlc7dbglFWpMkB6PeeUD7aCw==} peerDependencies: @@ -5939,12 +6030,49 @@ packages: util-deprecate: 1.0.2 dev: true + /@storybook/client-api/6.5.15_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-0ZGpRgVz7rdbCguBqBpwObXbsVY5qlSTWDzzIBpmz8EkxW/MtK5wEyeq+0L0O+DTn41FwvH5yCGLAENpzWD8BQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/channel-postmessage': 6.5.15 + '@storybook/channels': 6.5.15 + '@storybook/client-logger': 6.5.15 + '@storybook/core-events': 6.5.15 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/store': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@types/qs': 6.9.7 + '@types/webpack-env': 1.18.0 + core-js: 3.26.1 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.21 + memoizerific: 1.11.3 + qs: 6.11.0 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + regenerator-runtime: 0.13.11 + store2: 2.14.2 + synchronous-promise: 2.0.16 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: true + /@storybook/client-logger/6.5.14: resolution: {integrity: sha512-r1pY69DGKzX9/GngkudthaaPxPlka16zjG7Y58psunwcoUuH3riAP1cjqhXt5+S8FKCNI/MGb82PLlCPX2Liuw==} dependencies: core-js: 3.26.1 global: 4.4.0 + /@storybook/client-logger/6.5.15: + resolution: {integrity: sha512-0uyxKvodq+FycGv6aUwC1wUR6suXf2+7ywMFAOlYolI4UvNj8NyU/5AfgKT5XnxYAgPmoCiAjOE700TrfHrosw==} + dependencies: + core-js: 3.26.1 + global: 4.4.0 + dev: true + /@storybook/components/6.5.14_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-wqB9CF3sjxtgffnDW1G/W5SsKumsFQ0ftn/3PdrsvKULu5LM5bjNEqC2cTCWrk9vQhj+EVQxzdVM/BlPl/lSwg==} peerDependencies: @@ -5962,6 +6090,24 @@ packages: regenerator-runtime: 0.13.11 util-deprecate: 1.0.2 + /@storybook/components/6.5.15_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-bHTT0Oa3s4g+MBMaLBbX9ofMtb1AW59AzIUNGrfqW1XqJMGuUHMiJ7TSo+i5dRSFpbFygnwMEG9LfHxpR2Z0Dw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/client-logger': 6.5.15 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + core-js: 3.26.1 + memoizerific: 1.11.3 + qs: 6.11.0 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + regenerator-runtime: 0.13.11 + util-deprecate: 1.0.2 + dev: true + /@storybook/core-client/6.5.14_r26yox34l5e4rxinohcfftvhfy: resolution: {integrity: sha512-d5mUgz1xSvrAdal8XKI5YOZOM/XUly90vis3DboeZRO58qSp+NH5xFYIBBED5qefDgmGU0Yv4rXHQlph96LSHQ==} peerDependencies: @@ -5999,6 +6145,43 @@ packages: webpack: 5.72.1_webpack-cli@4.9.1 dev: true + /@storybook/core-client/6.5.15_r26yox34l5e4rxinohcfftvhfy: + resolution: {integrity: sha512-i9t4WONy2MxJwLI1FIp5ck7b52EXyJfALnxUn4O/3GTkw09J0NOKi2DPjefUsi7IB5MzFpDjDH9vw/XiTM+OZw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + typescript: '*' + webpack: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/channel-postmessage': 6.5.15 + '@storybook/channel-websocket': 6.5.15 + '@storybook/client-api': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/client-logger': 6.5.15 + '@storybook/core-events': 6.5.15 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/preview-web': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/store': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/ui': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + airbnb-js-shims: 2.2.1 + ansi-to-html: 0.6.15 + core-js: 3.26.1 + global: 4.4.0 + lodash: 4.17.21 + qs: 6.11.0 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + regenerator-runtime: 0.13.11 + ts-dedent: 2.2.0 + typescript: 4.8.2 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + webpack: 5.72.1_webpack-cli@4.9.1 + dev: true + /@storybook/core-common/6.5.14_lvjraxmr6x5tfufieyioadep3e: resolution: {integrity: sha512-MrxhYXYrtN6z/+tydjPkCIwDQm5q8Jx+w4TPdLKBZu7vzfp6T3sT12Ym96j9MJ42CvE4vSDl/Njbw6C0D+yEVw==} peerDependencies: @@ -6011,22 +6194,22 @@ packages: dependencies: '@babel/core': 7.20.7 '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-decorators': 7.20.5_@babel+core@7.20.7 + '@babel/plugin-proposal-decorators': 7.20.7_@babel+core@7.20.7 '@babel/plugin-proposal-export-default-from': 7.18.10_@babel+core@7.20.7 '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-proposal-object-rest-spread': 7.20.2_@babel+core@7.20.7 - '@babel/plugin-proposal-optional-chaining': 7.18.9_@babel+core@7.20.7 + '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.7 '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.7 '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.7 '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.7 - '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-block-scoping': 7.20.5_@babel+core@7.20.7 - '@babel/plugin-transform-classes': 7.20.2_@babel+core@7.20.7 - '@babel/plugin-transform-destructuring': 7.20.2_@babel+core@7.20.7 + '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-block-scoping': 7.20.11_@babel+core@7.20.7 + '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.7 '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.7 - '@babel/plugin-transform-parameters': 7.20.5_@babel+core@7.20.7 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.7 '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.7 - '@babel/plugin-transform-spread': 7.19.0_@babel+core@7.20.7 + '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.7 '@babel/preset-env': 7.20.2_@babel+core@7.20.7 '@babel/preset-react': 7.18.6_@babel+core@7.20.7 '@babel/preset-typescript': 7.18.6_@babel+core@7.20.7 @@ -6048,7 +6231,80 @@ packages: glob: 7.2.3 handlebars: 4.7.7 interpret: 2.2.0 - json5: 2.2.2 + json5: 2.2.1 + lazy-universal-dotenv: 3.0.1 + picomatch: 2.3.1 + pkg-dir: 5.0.0 + pretty-hrtime: 1.0.3 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + resolve-from: 5.0.0 + slash: 3.0.0 + telejson: 6.0.8 + ts-dedent: 2.2.0 + typescript: 4.8.2 + util-deprecate: 1.0.2 + webpack: 5.72.1_webpack-cli@4.9.1 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - eslint + - supports-color + - uglify-js + - vue-template-compiler + - webpack-cli + dev: true + + /@storybook/core-common/6.5.15_lvjraxmr6x5tfufieyioadep3e: + resolution: {integrity: sha512-uits9o6qwHTPnjsNZP25f7hWmUBGRJ7FXtxxtEaNSmtiwk50KWxBaro7wt505lJ1Gb9vOhpNPhS7y3IxdsXNmQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/core': 7.20.7 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.20.7 + '@babel/plugin-proposal-decorators': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-proposal-export-default-from': 7.18.10_@babel+core@7.20.7 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.20.7 + '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-proposal-optional-chaining': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.20.7 + '@babel/plugin-proposal-private-property-in-object': 7.20.5_@babel+core@7.20.7 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.20.7 + '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-block-scoping': 7.20.11_@babel+core@7.20.7 + '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.20.7 + '@babel/plugin-transform-parameters': 7.20.7_@babel+core@7.20.7 + '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.20.7 + '@babel/plugin-transform-spread': 7.20.7_@babel+core@7.20.7 + '@babel/preset-env': 7.20.2_@babel+core@7.20.7 + '@babel/preset-react': 7.18.6_@babel+core@7.20.7 + '@babel/preset-typescript': 7.18.6_@babel+core@7.20.7 + '@babel/register': 7.18.9_@babel+core@7.20.7 + '@storybook/node-logger': 6.5.15 + '@storybook/semver': 7.3.2 + '@types/node': 16.18.8 + '@types/pretty-hrtime': 1.0.1 + babel-loader: 8.3.0_t7jx4cl4qpbwg7355cfrhdqi44 + babel-plugin-macros: 3.1.0 + babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.20.7 + chalk: 4.1.2 + core-js: 3.26.1 + express: 4.18.2 + file-system-cache: 1.1.0 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.2_czu7yixrf7btnlqoc6r2d4xkfq + fs-extra: 9.1.0 + glob: 7.2.3 + handlebars: 4.7.7 + interpret: 2.2.0 + json5: 2.2.3 lazy-universal-dotenv: 3.0.1 picomatch: 2.3.1 pkg-dir: 5.0.0 @@ -6077,6 +6333,12 @@ packages: dependencies: core-js: 3.26.1 + /@storybook/core-events/6.5.15: + resolution: {integrity: sha512-B1Ba6l5W7MeNclclqMMTMHgYgfdpB5SIhNCQFnzIz8blynzRhNFMdxvbAl6Je5G0S4xydYYd7Lno2kXQebs7HA==} + dependencies: + core-js: 3.26.1 + dev: true + /@storybook/core-server/6.5.14_lvjraxmr6x5tfufieyioadep3e: resolution: {integrity: sha512-+Z3lHEsDpiBXt6xBwU5AVBoEkicndnHoiLwhEGPkfixy7POYEEny3cm54tteVxV8O5AHMwsHs54/QD+hHxAXnQ==} peerDependencies: @@ -6094,13 +6356,13 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': /@storybook/builder-webpack5/6.5.14_lvjraxmr6x5tfufieyioadep3e + '@storybook/builder-webpack4': /@storybook/builder-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e '@storybook/core-client': 6.5.14_r26yox34l5e4rxinohcfftvhfy '@storybook/core-common': 6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/core-events': 6.5.14 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.14 - '@storybook/manager-webpack4': /@storybook/manager-webpack5/6.5.14_lvjraxmr6x5tfufieyioadep3e + '@storybook/manager-webpack4': /@storybook/manager-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e '@storybook/node-logger': 6.5.14 '@storybook/semver': 7.3.2 '@storybook/store': 6.5.14_sfoxds7t5ydpegc3knd667wn6m @@ -6172,14 +6434,14 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-webpack4': /@storybook/builder-webpack5/6.5.14_lvjraxmr6x5tfufieyioadep3e + '@storybook/builder-webpack4': /@storybook/builder-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e '@storybook/builder-webpack5': 6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/core-client': 6.5.14_r26yox34l5e4rxinohcfftvhfy '@storybook/core-common': 6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/core-events': 6.5.14 '@storybook/csf': 0.0.2--canary.4566f4d.1 '@storybook/csf-tools': 6.5.14 - '@storybook/manager-webpack4': /@storybook/manager-webpack5/6.5.14_lvjraxmr6x5tfufieyioadep3e + '@storybook/manager-webpack4': /@storybook/manager-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e '@storybook/manager-webpack5': 6.5.14_lvjraxmr6x5tfufieyioadep3e '@storybook/node-logger': 6.5.14 '@storybook/semver': 7.3.2 @@ -6420,6 +6682,62 @@ packages: - webpack-cli dev: true + /@storybook/manager-webpack5/6.5.15_lvjraxmr6x5tfufieyioadep3e: + resolution: {integrity: sha512-yrHVFUHGdVRWq/oGJwQu+UOZzxELH5SS+Lpn5oIQ/Dblam9piQC0KmBZtFuA9X8acaw4BBVnXgF/aiqs9fOp/Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/core': 7.20.7 + '@babel/plugin-transform-template-literals': 7.18.9_@babel+core@7.20.7 + '@babel/preset-react': 7.18.6_@babel+core@7.20.7 + '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/core-client': 6.5.15_r26yox34l5e4rxinohcfftvhfy + '@storybook/core-common': 6.5.15_lvjraxmr6x5tfufieyioadep3e + '@storybook/node-logger': 6.5.15 + '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/ui': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@types/node': 16.18.8 + babel-loader: 8.3.0_t7jx4cl4qpbwg7355cfrhdqi44 + case-sensitive-paths-webpack-plugin: 2.4.0 + chalk: 4.1.2 + core-js: 3.26.1 + css-loader: 5.2.7_webpack@5.72.1 + express: 4.18.2 + find-up: 5.0.0 + fs-extra: 9.1.0 + html-webpack-plugin: 5.5.0_webpack@5.72.1 + node-fetch: 2.6.7 + process: 0.11.10 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + read-pkg-up: 7.0.1 + regenerator-runtime: 0.13.11 + resolve-from: 5.0.0 + style-loader: 2.0.0_webpack@5.72.1 + telejson: 6.0.8 + terser-webpack-plugin: 5.3.6_webpack@5.72.1 + ts-dedent: 2.2.0 + typescript: 4.8.2 + util-deprecate: 1.0.2 + webpack: 5.72.1_webpack-cli@4.9.1 + webpack-dev-middleware: 4.3.0_webpack@5.72.1 + webpack-virtual-modules: 0.4.6 + transitivePeerDependencies: + - '@swc/core' + - encoding + - esbuild + - eslint + - supports-color + - uglify-js + - vue-template-compiler + - webpack-cli + dev: true + /@storybook/mdx1-csf/0.0.1_@babel+core@7.20.7: resolution: {integrity: sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==} dependencies: @@ -6449,6 +6767,16 @@ packages: pretty-hrtime: 1.0.3 dev: true + /@storybook/node-logger/6.5.15: + resolution: {integrity: sha512-LQjjbfMuUXm7wZTBKb+iGeCNnej4r1Jb2NxG3Svu2bVhaoB6u33jHAcbmhXpXW1jghzW3kQwOU7BoLuJiRRFIw==} + dependencies: + '@types/npmlog': 4.1.4 + chalk: 4.1.2 + core-js: 3.26.1 + npmlog: 5.0.1 + pretty-hrtime: 1.0.3 + dev: true + /@storybook/postinstall/6.5.14: resolution: {integrity: sha512-vtnQczSSkz7aPIc2dsDaZWlCDAcJb258KGXk72w7MEY9/zLlr6tdQLI30B6SkRNFnR8fQQf4H2gbFq/GM0EF5A==} dependencies: @@ -6481,6 +6809,32 @@ packages: util-deprecate: 1.0.2 dev: true + /@storybook/preview-web/6.5.15_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-gIHABSAD0JS0iRaG67BnSDq/q8Zf4fFwEWBQOSYgcEx2TzhAUeSkhGZUQHdlOTCwuA2PpXT0/cWDH8u2Ev+msg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/channel-postmessage': 6.5.15 + '@storybook/client-logger': 6.5.15 + '@storybook/core-events': 6.5.15 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + '@storybook/store': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + ansi-to-html: 0.6.15 + core-js: 3.26.1 + global: 4.4.0 + lodash: 4.17.21 + qs: 6.11.0 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + regenerator-runtime: 0.13.11 + synchronous-promise: 2.0.16 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + dev: true + /@storybook/react-docgen-typescript-plugin/1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0_czu7yixrf7btnlqoc6r2d4xkfq: resolution: {integrity: sha512-eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w==} peerDependencies: @@ -6692,6 +7046,21 @@ packages: react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.11 + /@storybook/router/6.5.15_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-9t8rI8t7/Krolau29gsdjdbRQ66orONIyP0efp0EukVgv6reNFzb/U14ARrl0uHys6Tl5Xyece9FoakQUdn8Kg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/client-logger': 6.5.15 + core-js: 3.26.1 + memoizerific: 1.11.3 + qs: 6.11.0 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + regenerator-runtime: 0.13.11 + dev: true + /@storybook/semver/7.3.2: resolution: {integrity: sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==} engines: {node: '>=10'} @@ -6745,6 +7114,31 @@ packages: util-deprecate: 1.0.2 dev: true + /@storybook/store/6.5.15_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-r6cYTf6GtbqgdI4ZG3xuWdJAAu5fJ3xAWMiDkHyoK2u+R2TeYXIsJvgn0BPrW87sZhELIkg4ckdFECmATs3kpQ==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/client-logger': 6.5.15 + '@storybook/core-events': 6.5.15 + '@storybook/csf': 0.0.2--canary.4566f4d.1 + core-js: 3.26.1 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.21 + memoizerific: 1.11.3 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + regenerator-runtime: 0.13.11 + slash: 3.0.0 + stable: 0.1.8 + synchronous-promise: 2.0.16 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: true + /@storybook/telemetry/6.5.14_lvjraxmr6x5tfufieyioadep3e: resolution: {integrity: sha512-AVSw7WyKHrVbXMSZZ0fvg3oAb8xAS7OrmNU6++yUfbuqpF0JNtNkNnRSaJ4Nh7Vujzloy5jYhbpfY44nb/hsCw==} dependencies: @@ -6805,6 +7199,20 @@ packages: react-dom: 17.0.2_react@17.0.2 regenerator-runtime: 0.13.11 + /@storybook/theming/6.5.15_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-pgdW0lVZKKXQ4VhIfLHycMmwFSVOY7vLTKnytag4Y8Yz+aXm0bwDN/QxPntFzDH47F1Rcy2ywNnvty8ooDTvuA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/client-logger': 6.5.15 + core-js: 3.26.1 + memoizerific: 1.11.3 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + regenerator-runtime: 0.13.11 + dev: true + /@storybook/ui/6.5.14_sfoxds7t5ydpegc3knd667wn6m: resolution: {integrity: sha512-dXlCIULh8ytgdFrvVoheQLlZjAyyYmGCuw+6m+s+2yF/oUbFREG/5Zo9hDwlJ4ZiAyqNLkuwg2tnMYtjapZSog==} peerDependencies: @@ -6829,6 +7237,30 @@ packages: resolve-from: 5.0.0 dev: true + /@storybook/ui/6.5.15_sfoxds7t5ydpegc3knd667wn6m: + resolution: {integrity: sha512-OO+TWZmI8ebWA1C3JBKNvbUbsgvt4GppqsGlkf5CTBZrT/MzmMlYiooLAtlY1ZPcMtTd5ynLxvroHWBEnMOk2A==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@storybook/addons': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/api': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/channels': 6.5.15 + '@storybook/client-logger': 6.5.15 + '@storybook/components': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/core-events': 6.5.15 + '@storybook/router': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + '@storybook/semver': 7.3.2 + '@storybook/theming': 6.5.15_sfoxds7t5ydpegc3knd667wn6m + core-js: 3.26.1 + memoizerific: 1.11.3 + qs: 6.11.0 + react: 17.0.2 + react-dom: 17.0.2_react@17.0.2 + regenerator-runtime: 0.13.11 + resolve-from: 5.0.0 + dev: true + /@tannin/compile/1.1.0: resolution: {integrity: sha512-n8m9eNDfoNZoxdvWiTfW/hSPhehzLJ3zW7f8E7oT6mCROoMNWCB4TYtv041+2FMAxweiE0j7i1jubQU4MEC/Gg==} dependencies: @@ -6846,26 +7278,12 @@ packages: /@tannin/postfix/1.1.0: resolution: {integrity: sha512-oocsqY7g0cR+Gur5jRQLSrX2OtpMLMse1I10JQBm8CdGMrDkh1Mg2gjsiquMHRtBs4Qwu5wgEp5GgIYHk4SNPw==} - /@testing-library/dom/8.19.0: - resolution: {integrity: sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A==} - engines: {node: '>=12'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/runtime': 7.20.7 - '@types/aria-query': 4.2.2 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.14 - lz-string: 1.4.4 - pretty-format: 27.5.1 - dev: true - /@testing-library/dom/8.19.1: resolution: {integrity: sha512-P6iIPyYQ+qH8CvGauAqanhVnjrnRe0IZFSYCeGkSRW9q3u8bdVn2NPI+lasFyVsEQn1J/IFmp5Aax41+dAP9wg==} engines: {node: '>=12'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@types/aria-query': 5.0.1 aria-query: 5.1.3 chalk: 4.1.2 @@ -6916,7 +7334,7 @@ packages: react-test-renderer: optional: true dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-error-boundary: 3.1.4_react@17.0.2 @@ -6939,7 +7357,7 @@ packages: react-test-renderer: optional: true dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-error-boundary: 3.1.4_react@17.0.2 @@ -6961,7 +7379,7 @@ packages: react-test-renderer: optional: true dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@types/react': 17.0.52 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 @@ -6969,21 +7387,6 @@ packages: react-test-renderer: 17.0.2_react@17.0.2 dev: true - /@testing-library/react/12.1.5_g46twevx2c2k7lfvystw4wurrm: - resolution: {integrity: sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==} - engines: {node: '>=12'} - peerDependencies: - '@testing-library/dom': ^8.0.0 - react: <18.0.0 - react-dom: <18.0.0 - dependencies: - '@babel/runtime': 7.20.6 - '@testing-library/dom': 8.19.0 - '@types/react-dom': 17.0.18 - react: 17.0.2 - react-dom: 17.0.2_react@17.0.2 - dev: true - /@testing-library/react/12.1.5_s2motuibfpxxa3ftoqehetkmru: resolution: {integrity: sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==} engines: {node: '>=12'} @@ -6992,22 +7395,13 @@ packages: react: <18.0.0 react-dom: <18.0.0 dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@testing-library/dom': 8.19.1 '@types/react-dom': 17.0.18 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 dev: true - /@testing-library/user-event/14.4.3_aaq3sbffpfe3jnxzm2zngsddei: - resolution: {integrity: sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==} - engines: {node: '>=12', npm: '>=6'} - peerDependencies: - '@testing-library/dom': '>=7.21.4' - dependencies: - '@testing-library/dom': 8.19.0 - dev: true - /@testing-library/user-event/14.4.3_ua4wuun3fnehcjqtqj2e2ldgpe: resolution: {integrity: sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==} engines: {node: '>=12', npm: '>=6'} @@ -7030,10 +7424,6 @@ packages: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} - /@types/aria-query/4.2.2: - resolution: {integrity: sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==} - dev: true - /@types/aria-query/5.0.1: resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} dev: true @@ -7048,8 +7438,8 @@ packages: /@types/babel__core/7.1.20: resolution: {integrity: sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==} dependencies: - '@babel/parser': 7.20.5 - '@babel/types': 7.20.5 + '@babel/parser': 7.20.7 + '@babel/types': 7.20.7 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.18.3 @@ -8216,7 +8606,7 @@ packages: react: ^17.0.0 react-dom: ^17.0.0 dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@emotion/cache': 11.10.5 '@emotion/css': 11.10.5_@babel+core@7.20.7 '@emotion/react': 11.10.5_v5b2xvlit2prnbqrkq7ya6ipyq @@ -8276,7 +8666,7 @@ packages: react: ^17.0.0 react-dom: ^17.0.0 dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@emotion/cache': 11.10.5 '@emotion/css': 11.10.5_@babel+core@7.20.7 '@emotion/react': 11.10.5_zhj3prl4wlqtonkhd53xdiqtcy @@ -8335,7 +8725,7 @@ packages: peerDependencies: react: ^17.0.0 dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@types/mousetrap': 1.6.11 '@wordpress/deprecated': 3.23.0 '@wordpress/dom': 3.23.0 @@ -8380,7 +8770,7 @@ packages: peerDependencies: react: ^17.0.0 dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@wordpress/compose': 5.20.0_react@17.0.2 '@wordpress/deprecated': 3.23.0 '@wordpress/element': 4.20.0 @@ -8400,7 +8790,7 @@ packages: resolution: {integrity: sha512-puM2K5h69mu+usW5HxKw9W5JoCNA0zIKxwMPfunYWCEzUZzQ/i+2NfR8K6mtUsFLCnee9ngsZDxe2DFagc4fRQ==} engines: {node: '>=12'} dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@wordpress/deprecated': 3.22.0 moment: 2.29.4 moment-timezone: 0.5.40 @@ -8617,7 +9007,7 @@ packages: resolution: {integrity: sha512-Ou7EoGtGe4FUL6fKALINXJLKoSfyWTBJzkJfN2HzSgM1wira9EuWahl8MQN0HAUaWeOoDqMKPvnglfS+kC8JLA==} engines: {node: '>=12'} dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@types/react': 17.0.52 '@types/react-dom': 17.0.18 '@wordpress/escape-html': 2.23.0 @@ -8738,7 +9128,7 @@ packages: engines: {node: '>=12'} hasBin: true dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@wordpress/hooks': 3.23.0 gettext-parser: 1.4.0 memize: 1.1.0 @@ -8761,7 +9151,7 @@ packages: resolution: {integrity: sha512-V8q55fI0rtzxRdJbQsAjUgg7V8JbWoncm5SyuvfEtmkL+IKTQUrYgaKO0DKPf7qaTPcZJlnOXUzy6XW+fxHmxA==} engines: {node: '>=12'} dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@wordpress/element': 4.20.0 '@wordpress/primitives': 3.20.0 @@ -8878,7 +9268,7 @@ packages: peerDependencies: react: ^17.0.0 dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 '@wordpress/compose': 5.20.0_react@17.0.2 '@wordpress/element': 4.20.0 '@wordpress/hooks': 3.22.0 @@ -9150,7 +9540,7 @@ packages: resolution: {integrity: sha512-JBNrzSUg7+b4cpJQjDVTHAw8x77EcdLWOAxLlKqI37Pd2EHUZXWnlVU5EqbNLLhXVJ+/6QMzS3QqNILhjIiqdw==} engines: {node: '>=12'} dependencies: - '@babel/runtime': 7.20.6 + '@babel/runtime': 7.20.7 remove-accents: 0.4.4 /@wordpress/viewport/4.20.0_shv7e6lqreyu6ryu5t57plxoua: @@ -15378,6 +15768,12 @@ packages: engines: {node: '>=6'} hasBin: true + /json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + /jsonfile/4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: diff --git a/projects/packages/backup/changelog/fix-packages-backup-package.json b/projects/packages/backup/changelog/fix-packages-backup-package.json new file mode 100644 index 0000000000000..b6145813ff222 --- /dev/null +++ b/projects/packages/backup/changelog/fix-packages-backup-package.json @@ -0,0 +1,5 @@ +Significance: patch +Type: fixed +Comment: Fix JS deps added in #28130. + + diff --git a/projects/packages/backup/package.json b/projects/packages/backup/package.json index 1cc5bf0fd5406..64f32a3143718 100644 --- a/projects/packages/backup/package.json +++ b/projects/packages/backup/package.json @@ -44,12 +44,11 @@ "@babel/core": "7.20.7", "@babel/preset-env": "7.20.2", "@babel/register": "7.18.9", - "@babel/runtime": "7.20.6", - "@testing-library/dom": "8.19.0", + "@babel/runtime": "7.20.7", + "@testing-library/dom": "8.19.1", "@testing-library/react": "12.1.5", "@testing-library/react-hooks": "8.0.1", "@testing-library/user-event": "14.4.3", - "@babel/runtime": "7.20.7", "@wordpress/browserslist-config": "5.5.0", "concurrently": "6.0.2", "jest": "29.3.1", From cee65558c05a1e1bb050f0f14c4ad9c4674cfe32 Mon Sep 17 00:00:00 2001 From: Jeremy Herve Date: Thu, 5 Jan 2023 22:36:41 +0100 Subject: [PATCH 11/17] Social Menu: add regex option to service detection in menu. (#28172) --- .../add-social-menu-add-regex-option | 4 +++ .../social-menu/icon-functions.php | 34 ++++++++++++------- 2 files changed, 25 insertions(+), 13 deletions(-) create mode 100644 projects/plugins/jetpack/changelog/add-social-menu-add-regex-option diff --git a/projects/plugins/jetpack/changelog/add-social-menu-add-regex-option b/projects/plugins/jetpack/changelog/add-social-menu-add-regex-option new file mode 100644 index 0000000000000..e1743f04fb52f --- /dev/null +++ b/projects/plugins/jetpack/changelog/add-social-menu-add-regex-option @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Social Menu Theme Tool: allow specifying a regex instead of a sisimmple host name for services that have logos. diff --git a/projects/plugins/jetpack/modules/theme-tools/social-menu/icon-functions.php b/projects/plugins/jetpack/modules/theme-tools/social-menu/icon-functions.php index 510dee48775de..72f9828a1e037 100644 --- a/projects/plugins/jetpack/modules/theme-tools/social-menu/icon-functions.php +++ b/projects/plugins/jetpack/modules/theme-tools/social-menu/icon-functions.php @@ -98,8 +98,24 @@ function jetpack_social_menu_nav_menu_social_icons( $item_output, $item, $depth, // Change SVG icon inside social links menu if there is supported URL. if ( 'jetpack-social-menu' === $args->theme_location ) { foreach ( $social_icons as $attr => $value ) { - if ( false !== strpos( $item_output, $attr ) ) { - $item_output = str_replace( $args->link_after, '' . jetpack_social_menu_get_svg( array( 'icon' => esc_attr( $value ) ) ), $item_output ); + /* + * attr can be a URL host, or a regex, starting with #. + * Let's check for both scenarios. + */ + if ( + // First Regex. + ( + '#' === substr( $attr, 0, 1 ) && '#' === substr( $attr, -1 ) + && preg_match( $attr, $item_output ) + ) + // Then, regular host name. + || false !== strpos( $item_output, $attr ) + ) { + $item_output = str_replace( + $args->link_after, + '' . jetpack_social_menu_get_svg( array( 'icon' => esc_attr( $value ) ) ), + $item_output + ); } } } @@ -111,24 +127,16 @@ function jetpack_social_menu_nav_menu_social_icons( $item_output, $item, $depth, if ( ! function_exists( 'jetpack_social_menu_social_links_icons' ) ) : /** - * Returns an array of supported social links (URL and icon name). + * Returns an array of supported social links (URL / regex and icon name). + * For regex, use the # delimiter. * * @return array $social_links_icons */ function jetpack_social_menu_social_links_icons() { // Supported social links icons. $social_links_icons = array( + '#https?:\/\/(www\.)?amazon\.(com|cn|in|fr|de|it|nl|es|co|ca)\/#' => 'amazon', '500px.com' => '500px', - 'amazon.cn' => 'amazon', - 'amazon.in' => 'amazon', - 'amazon.fr' => 'amazon', - 'amazon.de' => 'amazon', - 'amazon.it' => 'amazon', - 'amazon.nl' => 'amazon', - 'amazon.es' => 'amazon', - 'amazon.co' => 'amazon', - 'amazon.ca' => 'amazon', - 'amazon.com' => 'amazon', 'apple.com' => 'apple', 'itunes.com' => 'apple', 'bandcamp.com' => 'bandcamp', From 6f48ed079ea2acdd816c23b7298d5e51fda76df5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dami=C3=A1n=20Su=C3=A1rez?= Date: Thu, 5 Jan 2023 21:54:47 +0000 Subject: [PATCH 12/17] VideoPress: add Cancel button to uploader component (#28188) * take the control when replacing the video file * changelog * handle the media source when replacing * [not verified] Implement `Cancel` button in uploader component * [not verified] handle cancel replacing video file * [not verified] changelog * [not verified] tweak buttons position * [not verified] store all attrs before to replace video * always show Resume/Pause button --- ...update-videopress-add-cancel-replace-video | 4 ++++ .../components/videopress-uploader/index.js | 9 ++++++++ .../components/videopress-uploader/style.scss | 2 ++ .../videopress-uploader/uploader-progress.js | 23 ++++++++++++++----- .../client/block-editor/blocks/video/edit.js | 20 ++++++++++++++++ 5 files changed, 52 insertions(+), 6 deletions(-) create mode 100644 projects/packages/videopress/changelog/update-videopress-add-cancel-replace-video diff --git a/projects/packages/videopress/changelog/update-videopress-add-cancel-replace-video b/projects/packages/videopress/changelog/update-videopress-add-cancel-replace-video new file mode 100644 index 0000000000000..e7ee12d2a0fe0 --- /dev/null +++ b/projects/packages/videopress/changelog/update-videopress-add-cancel-replace-video @@ -0,0 +1,4 @@ +Significance: patch +Type: added + +VideoPress: add Cancel button to uploading file component when replacing file diff --git a/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/index.js b/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/index.js index 2e2030c5bccd1..6bf1a62e882a5 100644 --- a/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/index.js +++ b/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/index.js @@ -27,6 +27,8 @@ const VideoPressUploader = ( { noticeOperations, handleDoneUpload, fileToUpload, + isReplacing, + onReplaceCancel, } ) => { const [ uploadPaused, setUploadPaused ] = useState( false ); const [ uploadCompleted, setUploadCompleted ] = useState( false ); @@ -180,6 +182,11 @@ const VideoPressUploader = ( { setUploadPaused( ! uploadPaused ); }; + const cancelUploadingReplaceFile = function () { + resumeHandler.abort(); + onReplaceCancel(); + }; + /** * Uploading file handler. * @@ -320,6 +327,8 @@ const VideoPressUploader = ( { paused={ uploadPaused } completed={ uploadCompleted } onPauseOrResume={ pauseOrResumeUpload } + onReplaceCancel={ cancelUploadingReplaceFile } + isReplacing={ isReplacing } onDone={ handleDoneUpload } supportPauseOrResume={ !! resumeHandler } /> diff --git a/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/style.scss b/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/style.scss index 8f855a93099af..face22e3cb35a 100644 --- a/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/style.scss +++ b/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/style.scss @@ -12,11 +12,13 @@ padding: 1em; margin: 0 -1em -1em; min-height: 27px; + gap: 16px; &__file-info { display: flex; flex-direction: row; align-items: center; + flex-grow: 2; gap: 10px; } diff --git a/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/uploader-progress.js b/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/uploader-progress.js index dd4130e6650ed..ad3124eb104f4 100644 --- a/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/uploader-progress.js +++ b/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/uploader-progress.js @@ -141,6 +141,8 @@ const UploaderProgress = ( { onPauseOrResume, onDone, supportPauseOrResume, + isReplacing, + onReplaceCancel, } ) => { const [ handleVideoFrameSelected, @@ -203,15 +205,24 @@ const UploaderProgress = ( {
{ fileSizeLabel }
- { supportPauseOrResume && ( + { isReplacing && (
- { roundedProgress < 100 && ( - - ) } +
) } +
+ { roundedProgress < 100 && ( + + ) } +
) : ( <> diff --git a/projects/packages/videopress/src/client/block-editor/blocks/video/edit.js b/projects/packages/videopress/src/client/block-editor/blocks/video/edit.js index 719cba19bde0a..7126cd7bd4a9f 100644 --- a/projects/packages/videopress/src/client/block-editor/blocks/video/edit.js +++ b/projects/packages/videopress/src/client/block-editor/blocks/video/edit.js @@ -324,6 +324,19 @@ export default function VideoPressEdit( { attributes, setAttributes, isSelected, const [ isUploadingFile, setIsUploadingFile ] = useState( ! guid ); const [ fileToUpload, setFileToUpload ] = useState( null ); + // Replace video state + const [ isReplacingFile, setIsReplacingFile ] = useState( { + isReplacing: false, + prevAttrs: {}, + } ); + + // Cancel replace video handler + const cancelReplacingVideoFile = () => { + setAttributes( isReplacingFile.prevAttrs ); + setIsReplacingFile( { isReplacingFile: false, prevAttrs: {} } ); + setIsUploadingFile( false ); + }; + // Render Example block view if ( isExample ) { return ( @@ -353,6 +366,8 @@ export default function VideoPressEdit( { attributes, setAttributes, isSelected, attributes={ attributes } handleDoneUpload={ handleDoneUpload } fileToUpload={ fileToUpload } + isReplacing={ isReplacingFile?.isReplacing } + onReplaceCancel={ cancelReplacingVideoFile } /> ); @@ -430,6 +445,11 @@ export default function VideoPressEdit( { attributes, setAttributes, isSelected, setAttributes={ setAttributes } attributes={ attributes } onUploadFileStart={ media => { + setIsReplacingFile( { + isReplacing: true, + prevAttrs: attributes, + } ); + setAttributes( { id: null, guid: null } ); setIsUploadingFile( true ); setFileToUpload( media ); From bbd8dc0635fd2916a5e03ce965fd7af9711ebf8c Mon Sep 17 00:00:00 2001 From: Yaroslav Kukharuk Date: Fri, 6 Jan 2023 15:34:31 +0700 Subject: [PATCH 13/17] E2E tests: Update password for a default user (#28202) --- tools/e2e-commons/config/encrypted.enc | Bin 1456 -> 1456 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tools/e2e-commons/config/encrypted.enc b/tools/e2e-commons/config/encrypted.enc index a4f31c7173f335a9bf3b57f075d4eedbab973c80..ff456e7c7cbb26166a2511123fa6bd91b61a6714 100644 GIT binary patch literal 1456 zcmV;h1yA}@VQh3|WM5zNNJfU$>znF)`D*$H$2{xSoY&T0J2or2xErt9b2T5ep(1r( zGaM%8bqtUeoi}mwCTQtzw|07EkWIMrGza`LKvDaRZu4FpEAtrsTof=~yQW(K{iNcj zjvTdQ$e$CZcS!|~ySz5lA$z&vT|eO@$QBm*;!Py+6-Fw)<+{3_n0wwHwDFp_=LPG& zfdn4qpn)Jb=;b9={J6=p%KFNL9@K2kK;HpS&2r=Ph$53c!AYau8;9(;=X# z^Ff~F4LeUj?3R;hT*TKwA#gu|GFs6+77lyo8b%wQMh&Mhs?RqR&Cyh>&dLLTue^s@ zR^$DIudo;fdmgHUI&o7z>*y7yH)tuaXS?X)^fYa(KWyqBXTlR`Ky67i+SKi&vm!0G zeToMcB2ZoSS&r7%WJR`IbUXi~^mJ72mE*Yk%`nj512sXS(DGR+rI;4dK?=*{Uv;qQ zPP*mTFMmj6G7YpSr2D%U^=}6Y1ZNnyJz%%TT~Sm^hFb^W$c^<+tM=n zjwy1)X@29F=q9b8Dp;!1)FE&Uq2z| z7;Xst*$qLQ;=cV$EsZd+C9crbGu3(~2AO^35t*Rg=~%)Xcmh_J+C@eF4chy)w;C%N zAJ6mtwMHFZA12LD;Vu<6^LY`2TeXizrJ)=Vr5K*SBj?E6(-_zJImV48bR?&b-t|?$ z4rIe1$30@DV-fV9j zp@bhFDM>Qc5jeU1b$HuVf{|Sj-unYSo^7 zP)?FTd^%-M^dFBh_zbY-n_8Q2v!&Yt) z5I7)=vYLI_zD6iOL6BX$XhSAKNu`A=Mm>z+>X9~({Pu13_M1}IN&|hroFa%xGkZ!w zZdZESwzc}YS-UGs5b~;A+sj6mX+6vkBt=V#tfS&{Wb$P9=++fBamG|nSj~Dthz&zj zg1^0qW#*Q6E-F7{EOZJaV3mRY?PyuVPT1-AJRhi~u_dwbfL>W><{JMa7=nm{bKQEN zT3LvZiCMnw{V-aPz^qCT${5@BlG8Pbvjk|$UTC9UMz#zaAztH$Tb8^Zx3p2#b@#IV^@9?*7$5 K5Q1_gpc}wY@zT8j literal 1456 zcmV;h1yA}@VQh3|WM5xW0yf^Sd4Z}3y2RFe>{fQ&*7p{-<^Atwc~0{LTw8kUloFz{LU`(>cP3WMdOqyooQ>m_t>srNw?_9;Hf`~&_n96 zLu*P=Nb*im@QK&UH}J-0|A&Tp-dblU@{5CX^m9~(fH|F{zJCW4`v1#wgp6kdiu}XLQqL}08!Dm zI-+=}mG1Txte5tAz2))zbzTHe?`dT1*rh!*S{e4A0qM&tW z`Bk;S0JK`pYs6++>0%OdC;pCM0RRqdJC{zLq&CITc;M5B{I714(+M~9Yo&9?ncSAkhzrXgt? zjSwRx%NQf4Qpg?;SrCZ0wdt29^*xG6Cm@olS`>O^zg1EebPx3d2Lr%p!?N;|(HyZp zkxNm_`~)R3Aro0AkvyyfqK(>GcZW<31A@-Y{zH65oTR@^5eDg~6fk?9b27_Y15pHk zhOvNpk)1R{w!=_=9CQlDXa#D_FT~ZoB_Bcw?>a;79MTW;O(i zA6kMS1larA2eUT;+w0_y>xQB6CaKwD7|~E=nUJ#J;$;g%iNhnX8qA^PhcYDi6y2Mn z;s8c;@CaVaC)RyZgV{KeK--;eDqP{|0SnV5R%%jgaE`5w(u*2bh;>-xAJaN*aRpjj z0r##T@n}LeA+E)fls$?B;u_rvg~l5ysSIZ_R|{8AT%k^3%jA0yb$v zDfgY=Ib)S4VG;*R+e%?FplTGzse+cSH=kY9*dz(56~Q!JG$bkJEg4``VWFhhfQX9U zHR_ux;rx+Dke)4mBP6z2M~+>{ej->9 zYOw{+K|5ZDFZK}$^gnDIm0S{o{9E&0%x_UKH|fNRSy5qBC^$2IHB~Hl z3x&I+|3}%T@vDT|UzFqBy`!+lcIlkPAHgd>*9I}-Cd$^urANm#N=E!8&E9LlQye@q zb%ChX>&Jp$Mn}$`Lhjz93-+SIW_}HIk;IYc-@@?riEAEejRV@gQ6{Bbdugb|3i4h@ KGi^jE1A(A|Db0-l From 7b30f0de532586057157188018ba0dc7726fe6cc Mon Sep 17 00:00:00 2001 From: Daniel Bachhuber Date: Fri, 6 Jan 2023 07:03:30 -0800 Subject: [PATCH 14/17] Switch from h4 to h2 in PULL_REQUEST_TEMPLATE (#28205) Co-authored-by: Jeremy Herve --- .github/PULL_REQUEST_TEMPLATE.md | 10 +++++----- .../changelog/change-pull-request-template-headings | 4 ++++ .../src/tasks/check-description/index.js | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 projects/github-actions/repo-gardening/changelog/change-pull-request-template-headings diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index b6a2b87f19b60..1c4e43c69810b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -5,25 +5,25 @@ Please add testing instructions to projects/plugins/jetpack/to-test.md in a new Fixes # -#### Changes proposed in this Pull Request: +## Proposed changes: * -#### Other information: +### Other information: - [ ] Have you written new tests for your changes, if applicable? - [ ] Have you checked the E2E test CI results, and verified that your changes do not break them? - [ ] Have you tested your changes on WordPress.com, if applicable (if so, you'll see a generated comment below with a script to run)? -#### Jetpack product discussion +## Jetpack product discussion -#### Does this pull request change what data or activity we track or use? +## Does this pull request change what data or activity we track or use? -#### Testing instructions: +## Testing instructions: diff --git a/projects/github-actions/repo-gardening/changelog/change-pull-request-template-headings b/projects/github-actions/repo-gardening/changelog/change-pull-request-template-headings new file mode 100644 index 0000000000000..d48cc5b94ce1e --- /dev/null +++ b/projects/github-actions/repo-gardening/changelog/change-pull-request-template-headings @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Changed headings in the `PULL_REQUEST_TEMPLATE` diff --git a/projects/github-actions/repo-gardening/src/tasks/check-description/index.js b/projects/github-actions/repo-gardening/src/tasks/check-description/index.js index f0314c37868bf..ad8afc467818f 100644 --- a/projects/github-actions/repo-gardening/src/tasks/check-description/index.js +++ b/projects/github-actions/repo-gardening/src/tasks/check-description/index.js @@ -349,13 +349,13 @@ function renderRecommendations( statusChecks ) { 'Please edit your PR description and explain what functional changes your PR includes, and why those changes are needed.', hasPrivacy: `We would recommend that you add a section to the PR description to specify whether this PR includes any changes to data or privacy, like so: ~~~ -#### Does this pull request change what data or activity we track or use? +## Does this pull request change what data or activity we track or use? My PR adds *x* and *y*. ~~~`, hasTesting: `Please include detailed testing steps, explaining how to test your change, like so: ~~~ -#### Testing instructions: +## Testing instructions: * Go to '..' * From e72ed930ce7bc1393f0d89ff86bc74c825394649 Mon Sep 17 00:00:00 2001 From: Samiff Date: Fri, 6 Jan 2023 08:10:19 -0700 Subject: [PATCH 15/17] Jetpack: fix some add_submenu_page calls (#28179) * Replace null with empty string on first param in some add_submenu_page() calls * Add changelog --- .../packages/search/changelog/fix-28108-php-errors | 5 +++++ .../search/src/customberg/class-customberg.php | 4 ++-- .../lib/admin-pages/class-jetpack-about-page.php | 2 +- .../admin-pages/class.jetpack-settings-page.php | 14 +++++++------- .../plugins/jetpack/changelog/fix-28108-php-errors | 5 +++++ projects/plugins/jetpack/class.jetpack-admin.php | 6 +++--- 6 files changed, 23 insertions(+), 13 deletions(-) create mode 100644 projects/packages/search/changelog/fix-28108-php-errors create mode 100644 projects/plugins/jetpack/changelog/fix-28108-php-errors diff --git a/projects/packages/search/changelog/fix-28108-php-errors b/projects/packages/search/changelog/fix-28108-php-errors new file mode 100644 index 0000000000000..ca45759040a1a --- /dev/null +++ b/projects/packages/search/changelog/fix-28108-php-errors @@ -0,0 +1,5 @@ +Significance: patch +Type: fixed +Comment: Replace null with empty string on first param in some add_submenu_page() call to prevent PHP notice. + + diff --git a/projects/packages/search/src/customberg/class-customberg.php b/projects/packages/search/src/customberg/class-customberg.php index b72ae121764cc..b083946b9bf69 100644 --- a/projects/packages/search/src/customberg/class-customberg.php +++ b/projects/packages/search/src/customberg/class-customberg.php @@ -56,9 +56,9 @@ public function add_wp_admin_page() { return; } - // Intentionally omits adding a submenu via the first null argument. + // Intentionally omits adding a submenu via the first empty argument. $hook = add_submenu_page( - null, + '', __( 'Jetpack Search', 'jetpack-search-pkg' ), __( 'Search', 'jetpack-search-pkg' ), 'manage_options', // Must be an admin. diff --git a/projects/plugins/jetpack/_inc/lib/admin-pages/class-jetpack-about-page.php b/projects/plugins/jetpack/_inc/lib/admin-pages/class-jetpack-about-page.php index ccbc7d6b90a15..9f2cb5f054d07 100644 --- a/projects/plugins/jetpack/_inc/lib/admin-pages/class-jetpack-about-page.php +++ b/projects/plugins/jetpack/_inc/lib/admin-pages/class-jetpack-about-page.php @@ -41,7 +41,7 @@ class Jetpack_About_Page extends Jetpack_Admin_Page { public function get_page_hook() { // Add the main admin Jetpack menu. return add_submenu_page( - null, + '', esc_html__( 'About Jetpack', 'jetpack' ), '', 'jetpack_admin_page', diff --git a/projects/plugins/jetpack/_inc/lib/admin-pages/class.jetpack-settings-page.php b/projects/plugins/jetpack/_inc/lib/admin-pages/class.jetpack-settings-page.php index b1f0dab6c797f..0fb9eaebe3c8b 100644 --- a/projects/plugins/jetpack/_inc/lib/admin-pages/class.jetpack-settings-page.php +++ b/projects/plugins/jetpack/_inc/lib/admin-pages/class.jetpack-settings-page.php @@ -31,7 +31,7 @@ public function add_page_actions( $hook ) {} //phpcs:ignore VariableAnalysis.Cod */ public function get_page_hook() { return add_submenu_page( - null, + '', __( 'Jetpack Settings', 'jetpack' ), __( 'Settings', 'jetpack' ), 'jetpack_manage_modules', @@ -108,7 +108,7 @@ public function page_render() { search_box( __( 'Search', 'jetpack' ), 'srch-term' ); ?>

- - - - -
export_nonce_field_gdrive ] ) ) || + ! wp_verify_nonce( sanitize_text_field( $post_data[ $this->export_nonce_field_gdrive ] ), 'feedback_export' ) + ) { + wp_send_json_error( + __( 'You aren’t authorized to do that.', 'jetpack' ), + 403 + ); + + return; + } + + if ( ! class_exists( 'Jetpack_Google_Drive_Helper' ) ) { + require_once JETPACK__PLUGIN_DIR . '_inc/lib/class-jetpack-google-drive-helper.php'; + } + $has_valid_connection = Jetpack_Google_Drive_Helper::has_valid_connection( $user_id ); + + $replacement_html = $has_valid_connection + ? $this->get_gdrive_export_button_markup() + : ''; + + wp_send_json( + array( + 'connection' => $has_valid_connection, + 'html' => $replacement_html, + ) + ); + } + + /** + * Markup helper so we DRY, returns the button markup for the export to GDrive feature. + * + * @return string The HTML button markup + */ + public function get_gdrive_export_button_markup() { + return get_submit_button( + esc_html__( 'Export', 'jetpack' ), + 'primary export-button export-gdrive', + 'jetpack-export-feedback-gdrive', + false, + array( 'data-nonce-name' => $this->export_nonce_field_gdrive ) + ); + } } Grunion_admin::init(); diff --git a/projects/plugins/jetpack/modules/contact-form/js/grunion-admin.js b/projects/plugins/jetpack/modules/contact-form/js/grunion-admin.js index dd4879ad3a5d4..7462e4a67132b 100644 --- a/projects/plugins/jetpack/modules/contact-form/js/grunion-admin.js +++ b/projects/plugins/jetpack/modules/contact-form/js/grunion-admin.js @@ -179,6 +179,45 @@ jQuery( function ( $ ) { } ); } ); + function startPollingConnection( { name, value } ) { + let hasConnection = false; + let replacementHtml = null; + let interval = setInterval( function () { + if ( hasConnection ) { + return; + } + $.post( + ajaxurl, + { + action: 'grunion_gdrive_connection', + [ name ]: value, + }, + function ( data ) { + if ( data && data.connection && data.html ) { + clearInterval( interval ); + hasConnection = true; + replacementHtml = $( data.html ); + $( '#jetpack-form-responses-connect' ).replaceWith( replacementHtml ); + } + } + ).fail( function () { + clearInterval( interval ); + } ); + }, 5000 ); + } + + $( document ).on( 'click', '#jetpack-form-responses-connect', function () { + const $this = $( this ); + const name = $this.data( 'nonce-name' ); + const value = $( '#' + name ).attr( 'value' ); + $this.attr( 'disabled', 'disabled' ); + $this.text( + ( window.exportParameters && window.exportParameters.waitingConnection ) || + 'Waiting for connection...' + ); + startPollingConnection( { name, value } ); + } ); + // Handle export to Google Drive $( document ).on( 'click', '#jetpack-export-feedback-gdrive', function ( event ) { event.preventDefault(); From 029e4fc609aafa276021a145b15748cb86e97780 Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Fri, 6 Jan 2023 12:03:09 -0500 Subject: [PATCH 17/17] Jetpack: Allow for deactivating multiple plugins when activating a module (#28181) Jetpack includes a list of modules and corresponding old plugins that should be deactivated when the module is activated. It turns out, though, that the contact-form module should deactivate both the Grunion Contact Form and Mullet Contact Form plugins, the widget-visibility module should deactivate both Jetpack Widget Visibility and Widget Visibility Without Jetpack, and the sharedaddy module should deactivate both Sharedaddy and Jetpack Sharing plugins. The way the array definition is structured, only the second of each pair would be checked for. This restructures the array to be able to correctly handle these cases. --- .../fix-jetpack-old-plugin-deactivation | 4 + .../packages/status/src/class-modules.php | 16 ++-- .../fix-jetpack-old-plugin-deactivation | 4 + projects/plugins/jetpack/class.jetpack.php | 75 +++++++++++++------ 4 files changed, 70 insertions(+), 29 deletions(-) create mode 100644 projects/packages/status/changelog/fix-jetpack-old-plugin-deactivation create mode 100644 projects/plugins/jetpack/changelog/fix-jetpack-old-plugin-deactivation diff --git a/projects/packages/status/changelog/fix-jetpack-old-plugin-deactivation b/projects/packages/status/changelog/fix-jetpack-old-plugin-deactivation new file mode 100644 index 0000000000000..4a06e01f4148d --- /dev/null +++ b/projects/packages/status/changelog/fix-jetpack-old-plugin-deactivation @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Modules: Allow for deactivating multiple plugins when activating a module. diff --git a/projects/packages/status/src/class-modules.php b/projects/packages/status/src/class-modules.php index 2fd398b0f3aae..655456d3fbd7b 100644 --- a/projects/packages/status/src/class-modules.php +++ b/projects/packages/status/src/class-modules.php @@ -416,11 +416,17 @@ public function activate( $module, $exit = true, $redirect = true ) { // Check and see if the old plugin is active. if ( isset( $jetpack->plugins_to_deactivate[ $module ] ) ) { - // Deactivate the old plugin. - if ( \Jetpack_Client_Server::deactivate_plugin( $jetpack->plugins_to_deactivate[ $module ][0], $jetpack->plugins_to_deactivate[ $module ][1] ) ) { - // If we deactivated the old plugin, remembere that with ::state() and redirect back to this page to activate the module - // We can't activate the module on this page load since the newly deactivated old plugin is still loaded on this page load. - $state->state( 'deactivated_plugins', $module ); + // Deactivate the old plugins. + $deactivated = array(); + foreach ( $jetpack->plugins_to_deactivate[ $module ] as $idx => $deactivate_me ) { + if ( \Jetpack_Client_Server::deactivate_plugin( $deactivate_me[0], $deactivate_me[1] ) ) { + // If we deactivated the old plugin, remembere that with ::state() and redirect back to this page to activate the module + // We can't activate the module on this page load since the newly deactivated old plugin is still loaded on this page load. + $deactivated[] = "$module:$idx"; + } + } + if ( $deactivated ) { + $state->state( 'deactivated_plugins', join( ',', $deactivated ) ); wp_safe_redirect( add_query_arg( 'jetpack_restate', 1 ) ); exit; } diff --git a/projects/plugins/jetpack/changelog/fix-jetpack-old-plugin-deactivation b/projects/plugins/jetpack/changelog/fix-jetpack-old-plugin-deactivation new file mode 100644 index 0000000000000..4e173a9e01dbf --- /dev/null +++ b/projects/plugins/jetpack/changelog/fix-jetpack-old-plugin-deactivation @@ -0,0 +1,4 @@ +Significance: patch +Type: bugfix + +Modules: Allow for deactivating multiple plugins when activating a module. diff --git a/projects/plugins/jetpack/class.jetpack.php b/projects/plugins/jetpack/class.jetpack.php index 0c74f746487c4..79ab32ff78a1d 100644 --- a/projects/plugins/jetpack/class.jetpack.php +++ b/projects/plugins/jetpack/class.jetpack.php @@ -127,20 +127,42 @@ class Jetpack { * @var array Plugins to deactivate by module. */ public $plugins_to_deactivate = array( - 'stats' => array( 'stats/stats.php', 'WordPress.com Stats' ), - 'shortlinks' => array( 'stats/stats.php', 'WordPress.com Stats' ), - 'sharedaddy' => array( 'sharedaddy/sharedaddy.php', 'Sharedaddy' ), - 'twitter-widget' => array( 'wickett-twitter-widget/wickett-twitter-widget.php', 'Wickett Twitter Widget' ), - 'contact-form' => array( 'grunion-contact-form/grunion-contact-form.php', 'Grunion Contact Form' ), - 'contact-form' => array( 'mullet/mullet-contact-form.php', 'Mullet Contact Form' ), - 'custom-css' => array( 'safecss/safecss.php', 'WordPress.com Custom CSS' ), - 'random-redirect' => array( 'random-redirect/random-redirect.php', 'Random Redirect' ), - 'videopress' => array( 'video/video.php', 'VideoPress' ), - 'widget-visibility' => array( 'jetpack-widget-visibility/widget-visibility.php', 'Jetpack Widget Visibility' ), - 'widget-visibility' => array( 'widget-visibility-without-jetpack/widget-visibility-without-jetpack.php', 'Widget Visibility Without Jetpack' ), - 'sharedaddy' => array( 'jetpack-sharing/sharedaddy.php', 'Jetpack Sharing' ), - 'gravatar-hovercards' => array( 'jetpack-gravatar-hovercards/gravatar-hovercards.php', 'Jetpack Gravatar Hovercards' ), - 'latex' => array( 'wp-latex/wp-latex.php', 'WP LaTeX' ), + 'contact-form' => array( + array( 'grunion-contact-form/grunion-contact-form.php', 'Grunion Contact Form' ), + array( 'mullet/mullet-contact-form.php', 'Mullet Contact Form' ), + ), + 'custom-css' => array( + array( 'safecss/safecss.php', 'WordPress.com Custom CSS' ), + ), + 'gravatar-hovercards' => array( + array( 'jetpack-gravatar-hovercards/gravatar-hovercards.php', 'Jetpack Gravatar Hovercards' ), + ), + 'latex' => array( + array( 'wp-latex/wp-latex.php', 'WP LaTeX' ), + ), + 'random-redirect' => array( + array( 'random-redirect/random-redirect.php', 'Random Redirect' ), + ), + 'sharedaddy' => array( + array( 'sharedaddy/sharedaddy.php', 'Sharedaddy' ), + array( 'jetpack-sharing/sharedaddy.php', 'Jetpack Sharing' ), + ), + 'shortlinks' => array( + array( 'stats/stats.php', 'WordPress.com Stats' ), + ), + 'stats' => array( + array( 'stats/stats.php', 'WordPress.com Stats' ), + ), + 'twitter-widget' => array( + array( 'wickett-twitter-widget/wickett-twitter-widget.php', 'Wickett Twitter Widget' ), + ), + 'videopress' => array( + array( 'video/video.php', 'VideoPress' ), + ), + 'widget-visibility' => array( + array( 'jetpack-widget-visibility/widget-visibility.php', 'Jetpack Widget Visibility' ), + array( 'widget-visibility-without-jetpack/widget-visibility-without-jetpack.php', 'Widget Visibility Without Jetpack' ), + ), ); /** @@ -2515,10 +2537,12 @@ public static function activate_default_modules( } $deactivated = array(); - foreach ( $to_deactivate as $module => $deactivate_me ) { - list( $probable_file, $probable_title ) = $deactivate_me; - if ( Jetpack_Client_Server::deactivate_plugin( $probable_file, $probable_title ) ) { - $deactivated[] = $module; + foreach ( $to_deactivate as $module => $deactivate_us ) { + foreach ( $deactivate_us as $i => $deactivate_me ) { + list( $probable_file, $probable_title ) = $deactivate_me; + if ( Jetpack_Client_Server::deactivate_plugin( $probable_file, $probable_title ) ) { + $deactivated[] = "$module:$i"; + } } } @@ -3393,10 +3417,12 @@ public function intercept_plugin_error_scrape( $action, $result ) { return; } - foreach ( $this->plugins_to_deactivate as $deactivate_me ) { - if ( "plugin-activation-error_{$deactivate_me[0]}" === $action ) { - /* translators: Plugin name to deactivate. */ - self::bail_on_activation( sprintf( __( 'Jetpack contains the most recent version of the old “%1$s” plugin.', 'jetpack' ), $deactivate_me[1] ), false ); + foreach ( $this->plugins_to_deactivate as $deactivate_us ) { + foreach ( $deactivate_us as $deactivate_me ) { + if ( "plugin-activation-error_{$deactivate_me[0]}" === $action ) { + /* translators: Plugin name to deactivate. */ + self::bail_on_activation( sprintf( __( 'Jetpack contains the most recent version of the old “%1$s” plugin.', 'jetpack' ), $deactivate_me[1] ), false ); + } } } } @@ -4083,11 +4109,12 @@ public function admin_page_load() { $deactivated_plugins = explode( ',', $deactivated_plugins ); $deactivated_titles = array(); foreach ( $deactivated_plugins as $deactivated_plugin ) { - if ( ! isset( $this->plugins_to_deactivate[ $deactivated_plugin ] ) ) { + list( $module, $idx ) = explode( ':', $deactivated_plugin ); + if ( ! isset( $this->plugins_to_deactivate[ $module ][ $idx ] ) ) { continue; } - $deactivated_titles[] = '' . str_replace( ' ', ' ', $this->plugins_to_deactivate[ $deactivated_plugin ][1] ) . ''; + $deactivated_titles[] = '' . str_replace( ' ', ' ', $this->plugins_to_deactivate[ $module ][ $idx ][1] ) . ''; } if ( $deactivated_titles ) {