diff --git a/composer.json b/composer.json index 3c191cbd9..be07ecd2f 100644 --- a/composer.json +++ b/composer.json @@ -36,7 +36,8 @@ "wp-cli/wp-config-transformer": "^1.3", "newfold-labs/wp-module-onboarding-data": "^0.1.0", "newfold-labs/wp-module-patterns": "^0.1.12", - "newfold-labs/wp-module-install-checker": "^1.0" + "newfold-labs/wp-module-install-checker": "^1.0", + "newfold-labs/wp-module-facebook": "1.0.0" }, "require-dev": { "wp-phpunit/wp-phpunit": "^6.2", diff --git a/composer.lock b/composer.lock index 25d175ddd..216d4ccad 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "941a2ab09f4cbe82f2de2022cb83d2e6", + "content-hash": "e9414ea34a5260c76cff581c26a6856d", "packages": [ { "name": "mustache/mustache", @@ -56,6 +56,44 @@ }, "time": "2022-08-23T13:07:01+00:00" }, + { + "name": "newfold-labs/container", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/newfold-labs/container.git", + "reference": "19bb75bb4a64a282f7d142fff9f3418177022851" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/newfold-labs/container/zipball/19bb75bb4a64a282f7d142fff9f3418177022851", + "reference": "19bb75bb4a64a282f7d142fff9f3418177022851", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "NewfoldLabs\\Container\\": "includes" + } + }, + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Micah Wood", + "email": "micah@wpscholar.com" + } + ], + "description": "A lightweight, PHP 7.0+ compatible, PSR-11 dependency injection container.", + "support": { + "source": "https://github.com/newfold-labs/container/tree/1.2.2" + }, + "time": "2022-08-26T17:23:54+00:00" + }, { "name": "newfold-labs/wp-module-coming-soon", "version": "1.1.13", @@ -155,6 +193,48 @@ }, "time": "2024-01-08T20:37:18+00:00" }, + { + "name": "newfold-labs/wp-module-facebook", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "git@github.com:newfold-labs/wp-module-facebook.git", + "reference": "9b0caa8311bd13b72cb8c03075e7832302109cf4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/newfold-labs/wp-module-facebook/zipball/9b0caa8311bd13b72cb8c03075e7832302109cf4", + "reference": "9b0caa8311bd13b72cb8c03075e7832302109cf4", + "shasum": "" + }, + "require": { + "newfold-labs/wp-module-data": "^2.3.1", + "newfold-labs/wp-module-loader": "^1.0.10" + }, + "require-dev": { + "newfold-labs/wp-php-standards": "^1.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "NewfoldLabs\\WP\\Module\\Facebook\\": "includes/" + }, + "files": [ + "bootstrap.php" + ] + }, + "authors": [ + { + "name": "Beyond", + "email": "team-spartans@newfold.com" + } + ], + "support": { + "source": "https://github.com/newfold-labs/wp-module-facebook/tree/v1.0.0", + "issues": "https://github.com/newfold-labs/wp-module-facebook/issues" + }, + "time": "2024-01-24T10:00:53+00:00" + }, { "name": "newfold-labs/wp-module-install-checker", "version": "1.0.2", @@ -236,6 +316,52 @@ }, "time": "2023-09-18T06:42:43+00:00" }, + { + "name": "newfold-labs/wp-module-loader", + "version": "1.0.10", + "source": { + "type": "git", + "url": "https://github.com/newfold-labs/wp-module-loader.git", + "reference": "8ab6725a6b3bc9ed10b89127f09bcb3e81f795c6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/newfold-labs/wp-module-loader/zipball/8ab6725a6b3bc9ed10b89127f09bcb3e81f795c6", + "reference": "8ab6725a6b3bc9ed10b89127f09bcb3e81f795c6", + "shasum": "" + }, + "require": { + "newfold-labs/container": "^1.2", + "wp-forge/collection": "^1.0", + "wp-forge/fluent": "^1.0", + "wp-forge/wp-options": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "NewfoldLabs\\WP\\ModuleLoader\\": "includes" + }, + "files": [ + "bootstrap.php", + "includes/functions.php" + ] + }, + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Micah Wood", + "email": "micah@wpscholar.com" + } + ], + "description": "A module that handles registration and management of Newfold modules used within our WordPress plugins.", + "support": { + "source": "https://github.com/newfold-labs/wp-module-loader/tree/1.0.10", + "issues": "https://github.com/newfold-labs/wp-module-loader/issues" + }, + "time": "2022-10-03T20:07:41+00:00" + }, { "name": "newfold-labs/wp-module-onboarding-data", "version": "0.1.0", @@ -372,6 +498,117 @@ }, "time": "2023-11-10T14:28:03+00:00" }, + { + "name": "wp-forge/collection", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/wp-forge/collection.git", + "reference": "e304ddc0130d466dcc55e3a8dee79f0d745ca47a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-forge/collection/zipball/e304ddc0130d466dcc55e3a8dee79f0d745ca47a", + "reference": "e304ddc0130d466dcc55e3a8dee79f0d745ca47a", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "WP_Forge\\Collection\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Micah Wood", + "email": "micah@wpscholar.com" + } + ], + "description": "A PHP utility class for manipulating collections.", + "support": { + "issues": "https://github.com/wp-forge/collection/issues", + "source": "https://github.com/wp-forge/collection/tree/1.0.2" + }, + "time": "2022-08-26T17:42:31+00:00" + }, + { + "name": "wp-forge/fluent", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/wp-forge/fluent.git", + "reference": "b7d6e54f86bd2bbc229faeefd2772f1f1354ad8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-forge/fluent/zipball/b7d6e54f86bd2bbc229faeefd2772f1f1354ad8c", + "reference": "b7d6e54f86bd2bbc229faeefd2772f1f1354ad8c", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "WP_Forge\\Fluent\\": "includes" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Micah Wood", + "email": "micah@wpscholar.com" + } + ], + "description": "An instance of the Laravel Fluent class for use with WordPress.", + "support": { + "issues": "https://github.com/wp-forge/fluent/issues", + "source": "https://github.com/wp-forge/fluent/tree/1.0.1" + }, + "time": "2022-08-26T17:38:37+00:00" + }, + { + "name": "wp-forge/wp-options", + "version": "1.1", + "source": { + "type": "git", + "url": "https://github.com/wp-forge/wp-options.git", + "reference": "df8899255dee19365599caa8801c75803e94e413" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wp-forge/wp-options/zipball/df8899255dee19365599caa8801c75803e94e413", + "reference": "df8899255dee19365599caa8801c75803e94e413", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "WP_Forge\\Options\\": "includes" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Micah Wood", + "email": "micah@wpscholar.com" + } + ], + "description": "A WordPress helper class for managing plugin options.", + "support": { + "issues": "https://github.com/wp-forge/wp-options/issues", + "source": "https://github.com/wp-forge/wp-options/tree/1.1" + }, + "time": "2022-03-04T16:23:42+00:00" + }, { "name": "wp-forge/wp-query-builder", "version": "1.0.3", diff --git a/includes/RestApi/SiteGenController.php b/includes/RestApi/SiteGenController.php index 5cf70d498..78f28e39d 100644 --- a/includes/RestApi/SiteGenController.php +++ b/includes/RestApi/SiteGenController.php @@ -3,9 +3,7 @@ namespace NewfoldLabs\WP\Module\Onboarding\RestApi; use NewfoldLabs\WP\Module\Onboarding\Permissions; -use NewfoldLabs\WP\Module\AI\SiteGen\SiteGen; use NewfoldLabs\WP\Module\Onboarding\Data\Services\SiteGenService; -use NewfoldLabs\WP\Module\Onboarding\Data\Options; use NewfoldLabs\WP\Module\Onboarding\Data\SiteGen as SiteGenData; /** @@ -54,7 +52,7 @@ public function register_routes() { ); \register_rest_route( $this->namespace, - $this->rest_base . '/get-homepages', + $this->rest_base . '/homepages', array( 'methods' => \WP_REST_Server::CREATABLE, 'callback' => array( $this, 'get_homepages' ), @@ -64,21 +62,12 @@ public function register_routes() { ); \register_rest_route( $this->namespace, - $this->rest_base . '/get-homepages-regenerate', + $this->rest_base . '/homepages/regenerate', array( 'methods' => \WP_REST_Server::CREATABLE, - 'callback' => array( $this, 'get_regenerated_homepages' ), - 'permission_callback' => array( Permissions::class, 'rest_is_authorized_admin' ), - 'args' => $this->get_homepages_regenerate_args(), - ) - ); - \register_rest_route( - $this->namespace, - $this->rest_base . '/favourites', - array( - 'methods' => \WP_REST_Server::CREATABLE, - 'callback' => array( $this, 'toggle_favourite_homepage' ), + 'callback' => array( $this, 'regenerate_homepage' ), 'permission_callback' => array( Permissions::class, 'rest_is_authorized_admin' ), + 'args' => $this->get_regenerate_homepage_args(), ) ); \register_rest_route( @@ -94,8 +83,8 @@ public function register_routes() { $this->namespace, $this->rest_base . '/customize-data', array( - 'methods' => \WP_REST_Server::READABLE, - 'callback' => array( $this, 'get_customize_sidebar_data' ), + 'methods' => \WP_REST_Server::READABLE, + 'callback' => array( $this, 'get_customize_sidebar_data' ), 'permission_callback' => array( Permissions::class, 'rest_is_authorized_admin' ), ) ); @@ -132,15 +121,9 @@ public function get_homepages_args() { return array( 'site_description' => array( 'required' => true, - 'validate_callback' => function ( $param ) { - return is_string( $param ); - }, + 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', ), - 'regenerate' => array( - 'required' => false, - ), - // Add other parameters here as needed. ); } @@ -149,24 +132,22 @@ public function get_homepages_args() { * * @return array The array of arguments. */ - public function get_homepages_regenerate_args() { + public function get_regenerate_homepage_args() { return array( 'site_description' => array( 'required' => true, - 'validate_callback' => function ( $param ) { - return is_string( $param ); - }, + 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', ), - 'regenerate' => array( - 'required' => false, - ), 'slug' => array( 'required' => false, ), 'colorPalettes' => array( 'required' => false, ), + 'isFavorite' => array( + 'required' => true, + ), ); } @@ -210,45 +191,35 @@ public function generate_sitegen_meta( \WP_REST_Request $request ) { * @return array */ public function get_homepages( \WP_REST_Request $request ) { + $existing_homepages = SiteGenService::get_homepages(); + if ( ! empty( $existing_homepages ) ) { + return new \WP_REST_Response( $existing_homepages, 200 ); + } $site_description = $request->get_param( 'site_description' ); - $regenerate = $request->get_param( 'regenerate' ); $site_info = array( 'site_description' => $site_description ); - // If the option exists and is not empty, return it. - $existing_homepages = get_option( Options::get_option_name( 'sitegen_homepages' ), array() ); - if ( ! empty( $existing_homepages ) && ! $regenerate ) { - return new \WP_REST_Response( $existing_homepages, 200 ); - } - $target_audience = SiteGenService::instantiate_site_meta( $site_info, 'target_audience' ); - $content_style = SiteGenService::instantiate_site_meta( $site_info, 'content_tones' ); - if ( ! $target_audience || is_wp_error( $target_audience ) ) { - return new \WP_Error( - 'nfd_onboarding_error', - __( 'Required data is missing.', 'wp-module-onboarding' ), - array( 'status' => 400 ) - ); + $target_audience = SiteGenService::instantiate_site_meta( $site_info, 'target_audience' ); + if ( is_wp_error( $target_audience ) ) { + return $target_audience; } - if ( ! $content_style || is_wp_error( $content_style ) ) { - return new \WP_Error( - 'nfd_onboarding_error', - __( 'Required data is missing.', 'wp-module-onboarding' ), - array( 'status' => 400 ) - ); + + $content_style = SiteGenService::instantiate_site_meta( $site_info, 'content_tones' ); + if ( is_wp_error( $content_style ) ) { + return $content_style; } - $processed_home_pages = SiteGenService::generate_homepages( + $homepages = SiteGenService::generate_homepages( $site_description, $content_style, - $target_audience, - $regenerate + $target_audience ); - if ( is_wp_error( $processed_home_pages ) ) { - return $processed_home_pages; + if ( is_wp_error( $homepages ) ) { + return $homepages; } - return new \WP_REST_Response( $processed_home_pages, 200 ); + return new \WP_REST_Response( $homepages, 201 ); } /** @@ -257,35 +228,26 @@ public function get_homepages( \WP_REST_Request $request ) { * @param \WP_REST_Request $request parameter. * @return array */ - public function get_regenerated_homepages( \WP_REST_Request $request ) { - $site_description = $request->get_param( 'site_description' ); - $regenerate_slug = $request->get_param( 'slug' ); - $regenerate_color_palattes = $request->get_param( 'colorPalettes' ); - $is_favourite = $request->get_param( 'isFavourited' ); - $site_info = array( 'site_description' => $site_description ); - $target_audience = SiteGenService::instantiate_site_meta( $site_info, 'target_audience' ); - $content_style = SiteGenService::instantiate_site_meta( $site_info, 'content_tones' ); + public function regenerate_homepage( \WP_REST_Request $request ) { + $site_description = $request->get_param( 'site_description' ); + $slug = $request->get_param( 'slug' ); + $color_palette = $request->get_param( 'palette' ); + $is_favorite = $request->get_param( 'isFavorite' ); + $site_info = array( 'site_description' => $site_description ); - if ( ! $target_audience || is_wp_error( $target_audience ) ) { - return new \WP_Error( - 'nfd_onboarding_error', - __( 'Required data is missing.', 'wp-module-onboarding' ), - array( 'status' => 400 ) - ); + $target_audience = SiteGenService::instantiate_site_meta( $site_info, 'target_audience' ); + if ( is_wp_error( $target_audience ) ) { + return $target_audience; } - - if ( ! $content_style || is_wp_error( $content_style ) ) { - return new \WP_Error( - 'nfd_onboarding_error', - __( 'Required data is missing.', 'wp-module-onboarding' ), - array( 'status' => 400 ) - ); + $content_style = SiteGenService::instantiate_site_meta( $site_info, 'content_tones' ); + if ( is_wp_error( $content_style ) ) { + return $content_style; } - if ( $is_favourite ) { - $result = SiteGenService::handle_favorite_regeneration( $regenerate_slug, $regenerate_color_palattes ); + if ( $is_favorite ) { + $result = SiteGenService::regenerate_favorite_homepage( $slug, $color_palette ); } else { - $result = SiteGenService::handle_regular_regeneration( $site_description, $content_style, $target_audience ); + $result = SiteGenService::regenerate_homepage( $site_description, $content_style, $target_audience ); } if ( null === $result ) { @@ -301,30 +263,6 @@ public function get_regenerated_homepages( \WP_REST_Request $request ) { return new \WP_REST_Response( $result, 200 ); } - /** - * Updates favourite status - * - * @param \WP_REST_Request $request parameter. - * @return array - */ - public function toggle_favourite_homepage( \WP_REST_Request $request ) { - $slug = $request->get_param( 'slug' ); - - $response = SiteGenService::toggle_favourite_homepage( $slug ); - - if ( is_wp_error( $response ) ) { - $error_message = $response->get_error_message(); - return new \WP_Error( - 'nfd_onboarding_error', - __( 'Error at updating Favourite status', 'wp-module-onboarding' ), - array( - 'status' => 404, - ) - ); - } - return new \WP_REST_Response( $response, 200 ); - } - /** * Generate Sitegen Site Details meta data. * diff --git a/includes/WP_Admin.php b/includes/WP_Admin.php index d702af322..16e2b5fdb 100644 --- a/includes/WP_Admin.php +++ b/includes/WP_Admin.php @@ -181,7 +181,7 @@ public static function mark_sitegen_generated_themes() { \wp_register_script( 'sitegen-theme-marker', - NFD_ONBOARDING_SCRIPTS_URL . '/sitegen-theme-marker/sitegen-theme-marker.js', + NFD_ONBOARDING_BUILD_URL . '/sitegen-theme-marker.js', array(), '1.0.0', true @@ -200,7 +200,7 @@ public static function mark_sitegen_generated_themes() { \wp_register_style( 'sitegen-theme-marker', - NFD_ONBOARDING_SCRIPTS_URL . '/sitegen-theme-marker/sitegen-theme-marker.css', + NFD_ONBOARDING_BUILD_URL . '/sitegen-theme-marker.css.css', array(), '1.0.0', 'all' diff --git a/package-lock.json b/package-lock.json index d8358643e..fa543b786 100644 --- a/package-lock.json +++ b/package-lock.json @@ -50,57 +50,6 @@ "requires": { "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } } }, "@babel/compat-data": { @@ -238,9 +187,9 @@ } }, "@babel/helper-define-polyfill-provider": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", - "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", "dev": true, "requires": { "@babel/helper-compilation-targets": "^7.22.6", @@ -432,57 +381,6 @@ "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } } }, "@babel/parser": { @@ -1410,11 +1308,11 @@ "dev": true }, "@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", + "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", "requires": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" } }, "@babel/template": { @@ -1948,6 +1846,12 @@ "requires": { "p-limit": "^2.2.0" } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true } } }, @@ -1969,6 +1873,57 @@ "jest-message-util": "^29.7.0", "jest-util": "^29.7.0", "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@jest/core": { @@ -2008,9 +1963,43 @@ }, "dependencies": { "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "pretty-format": { @@ -2022,6 +2011,14 @@ "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, "react-is": { @@ -2029,6 +2026,15 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -2121,6 +2127,46 @@ "v8-to-istanbul": "^9.0.1" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "istanbul-lib-instrument": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", @@ -2152,6 +2198,15 @@ "lru-cache": "^6.0.0" } }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -2227,12 +2282,61 @@ "write-file-atomic": "^4.0.2" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "write-file-atomic": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", @@ -2257,6 +2361,57 @@ "@types/node": "*", "@types/yargs": "^17.0.8", "chalk": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@jridgewell/gen-mapping": { @@ -2299,9 +2454,9 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.21.tgz", - "integrity": "sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==", + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.1.0", @@ -2355,6 +2510,42 @@ "@wordpress/data": "^9.3.0" } }, + "@newfold-labs/wp-module-facebook": { + "version": "1.0.0", + "resolved": "https://npm.pkg.github.com/download/@newfold-labs/wp-module-facebook/1.0.0/68854d43c944b8e95676eee62ab85fd90c8c39e1", + "integrity": "sha512-n1q+juzMQ5TMmuDKf0Ccwm+cpXh78lZmVgYh6aMp5QG5rVpd8GvU8EclFbMHLG24q0Lntei+SPW1xycpx/gS6Q==", + "requires": { + "@newfold-labs/wp-module-runtime": "^1.0.0", + "@wordpress/api-fetch": "^6.42.0", + "classnames": "^2.3.1", + "react": "^18.2.0", + "react-helmet": "^6.1.0" + } + }, + "@newfold-labs/wp-module-runtime": { + "version": "1.0.7", + "resolved": "https://npm.pkg.github.com/download/@newfold-labs/wp-module-runtime/1.0.7/9eec9b9c5c07f984c67ae6fbfd9982f60168390d", + "integrity": "sha512-jGVnwAe6TkUXKINCIB7Bw8HUyROzZw4FDkBHlHpq9j0GZgSaIFVIpAPDRkk9YLVGt+58Fv1om7nLhgKPr71ydw==", + "requires": { + "@wordpress/url": "3.36.0" + }, + "dependencies": { + "@wordpress/url": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.36.0.tgz", + "integrity": "sha512-PS/xGlePuTZzht6l9DHvz59lHOE1oPPYOOQj7GbQ+R0uoaaeBDBPsFZSA38jaM2fiu+qGzbOFN7JQZrJma10VQ==", + "requires": { + "@babel/runtime": "^7.16.0", + "remove-accents": "^0.4.2" + } + }, + "remove-accents": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.4.tgz", + "integrity": "sha512-EpFcOa/ISetVHEXqu+VwI96KZBmq+a8LJnGkaeFw45epGlxIZz5dhEEnNZMsQXgORu3qaMoLX4qJCzOik6ytAg==" + } + } + }, "@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -2637,9 +2828,9 @@ "dev": true }, "@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, "requires": { "type-detect": "4.0.8" @@ -2898,6 +3089,57 @@ "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "pretty-format": "^27.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@tootallnate/once": { @@ -3190,14 +3432,14 @@ "dev": true }, "@types/mousetrap": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/@types/mousetrap/-/mousetrap-1.6.11.tgz", - "integrity": "sha512-F0oAily9Q9QQpv9JKxKn0zMKfOo36KHCW7myYsmUyf2t0g+sBTbG3UleTPoguHdE1z3GLFr3p7/wiOio52QFjQ==" + "version": "1.6.15", + "resolved": "https://registry.npmjs.org/@types/mousetrap/-/mousetrap-1.6.15.tgz", + "integrity": "sha512-qL0hyIMNPow317QWW/63RvL1x5MVMV+Ru3NaY9f/CuEpCqrmb7WeuK2071ZY5hczOnm38qExWM2i2WtkXLSqFw==" }, "@types/node": { - "version": "20.11.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz", - "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==", + "version": "20.11.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.6.tgz", + "integrity": "sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==", "dev": true, "requires": { "undici-types": "~5.26.4" @@ -3224,9 +3466,9 @@ "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" }, "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" }, "@types/qs": { "version": "6.9.11", @@ -3241,9 +3483,9 @@ "dev": true }, "@types/react": { - "version": "18.2.6", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.6.tgz", - "integrity": "sha512-wRZClXn//zxCFW+ye/D2qY65UsYP1Fpex2YXorHc8awoNamkMZSvBxwxdYVInsHOZZd2Ppq8isnSzJL5Mpf8OA==", + "version": "18.2.48", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz", + "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -3251,9 +3493,9 @@ } }, "@types/react-dom": { - "version": "18.2.4", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.4.tgz", - "integrity": "sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==", + "version": "18.2.18", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.18.tgz", + "integrity": "sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==", "requires": { "@types/react": "*" } @@ -3274,9 +3516,9 @@ "dev": true }, "@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" }, "@types/semver": { "version": "7.5.6", @@ -3452,16 +3694,16 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.0.tgz", - "integrity": "sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.1.tgz", + "integrity": "sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/type-utils": "6.19.0", - "@typescript-eslint/utils": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/type-utils": "6.19.1", + "@typescript-eslint/utils": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -3512,15 +3754,15 @@ } }, "@typescript-eslint/parser": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.0.tgz", - "integrity": "sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.1.tgz", + "integrity": "sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/typescript-estree": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4" }, "dependencies": { @@ -3542,23 +3784,23 @@ } }, "@typescript-eslint/scope-manager": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz", - "integrity": "sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz", + "integrity": "sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==", "dev": true, "requires": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0" + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1" } }, "@typescript-eslint/type-utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.0.tgz", - "integrity": "sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.1.tgz", + "integrity": "sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "6.19.0", - "@typescript-eslint/utils": "6.19.0", + "@typescript-eslint/typescript-estree": "6.19.1", + "@typescript-eslint/utils": "6.19.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -3581,19 +3823,19 @@ } }, "@typescript-eslint/types": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", - "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz", + "integrity": "sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", - "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz", + "integrity": "sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==", "dev": true, "requires": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -3662,17 +3904,17 @@ } }, "@typescript-eslint/utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.0.tgz", - "integrity": "sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.1.tgz", + "integrity": "sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/typescript-estree": "6.19.1", "semver": "^7.5.4" }, "dependencies": { @@ -3703,12 +3945,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", - "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz", + "integrity": "sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==", "dev": true, "requires": { - "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/types": "6.19.1", "eslint-visitor-keys": "^3.4.1" }, "dependencies": { @@ -3904,96 +4146,35 @@ "dev": true }, "@wordpress/a11y": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/a11y/-/a11y-3.49.0.tgz", - "integrity": "sha512-R3mv4jiPxYRem3EEQjkI1EZylHruG5NWCqkDKEkBumcrqLfY4ntP4QeSFe36KUaZGqRGSSeaP9hK/0WYehPNsA==", + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/a11y/-/a11y-3.50.0.tgz", + "integrity": "sha512-eQiPGnxqiL1LgnHztFG0RGSFZ5phwR8B8Fr4lbJsFalsc9R/tOcjewvf2KN0yi2UlRA5ssAeiTP+tYmeAqtOHQ==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/dom-ready": "^3.49.0", - "@wordpress/i18n": "^4.49.0" - }, - "dependencies": { - "@wordpress/hooks": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.49.0.tgz", - "integrity": "sha512-GH546Jg8u/rw9I3fsvAhidwt8rUFNmkdXGByIPGsN3R6y+QwWMXPzsnoYdFmFOmDK9gOGCRDe5bXHikoWnaiKA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/i18n": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.49.0.tgz", - "integrity": "sha512-8aZmmRfOHzS/3pMWg+4f6QlPci0wK5V+PDllAwtwFFrXgc0pmk8VXu7Quajh1tiVoIQDCZpK6h1sqa+qrCLpZg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0", - "gettext-parser": "^1.3.1", - "memize": "^2.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" - } + "@wordpress/dom-ready": "^3.50.0", + "@wordpress/i18n": "^4.50.0" } }, "@wordpress/api-fetch": { - "version": "6.33.0", - "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.33.0.tgz", - "integrity": "sha512-cVNkHq0YAD3knP3ZX/HuNSCFo2fK8OUuuzzuupRJzbIgxfx/Hf/u/6pVYpTLZ0j8+LQbWPR/yAVeKa0BRpf68Q==", + "version": "6.47.0", + "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.47.0.tgz", + "integrity": "sha512-NA/jWDXoVtJmiVBYhlxts2UrgKJpJM+zTGzLCfRQCZUzpJYm3LonB8x+uCQ78nEyxCY397Esod3jnbquYjOr0Q==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.36.0", - "@wordpress/url": "^3.37.0" - }, - "dependencies": { - "@wordpress/hooks": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.36.0.tgz", - "integrity": "sha512-1GZcDPXaCBjdWHJEy7SGSGXdikL6+ErAKvLb9CFbliyiEMR1FIoiNQD9IchmnDxBZo68mwajyz6dco9I2BAwDg==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/i18n": { - "version": "4.36.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.36.0.tgz", - "integrity": "sha512-UXjosLMb1v8XMqBeCBTXZriwA7H1DouhpqST1yK3uAqGEIsdlSfNH2JhbjWXWPMDLm+PYnhKiqg30qxv3P83qg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.36.0", - "gettext-parser": "^1.3.1", - "memize": "^2.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, - "memize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/memize/-/memize-2.1.0.tgz", - "integrity": "sha512-yywVJy8ctVlN5lNPxsep5urnZ6TTclwPEyigM9M3Bi8vseJBOfqNrGWN/r8NzuIt3PovM323W04blJfGQfQSVg==" - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" - } + "@wordpress/i18n": "^4.50.0", + "@wordpress/url": "^3.51.0" } }, "@wordpress/babel-plugin-import-jsx-pragma": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-4.32.0.tgz", - "integrity": "sha512-ie6p5VpUxTNMPQrHdCYEPddTzmDeFTQjFi3qq17set9WbRAMaOZ8jqQhSxms0NJi8Xa6wZM9TR2ZABAlg+FTeA==", + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-plugin-import-jsx-pragma/-/babel-plugin-import-jsx-pragma-4.33.0.tgz", + "integrity": "sha512-CjzruFKWgzU/mO/nnQJ2l9UlzZQpqS60UC6l2vNdJ9oD2nKHR5Oou6kNic3QhWDVJrBf2JUiJJ0TC280bykXmA==", "dev": true }, "@wordpress/babel-preset-default": { - "version": "7.33.0", - "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-7.33.0.tgz", - "integrity": "sha512-/OonEa67xJdIn0ADWEd7AJtLhIGlYALKyc17RxTmI2Ojs0zLIQNbgAv1D/cuVguo0UKK9zsMZ9MBkhSKLF9A9Q==", + "version": "7.34.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-7.34.0.tgz", + "integrity": "sha512-yjFOllyTktFHtcIEgU3ghXBn8lItzr5mPLf0xdSpe0cHceFYL1hT1oprhgRL+olZweaO96Yfm0qUCCKQfJBWsA==", "dev": true, "requires": { "@babel/core": "^7.16.0", @@ -4002,30 +4183,30 @@ "@babel/preset-env": "^7.16.0", "@babel/preset-typescript": "^7.16.0", "@babel/runtime": "^7.16.0", - "@wordpress/babel-plugin-import-jsx-pragma": "^4.32.0", - "@wordpress/browserslist-config": "^5.32.0", - "@wordpress/warning": "^2.49.0", + "@wordpress/babel-plugin-import-jsx-pragma": "^4.33.0", + "@wordpress/browserslist-config": "^5.33.0", + "@wordpress/warning": "^2.50.0", "browserslist": "^4.21.10", "core-js": "^3.31.0", "react": "^18.2.0" } }, "@wordpress/base-styles": { - "version": "4.40.0", - "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-4.40.0.tgz", - "integrity": "sha512-A+HiyES4YjfbFhJAGrhCLB3QWomgWZR9wkgG7K9l6DD70/9Vd7t+go7jI1HJ1c9qGfBV0rmdQf/qNn89Aai1cg==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-4.41.0.tgz", + "integrity": "sha512-MjPAZeAqvyskDXDp2wGZ0DjtYOQLOydI1WqVIZS4wnIdhsQWQD//VMeXgLrcmCzNyQg+iKTx3o+BzmXVTOD0+w==", "dev": true }, "@wordpress/browserslist-config": { - "version": "5.32.0", - "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-5.32.0.tgz", - "integrity": "sha512-LrL4Zg/abXYfVwwbx1caugz4J1GUL+6WNqVF1MZQVDm6CHdlpTEQOvvr/KEi9mN1UY2YoTlxZtUxzvNRTo2Fsg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-5.33.0.tgz", + "integrity": "sha512-dv1ZlpqGk8gaSBJPP/Z/1uOuxjtP0EBsHVKInLRu6FWLTJkK8rnCeC3xJT3/2TtJ0rasLC79RoytfhXTOODVwg==", "dev": true }, "@wordpress/components": { - "version": "25.15.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-25.15.0.tgz", - "integrity": "sha512-DMTEoyCugnw05+Srb2FaJ3HTXwAJ+NMlgggwoyW2l2J1LpsmDIALKiWfvd3fyXxks3y4kaiv+adQfhNm50U8mA==", + "version": "25.16.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-25.16.0.tgz", + "integrity": "sha512-voQuMsO5JbH+JW33TnWurwwvpSb8IQ4XU5wyVMubX4TUwadt+/2ToNJbZIDXoaJPei7vbM81Ft+pH+zGlN8CyA==", "requires": { "@ariakit/react": "^0.3.12", "@babel/runtime": "^7.16.0", @@ -4039,23 +4220,23 @@ "@types/gradient-parser": "0.1.3", "@types/highlight-words-core": "1.2.1", "@use-gesture/react": "^10.2.24", - "@wordpress/a11y": "^3.49.0", - "@wordpress/compose": "^6.26.0", - "@wordpress/date": "^4.49.0", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/dom": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/escape-html": "^2.49.0", - "@wordpress/hooks": "^3.49.0", - "@wordpress/html-entities": "^3.49.0", - "@wordpress/i18n": "^4.49.0", - "@wordpress/icons": "^9.40.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/keycodes": "^3.49.0", - "@wordpress/primitives": "^3.47.0", - "@wordpress/private-apis": "^0.31.0", - "@wordpress/rich-text": "^6.26.0", - "@wordpress/warning": "^2.49.0", + "@wordpress/a11y": "^3.50.0", + "@wordpress/compose": "^6.27.0", + "@wordpress/date": "^4.50.0", + "@wordpress/deprecated": "^3.50.0", + "@wordpress/dom": "^3.50.0", + "@wordpress/element": "^5.27.0", + "@wordpress/escape-html": "^2.50.0", + "@wordpress/hooks": "^3.50.0", + "@wordpress/html-entities": "^3.50.0", + "@wordpress/i18n": "^4.50.0", + "@wordpress/icons": "^9.41.0", + "@wordpress/is-shallow-equal": "^4.50.0", + "@wordpress/keycodes": "^3.50.0", + "@wordpress/primitives": "^3.48.0", + "@wordpress/private-apis": "^0.32.0", + "@wordpress/rich-text": "^6.27.0", + "@wordpress/warning": "^2.50.0", "change-case": "^4.1.2", "classnames": "^2.3.1", "colord": "^2.7.0", @@ -4077,222 +4258,59 @@ "use-lilius": "^2.0.1", "uuid": "^9.0.1", "valtio": "1.7.0" - }, - "dependencies": { - "@wordpress/compose": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-6.26.0.tgz", - "integrity": "sha512-ipHKcXY7//Qkto3Gtw8knqhUbjTtKMjTIQENXcVT+SAp5YLpyaJ6OW9R/N59QmXaeF+Lw04LuUaVX3k7yaRFtA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/mousetrap": "^1.6.8", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/dom": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/keycodes": "^3.49.0", - "@wordpress/priority-queue": "^2.49.0", - "@wordpress/undo-manager": "^0.9.0", - "change-case": "^4.1.2", - "clipboard": "^2.0.8", - "mousetrap": "^1.6.5", - "use-memo-one": "^1.1.1" - } - }, - "@wordpress/deprecated": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-3.49.0.tgz", - "integrity": "sha512-NxBJl9IvcEK5U3Z4UB8NpBdAxLlz5L0JEcq8+95DroYYxWmcH5sYtYPgXg2YZ24DP5nSnC12ZqGJ4QPzkMNH/Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0" - } - }, - "@wordpress/dom": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-3.49.0.tgz", - "integrity": "sha512-Amx3xaR+TrQiO0lFlX/TCkHkoKlLjeDgzpGrc9PQ3X3rKyf/yrCFSlOOqAby6m99jdoAD3SF0x+T6u4wR9iaQg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/deprecated": "^3.49.0" - } - }, - "@wordpress/element": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.26.0.tgz", - "integrity": "sha512-pYZ2OsFgDN00amTxPoC7BtlkVtVBeLS/Y1+P1Mlu0CX+gHDP0Il9SUaLVEIAewLnZMN+O3ph3H5nfR0yKkSnAA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/react": "^18.0.21", - "@types/react-dom": "^18.0.6", - "@wordpress/escape-html": "^2.49.0", - "change-case": "^4.1.2", - "is-plain-object": "^5.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - } - }, - "@wordpress/escape-html": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.49.0.tgz", - "integrity": "sha512-JmVm6IWr5EhXU5m7LCwMOiSv90qJU1l8Q2xlBCQ+0bIPcWRjsHX9pFKDOJvQ6D55W/CTGO1GQk50uolktTeTtw==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/hooks": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.49.0.tgz", - "integrity": "sha512-GH546Jg8u/rw9I3fsvAhidwt8rUFNmkdXGByIPGsN3R6y+QwWMXPzsnoYdFmFOmDK9gOGCRDe5bXHikoWnaiKA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/i18n": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.49.0.tgz", - "integrity": "sha512-8aZmmRfOHzS/3pMWg+4f6QlPci0wK5V+PDllAwtwFFrXgc0pmk8VXu7Quajh1tiVoIQDCZpK6h1sqa+qrCLpZg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0", - "gettext-parser": "^1.3.1", - "memize": "^2.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, - "@wordpress/is-shallow-equal": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.49.0.tgz", - "integrity": "sha512-cEII2Ik+qRNsU1lzGjBo0gtSFCNFlMvauPda4+F4U1H3mBPCq+zLm8vHLHtybwq2Dh32OsA/5NWWTbW8rRrdfg==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/keycodes": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.49.0.tgz", - "integrity": "sha512-Hg+kUTV/ti+CyG4+D3dmRFMmrE45E2QEv7ZKaeIf+t1wlafekLSDwIpdF7e68HxEMmZSzHmLm7bHqQTNjxAoKQ==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.49.0" - } - }, - "@wordpress/priority-queue": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-2.49.0.tgz", - "integrity": "sha512-KuFKPfjdKJe7VHAuIW7+1FV4nh6NRR97uGxb02unaVKOhVQmYFkCtk02KI6e63sLrqwLAKVt8Dolzd/94oYERg==", - "requires": { - "@babel/runtime": "^7.16.0", - "requestidlecallback": "^0.3.0" - } - }, - "@wordpress/private-apis": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@wordpress/private-apis/-/private-apis-0.31.0.tgz", - "integrity": "sha512-Hx2LJfkgbeAixXHDvi/rBly4+mShhrJfYXwyh6uTLnXkjp6OcPuBbCXhIfARw45lNdiqWdHoqXcAl1RTBFFd4g==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - }, - "path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" - }, - "remove-accents": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", - "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==" - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" - } } }, "@wordpress/compose": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-6.10.0.tgz", - "integrity": "sha512-5TdhcvO+0DTaMxqc1ntKOxmkNcM7Julf/ByiabvL7iey8ODzm92neOOqT/HqvJsyvgP8tX9gQrb21nAHmpDPKQ==", + "version": "6.27.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-6.27.0.tgz", + "integrity": "sha512-jbEQQ2znRyJTwUNR4m5BKaDyIsuK9TMZx0SKqP+FTfGqT3y7scOnQrHpK0kZdPji++/1cBbn3gSPBLCEmtmHRw==", "requires": { "@babel/runtime": "^7.16.0", "@types/mousetrap": "^1.6.8", - "@wordpress/deprecated": "^3.33.0", - "@wordpress/dom": "^3.33.0", - "@wordpress/element": "^5.10.0", - "@wordpress/is-shallow-equal": "^4.33.0", - "@wordpress/keycodes": "^3.33.0", - "@wordpress/priority-queue": "^2.33.0", + "@wordpress/deprecated": "^3.50.0", + "@wordpress/dom": "^3.50.0", + "@wordpress/element": "^5.27.0", + "@wordpress/is-shallow-equal": "^4.50.0", + "@wordpress/keycodes": "^3.50.0", + "@wordpress/priority-queue": "^2.50.0", + "@wordpress/undo-manager": "^0.10.0", "change-case": "^4.1.2", - "clipboard": "^2.0.8", + "clipboard": "^2.0.11", "mousetrap": "^1.6.5", "use-memo-one": "^1.1.1" } }, "@wordpress/data": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-9.3.0.tgz", - "integrity": "sha512-h5ru+aHuDs9X+eXCy2IyFg+E7RvrNd9dOERojuL/kJrJu1lwFZlAYbVSGSCTNMK48iQ1O4zhgTSXOqJTDlVP3Q==", + "version": "9.20.0", + "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-9.20.0.tgz", + "integrity": "sha512-3cm2te6NUj/X1zzmRO+WhueCanjocniX6sJFVzkg5mGXme6wFI8iSOnGPKlMkGcZGd0fVei1ydBKaIUMjrPBTQ==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/compose": "^6.10.0", - "@wordpress/deprecated": "^3.33.0", - "@wordpress/element": "^5.10.0", - "@wordpress/is-shallow-equal": "^4.33.0", - "@wordpress/priority-queue": "^2.33.0", - "@wordpress/private-apis": "^0.15.0", - "@wordpress/redux-routine": "^4.33.0", + "@wordpress/compose": "^6.27.0", + "@wordpress/deprecated": "^3.50.0", + "@wordpress/element": "^5.27.0", + "@wordpress/is-shallow-equal": "^4.50.0", + "@wordpress/priority-queue": "^2.50.0", + "@wordpress/private-apis": "^0.32.0", + "@wordpress/redux-routine": "^4.50.0", "deepmerge": "^4.3.0", "equivalent-key-map": "^0.2.2", "is-plain-object": "^5.0.0", "is-promise": "^4.0.0", "redux": "^4.1.2", - "turbo-combine-reducers": "^1.0.2", + "rememo": "^4.0.2", "use-memo-one": "^1.1.1" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } } }, "@wordpress/date": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/date/-/date-4.49.0.tgz", - "integrity": "sha512-mU5V8DlnHKa6bxn+90tEmqXdpsOrr5cX2+t6mf8Wp8avhsrxiC7+bVahneFy9xOAlDumhuFTHBJTFx70byIcbQ==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/date/-/date-4.50.0.tgz", + "integrity": "sha512-FhfaG6YRXWmni66RjwhCB7rQNlLJ05+qTa/jXrj2UNWDNv/sfZ6Ky+b/rKrrUnLaIs9pGiW1195cSxsAS4EY3w==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/deprecated": "^3.49.0", + "@wordpress/deprecated": "^3.50.0", "moment": "^2.29.4", "moment-timezone": "^0.5.40" - }, - "dependencies": { - "@wordpress/deprecated": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-3.49.0.tgz", - "integrity": "sha512-NxBJl9IvcEK5U3Z4UB8NpBdAxLlz5L0JEcq8+95DroYYxWmcH5sYtYPgXg2YZ24DP5nSnC12ZqGJ4QPzkMNH/Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0" - } - }, - "@wordpress/hooks": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.49.0.tgz", - "integrity": "sha512-GH546Jg8u/rw9I3fsvAhidwt8rUFNmkdXGByIPGsN3R6y+QwWMXPzsnoYdFmFOmDK9gOGCRDe5bXHikoWnaiKA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - } } }, "@wordpress/dependency-extraction-webpack-plugin": { @@ -4306,27 +4324,27 @@ } }, "@wordpress/deprecated": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-3.33.0.tgz", - "integrity": "sha512-/IDrLPEuSmYhV6kkaVvaPXMJD7pGng5yF9/SU6/q/lwYLD7d3jti3DzeUvkpdznq+tzUqOvdZHMVuGbMlQozKw==", + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-3.50.0.tgz", + "integrity": "sha512-DL01l0Wlo3df9OcSGHP11Ot/nq0HytbdmD+iPkiCCRI6Xctepbs/DzRR2CO3qLrJkWn6RReFwZWZZjzI7lZUqg==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.33.0" + "@wordpress/hooks": "^3.50.0" } }, "@wordpress/dom": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-3.33.0.tgz", - "integrity": "sha512-uvidu1r6EpgVA2n6fe/JzugNC4V15MQoS75HS5cnSP9X0LAXs+vmstWcuP2F+9BYMxGnlmJH4YJ2aVnGh3S5Zg==", + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-3.50.0.tgz", + "integrity": "sha512-rMnV1ysGOHbKnmjLQYwGkT1co1iEkC3YsKrEObP8mklw1R7rbCy7fc2brIz7kqcHU1DRyg/+7wOCMkg8a/EV/Q==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/deprecated": "^3.33.0" + "@wordpress/deprecated": "^3.50.0" } }, "@wordpress/dom-ready": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom-ready/-/dom-ready-3.49.0.tgz", - "integrity": "sha512-2ZkHU/EzsR5gzTkmnA3QFFxKqXBs2YqWan6Q6eylM8SUG/Iz6r1aUkmV5OiOHJ9Z/TPJQUpPb0L4u+Ur39m7cQ==", + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/dom-ready/-/dom-ready-3.50.0.tgz", + "integrity": "sha512-97tJpat1emXnwfGlJMiG6p37CpHJXDLmM/SIbsGJ0Oj8P4/TXbTuE9DNT1H8B1wKe5zD7kICjp48y91ugmgSrQ==", "requires": { "@babel/runtime": "^7.16.0" } @@ -4346,102 +4364,27 @@ "lighthouse": "^10.4.0", "mime": "^3.0.0", "web-vitals": "^3.5.0" - }, - "dependencies": { - "@wordpress/api-fetch": { - "version": "6.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-6.46.0.tgz", - "integrity": "sha512-SimHPw57N8LyZpQB6dK5xq1Kn1WtqP/K27GjGwvxvkb+8xbVv0TI67AF9adsN4sZbOHIZJQwqvCTSGKhNttAvQ==", - "dev": true, - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.49.0", - "@wordpress/url": "^3.50.0" - } - }, - "@wordpress/hooks": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.49.0.tgz", - "integrity": "sha512-GH546Jg8u/rw9I3fsvAhidwt8rUFNmkdXGByIPGsN3R6y+QwWMXPzsnoYdFmFOmDK9gOGCRDe5bXHikoWnaiKA==", - "dev": true, - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/i18n": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.49.0.tgz", - "integrity": "sha512-8aZmmRfOHzS/3pMWg+4f6QlPci0wK5V+PDllAwtwFFrXgc0pmk8VXu7Quajh1tiVoIQDCZpK6h1sqa+qrCLpZg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0", - "gettext-parser": "^1.3.1", - "memize": "^2.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, - "@wordpress/keycodes": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.49.0.tgz", - "integrity": "sha512-Hg+kUTV/ti+CyG4+D3dmRFMmrE45E2QEv7ZKaeIf+t1wlafekLSDwIpdF7e68HxEMmZSzHmLm7bHqQTNjxAoKQ==", - "dev": true, - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.49.0" - } - }, - "@wordpress/url": { - "version": "3.50.0", - "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.50.0.tgz", - "integrity": "sha512-+YQzsPim5Zx55o/y9urtd0CKANUgwqZSdUNjDWYZ/1CWxtLLzPgQJOabtl79hG2yjrKvjDe9PrDPff18bCmG5A==", - "dev": true, - "requires": { - "@babel/runtime": "^7.16.0", - "remove-accents": "^0.5.0" - } - }, - "remove-accents": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", - "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==", - "dev": true - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "dev": true - } } }, "@wordpress/element": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.10.0.tgz", - "integrity": "sha512-tYtgoPMq1Dv2TqUBgHCK8wqKL8q6gCzcAhmnD+Gtet+I8ASc2SDVXtUdwZ3bwL65ab5RTac/kOwm52bns4a2jw==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.27.0.tgz", + "integrity": "sha512-IA5LTAfx5bDNXULPmctcNb/04i4JcnIReG0RAuPgrZ8lbMZWUxGFymh10PEQjs7ZJ++qGsI6E+6JISpjkRaDQQ==", "requires": { "@babel/runtime": "^7.16.0", "@types/react": "^18.0.21", "@types/react-dom": "^18.0.6", - "@wordpress/escape-html": "^2.33.0", + "@wordpress/escape-html": "^2.50.0", "change-case": "^4.1.2", "is-plain-object": "^5.0.0", "react": "^18.2.0", "react-dom": "^18.2.0" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } } }, "@wordpress/env": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-9.1.0.tgz", - "integrity": "sha512-IkPeYPczWmosqyulVHiu/fRQg5Q0PenCimbLieksif7ETFH8hUSwvsiWfvC/Sx//MzIB3/yGaVVodEzZnyJGgA==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-9.2.0.tgz", + "integrity": "sha512-2gl65WYbkuTjnW2SHKjeqdpLTgnPc/xVvFiwG+2p/RJwDHSuw1xXSdFqFUh3+wC/4cuXy9b2ZBm/SYsBoc8DDw==", "dev": true, "requires": { "chalk": "^4.0.0", @@ -4456,27 +4399,78 @@ "simple-git": "^3.5.0", "terminal-link": "^2.0.0", "yargs": "^17.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@wordpress/escape-html": { - "version": "2.33.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.33.0.tgz", - "integrity": "sha512-olLCW7FKgyCKzvBf9G4WblpYGOWLnI1ju2HXsScf+eH8yAQ+GLjBLPuemWwFlFbDTZhgRMCUlxk7ua2tQ9f8qA==", + "version": "2.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.50.0.tgz", + "integrity": "sha512-hBvoMCEZocziZDGCmBanSO+uupnd054mxd7FQ6toQ4UnsZ4JwXSmEC72W2Ed+cRGB1DeJDD0dY9iC0b4xkumsQ==", "requires": { "@babel/runtime": "^7.16.0" } }, "@wordpress/eslint-plugin": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-17.6.0.tgz", - "integrity": "sha512-piANQS5eaSPmpzPXdNZdXbKcHjAyXbuHeUd9ctVA+6sOMVay70+ICQj7Isu4o61Wv43KtxugQoa2PSBqVtrRKA==", + "version": "17.7.0", + "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-17.7.0.tgz", + "integrity": "sha512-JSFaCogE0WlZpl0SV4q8DK8G6jwDjEzXRzOsgesWilea4OuVp1KxCamkddTorRNM3QAbjrGuPJ4NYaGrNG9QsA==", "dev": true, "requires": { "@babel/eslint-parser": "^7.16.0", "@typescript-eslint/eslint-plugin": "^6.4.1", "@typescript-eslint/parser": "^6.4.1", - "@wordpress/babel-preset-default": "^7.33.0", - "@wordpress/prettier-config": "^3.6.0", + "@wordpress/babel-preset-default": "^7.34.0", + "@wordpress/prettier-config": "^3.7.0", "cosmiconfig": "^7.0.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-import": "^2.25.2", @@ -4509,279 +4503,77 @@ } }, "@wordpress/hooks": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.34.0.tgz", - "integrity": "sha512-qVBtsA8bjACRTL5tkeGkg9jb5O66JmLJY3zSFnQ4v97CTXdtNAFXSCVEIbwDsZSsXOu/ybX06teKsvS9v3tnXg==", + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.50.0.tgz", + "integrity": "sha512-YIhwT1y0ss7Byfz46NBx08EUmXzWMu+g5DCY7FMuDNhwxSEoZMB8edKMiwNmFk4mFKBCnXM1d5FeONUPIUkJwg==", "requires": { "@babel/runtime": "^7.16.0" } }, "@wordpress/html-entities": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/html-entities/-/html-entities-3.49.0.tgz", - "integrity": "sha512-t9/eKhm/JBoRGze9hQOmQPO8TNOjLgIHFGzvca0MSurrR2C0Gy4eVxE/FFHtLBctN8fcgAghhQP06y1lZZ7FfQ==", + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/html-entities/-/html-entities-3.50.0.tgz", + "integrity": "sha512-DBRgShv6FLtDpapoTgmEx//6uHeq+mk5zKhAWAAqu6+/6LqOm/TCoUTxb0E2xtHh4oRBgU5nYC92pObRaczFdQ==", "requires": { "@babel/runtime": "^7.16.0" } }, "@wordpress/i18n": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.34.0.tgz", - "integrity": "sha512-rC1Ll/48GNsYHFF8cUU1V+bfqjBtHAsDsB7F8O81tXjfkJDFsNq7J8Gti47lAgeqvQ934y+sj5gAmFaM7A+AdA==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.50.0.tgz", + "integrity": "sha512-FkA2se6HMQm4eFC+/kTWvWQqs51VxpZuvY2MlWUp/L1r1d/dMBHXu049x86+/+6yk3ZNqiK5h6j6Z76dvPHZ4w==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.34.0", + "@wordpress/hooks": "^3.50.0", "gettext-parser": "^1.3.1", "memize": "^2.1.0", "sprintf-js": "^1.1.1", "tannin": "^1.2.0" - }, - "dependencies": { - "memize": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/memize/-/memize-2.1.0.tgz", - "integrity": "sha512-yywVJy8ctVlN5lNPxsep5urnZ6TTclwPEyigM9M3Bi8vseJBOfqNrGWN/r8NzuIt3PovM323W04blJfGQfQSVg==" - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" - } } }, "@wordpress/icons": { - "version": "9.40.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-9.40.0.tgz", - "integrity": "sha512-NSbhur14Ypr+hbgp848430cmk2AHZ7E2e9zvj8917ZjhrVCD7zYT590hOspswJZEaFxJdY3QSnegGiBSI/MacQ==", + "version": "9.41.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-9.41.0.tgz", + "integrity": "sha512-L4fp9ZdxGBpMk3o2YqABgiPHNoHyu9Enid7JNkCdWP8iUgk7dEiDvo/XoiWPTAeNbF6W8Nqu54635mq01es0NQ==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/element": "^5.26.0", - "@wordpress/primitives": "^3.47.0" - }, - "dependencies": { - "@wordpress/element": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.26.0.tgz", - "integrity": "sha512-pYZ2OsFgDN00amTxPoC7BtlkVtVBeLS/Y1+P1Mlu0CX+gHDP0Il9SUaLVEIAewLnZMN+O3ph3H5nfR0yKkSnAA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/react": "^18.0.21", - "@types/react-dom": "^18.0.6", - "@wordpress/escape-html": "^2.49.0", - "change-case": "^4.1.2", - "is-plain-object": "^5.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - } - }, - "@wordpress/escape-html": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.49.0.tgz", - "integrity": "sha512-JmVm6IWr5EhXU5m7LCwMOiSv90qJU1l8Q2xlBCQ+0bIPcWRjsHX9pFKDOJvQ6D55W/CTGO1GQk50uolktTeTtw==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } + "@wordpress/element": "^5.27.0", + "@wordpress/primitives": "^3.48.0" } }, "@wordpress/interface": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/interface/-/interface-5.26.0.tgz", - "integrity": "sha512-5Zt7e1Y4JYzJaXC8JQlX2RXmZCOUPoe7CamG+MwJDvtLtssL368Ar6aQVVhWB+2MVfl28OH9jQHI/mKCC7GpaA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@wordpress/interface/-/interface-5.27.0.tgz", + "integrity": "sha512-ZybF4tuuuFOgGsB0n9u5ajrWKf/PYaS8d2yu2T+6ukliLnXI6AMMCXvM534H0VZa7DMLjMYKRXtfs7QqR/p95Q==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/a11y": "^3.49.0", - "@wordpress/components": "^25.15.0", - "@wordpress/compose": "^6.26.0", - "@wordpress/data": "^9.19.0", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/i18n": "^4.49.0", - "@wordpress/icons": "^9.40.0", - "@wordpress/plugins": "^6.17.0", - "@wordpress/preferences": "^3.26.0", - "@wordpress/viewport": "^5.26.0", + "@wordpress/a11y": "^3.50.0", + "@wordpress/components": "^25.16.0", + "@wordpress/compose": "^6.27.0", + "@wordpress/data": "^9.20.0", + "@wordpress/deprecated": "^3.50.0", + "@wordpress/element": "^5.27.0", + "@wordpress/i18n": "^4.50.0", + "@wordpress/icons": "^9.41.0", + "@wordpress/plugins": "^6.18.0", + "@wordpress/preferences": "^3.27.0", + "@wordpress/private-apis": "^0.32.0", + "@wordpress/viewport": "^5.27.0", "classnames": "^2.3.1" - }, - "dependencies": { - "@wordpress/compose": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-6.26.0.tgz", - "integrity": "sha512-ipHKcXY7//Qkto3Gtw8knqhUbjTtKMjTIQENXcVT+SAp5YLpyaJ6OW9R/N59QmXaeF+Lw04LuUaVX3k7yaRFtA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/mousetrap": "^1.6.8", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/dom": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/keycodes": "^3.49.0", - "@wordpress/priority-queue": "^2.49.0", - "@wordpress/undo-manager": "^0.9.0", - "change-case": "^4.1.2", - "clipboard": "^2.0.8", - "mousetrap": "^1.6.5", - "use-memo-one": "^1.1.1" - } - }, - "@wordpress/data": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-9.19.0.tgz", - "integrity": "sha512-j+kzP638QQ2t6/4KsIzLTPem+X/oZUkYGGT7boo51Ychs07uLfEdzubwSJVChyBq14zmiAulK7tLWQI52i7jOg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/compose": "^6.26.0", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/priority-queue": "^2.49.0", - "@wordpress/private-apis": "^0.31.0", - "@wordpress/redux-routine": "^4.49.0", - "deepmerge": "^4.3.0", - "equivalent-key-map": "^0.2.2", - "is-plain-object": "^5.0.0", - "is-promise": "^4.0.0", - "redux": "^4.1.2", - "rememo": "^4.0.2", - "use-memo-one": "^1.1.1" - } - }, - "@wordpress/deprecated": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-3.49.0.tgz", - "integrity": "sha512-NxBJl9IvcEK5U3Z4UB8NpBdAxLlz5L0JEcq8+95DroYYxWmcH5sYtYPgXg2YZ24DP5nSnC12ZqGJ4QPzkMNH/Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0" - } - }, - "@wordpress/dom": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-3.49.0.tgz", - "integrity": "sha512-Amx3xaR+TrQiO0lFlX/TCkHkoKlLjeDgzpGrc9PQ3X3rKyf/yrCFSlOOqAby6m99jdoAD3SF0x+T6u4wR9iaQg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/deprecated": "^3.49.0" - } - }, - "@wordpress/element": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.26.0.tgz", - "integrity": "sha512-pYZ2OsFgDN00amTxPoC7BtlkVtVBeLS/Y1+P1Mlu0CX+gHDP0Il9SUaLVEIAewLnZMN+O3ph3H5nfR0yKkSnAA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/react": "^18.0.21", - "@types/react-dom": "^18.0.6", - "@wordpress/escape-html": "^2.49.0", - "change-case": "^4.1.2", - "is-plain-object": "^5.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - } - }, - "@wordpress/escape-html": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.49.0.tgz", - "integrity": "sha512-JmVm6IWr5EhXU5m7LCwMOiSv90qJU1l8Q2xlBCQ+0bIPcWRjsHX9pFKDOJvQ6D55W/CTGO1GQk50uolktTeTtw==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/hooks": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.49.0.tgz", - "integrity": "sha512-GH546Jg8u/rw9I3fsvAhidwt8rUFNmkdXGByIPGsN3R6y+QwWMXPzsnoYdFmFOmDK9gOGCRDe5bXHikoWnaiKA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/i18n": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.49.0.tgz", - "integrity": "sha512-8aZmmRfOHzS/3pMWg+4f6QlPci0wK5V+PDllAwtwFFrXgc0pmk8VXu7Quajh1tiVoIQDCZpK6h1sqa+qrCLpZg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0", - "gettext-parser": "^1.3.1", - "memize": "^2.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, - "@wordpress/is-shallow-equal": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.49.0.tgz", - "integrity": "sha512-cEII2Ik+qRNsU1lzGjBo0gtSFCNFlMvauPda4+F4U1H3mBPCq+zLm8vHLHtybwq2Dh32OsA/5NWWTbW8rRrdfg==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/keycodes": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.49.0.tgz", - "integrity": "sha512-Hg+kUTV/ti+CyG4+D3dmRFMmrE45E2QEv7ZKaeIf+t1wlafekLSDwIpdF7e68HxEMmZSzHmLm7bHqQTNjxAoKQ==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.49.0" - } - }, - "@wordpress/priority-queue": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-2.49.0.tgz", - "integrity": "sha512-KuFKPfjdKJe7VHAuIW7+1FV4nh6NRR97uGxb02unaVKOhVQmYFkCtk02KI6e63sLrqwLAKVt8Dolzd/94oYERg==", - "requires": { - "@babel/runtime": "^7.16.0", - "requestidlecallback": "^0.3.0" - } - }, - "@wordpress/private-apis": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@wordpress/private-apis/-/private-apis-0.31.0.tgz", - "integrity": "sha512-Hx2LJfkgbeAixXHDvi/rBly4+mShhrJfYXwyh6uTLnXkjp6OcPuBbCXhIfARw45lNdiqWdHoqXcAl1RTBFFd4g==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/redux-routine": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/redux-routine/-/redux-routine-4.49.0.tgz", - "integrity": "sha512-uXsU3ZEJoDkyqGYlMfvjgfZpoVYbOOUJMHTL8EHQ2yC9JwBoyWz9kWXAn4cal2LJY0cifQdFwmGOp4nEidne2g==", - "requires": { - "@babel/runtime": "^7.16.0", - "is-plain-object": "^5.0.0", - "is-promise": "^4.0.0", - "rungen": "^0.3.2" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" - } } }, "@wordpress/is-shallow-equal": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.33.0.tgz", - "integrity": "sha512-5StJNlHnIrb0dnxjznVTKSuOvA5HTqcFmosY08aP4/SvEfP5FlNe9tus6/efmUYJFhJ3u1tGlJSM5xyO6UAc4Q==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.50.0.tgz", + "integrity": "sha512-lX0fMa1f/TwWYYF+Oj0MG2Eze4Bb+vsnhXX6X1l+Ri3PG34wWGonjq729qHbJRDwm8o1y9GeswCgESIpuAm9wg==", "requires": { "@babel/runtime": "^7.16.0" } }, "@wordpress/jest-console": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-7.20.0.tgz", - "integrity": "sha512-EXexYwBLaJSpSCUwpQeSqjJ9G7KDkzH+oCfiZp4ZYuemmCaJFOn8/HOLwfLU0o7i0bfYFAjt8lSVCr5HiYY0AA==", + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-7.21.0.tgz", + "integrity": "sha512-o2vZRlwwJ6WoxRwnFFT5iZzfdc2d9MZvrtwB093RWPNcyK5qVtApji4VN/ieHijB4bjEHGalm0UKfKpt0EDlUQ==", "dev": true, "requires": { "@babel/runtime": "^7.16.0", @@ -4789,610 +4581,133 @@ } }, "@wordpress/jest-preset-default": { - "version": "11.20.0", - "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-11.20.0.tgz", - "integrity": "sha512-3x2ua/rc0540zfLOrHbfdrEOwS5xWPbX5/f2LUyM2T6zzmhXrnqG2WFdhftFFLAUhC8cbxuy1WNnrzgjUxGeDQ==", + "version": "11.21.0", + "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-11.21.0.tgz", + "integrity": "sha512-XAztKOROu02iBsz+Qosv/RYuPWB1XwwlU+FiA5Y68tRztrqFy4b/il+DFg4Jue/zXF7UECWUvosd5ow/GmKa6Q==", "dev": true, "requires": { - "@wordpress/jest-console": "^7.20.0", + "@wordpress/jest-console": "^7.21.0", "babel-jest": "^29.6.2" } }, "@wordpress/keycodes": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.33.0.tgz", - "integrity": "sha512-vdp5OR6D9RpTLGCGC5oxwoEZQ7bIzU2UDljeV76KhtrMKocjI17K7aRijLEkQJUckUNuWXKFg6rpgtBeps/SsQ==", + "version": "3.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.50.0.tgz", + "integrity": "sha512-ykWpyCbgwcaT8i5kSfotYtd2oOHyMDpWEYR73InYrzEhl7pnS3wD7hi/KfeKLvMfYhbysUXlCVr6q/oH+qK/DQ==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.33.0", - "change-case": "^4.1.2" + "@wordpress/i18n": "^4.50.0" } }, "@wordpress/npm-package-json-lint-config": { - "version": "4.34.0", - "resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-4.34.0.tgz", - "integrity": "sha512-mknDw+d5HIfx/1DyrhkbLJNu8XsmUEjc1SsYSgF2XCP20/khpO7YOi0LWn9uQ2QXWZrlhMc7JKSSOcTs0aLphQ==", + "version": "4.35.0", + "resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-4.35.0.tgz", + "integrity": "sha512-QmkhYM4/s+2r3RuolVRRmoUa5o3lFgcHA6I3A9akaSVGZr//4p2p+iXOGmNub9njgGlj7j8SAPN8GUsCO/VqZQ==", "dev": true }, "@wordpress/plugins": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@wordpress/plugins/-/plugins-6.17.0.tgz", - "integrity": "sha512-ZwrJ7L0S45SxZmTWvWc+IgSEWj6HqCtVtdg2CRxRGbyfRV1zwqeEtofNQWRE3z1plZqeUOx/+hVjTiGmkUC+Pg==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@wordpress/plugins/-/plugins-6.18.0.tgz", + "integrity": "sha512-m2BRJ5BApIMwT2Ck5E5yD8pS3RiIoOvWhzsYWrRqRfwjRhc6K46BreCbkiHgduBaFgzDIWpujlUHkYtdl27RoQ==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/components": "^25.15.0", - "@wordpress/compose": "^6.26.0", - "@wordpress/element": "^5.26.0", - "@wordpress/hooks": "^3.49.0", - "@wordpress/icons": "^9.40.0", - "@wordpress/is-shallow-equal": "^4.49.0", + "@wordpress/components": "^25.16.0", + "@wordpress/compose": "^6.27.0", + "@wordpress/element": "^5.27.0", + "@wordpress/hooks": "^3.50.0", + "@wordpress/icons": "^9.41.0", + "@wordpress/is-shallow-equal": "^4.50.0", "memize": "^2.0.1" - }, - "dependencies": { - "@wordpress/compose": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-6.26.0.tgz", - "integrity": "sha512-ipHKcXY7//Qkto3Gtw8knqhUbjTtKMjTIQENXcVT+SAp5YLpyaJ6OW9R/N59QmXaeF+Lw04LuUaVX3k7yaRFtA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/mousetrap": "^1.6.8", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/dom": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/keycodes": "^3.49.0", - "@wordpress/priority-queue": "^2.49.0", - "@wordpress/undo-manager": "^0.9.0", - "change-case": "^4.1.2", - "clipboard": "^2.0.8", - "mousetrap": "^1.6.5", - "use-memo-one": "^1.1.1" - } - }, - "@wordpress/deprecated": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-3.49.0.tgz", - "integrity": "sha512-NxBJl9IvcEK5U3Z4UB8NpBdAxLlz5L0JEcq8+95DroYYxWmcH5sYtYPgXg2YZ24DP5nSnC12ZqGJ4QPzkMNH/Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0" - } - }, - "@wordpress/dom": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-3.49.0.tgz", - "integrity": "sha512-Amx3xaR+TrQiO0lFlX/TCkHkoKlLjeDgzpGrc9PQ3X3rKyf/yrCFSlOOqAby6m99jdoAD3SF0x+T6u4wR9iaQg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/deprecated": "^3.49.0" - } - }, - "@wordpress/element": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.26.0.tgz", - "integrity": "sha512-pYZ2OsFgDN00amTxPoC7BtlkVtVBeLS/Y1+P1Mlu0CX+gHDP0Il9SUaLVEIAewLnZMN+O3ph3H5nfR0yKkSnAA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/react": "^18.0.21", - "@types/react-dom": "^18.0.6", - "@wordpress/escape-html": "^2.49.0", - "change-case": "^4.1.2", - "is-plain-object": "^5.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - } - }, - "@wordpress/escape-html": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.49.0.tgz", - "integrity": "sha512-JmVm6IWr5EhXU5m7LCwMOiSv90qJU1l8Q2xlBCQ+0bIPcWRjsHX9pFKDOJvQ6D55W/CTGO1GQk50uolktTeTtw==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/hooks": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.49.0.tgz", - "integrity": "sha512-GH546Jg8u/rw9I3fsvAhidwt8rUFNmkdXGByIPGsN3R6y+QwWMXPzsnoYdFmFOmDK9gOGCRDe5bXHikoWnaiKA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/i18n": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.49.0.tgz", - "integrity": "sha512-8aZmmRfOHzS/3pMWg+4f6QlPci0wK5V+PDllAwtwFFrXgc0pmk8VXu7Quajh1tiVoIQDCZpK6h1sqa+qrCLpZg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0", - "gettext-parser": "^1.3.1", - "memize": "^2.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, - "@wordpress/is-shallow-equal": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.49.0.tgz", - "integrity": "sha512-cEII2Ik+qRNsU1lzGjBo0gtSFCNFlMvauPda4+F4U1H3mBPCq+zLm8vHLHtybwq2Dh32OsA/5NWWTbW8rRrdfg==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/keycodes": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.49.0.tgz", - "integrity": "sha512-Hg+kUTV/ti+CyG4+D3dmRFMmrE45E2QEv7ZKaeIf+t1wlafekLSDwIpdF7e68HxEMmZSzHmLm7bHqQTNjxAoKQ==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.49.0" - } - }, - "@wordpress/priority-queue": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-2.49.0.tgz", - "integrity": "sha512-KuFKPfjdKJe7VHAuIW7+1FV4nh6NRR97uGxb02unaVKOhVQmYFkCtk02KI6e63sLrqwLAKVt8Dolzd/94oYERg==", - "requires": { - "@babel/runtime": "^7.16.0", - "requestidlecallback": "^0.3.0" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" - } } }, "@wordpress/postcss-plugins-preset": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@wordpress/postcss-plugins-preset/-/postcss-plugins-preset-4.33.0.tgz", - "integrity": "sha512-RqKNf8XQTdae0cXO11l6mBw+A3IOEO9dd4sD70g15e4IltrbwuxqwOT5k9muNteUszTCOQKgWgD8gp1KM2/lvQ==", + "version": "4.34.0", + "resolved": "https://registry.npmjs.org/@wordpress/postcss-plugins-preset/-/postcss-plugins-preset-4.34.0.tgz", + "integrity": "sha512-OLQBSLE2q11Ik+WdcO2QfGr/O4X/zJYOGXNsychx/EaMamLzJInFcRL6kGbPX41zPINhadq5x2vFIZI2EC+Uyg==", "dev": true, "requires": { - "@wordpress/base-styles": "^4.40.0", + "@wordpress/base-styles": "^4.41.0", "autoprefixer": "^10.2.5" } }, "@wordpress/preferences": { - "version": "3.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/preferences/-/preferences-3.26.0.tgz", - "integrity": "sha512-8fXN9T1sh9g6kl3ta0BWlZKeqlvMGj2VhNd564zZdfOsEojW1Fhq2RoLahcp2BnMmSojdgPCSQQ8O2IdirwDyA==", + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/@wordpress/preferences/-/preferences-3.27.0.tgz", + "integrity": "sha512-LMhOHX5FI4CJHv2YhtpiEtHfLqL/pjKAMja/v7skkHPlrh64Sgzi/gep016/My5SjcR64JUD1Na2U2j/BnrBNQ==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/a11y": "^3.49.0", - "@wordpress/components": "^25.15.0", - "@wordpress/data": "^9.19.0", - "@wordpress/element": "^5.26.0", - "@wordpress/i18n": "^4.49.0", - "@wordpress/icons": "^9.40.0", + "@wordpress/a11y": "^3.50.0", + "@wordpress/components": "^25.16.0", + "@wordpress/compose": "^6.27.0", + "@wordpress/data": "^9.20.0", + "@wordpress/deprecated": "^3.50.0", + "@wordpress/element": "^5.27.0", + "@wordpress/i18n": "^4.50.0", + "@wordpress/icons": "^9.41.0", + "@wordpress/private-apis": "^0.32.0", "classnames": "^2.3.1" - }, - "dependencies": { - "@wordpress/compose": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-6.26.0.tgz", - "integrity": "sha512-ipHKcXY7//Qkto3Gtw8knqhUbjTtKMjTIQENXcVT+SAp5YLpyaJ6OW9R/N59QmXaeF+Lw04LuUaVX3k7yaRFtA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/mousetrap": "^1.6.8", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/dom": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/keycodes": "^3.49.0", - "@wordpress/priority-queue": "^2.49.0", - "@wordpress/undo-manager": "^0.9.0", - "change-case": "^4.1.2", - "clipboard": "^2.0.8", - "mousetrap": "^1.6.5", - "use-memo-one": "^1.1.1" - } - }, - "@wordpress/data": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-9.19.0.tgz", - "integrity": "sha512-j+kzP638QQ2t6/4KsIzLTPem+X/oZUkYGGT7boo51Ychs07uLfEdzubwSJVChyBq14zmiAulK7tLWQI52i7jOg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/compose": "^6.26.0", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/priority-queue": "^2.49.0", - "@wordpress/private-apis": "^0.31.0", - "@wordpress/redux-routine": "^4.49.0", - "deepmerge": "^4.3.0", - "equivalent-key-map": "^0.2.2", - "is-plain-object": "^5.0.0", - "is-promise": "^4.0.0", - "redux": "^4.1.2", - "rememo": "^4.0.2", - "use-memo-one": "^1.1.1" - } - }, - "@wordpress/deprecated": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-3.49.0.tgz", - "integrity": "sha512-NxBJl9IvcEK5U3Z4UB8NpBdAxLlz5L0JEcq8+95DroYYxWmcH5sYtYPgXg2YZ24DP5nSnC12ZqGJ4QPzkMNH/Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0" - } - }, - "@wordpress/dom": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-3.49.0.tgz", - "integrity": "sha512-Amx3xaR+TrQiO0lFlX/TCkHkoKlLjeDgzpGrc9PQ3X3rKyf/yrCFSlOOqAby6m99jdoAD3SF0x+T6u4wR9iaQg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/deprecated": "^3.49.0" - } - }, - "@wordpress/element": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.26.0.tgz", - "integrity": "sha512-pYZ2OsFgDN00amTxPoC7BtlkVtVBeLS/Y1+P1Mlu0CX+gHDP0Il9SUaLVEIAewLnZMN+O3ph3H5nfR0yKkSnAA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/react": "^18.0.21", - "@types/react-dom": "^18.0.6", - "@wordpress/escape-html": "^2.49.0", - "change-case": "^4.1.2", - "is-plain-object": "^5.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - } - }, - "@wordpress/escape-html": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.49.0.tgz", - "integrity": "sha512-JmVm6IWr5EhXU5m7LCwMOiSv90qJU1l8Q2xlBCQ+0bIPcWRjsHX9pFKDOJvQ6D55W/CTGO1GQk50uolktTeTtw==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/hooks": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.49.0.tgz", - "integrity": "sha512-GH546Jg8u/rw9I3fsvAhidwt8rUFNmkdXGByIPGsN3R6y+QwWMXPzsnoYdFmFOmDK9gOGCRDe5bXHikoWnaiKA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/i18n": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.49.0.tgz", - "integrity": "sha512-8aZmmRfOHzS/3pMWg+4f6QlPci0wK5V+PDllAwtwFFrXgc0pmk8VXu7Quajh1tiVoIQDCZpK6h1sqa+qrCLpZg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0", - "gettext-parser": "^1.3.1", - "memize": "^2.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, - "@wordpress/is-shallow-equal": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.49.0.tgz", - "integrity": "sha512-cEII2Ik+qRNsU1lzGjBo0gtSFCNFlMvauPda4+F4U1H3mBPCq+zLm8vHLHtybwq2Dh32OsA/5NWWTbW8rRrdfg==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/keycodes": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.49.0.tgz", - "integrity": "sha512-Hg+kUTV/ti+CyG4+D3dmRFMmrE45E2QEv7ZKaeIf+t1wlafekLSDwIpdF7e68HxEMmZSzHmLm7bHqQTNjxAoKQ==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.49.0" - } - }, - "@wordpress/priority-queue": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-2.49.0.tgz", - "integrity": "sha512-KuFKPfjdKJe7VHAuIW7+1FV4nh6NRR97uGxb02unaVKOhVQmYFkCtk02KI6e63sLrqwLAKVt8Dolzd/94oYERg==", - "requires": { - "@babel/runtime": "^7.16.0", - "requestidlecallback": "^0.3.0" - } - }, - "@wordpress/private-apis": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@wordpress/private-apis/-/private-apis-0.31.0.tgz", - "integrity": "sha512-Hx2LJfkgbeAixXHDvi/rBly4+mShhrJfYXwyh6uTLnXkjp6OcPuBbCXhIfARw45lNdiqWdHoqXcAl1RTBFFd4g==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/redux-routine": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/redux-routine/-/redux-routine-4.49.0.tgz", - "integrity": "sha512-uXsU3ZEJoDkyqGYlMfvjgfZpoVYbOOUJMHTL8EHQ2yC9JwBoyWz9kWXAn4cal2LJY0cifQdFwmGOp4nEidne2g==", - "requires": { - "@babel/runtime": "^7.16.0", - "is-plain-object": "^5.0.0", - "is-promise": "^4.0.0", - "rungen": "^0.3.2" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" - } } }, "@wordpress/prettier-config": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-3.6.0.tgz", - "integrity": "sha512-51GuCeeEGOi4qsMpzGFBmKbqEUKLqWj3eZDIwATymUaHsJPx9oT93dlIP97MqKIaWjxlhxCMt5RjxcCNT7Pckw==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-3.7.0.tgz", + "integrity": "sha512-JRTc5p7UxtcPkqdSDXSFJoJnVuS510uiRVz8anXEl5nuOx5p+SJAzi9QPrxTgOE8bN3wRABH4eIhfOcta4CFdg==", "dev": true }, "@wordpress/primitives": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-3.47.0.tgz", - "integrity": "sha512-ho4XrOI9PTGmQhgEYHuRBfgnPzPuq2zXJpQa2GCrbhm4fojLmZ7oWVBzrL2cGtFGD6dJhY3dbY+l+rNs97A2TA==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-3.48.0.tgz", + "integrity": "sha512-uBoMxpl+FiZF6aRXH/+Hwol4EAL6QqlNSaGF1IzEwklFzdRF1m5wTM4vh21w8Bq7lgxiuAqyueY7X5u32v+zPw==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/element": "^5.26.0", + "@wordpress/element": "^5.27.0", "classnames": "^2.3.1" - }, - "dependencies": { - "@wordpress/element": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.26.0.tgz", - "integrity": "sha512-pYZ2OsFgDN00amTxPoC7BtlkVtVBeLS/Y1+P1Mlu0CX+gHDP0Il9SUaLVEIAewLnZMN+O3ph3H5nfR0yKkSnAA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/react": "^18.0.21", - "@types/react-dom": "^18.0.6", - "@wordpress/escape-html": "^2.49.0", - "change-case": "^4.1.2", - "is-plain-object": "^5.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - } - }, - "@wordpress/escape-html": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.49.0.tgz", - "integrity": "sha512-JmVm6IWr5EhXU5m7LCwMOiSv90qJU1l8Q2xlBCQ+0bIPcWRjsHX9pFKDOJvQ6D55W/CTGO1GQk50uolktTeTtw==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } } }, "@wordpress/priority-queue": { - "version": "2.33.0", - "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-2.33.0.tgz", - "integrity": "sha512-6QvXTUM2zDsZHooVFH9gW/wNe2Gs6sn5yIJZ/b7sLYEPfALBNZzBtEHUjRcT4BMVTxMu47YUy0D0DyRIOxKPzw==", + "version": "2.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-2.50.0.tgz", + "integrity": "sha512-21E842EVFYUd1ZrNTLAW57IyloDCUZr6h1Te6BgqKoeKOEteoTQwA9BemMzZJUiThUSZymW94ot0Omb+C8VX2g==", "requires": { "@babel/runtime": "^7.16.0", "requestidlecallback": "^0.3.0" } }, "@wordpress/private-apis": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@wordpress/private-apis/-/private-apis-0.15.0.tgz", - "integrity": "sha512-MEkMinYbIu/YqtZ1Ou/2yYUVi2CNUpMdw+Grw9w+fOt5V3hmHwzWpLvyMTcWnlkn7XJN43f2WbP4myF0eG2buQ==", + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/@wordpress/private-apis/-/private-apis-0.32.0.tgz", + "integrity": "sha512-P7nxI/bGMDQhtlTfSe1Y2SDfrd20K5UMnTHbq+hmIkzBGRpNPbdGeNu2bZaZtIvmXk1OCR0Fkef+e6QqkOfYPg==", "requires": { "@babel/runtime": "^7.16.0" } }, "@wordpress/redux-routine": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@wordpress/redux-routine/-/redux-routine-4.33.0.tgz", - "integrity": "sha512-EzZALTd5v8PeR222MbMghuY+z6XaRkuPbQy7RsBjc6h1pcOIAdvF3vABO/Y+H011SYZ9hdyHqn5LamH/5iHZlA==", + "version": "4.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/redux-routine/-/redux-routine-4.50.0.tgz", + "integrity": "sha512-giHjQYhmFDCpeNEnsZKP0JNPBnpuQwsoxLmHAUUSNFWAmd4rtnNnG6M8HuqOLmgYTvEa8Hlx3Bl+reTGvrtI2g==", "requires": { "@babel/runtime": "^7.16.0", "is-plain-object": "^5.0.0", "is-promise": "^4.0.0", "rungen": "^0.3.2" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } } }, "@wordpress/rich-text": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/rich-text/-/rich-text-6.26.0.tgz", - "integrity": "sha512-qKb4tctDW3akaMuil0Kwlr8E3C6WyltyLXxb4f0Se6Buq+rODa7JeCr2aDtG5LfZh+GFLN8tAZlPgzLIgzDziA==", + "version": "6.27.0", + "resolved": "https://registry.npmjs.org/@wordpress/rich-text/-/rich-text-6.27.0.tgz", + "integrity": "sha512-B7t++SldcI4nb+lO2m9oEdyD8y2FbH5DKY5F2G3xpcEnw4EKSt4SsTzeclMQ/2zzlEHPRKU/IR29SeOIJ1H8JQ==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/a11y": "^3.49.0", - "@wordpress/compose": "^6.26.0", - "@wordpress/data": "^9.19.0", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/escape-html": "^2.49.0", - "@wordpress/i18n": "^4.49.0", - "@wordpress/keycodes": "^3.49.0", + "@wordpress/a11y": "^3.50.0", + "@wordpress/compose": "^6.27.0", + "@wordpress/data": "^9.20.0", + "@wordpress/deprecated": "^3.50.0", + "@wordpress/element": "^5.27.0", + "@wordpress/escape-html": "^2.50.0", + "@wordpress/i18n": "^4.50.0", + "@wordpress/keycodes": "^3.50.0", "memize": "^2.1.0", "rememo": "^4.0.2" - }, - "dependencies": { - "@wordpress/compose": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-6.26.0.tgz", - "integrity": "sha512-ipHKcXY7//Qkto3Gtw8knqhUbjTtKMjTIQENXcVT+SAp5YLpyaJ6OW9R/N59QmXaeF+Lw04LuUaVX3k7yaRFtA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/mousetrap": "^1.6.8", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/dom": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/keycodes": "^3.49.0", - "@wordpress/priority-queue": "^2.49.0", - "@wordpress/undo-manager": "^0.9.0", - "change-case": "^4.1.2", - "clipboard": "^2.0.8", - "mousetrap": "^1.6.5", - "use-memo-one": "^1.1.1" - } - }, - "@wordpress/data": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-9.19.0.tgz", - "integrity": "sha512-j+kzP638QQ2t6/4KsIzLTPem+X/oZUkYGGT7boo51Ychs07uLfEdzubwSJVChyBq14zmiAulK7tLWQI52i7jOg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/compose": "^6.26.0", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/priority-queue": "^2.49.0", - "@wordpress/private-apis": "^0.31.0", - "@wordpress/redux-routine": "^4.49.0", - "deepmerge": "^4.3.0", - "equivalent-key-map": "^0.2.2", - "is-plain-object": "^5.0.0", - "is-promise": "^4.0.0", - "redux": "^4.1.2", - "rememo": "^4.0.2", - "use-memo-one": "^1.1.1" - } - }, - "@wordpress/deprecated": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-3.49.0.tgz", - "integrity": "sha512-NxBJl9IvcEK5U3Z4UB8NpBdAxLlz5L0JEcq8+95DroYYxWmcH5sYtYPgXg2YZ24DP5nSnC12ZqGJ4QPzkMNH/Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0" - } - }, - "@wordpress/dom": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-3.49.0.tgz", - "integrity": "sha512-Amx3xaR+TrQiO0lFlX/TCkHkoKlLjeDgzpGrc9PQ3X3rKyf/yrCFSlOOqAby6m99jdoAD3SF0x+T6u4wR9iaQg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/deprecated": "^3.49.0" - } - }, - "@wordpress/element": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.26.0.tgz", - "integrity": "sha512-pYZ2OsFgDN00amTxPoC7BtlkVtVBeLS/Y1+P1Mlu0CX+gHDP0Il9SUaLVEIAewLnZMN+O3ph3H5nfR0yKkSnAA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/react": "^18.0.21", - "@types/react-dom": "^18.0.6", - "@wordpress/escape-html": "^2.49.0", - "change-case": "^4.1.2", - "is-plain-object": "^5.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - } - }, - "@wordpress/escape-html": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.49.0.tgz", - "integrity": "sha512-JmVm6IWr5EhXU5m7LCwMOiSv90qJU1l8Q2xlBCQ+0bIPcWRjsHX9pFKDOJvQ6D55W/CTGO1GQk50uolktTeTtw==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/hooks": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.49.0.tgz", - "integrity": "sha512-GH546Jg8u/rw9I3fsvAhidwt8rUFNmkdXGByIPGsN3R6y+QwWMXPzsnoYdFmFOmDK9gOGCRDe5bXHikoWnaiKA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/i18n": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.49.0.tgz", - "integrity": "sha512-8aZmmRfOHzS/3pMWg+4f6QlPci0wK5V+PDllAwtwFFrXgc0pmk8VXu7Quajh1tiVoIQDCZpK6h1sqa+qrCLpZg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0", - "gettext-parser": "^1.3.1", - "memize": "^2.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, - "@wordpress/is-shallow-equal": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.49.0.tgz", - "integrity": "sha512-cEII2Ik+qRNsU1lzGjBo0gtSFCNFlMvauPda4+F4U1H3mBPCq+zLm8vHLHtybwq2Dh32OsA/5NWWTbW8rRrdfg==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/keycodes": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.49.0.tgz", - "integrity": "sha512-Hg+kUTV/ti+CyG4+D3dmRFMmrE45E2QEv7ZKaeIf+t1wlafekLSDwIpdF7e68HxEMmZSzHmLm7bHqQTNjxAoKQ==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.49.0" - } - }, - "@wordpress/priority-queue": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-2.49.0.tgz", - "integrity": "sha512-KuFKPfjdKJe7VHAuIW7+1FV4nh6NRR97uGxb02unaVKOhVQmYFkCtk02KI6e63sLrqwLAKVt8Dolzd/94oYERg==", - "requires": { - "@babel/runtime": "^7.16.0", - "requestidlecallback": "^0.3.0" - } - }, - "@wordpress/private-apis": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@wordpress/private-apis/-/private-apis-0.31.0.tgz", - "integrity": "sha512-Hx2LJfkgbeAixXHDvi/rBly4+mShhrJfYXwyh6uTLnXkjp6OcPuBbCXhIfARw45lNdiqWdHoqXcAl1RTBFFd4g==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/redux-routine": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/redux-routine/-/redux-routine-4.49.0.tgz", - "integrity": "sha512-uXsU3ZEJoDkyqGYlMfvjgfZpoVYbOOUJMHTL8EHQ2yC9JwBoyWz9kWXAn4cal2LJY0cifQdFwmGOp4nEidne2g==", - "requires": { - "@babel/runtime": "^7.16.0", - "is-plain-object": "^5.0.0", - "is-promise": "^4.0.0", - "rungen": "^0.3.2" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" - } } }, "@wordpress/scripts": { @@ -5459,6 +4774,57 @@ "webpack-bundle-analyzer": "^4.9.1", "webpack-cli": "^5.1.4", "webpack-dev-server": "^4.15.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "@wordpress/style-engine": { @@ -5471,9 +4837,9 @@ } }, "@wordpress/stylelint-config": { - "version": "21.32.0", - "resolved": "https://registry.npmjs.org/@wordpress/stylelint-config/-/stylelint-config-21.32.0.tgz", - "integrity": "sha512-cmrzU55alv+OZu1fXBC2eZGgJIUwyD47TSDDP7l0o9yF6D/w0am7FxC9ungk/S2uK1oatN05nIPsFSTkuHQSzg==", + "version": "21.33.0", + "resolved": "https://registry.npmjs.org/@wordpress/stylelint-config/-/stylelint-config-21.33.0.tgz", + "integrity": "sha512-DwjXrjRBva0tkYILvDV7rjl3VaKXxvchlxnFfFs6l2DWL/Qo31CJ+f2rVw4XSWuuWxY1EsyIn9tOBS9URloWTQ==", "dev": true, "requires": { "stylelint-config-recommended": "^6.0.0", @@ -5481,209 +4847,38 @@ } }, "@wordpress/undo-manager": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@wordpress/undo-manager/-/undo-manager-0.9.0.tgz", - "integrity": "sha512-ZD6fVOdDhH8NvV/2fqjkI6W3kURzU7grWMBSZLtnSmSSPdT//1VSIxe0gcbmRvVPWLdj+TXbHifIswcJK0bHhQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@wordpress/undo-manager/-/undo-manager-0.10.0.tgz", + "integrity": "sha512-ODDqAL6BSvD+J7FV+sQTAaVHiPChh/4KBnKg8pb2ogg+Weq6VynthxDxGpQnN8FcMKB9ZoyS3SNIl8pVXLKIwA==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/is-shallow-equal": "^4.49.0" - }, - "dependencies": { - "@wordpress/is-shallow-equal": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.49.0.tgz", - "integrity": "sha512-cEII2Ik+qRNsU1lzGjBo0gtSFCNFlMvauPda4+F4U1H3mBPCq+zLm8vHLHtybwq2Dh32OsA/5NWWTbW8rRrdfg==", - "requires": { - "@babel/runtime": "^7.16.0" - } - } + "@wordpress/is-shallow-equal": "^4.50.0" } }, "@wordpress/url": { - "version": "3.37.0", - "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.37.0.tgz", - "integrity": "sha512-6xuaT3Ro96yzb3fJoHfVjzA5NqBqVjBv4xxlz2nWVFXngafeXvCv32Q4+VQR4zmi0mbO/9PXeH6RgUa+fqPJmQ==", + "version": "3.51.0", + "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-3.51.0.tgz", + "integrity": "sha512-OjucjlP1763gfKbe8lv/k3RCisyX8AfNBrhASk7JqxAj6rFhb1ZZO7YmAgB2m+WoGB5v7fkOli0FZyDqISdYyg==", "requires": { "@babel/runtime": "^7.16.0", - "remove-accents": "^0.4.2" + "remove-accents": "^0.5.0" } }, "@wordpress/viewport": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/viewport/-/viewport-5.26.0.tgz", - "integrity": "sha512-BZDegMGSckbAwN6eLb3Whn+UeeX1bbB5x6NteTmo4KOSjxTDAUNilBj+JfKoQowZ2fo2xlzySkkVQ/Oajg2rcA==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/@wordpress/viewport/-/viewport-5.27.0.tgz", + "integrity": "sha512-ET8X3Ln0K6wrBba+u0AjBD/mP02SuvwhK/EVaI3uAhNlGnkx+J3PdtShbu63lHmp0SG+J27CDjEqfcZ6CdAnfA==", "requires": { "@babel/runtime": "^7.16.0", - "@wordpress/compose": "^6.26.0", - "@wordpress/data": "^9.19.0", - "@wordpress/element": "^5.26.0" - }, - "dependencies": { - "@wordpress/compose": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-6.26.0.tgz", - "integrity": "sha512-ipHKcXY7//Qkto3Gtw8knqhUbjTtKMjTIQENXcVT+SAp5YLpyaJ6OW9R/N59QmXaeF+Lw04LuUaVX3k7yaRFtA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/mousetrap": "^1.6.8", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/dom": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/keycodes": "^3.49.0", - "@wordpress/priority-queue": "^2.49.0", - "@wordpress/undo-manager": "^0.9.0", - "change-case": "^4.1.2", - "clipboard": "^2.0.8", - "mousetrap": "^1.6.5", - "use-memo-one": "^1.1.1" - } - }, - "@wordpress/data": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-9.19.0.tgz", - "integrity": "sha512-j+kzP638QQ2t6/4KsIzLTPem+X/oZUkYGGT7boo51Ychs07uLfEdzubwSJVChyBq14zmiAulK7tLWQI52i7jOg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/compose": "^6.26.0", - "@wordpress/deprecated": "^3.49.0", - "@wordpress/element": "^5.26.0", - "@wordpress/is-shallow-equal": "^4.49.0", - "@wordpress/priority-queue": "^2.49.0", - "@wordpress/private-apis": "^0.31.0", - "@wordpress/redux-routine": "^4.49.0", - "deepmerge": "^4.3.0", - "equivalent-key-map": "^0.2.2", - "is-plain-object": "^5.0.0", - "is-promise": "^4.0.0", - "redux": "^4.1.2", - "rememo": "^4.0.2", - "use-memo-one": "^1.1.1" - } - }, - "@wordpress/deprecated": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-3.49.0.tgz", - "integrity": "sha512-NxBJl9IvcEK5U3Z4UB8NpBdAxLlz5L0JEcq8+95DroYYxWmcH5sYtYPgXg2YZ24DP5nSnC12ZqGJ4QPzkMNH/Q==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0" - } - }, - "@wordpress/dom": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-3.49.0.tgz", - "integrity": "sha512-Amx3xaR+TrQiO0lFlX/TCkHkoKlLjeDgzpGrc9PQ3X3rKyf/yrCFSlOOqAby6m99jdoAD3SF0x+T6u4wR9iaQg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/deprecated": "^3.49.0" - } - }, - "@wordpress/element": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-5.26.0.tgz", - "integrity": "sha512-pYZ2OsFgDN00amTxPoC7BtlkVtVBeLS/Y1+P1Mlu0CX+gHDP0Il9SUaLVEIAewLnZMN+O3ph3H5nfR0yKkSnAA==", - "requires": { - "@babel/runtime": "^7.16.0", - "@types/react": "^18.0.21", - "@types/react-dom": "^18.0.6", - "@wordpress/escape-html": "^2.49.0", - "change-case": "^4.1.2", - "is-plain-object": "^5.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - } - }, - "@wordpress/escape-html": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-2.49.0.tgz", - "integrity": "sha512-JmVm6IWr5EhXU5m7LCwMOiSv90qJU1l8Q2xlBCQ+0bIPcWRjsHX9pFKDOJvQ6D55W/CTGO1GQk50uolktTeTtw==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/hooks": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-3.49.0.tgz", - "integrity": "sha512-GH546Jg8u/rw9I3fsvAhidwt8rUFNmkdXGByIPGsN3R6y+QwWMXPzsnoYdFmFOmDK9gOGCRDe5bXHikoWnaiKA==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/i18n": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-4.49.0.tgz", - "integrity": "sha512-8aZmmRfOHzS/3pMWg+4f6QlPci0wK5V+PDllAwtwFFrXgc0pmk8VXu7Quajh1tiVoIQDCZpK6h1sqa+qrCLpZg==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/hooks": "^3.49.0", - "gettext-parser": "^1.3.1", - "memize": "^2.1.0", - "sprintf-js": "^1.1.1", - "tannin": "^1.2.0" - } - }, - "@wordpress/is-shallow-equal": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-4.49.0.tgz", - "integrity": "sha512-cEII2Ik+qRNsU1lzGjBo0gtSFCNFlMvauPda4+F4U1H3mBPCq+zLm8vHLHtybwq2Dh32OsA/5NWWTbW8rRrdfg==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/keycodes": { - "version": "3.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-3.49.0.tgz", - "integrity": "sha512-Hg+kUTV/ti+CyG4+D3dmRFMmrE45E2QEv7ZKaeIf+t1wlafekLSDwIpdF7e68HxEMmZSzHmLm7bHqQTNjxAoKQ==", - "requires": { - "@babel/runtime": "^7.16.0", - "@wordpress/i18n": "^4.49.0" - } - }, - "@wordpress/priority-queue": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-2.49.0.tgz", - "integrity": "sha512-KuFKPfjdKJe7VHAuIW7+1FV4nh6NRR97uGxb02unaVKOhVQmYFkCtk02KI6e63sLrqwLAKVt8Dolzd/94oYERg==", - "requires": { - "@babel/runtime": "^7.16.0", - "requestidlecallback": "^0.3.0" - } - }, - "@wordpress/private-apis": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@wordpress/private-apis/-/private-apis-0.31.0.tgz", - "integrity": "sha512-Hx2LJfkgbeAixXHDvi/rBly4+mShhrJfYXwyh6uTLnXkjp6OcPuBbCXhIfARw45lNdiqWdHoqXcAl1RTBFFd4g==", - "requires": { - "@babel/runtime": "^7.16.0" - } - }, - "@wordpress/redux-routine": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/redux-routine/-/redux-routine-4.49.0.tgz", - "integrity": "sha512-uXsU3ZEJoDkyqGYlMfvjgfZpoVYbOOUJMHTL8EHQ2yC9JwBoyWz9kWXAn4cal2LJY0cifQdFwmGOp4nEidne2g==", - "requires": { - "@babel/runtime": "^7.16.0", - "is-plain-object": "^5.0.0", - "is-promise": "^4.0.0", - "rungen": "^0.3.2" - } - }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" - } + "@wordpress/compose": "^6.27.0", + "@wordpress/data": "^9.20.0", + "@wordpress/element": "^5.27.0" } }, "@wordpress/warning": { - "version": "2.49.0", - "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-2.49.0.tgz", - "integrity": "sha512-W2Nj9Nj0o2udPLf8jfGijRff3lzQgPOiLZcN4LFUPT6yyb9MxvNIg7ZVTBJL2TB78+KQKGrIH4ERjV5WyDRoEQ==" + "version": "2.50.0", + "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-2.50.0.tgz", + "integrity": "sha512-y7Zf48roDfiPgbRAWGXDwN3C8sfbEdneGq+HvXCW6rIeGYnDLdEkpX9i7RfultkFFPVeSP3FpMKVMkto2nbqzA==" }, "@xtuc/ieee754": { "version": "1.2.0", @@ -5870,12 +5065,11 @@ "dev": true }, "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^2.0.1" + "color-convert": "^1.9.0" } }, "anymatch": { @@ -5907,6 +5101,14 @@ "dev": true, "requires": { "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + } } }, "aria-query": { @@ -6138,9 +5340,9 @@ "dev": true }, "axios": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", - "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.6.tgz", + "integrity": "sha512-XZLZDFfXKM9U/Y/B4nNynfCRUqNyVZ4sBC/n9GDRCkq9vd2mIvKjKKsbIh1WPmHmNbg6ND7cTBY3Y2+u1G3/2Q==", "dev": true, "requires": { "follow-redirects": "^1.15.4", @@ -6176,6 +5378,57 @@ "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "babel-loader": { @@ -6239,13 +5492,13 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", - "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", + "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", "dev": true, "requires": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.4", + "@babel/helper-define-polyfill-provider": "^0.5.0", "semver": "^6.3.1" } }, @@ -6257,15 +5510,45 @@ "requires": { "@babel/helper-define-polyfill-provider": "^0.4.4", "core-js-compat": "^3.33.1" + }, + "dependencies": { + "@babel/helper-define-polyfill-provider": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", + "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } } }, "babel-plugin-polyfill-regenerator": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", - "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.4" + "@babel/helper-define-polyfill-provider": "^0.5.0" } }, "babel-preset-current-node-syntax": { @@ -6397,6 +5680,17 @@ "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } } }, "body-scroll-lock": { @@ -6624,9 +5918,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001578", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001578.tgz", - "integrity": "sha512-J/jkFgsQ3NEl4w2lCoM9ZPxrD+FoBNJ7uJUpGVjIg/j0OwJosWM36EPDv+Yyi0V4twBk9pPmlFS+PLykgEvUmg==", + "version": "1.0.30001580", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001580.tgz", + "integrity": "sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA==", "dev": true }, "capital-case": { @@ -6646,13 +5940,20 @@ "dev": true }, "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + } } }, "change-case": { @@ -6706,14 +6007,53 @@ "semver": "^6.3.0" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" } } } @@ -6835,6 +6175,30 @@ "string-width": "^4.2.0" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "slice-ansi": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", @@ -6892,6 +6256,17 @@ "kind-of": "^3.0.2", "lazy-cache": "^1.0.3", "shallow-clone": "^0.1.2" + }, + "dependencies": { + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + } } }, "clone-response": { @@ -6916,19 +6291,17 @@ "dev": true }, "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "requires": { - "color-name": "~1.1.4" + "color-name": "1.1.3" } }, "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "colord": { "version": "2.9.3", @@ -7200,24 +6573,24 @@ } }, "core-js": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.0.tgz", - "integrity": "sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg==", + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.1.tgz", + "integrity": "sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==", "dev": true }, "core-js-compat": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.0.tgz", - "integrity": "sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==", + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.1.tgz", + "integrity": "sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==", "dev": true, "requires": { "browserslist": "^4.22.2" } }, "core-js-pure": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.35.0.tgz", - "integrity": "sha512-f+eRYmkou59uh7BPcyJ8MC76DiGhspj1KMxVIcF24tzP8NA9HVa1uC7BTW2tgx7E1QVCzDzsgp7kArrzhlz8Ew==", + "version": "3.35.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.35.1.tgz", + "integrity": "sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==", "dev": true }, "core-util-is": { @@ -7251,6 +6624,57 @@ "jest-config": "^29.7.0", "jest-util": "^29.7.0", "prompts": "^2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "cross-fetch": { @@ -7316,16 +6740,16 @@ "dev": true }, "css-loader": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.9.0.tgz", - "integrity": "sha512-3I5Nu4ytWlHvOP6zItjiHlefBNtrH+oehq8tnQa2kO305qpVyx9XNIT1CXIj5bgCJs7qICBCkgCYxQLKPANoLA==", + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.9.1.tgz", + "integrity": "sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ==", "dev": true, "requires": { "icss-utils": "^5.1.0", - "postcss": "^8.4.31", + "postcss": "^8.4.33", "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.3", - "postcss-modules-scope": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.4", + "postcss-modules-scope": "^3.1.1", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", "semver": "^7.5.4" @@ -7496,9 +6920,9 @@ } }, "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "cwd": { "version": "0.10.0", @@ -7560,6 +6984,51 @@ "yauzl": "^2.10.0" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "commander": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", @@ -7627,6 +7096,12 @@ "universalify": "^2.0.0" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "human-signals": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", @@ -8270,9 +7745,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.4.635", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.635.tgz", - "integrity": "sha512-iu/2D0zolKU3iDGXXxdOzNf72Jnokn+K1IN6Kk4iV6l1Tr2g/qy+mvmtfAiBwZe5S3aB5r92vp+zSZ69scYRrg==", + "version": "1.4.645", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.645.tgz", + "integrity": "sha512-EeS1oQDCmnYsRDRy2zTeC336a/4LZ6WKqvSaM1jLocEk5ZuyszkQtCpsqvuvaIXGOUjwtvF6LTcS8WueibXvSw==", "dev": true }, "emittery": { @@ -8305,16 +7780,6 @@ "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "requires": { "iconv-lite": "^0.6.2" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } } }, "end-of-stream": { @@ -8587,12 +8052,46 @@ "text-table": "^0.2.0" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -8656,6 +8155,12 @@ "type-fest": "^0.20.2" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -8692,6 +8197,15 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -9006,15 +8520,6 @@ "object.fromentries": "^2.0.7" }, "dependencies": { - "@babel/runtime": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", - "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, "aria-query": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", @@ -9035,12 +8540,6 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true - }, - "regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true } } }, @@ -9361,6 +8860,12 @@ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true } } }, @@ -9379,6 +8884,17 @@ "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } } }, "extract-zip": { @@ -9597,6 +9113,40 @@ "debug": "^4.1.1" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "commander": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", @@ -9612,11 +9162,26 @@ "ms": "2.1.2" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -9635,6 +9200,12 @@ "path-exists": "^4.0.0" } }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true + }, "flat-cache": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", @@ -10109,10 +9680,9 @@ "dev": true }, "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "has-property-descriptors": { "version": "1.0.1", @@ -10400,12 +9970,11 @@ "dev": true }, "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "icss-utils": { @@ -10454,13 +10023,6 @@ "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" - } } }, "import-lazy": { @@ -10532,6 +10094,57 @@ "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "internal-slot": { @@ -10839,13 +10452,9 @@ "dev": true }, "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" }, "is-potential-custom-element-name": { "version": "1.0.1", @@ -10983,7 +10592,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true }, "isstream": { @@ -11022,6 +10631,12 @@ "supports-color": "^7.1.0" }, "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -11049,6 +10664,15 @@ "lru-cache": "^6.0.0" } }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -11126,6 +10750,46 @@ "jest-cli": "^29.7.0" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "jest-cli": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", @@ -11144,6 +10808,15 @@ "jest-validate": "^29.7.0", "yargs": "^17.3.1" } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11187,9 +10860,43 @@ }, "dependencies": { "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "pretty-format": { @@ -11201,6 +10908,14 @@ "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, "react-is": { @@ -11208,6 +10923,15 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11242,9 +10966,43 @@ }, "dependencies": { "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "pretty-format": { @@ -11256,6 +11014,14 @@ "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, "react-is": { @@ -11263,6 +11029,15 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11279,6 +11054,57 @@ "spawnd": "^9.0.2", "tree-kill": "^1.2.2", "wait-on": "^7.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-diff": { @@ -11294,9 +11120,43 @@ }, "dependencies": { "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "pretty-format": { @@ -11308,6 +11168,14 @@ "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, "react-is": { @@ -11315,6 +11183,15 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11341,9 +11218,43 @@ }, "dependencies": { "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "pretty-format": { @@ -11355,6 +11266,14 @@ "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, "react-is": { @@ -11362,6 +11281,15 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11469,9 +11397,43 @@ }, "dependencies": { "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "pretty-format": { @@ -11483,6 +11445,14 @@ "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, "react-is": { @@ -11490,6 +11460,15 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11511,9 +11490,43 @@ }, "dependencies": { "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "pretty-format": { @@ -11525,6 +11538,14 @@ "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, "react-is": { @@ -11532,6 +11553,15 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11573,6 +11603,57 @@ "resolve": "^1.20.0", "resolve.exports": "^2.0.0", "slash": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-resolve-dependencies": { @@ -11612,6 +11693,57 @@ "jest-worker": "^29.7.0", "p-limit": "^3.1.0", "source-map-support": "0.5.13" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-runtime": { @@ -11644,11 +11776,60 @@ "strip-bom": "^4.0.0" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11681,9 +11862,43 @@ }, "dependencies": { "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "lru-cache": { @@ -11704,6 +11919,14 @@ "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, "react-is": { @@ -11721,6 +11944,15 @@ "lru-cache": "^6.0.0" } }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -11741,6 +11973,57 @@ "ci-info": "^3.2.0", "graceful-fs": "^4.2.9", "picomatch": "^2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-validate": { @@ -11758,9 +12041,43 @@ }, "dependencies": { "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "pretty-format": { @@ -11772,6 +12089,14 @@ "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } } }, "react-is": { @@ -11779,6 +12104,15 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -11796,6 +12130,57 @@ "emittery": "^0.13.1", "jest-util": "^29.7.0", "string-length": "^4.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "jest-worker": { @@ -11810,6 +12195,12 @@ "supports-color": "^8.0.0" }, "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -11822,9 +12213,9 @@ } }, "joi": { - "version": "17.11.1", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.1.tgz", - "integrity": "sha512-671acnrx+w96PCcQOzvm0VYQVwNL2PVgZmDRaFuSsx8sIUmGzYElPw5lU8F3Cr0jOuPs1oM56p7W2a1cdDOwcw==", + "version": "17.12.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.0.tgz", + "integrity": "sha512-HSLsmSmXz+PV9PYoi3p7cgIbj06WnEBNT28n+bbBNcPZXZFqCzzvGqpTBPujx/Z0nh1+KNQPDrNgdmQ8dq0qYw==", "dev": true, "requires": { "@hapi/hoek": "^9.3.0", @@ -12385,78 +12776,44 @@ "dev": true, "requires": { "chalk": "^2.4.2" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" }, "dependencies": { "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "color-convert": "^2.0.1" } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -13158,12 +13515,46 @@ "validate-npm-package-name": "^5.0.0" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "cosmiconfig": { "version": "8.3.6", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", @@ -13185,6 +13576,12 @@ "ms": "2.1.2" } }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -13195,9 +13592,9 @@ } }, "jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", "dev": true }, "log-symbols": { @@ -13234,6 +13631,15 @@ "lru-cache": "^6.0.0" } }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, "type-fest": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", @@ -13470,6 +13876,15 @@ "wcwidth": "^1.0.1" }, "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, "chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -13479,6 +13894,36 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -13712,10 +14157,9 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" }, "path-type": { "version": "4.0.0", @@ -14015,9 +14459,9 @@ "dev": true }, "postcss-modules-local-by-default": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", - "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", "dev": true, "requires": { "icss-utils": "^5.0.0", @@ -14026,9 +14470,9 @@ } }, "postcss-modules-scope": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.0.tgz", - "integrity": "sha512-SaIbK8XW+MZbd0xHPf7kdfA/3eOt7vxJ72IRecn3EzuZVLr1r0orzf0MX/pN8m+NMDoo6X/SQd8oeKqGZd8PXg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", "dev": true, "requires": { "postcss-selector-parser": "^6.0.4" @@ -14594,6 +15038,17 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } } }, "re-resizable": { @@ -14623,6 +15078,22 @@ "scheduler": "^0.23.0" } }, + "react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "react-helmet": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", + "requires": { + "object-assign": "^4.1.1", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.1.1", + "react-side-effect": "^2.1.0" + } + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -14635,22 +15106,27 @@ "dev": true }, "react-router": { - "version": "6.21.2", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.2.tgz", - "integrity": "sha512-jJcgiwDsnaHIeC+IN7atO0XiSRCrOsQAHHbChtJxmgqG2IaYQXSnhqGb5vk2CU/wBQA12Zt+TkbuJjIn65gzbA==", + "version": "6.21.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.3.tgz", + "integrity": "sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==", "requires": { "@remix-run/router": "1.14.2" } }, "react-router-dom": { - "version": "6.21.2", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.2.tgz", - "integrity": "sha512-tE13UukgUOh2/sqYr6jPzZTzmzc70aGRP4pAjG2if0IP3aUT+sBtAKUJh0qMh0zylJHGLmzS+XWVaON4UklHeg==", + "version": "6.21.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.3.tgz", + "integrity": "sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==", "requires": { "@remix-run/router": "1.14.2", - "react-router": "6.21.2" + "react-router": "6.21.3" } }, + "react-side-effect": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-2.1.2.tgz", + "integrity": "sha512-PVjOcvVOyIILrYoyGEpDN3vmYNLdy1CajSFNt4TDsVQC5KpTijDvWVoR+/7Rz2xT978D8/ZtFceXxzsPwZEDvw==" + }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -14879,9 +15355,9 @@ } }, "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "regenerator-transform": { "version": "0.15.2", @@ -14940,9 +15416,9 @@ "integrity": "sha512-NVfSP9NstE3QPNs/TnegQY0vnJnstKQSpcrsI2kBTB3dB2PkdfKdTa+abbjMIDqpc63fE5LfjLgfMst0ULMFxQ==" }, "remove-accents": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.4.tgz", - "integrity": "sha512-EpFcOa/ISetVHEXqu+VwI96KZBmq+a8LJnGkaeFw45epGlxIZz5dhEEnNZMsQXgORu3qaMoLX4qJCzOik6ytAg==" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.5.0.tgz", + "integrity": "sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==" }, "request-progress": { "version": "3.0.0", @@ -15014,6 +15490,14 @@ "dev": true, "requires": { "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } } }, "resolve-dir": { @@ -15027,10 +15511,9 @@ } }, "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "resolve.exports": { "version": "2.0.2", @@ -15070,9 +15553,9 @@ "dev": true }, "rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", "dev": true }, "rimraf": { @@ -15181,9 +15664,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sass": { - "version": "1.69.7", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.7.tgz", - "integrity": "sha512-rzj2soDeZ8wtE2egyLXgOOHQvaC2iosZrkF6v3EUG+tBwEvhqUCzm0VP3k9gHF9LXbSrRhT5SksoI56Iw8NPnQ==", + "version": "1.70.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz", + "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", @@ -15532,6 +16015,32 @@ "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } } }, "smart-buffer": { @@ -15643,17 +16152,6 @@ "abab": "^2.0.5", "iconv-lite": "^0.6.3", "source-map-js": "^1.0.1" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } } }, "source-map-support": { @@ -15715,9 +16213,9 @@ } }, "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.4.0.tgz", + "integrity": "sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==", "dev": true }, "spdx-expression-parse": { @@ -15820,10 +16318,9 @@ } }, "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==" }, "sshpk": { "version": "1.18.0", @@ -16128,12 +16625,6 @@ "which": "^1.3.1" } }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -16146,6 +16637,12 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, "write-file-atomic": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", @@ -16193,12 +16690,11 @@ "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "requires": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" } }, "supports-hyperlinks": { @@ -16209,6 +16705,23 @@ "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, "supports-preserve-symlinks-flag": { @@ -16257,14 +16770,6 @@ "requires": { "@pkgr/core": "^0.1.0", "tslib": "^2.6.2" - }, - "dependencies": { - "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - } } }, "table": { @@ -16326,9 +16831,9 @@ } }, "tar-stream": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", - "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "dev": true, "requires": { "b4a": "^1.6.4", @@ -16395,6 +16900,12 @@ "terser": "^5.26.0" }, "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, "jest-worker": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", @@ -16589,9 +17100,9 @@ } }, "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "tsutils": { "version": "3.21.0", @@ -16619,11 +17130,6 @@ "safe-buffer": "^5.0.1" } }, - "turbo-combine-reducers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/turbo-combine-reducers/-/turbo-combine-reducers-1.0.2.tgz", - "integrity": "sha512-gHbdMZlA6Ym6Ur5pSH/UWrNQMIM9IqTH6SoL1DbHpqEdQ8i+cFunSmSlFykPt0eGQwZ4d/XTHOl74H0/kFBVWw==" - }, "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", @@ -16877,9 +17383,9 @@ }, "dependencies": { "date-fns": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.2.0.tgz", - "integrity": "sha512-E4KWKavANzeuusPi0jUjpuI22SURAznGkx7eZV+4i6x2A+IZxAMcajgkvuDAU1bg40+xuhW1zRdVIIM/4khuIg==" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.3.1.tgz", + "integrity": "sha512-y8e109LYGgoQDveiEBD3DYXKba1jWf5BA8YU1FL5Tvm0BTdEfy54WLCwnuYWZNnzzvALy/QQ4Hov+Q9RVRv+Zw==" } } }, @@ -17083,19 +17589,19 @@ "dev": true }, "webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "version": "5.90.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.0.tgz", + "integrity": "sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", + "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.11.5", "@webassemblyjs/wasm-edit": "^1.11.5", "@webassemblyjs/wasm-parser": "^1.11.5", "acorn": "^8.7.1", "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.15.0", "es-module-lexer": "^1.2.1", @@ -17109,7 +17615,7 @@ "neo-async": "^2.6.2", "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.7", + "terser-webpack-plugin": "^5.3.10", "watchpack": "^2.4.0", "webpack-sources": "^3.2.3" } @@ -17133,14 +17639,6 @@ "picocolors": "^1.0.0", "sirv": "^2.0.3", "ws": "^7.3.1" - }, - "dependencies": { - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true - } } }, "webpack-cli": { @@ -17347,12 +17845,13 @@ } }, "webpack-merge": { - "version": "5.8.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", - "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", "dev": true, "requires": { "clone-deep": "^4.0.1", + "flat": "^5.0.2", "wildcard": "^2.0.0" }, "dependencies": { @@ -17367,6 +17866,15 @@ "shallow-clone": "^3.0.0" } }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -17414,17 +17922,6 @@ "dev": true, "requires": { "iconv-lite": "0.6.3" - }, - "dependencies": { - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } } }, "whatwg-mimetype": { @@ -17511,9 +18008,9 @@ } }, "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, "wrap-ansi": { @@ -17525,6 +18022,32 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } } }, "wrappy": { diff --git a/package.json b/package.json index 5dfdbac3c..54110928f 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "webpack-merge": "^5.8.0" }, "scripts": { - "build": "wp-scripts build ./src/onboarding.js", + "build": "wp-scripts build ./src/onboarding.js ./src/Scripts/sitegen-theme-marker/sitegen-theme-marker.js ./src/Scripts/sitegen-theme-marker/sitegen-theme-marker.css", "format": "wp-scripts format ./src", "start": "wp-scripts start ./src/onboarding.js", "lint:js": "wp-scripts lint-js ./src", @@ -30,6 +30,7 @@ }, "dependencies": { "@newfold-labs/js-utility-ui-analytics": "1.2.0", + "@newfold-labs/wp-module-facebook": "^1.0.0", "@wordpress/interface": "^5.25.0", "@wordpress/style-engine": "^0.11.0", "bytes": "^3.1.2", diff --git a/src/OnboardingSPA/chapters/sitegen.js b/src/OnboardingSPA/chapters/sitegen.js index 12aef1f25..faaf53ad6 100644 --- a/src/OnboardingSPA/chapters/sitegen.js +++ b/src/OnboardingSPA/chapters/sitegen.js @@ -13,8 +13,8 @@ import { stepSiteGenEditor } from '../steps/SiteGen/Editor/step'; const steps = [ stepSiteGenWelcome, stepSiteGenSiteDetails, - stepSiteGenSiteLogo, stepSiteGenSocialMedia, + stepSiteGenSiteLogo, stepSiteGenExperience, stepSiteGenBuilding, stepSiteGenPreview, diff --git a/src/OnboardingSPA/components/Button/NextButtonSiteGen/index.js b/src/OnboardingSPA/components/Button/NextButtonSiteGen/index.js index da30df9cb..9d7f6a5a4 100644 --- a/src/OnboardingSPA/components/Button/NextButtonSiteGen/index.js +++ b/src/OnboardingSPA/components/Button/NextButtonSiteGen/index.js @@ -37,7 +37,8 @@ const NextButtonSiteGen = ( { } } } > - { text } +

{ text }

+ { showChevronRight && ( { } } } > -
-
- { data.title } -
-
- { data.desc } +
+
+
+ { data.title } +
+
+ { data.desc } +
+
-
); } ); diff --git a/src/OnboardingSPA/components/CardWithOptions/stylesheet.scss b/src/OnboardingSPA/components/CardWithOptions/stylesheet.scss index 65eeab356..b12d46074 100644 --- a/src/OnboardingSPA/components/CardWithOptions/stylesheet.scss +++ b/src/OnboardingSPA/components/CardWithOptions/stylesheet.scss @@ -18,43 +18,49 @@ $background-color: var(--nfd-onboarding-card-background); &__title { color: var(--nfd-onboarding-primary); margin: 16px; - line-height: 2; + line-height: 1.5; font-size: 18px; text-align: center; margin-bottom: 30px; - letter-spacing: 1.5px; + font-weight: 400; + letter-spacing: 1.5; } &__data { margin: 12px; &__option { - display: flex; - cursor: pointer; - margin: 16px 4px; - align-items: center; - border-radius: 4px 4px 0 0; - padding: 16px 12px 16px 12px; - justify-content: space-between; - transition: background-color 400ms ease-in-out; - &:not(:last-child) { - border-bottom: 0.5px solid rgba(var(--nfd-onboarding-primary-rgb), 0.3); + &__wrapper { + display: flex; + cursor: pointer; + margin: 16px 4px; + align-items: center; + border-radius: 8px; + padding: 16px 12px 16px 12px; + justify-content: space-between; + transition: background-color 400ms ease-in-out; + + &:hover { + background-color: var(--nfd-onboarding-hover); + } } - &:hover { - background-color: var(--nfd-onboarding-hover); + &:not(:last-child) { + border-bottom: 0.5px solid rgba(var(--nfd-onboarding-primary-rgb), 0.3); } &__left_top { color: var(--nfd-onboarding-primary); - font-size: 16px; + font-size: 15px; font-weight: 500; - padding-bottom: 12px; + margin-bottom: 7px; + line-height: 24px; } &__left_bottom { - color: var(--nfd-onboarding-primary); + color: rgba(var(--nfd-onboarding-primary-rgb), 0.7); + font-size: 14px; font-weight: 300; } @@ -76,6 +82,7 @@ $background-color: var(--nfd-onboarding-card-background); margin: 0 20px 6px 20px; transition: color 200ms ease-in-out; color: rgba(var(--nfd-onboarding-primary-rgb), 0.8); + font-weight: 500; &:hover { color: var(--nfd-onboarding-primary); diff --git a/src/OnboardingSPA/components/ColorPickerButton/index.js b/src/OnboardingSPA/components/ColorPickerButton/index.js index 91735e2ca..99d4b526e 100644 --- a/src/OnboardingSPA/components/ColorPickerButton/index.js +++ b/src/OnboardingSPA/components/ColorPickerButton/index.js @@ -32,9 +32,7 @@ const ColorPickerButton = ( { style={ { backgroundColor: `${ color }`, } } - > - { isColorSelected ? <>✓ : null } -
+ >
{ name }
); diff --git a/src/OnboardingSPA/components/Drawer/stylesheet.scss b/src/OnboardingSPA/components/Drawer/stylesheet.scss index 3ea186ceb..85e73b5cb 100644 --- a/src/OnboardingSPA/components/Drawer/stylesheet.scss +++ b/src/OnboardingSPA/components/Drawer/stylesheet.scss @@ -479,10 +479,6 @@ align-items: center; justify-content: center; border: 1px solid rgba(0, 0, 0, 0.3); - - &--selected-border { - box-shadow: 0 0 5px 3px rgba(var(--nfd-onboarding-highlighted--rgb), 0.5); - } } } } diff --git a/src/OnboardingSPA/components/Footer/components/SiteGenFooter/index.js b/src/OnboardingSPA/components/Footer/components/SiteGenFooter/index.js index 1d74c033b..9bfea05f9 100644 --- a/src/OnboardingSPA/components/Footer/components/SiteGenFooter/index.js +++ b/src/OnboardingSPA/components/Footer/components/SiteGenFooter/index.js @@ -15,13 +15,16 @@ import { stepSiteGenEditor } from '../../.././../steps/SiteGen/Editor/step'; const SiteGenFooter = () => { const isLargeViewport = useViewportMatch( 'small' ); - const { footerNavEnabled, currentStep } = useSelect( ( select ) => { - return { - footerNavEnabled: - select( nfdOnboardingStore ).getFooterNavEnabled(), - currentStep: select( nfdOnboardingStore ).getCurrentStep(), - }; - } ); + const { hideFooterNav, isFooterNavAllowed, currentStep } = useSelect( + ( select ) => { + return { + hideFooterNav: select( nfdOnboardingStore ).getHideFooterNav(), + isFooterNavAllowed: + select( nfdOnboardingStore ).getIsFooterNavAllowed(), + currentStep: select( nfdOnboardingStore ).getCurrentStep(), + }; + } + ); const isEditorStep = currentStep === stepSiteGenEditor; return ( @@ -29,11 +32,11 @@ const SiteGenFooter = () => { { ! isEditorStep && } - { ! isLargeViewport && ( + { ! isLargeViewport && hideFooterNav !== true && ( ) } diff --git a/src/OnboardingSPA/components/HeadingWithSubHeading/SiteGen/stylesheet.scss b/src/OnboardingSPA/components/HeadingWithSubHeading/SiteGen/stylesheet.scss index d2ecccf73..f50f38677 100644 --- a/src/OnboardingSPA/components/HeadingWithSubHeading/SiteGen/stylesheet.scss +++ b/src/OnboardingSPA/components/HeadingWithSubHeading/SiteGen/stylesheet.scss @@ -10,7 +10,7 @@ font-weight: 300; text-align: center; color: var(--nfd-onboarding-primary); - margin: 35px !important; + margin: 35px 35px 15px 35px !important; font-size: 30px; } diff --git a/src/OnboardingSPA/components/ImageUploader/components/ImageUploaderWithText/stylesheet.scss b/src/OnboardingSPA/components/ImageUploader/components/ImageUploaderWithText/stylesheet.scss index 3a85d48e9..77148a5ef 100644 --- a/src/OnboardingSPA/components/ImageUploader/components/ImageUploaderWithText/stylesheet.scss +++ b/src/OnboardingSPA/components/ImageUploader/components/ImageUploaderWithText/stylesheet.scss @@ -106,7 +106,7 @@ flex-direction: column; justify-content: center; margin-left: 18px; - max-width: 27vw; + max-width: 26vw; @media (max-width: #{ ($break-large) }) { width: 60vw; diff --git a/src/OnboardingSPA/components/LivePreview/BlockPreview/index.js b/src/OnboardingSPA/components/LivePreview/BlockPreview/index.js index fa88751b8..936fe7ff9 100644 --- a/src/OnboardingSPA/components/LivePreview/BlockPreview/index.js +++ b/src/OnboardingSPA/components/LivePreview/BlockPreview/index.js @@ -2,6 +2,7 @@ import { useSelect } from '@wordpress/data'; import { BlockEditorProvider } from '@wordpress/block-editor'; import { parse } from '@wordpress/blocks'; import { useEffect, useState, memo } from '@wordpress/element'; +import { __ } from '@wordpress/i18n'; import AutoHeightBlockPreview from './auto'; import { useGlobalStylesOutput } from '../../../utils/global-styles/use-global-styles-output'; @@ -15,6 +16,8 @@ const BlockPreview = ( { setIsLoadingParent = false, previewSettings = false, skeletonLoadingTime = 2500, + skeletonType = 'default', + skeletonShouldWait = false, } ) => { const [ blocks, setBlocks ] = useState(); const [ settings, setSettings ] = useState(); @@ -68,7 +71,7 @@ const BlockPreview = ( { } }, [ storedPreviewSettings, currentData ] ); - const SkeletonLivePreview = memo( () => { + const SkeletonLivePreviewDefault = memo( () => { return (
@@ -84,9 +87,43 @@ const BlockPreview = ( { ); } ); + const SkeletonLivePreviewSitegen = memo( () => { + return ( +
+
+

+

+ { skeletonShouldWait + ? __( + 'Regenerating Site', + 'wp-module-onboarding' + ) + : __( + 'Generating Site', + 'wp-module-onboarding' + ) } +

+

+
+
+
+
+
+ ); + } ); + + const getSkeleton = () => { + switch ( skeletonType ) { + case 'sitegen': + return ; + default: + return ; + } + }; + return (
- { loading && } + { loading && getSkeleton() } { blocks && settings && ( { - if ( styles ) { - return [ - ...styles, - { - css: 'body{height:auto;overflow:hidden;border:none;padding:0;}', - __unstableType: 'presets', - }, - ...additionalStyles, - ]; - } - - return styles; - }, [ styles, additionalStyles ] ); - - // Initialize on render instead of module top level, to avoid circular dependency issues. - MemoizedBlockList = MemoizedBlockList || pure( BlockList ); - - const scale = containerWidth / viewportWidth; - const aspectRatio = contentHeight - ? containerWidth / ( contentHeight * scale ) - : 0; - return ( - MAX_HEIGHT ? MAX_HEIGHT * scale : undefined, - minHeight, - } } - > - - - ); -} - -export default function AutoBlockPreview( props ) { - const [ containerResizeListener, { width: containerWidth } ] = - useResizeObserver(); - - return ( - <> -
- { containerResizeListener } -
-
- { containerWidth && ( - - ) } -
- - ); -} diff --git a/src/OnboardingSPA/components/LivePreview/BlockPreviewSiteGen/index.js b/src/OnboardingSPA/components/LivePreview/BlockPreviewSiteGen/index.js deleted file mode 100644 index 5e481bb8a..000000000 --- a/src/OnboardingSPA/components/LivePreview/BlockPreviewSiteGen/index.js +++ /dev/null @@ -1,115 +0,0 @@ -import { useSelect } from '@wordpress/data'; -import { BlockEditorProvider } from '@wordpress/block-editor'; -import { parse } from '@wordpress/blocks'; -import { useEffect, useState, memo } from '@wordpress/element'; -import { __ } from '@wordpress/i18n'; - -import AutoHeightBlockPreview from './auto'; -import { useGlobalStylesOutput } from '../../../utils/global-styles/use-global-styles-output'; -import { store as nfdOnboardingStore } from '../../../store'; - -const BlockPreviewSiteGen = ( { - blockGrammer, - viewportWidth = 1300, - styling = 'large', - setIsLoadingParent = false, - previewSettings = false, - skeletonLoadingTime = 2500, - isRegenerating = { isRegenerating }, -} ) => { - const [ blocks, setBlocks ] = useState(); - const [ settings, setSettings ] = useState(); - const [ loading, setIsLoading ] = useState( true ); - - useEffect( () => { - if ( skeletonLoadingTime ) { - const timer = setTimeout( () => { - setIsLoading( false ); - if ( setIsLoadingParent ) { - setIsLoadingParent( false ); - } - }, skeletonLoadingTime ); - return () => clearTimeout( timer ); - } - setIsLoading( false ); - if ( setIsLoadingParent ) { - setIsLoadingParent( false ); - } - }, [ skeletonLoadingTime ] ); - - const { currentData, storedPreviewSettings } = useSelect( ( select ) => { - return { - currentData: - select( nfdOnboardingStore ).getCurrentOnboardingData(), - storedPreviewSettings: - select( nfdOnboardingStore ).getPreviewSettings(), - }; - }, [] ); - - useEffect( () => { - if ( previewSettings ) { - setSettings( - // eslint-disable-next-line react-hooks/rules-of-hooks - useGlobalStylesOutput( previewSettings, storedPreviewSettings ) - ); - } else { - setSettings( storedPreviewSettings ); - } - }, [] ); - - useEffect( () => { - if ( blockGrammer ) { - setBlocks( parse( blockGrammer ) ); - } - }, [ blockGrammer ] ); - - useEffect( () => { - if ( ! previewSettings ) { - setSettings( storedPreviewSettings ); - } - }, [ storedPreviewSettings, currentData ] ); - - const SkeletonLivePreview = memo( () => { - return ( -
-
-

-

- { isRegenerating - ? __( - 'Regenerating Site', - 'wp-module-onboarding' - ) - : __( - 'Generating Site', - 'wp-module-onboarding' - ) } -

-

-
-
-
-
-
- ); - } ); - - return ( -
- { loading && } - { blocks && settings && ( - - - - ) } -
- ); -}; - -export default memo( BlockPreviewSiteGen ); diff --git a/src/OnboardingSPA/components/LivePreview/SiteGenPreviewSelectableCard/index.js b/src/OnboardingSPA/components/LivePreview/SiteGenPreviewSelectableCard/index.js index 4ea6bd485..1816c6157 100644 --- a/src/OnboardingSPA/components/LivePreview/SiteGenPreviewSelectableCard/index.js +++ b/src/OnboardingSPA/components/LivePreview/SiteGenPreviewSelectableCard/index.js @@ -1,101 +1,79 @@ /* eslint-disable jsx-a11y/no-static-element-interactions */ import { search, Icon, reusableBlock } from '@wordpress/icons'; import { useState } from '@wordpress/element'; -import { useNavigate } from 'react-router-dom'; -import { useSelect, useDispatch } from '@wordpress/data'; -import { BlockPreviewSiteGen } from '..'; +import { LivePreview } from '..'; import Button from '../../../components/Button'; -import { store as nfdOnboardingStore } from '../../../store'; import { ReactComponent as FavouriteIconStroked } from '../../../static/icons/sitegen/heart-stroked.svg'; import { ReactComponent as FavouriteIconFilled } from '../../../static/icons/sitegen/heart-filled.svg'; import { __ } from '@wordpress/i18n'; const SiteGenPreviewSelectableCard = ( { className = 'live-preview-sitegen--selectable-card', - blockGrammer, + blockGrammar, viewportWidth = 1500, styling = 'large', previewSettings, overlay = false, - onClick = false, - onRegenerateClick = false, skeletonLoadingTime = 2500, - designObject, + slug, + title, + isFavorite, + palette, handleFavorite, handlePreview, + handleRegenerate, isRegenerating, } ) => { - const { setActiveHomepage } = useDispatch( nfdOnboardingStore ); const [ loadingParent, setIsLoadingParent ] = useState( true ); - const navigate = useNavigate(); - const { nextStep } = useSelect( ( select ) => { - return { - nextStep: select( nfdOnboardingStore ).getNextStep(), - }; - } ); + const onPreview = () => { + if ( typeof handlePreview === 'function' ) { + return handlePreview( slug ); + } + }; - const onPreviewVersionClick = () => { - setActiveHomepage( designObject ); - navigate( nextStep.path ); + const onRegenerate = () => { + if ( typeof handleRegenerate === 'function' ) { + return handleRegenerate( slug, palette, isFavorite ); + } }; - const handleRegenerate = () => { - onRegenerateClick( - designObject?.slug, - designObject?.color, - designObject?.isFavourited - ); + + const onFavorite = () => { + if ( typeof handleFavorite === 'function' ) { + return handleFavorite( slug ); + } }; return ( -
{ - if ( ! loadingParent && typeof onClick === 'function' ) { - onClick(); - } - } } - onKeyDown={ () => { - if ( ! loadingParent && typeof onClick === 'function' ) { - onClick(); - } - } } - > +
- { overlay && ! loadingParent && (
{ if ( event.key === 'Enter' ) { - handlePreview(); + onPreview(); } } } >
) }
handleFavorite( designObject?.slug ) } + onClick={ () => onFavorite( slug ) } onKeyDown={ ( event ) => { if ( event.key === 'Enter' ) { - handleFavorite( designObject?.slug ); + onFavorite( slug ); } } } aria-label="Add to Wishlist" className={ `${ className }__live-preview-container-buttons__button` } > - { designObject?.isFavourited ? ( + { isFavorite ? ( ) : ( ) } - { designObject?.title } + { title }
handleRegenerate() } + onClick={ onRegenerate } onKeyDown={ ( event ) => { if ( event.key === 'Enter' ) { - handleRegenerate(); + onRegenerate(); } } } aria-label={ __( diff --git a/src/OnboardingSPA/components/LivePreview/SiteGenPreviewSelectableCard/stylesheet.scss b/src/OnboardingSPA/components/LivePreview/SiteGenPreviewSelectableCard/stylesheet.scss index cdac5bd0a..9bac39f2d 100644 --- a/src/OnboardingSPA/components/LivePreview/SiteGenPreviewSelectableCard/stylesheet.scss +++ b/src/OnboardingSPA/components/LivePreview/SiteGenPreviewSelectableCard/stylesheet.scss @@ -65,6 +65,7 @@ padding: 6px 56px 6px 56px; border-radius: 8px; gap: 6px; + border: none; } &:hover { diff --git a/src/OnboardingSPA/components/LivePreview/index.js b/src/OnboardingSPA/components/LivePreview/index.js index 8e18d6370..66a600a60 100644 --- a/src/OnboardingSPA/components/LivePreview/index.js +++ b/src/OnboardingSPA/components/LivePreview/index.js @@ -3,5 +3,4 @@ export { default as LivePreviewSkeleton } from './LivePreviewSkeleton'; export { default as LivePreviewSelectableCard } from './SelectableCard'; export { default as LivePreviewSelectableCardWithInfo } from './SelectableCardWithInfo'; export { default as GlobalStylesProvider } from './GlobalStylesProvider'; -export { default as SiteGenLivePreview } from './SiteGenPreviewSelectableCard'; -export { default as BlockPreviewSiteGen } from './BlockPreviewSiteGen'; +export { default as SiteGenPreviewSelectableCard } from './SiteGenPreviewSelectableCard'; diff --git a/src/OnboardingSPA/components/Loaders/SiteGenLoader/stylesheet.scss b/src/OnboardingSPA/components/Loaders/SiteGenLoader/stylesheet.scss index a32bacc27..26fc04872 100644 --- a/src/OnboardingSPA/components/Loaders/SiteGenLoader/stylesheet.scss +++ b/src/OnboardingSPA/components/Loaders/SiteGenLoader/stylesheet.scss @@ -2,9 +2,9 @@ $background-color: var(--nfd-onboarding-card-background); .nfd-sg-loader { - margin: 8px; + margin-bottom: 8px; max-width: 90vw; - padding: 16px 12px; + padding: 18px 12px 10px 12px; border-radius: 12px; background-color: $background-color; width: clamp(18.75rem, 22.6136rem + 5.6818vw, 31.25rem); @@ -16,16 +16,17 @@ $background-color: var(--nfd-onboarding-card-background); } &__title { - line-height: 2; - font-size: 18px; + line-height: 19px; + font-size: 16px; text-align: center; - letter-spacing: 1.5px; + font-weight: 500; color: var(--nfd-onboarding-primary); + letter-spacing: 1.5; } &__progress { display: flex; - margin: 20px 60px; + margin: 17px 60px 04px 60px; align-items: center; justify-content: center; @@ -55,6 +56,10 @@ $background-color: var(--nfd-onboarding-card-background); position: absolute; transition: width 2s ease-in-out; background-color: var(--nfd-onboarding-progress-bar-fill); + + @media (prefers-reduced-motion) { + transition: none !important; + } } } } @@ -66,5 +71,9 @@ $background-color: var(--nfd-onboarding-card-background); letter-spacing: 1.3px; color: var(--nfd-onboarding-primary); animation: fadeInFast 3s ease-out infinite; + + @media (prefers-reduced-motion) { + animation: none !important; + } } } diff --git a/src/OnboardingSPA/components/Loaders/Spinner/stylesheet.scss b/src/OnboardingSPA/components/Loaders/Spinner/stylesheet.scss index 876c24d29..c4b6ac262 100644 --- a/src/OnboardingSPA/components/Loaders/Spinner/stylesheet.scss +++ b/src/OnboardingSPA/components/Loaders/Spinner/stylesheet.scss @@ -17,6 +17,10 @@ display: flex; align-items: center; justify-content: center; + + @media (prefers-reduced-motion) { + animation: none !important; + } } &::after { diff --git a/src/OnboardingSPA/components/Sidebar/components/Customize/DesignColorsPanel/CustomColorPalette/index.js b/src/OnboardingSPA/components/Sidebar/components/Customize/DesignColorsPanel/CustomColorPalette/index.js index 1e5c72220..8badd39c2 100644 --- a/src/OnboardingSPA/components/Sidebar/components/Customize/DesignColorsPanel/CustomColorPalette/index.js +++ b/src/OnboardingSPA/components/Sidebar/components/Customize/DesignColorsPanel/CustomColorPalette/index.js @@ -3,22 +3,14 @@ import { ColorPalette, Popover } from '@wordpress/components'; import './stylesheet.scss'; import { __ } from '@wordpress/i18n'; -const CustomColorPalette = ( { - onChange, - paletteSecondaryColors, - palettePrimaryColors, -} ) => { +const CustomColorPalette = ( { onChange, palettePrimaryColors } ) => { const [ color, setColor ] = useState( palettePrimaryColors[ 0 ].color ); const baseClassName = 'nfd-onboarding-sidebar--customize__custom-color-palette'; const colors = [ { colors: palettePrimaryColors, - name: __( 'Primary colors', 'wp-module-onboarding' ), - }, - { - colors: paletteSecondaryColors, - name: __( 'Secondary colors', 'wp-module-onboarding' ), + name: __( 'THEME', 'wp-module-onboarding' ), }, ]; const handleColorChange = ( newColor ) => { diff --git a/src/OnboardingSPA/components/Sidebar/components/Customize/DesignColorsPanel/index.js b/src/OnboardingSPA/components/Sidebar/components/Customize/DesignColorsPanel/index.js index c0c89875e..40616e91b 100644 --- a/src/OnboardingSPA/components/Sidebar/components/Customize/DesignColorsPanel/index.js +++ b/src/OnboardingSPA/components/Sidebar/components/Customize/DesignColorsPanel/index.js @@ -12,17 +12,12 @@ const DesignColorsPanel = ( { baseClassName = 'nfd-onboarding-sidebar--customize__design-colors-panel', heading, } ) => { - const { customizeSidebarData } = useSelect( ( select ) => { - return { - customizeSidebarData: - select( nfdOnboardingStore ).getCustomizeSidebarData(), - }; - }, [] ); - - const { currentData } = useSelect( ( select ) => { + const { currentData, customizeSidebarData } = useSelect( ( select ) => { return { currentData: select( nfdOnboardingStore ).getCurrentOnboardingData(), + customizeSidebarData: + select( nfdOnboardingStore ).getCustomizeSidebarData(), }; } ); @@ -55,18 +50,6 @@ const DesignColorsPanel = ( { const [ showColorPicker, setShowColorPicker ] = useState( false ); const customPaletteId = colors.length - 1; - const paletteSecondaryColors = Object.entries( colorPalettes[ 1 ] ) - .map( ( [ name, color ] ) => { - if ( name !== 'name' ) { - return { - name: __( 'Custom', 'wp-module-onboarding' ), - color, - }; - } - return null; - } ) - .filter( Boolean ); - const handleApplyCustomColors = () => { setSelectedCustomColors( true ); setIsEditingCustomColors( false ); @@ -118,6 +101,11 @@ const DesignColorsPanel = ( { }; const handleUpdatePreviewSettings = () => { + const slug = currentData.sitegen?.homepages?.active?.slug; + if ( ! slug ) { + return; + } + colorPalettes[ selectedPalette ].primary = selectedColor.primary; if ( colorPalettes[ selectedPalette ].secondary ) { colorPalettes[ selectedPalette ].secondary = @@ -127,21 +115,13 @@ const DesignColorsPanel = ( { } colorPalettes[ selectedPalette ].tertiary = selectedColor.tertiary; - const slug = currentData.sitegen?.homepages?.active?.slug; - if ( slug ) { - currentData.sitegen.homepages.data = - currentData.sitegen.homepages?.data?.map( ( ele ) => { - if ( ele.slug === slug ) { - ele.color.palette = convertColorSchema( - colorPalettes[ selectedPalette ] - ); - } - return ele; - } ); - currentData.sitegen.homepages.active.color.palette = - convertColorSchema( colorPalettes[ selectedPalette ] ); - setCurrentOnboardingData( currentData ); - } + + currentData.sitegen.homepages.data[ slug ].color.palette = + convertColorSchema( colorPalettes[ selectedPalette ] ); + currentData.sitegen.homepages.active.color.palette = convertColorSchema( + colorPalettes[ selectedPalette ] + ); + setCurrentOnboardingData( currentData ); }; useEffect( () => { @@ -227,7 +207,6 @@ const DesignColorsPanel = ( { ) }
@@ -271,9 +250,9 @@ const DesignColorsPanel = ( { label={ idx === 0 ? __( - 'Default', - 'wp-module-onboarding' - ) + 'Default', + 'wp-module-onboarding' + ) : '' } selectedPalette={ selectedPalette } diff --git a/src/OnboardingSPA/components/Sidebar/components/Customize/DesignFontsPanel/index.js b/src/OnboardingSPA/components/Sidebar/components/Customize/DesignFontsPanel/index.js index 895234150..fe7577832 100644 --- a/src/OnboardingSPA/components/Sidebar/components/Customize/DesignFontsPanel/index.js +++ b/src/OnboardingSPA/components/Sidebar/components/Customize/DesignFontsPanel/index.js @@ -20,17 +20,11 @@ const FontGroup = ( { role="presentation" onClick={ () => handleGroupSelect( group.id ) } > - +
@@ -147,7 +141,9 @@ const CustomFontsDisplay = ( {
{ __( 'CUSTOM FONTS', 'wp-module-onboarding' ) }
- +
@@ -192,15 +188,10 @@ const CustomFontsDisplay = ( { const DesignFontsPanel = ( { baseClassName = 'nfd-onboarding-sidebar--customize__design-fonts-panel', } ) => { - const { customizeSidebarData } = useSelect( ( select ) => { + const { currentData, customizeSidebarData } = useSelect( ( select ) => { return { customizeSidebarData: select( nfdOnboardingStore ).getCustomizeSidebarData(), - }; - }, [] ); - - const { currentData } = useSelect( ( select ) => { - return { currentData: select( nfdOnboardingStore ).getCurrentOnboardingData(), }; @@ -230,6 +221,11 @@ const DesignFontsPanel = ( { const fontsContent = designStyles?.map( ( style ) => style.font_content ); const handleUpdatePreviewSettings = () => { + const slug = currentData.sitegen?.homepages?.active?.slug; + if ( ! slug ) { + return; + } + let headings; let body; if ( selectedGroup === 'custom' ) { @@ -239,49 +235,46 @@ const DesignFontsPanel = ( { headings = `var(--wp--preset--font-family--${ fontGroups[ selectedGroup ].headings })`; body = `var(--wp--preset--font-family--${ fontGroups[ selectedGroup ].body })`; } - const slug = currentData.sitegen?.homepages?.active?.slug; - if ( slug ) { - currentData.sitegen.homepages.data[ slug ] = { - ...currentData.sitegen.homepages.data[ slug ], - styles: { - blocks: [ - { - 'core/heading': { - typography: { - fontFamily: headings, - }, + currentData.sitegen.homepages.data[ slug ] = { + ...currentData.sitegen.homepages.data[ slug ], + styles: { + blocks: [ + { + 'core/heading': { + typography: { + fontFamily: headings, }, - 'core/body': { - typography: { - fontFamily: body, - }, + }, + 'core/body': { + typography: { + fontFamily: body, }, }, - ], - }, - }; - currentData.sitegen.homepages.active = { - ...currentData.sitegen.homepages.active, - styles: { - blocks: [ - { - 'core/heading': { - typography: { - fontFamily: headings, - }, + }, + ], + }, + }; + currentData.sitegen.homepages.active = { + ...currentData.sitegen.homepages.active, + styles: { + blocks: [ + { + 'core/heading': { + typography: { + fontFamily: headings, }, - 'core/body': { - typography: { - fontFamily: body, - }, + }, + 'core/body': { + typography: { + fontFamily: body, }, }, - ], - }, - }; - setCurrentOnboardingData( currentData ); - } + }, + ], + }, + }; + setCurrentOnboardingData( currentData ); }; useEffect( () => { diff --git a/src/OnboardingSPA/components/Sidebar/components/Customize/DesignFontsPanel/stylesheet.scss b/src/OnboardingSPA/components/Sidebar/components/Customize/DesignFontsPanel/stylesheet.scss index 5a0d779d4..3a9bcdb40 100644 --- a/src/OnboardingSPA/components/Sidebar/components/Customize/DesignFontsPanel/stylesheet.scss +++ b/src/OnboardingSPA/components/Sidebar/components/Customize/DesignFontsPanel/stylesheet.scss @@ -53,7 +53,14 @@ } &__icon { + width: 24px; + height: 24px; margin-right: 10px; + background-image: var(--sitegen-sidebar-radio-unchecked); + + &.selected { + background-image: var(--sitegen-sidebar-radio-checked); + } } &__font-name__container { diff --git a/src/OnboardingSPA/components/Sidebar/components/SitegenEditorPatterns/Sidebar.js b/src/OnboardingSPA/components/Sidebar/components/SitegenEditorPatterns/Sidebar.js index 4b518049f..9ac83796c 100644 --- a/src/OnboardingSPA/components/Sidebar/components/SitegenEditorPatterns/Sidebar.js +++ b/src/OnboardingSPA/components/Sidebar/components/SitegenEditorPatterns/Sidebar.js @@ -18,16 +18,14 @@ import { import TabPanelHover from '../../../TabPanelHover'; // eslint-disable-next-line import/no-extraneous-dependencies -import { cloneDeep, isEmpty } from 'lodash'; -import { getHomepages } from '../../../../data/sitegen/homepages/homepages'; -import { getColorPalettes } from '../../../../data/sitegen/sitemeta/siteMeta'; +import { cloneDeep } from 'lodash'; import { getGlobalStyles } from '../../../../utils/api/themes'; import { LivePreview } from '../../../LivePreview'; const SitegenEditorPatternsSidebar = () => { const [ homepages, setHomepages ] = useState(); const [ activeHomepage, setActiveHomepage ] = useState(); - const [ globalStyles, setGlobalStyles ] = useState( [] ); + const [ globalStyles, setGlobalStyles ] = useState(); const [ activeTab, setActiveTab ] = useState(); const { currentData, isSidebarOpened, sideBarView } = useSelect( ( select ) => { @@ -48,69 +46,34 @@ const SitegenEditorPatternsSidebar = () => { }; const handlePreview = ( slug ) => { - const index = homepages.findIndex( - ( homepage ) => homepage.slug === slug - ); - - if ( index === -1 ) { + if ( ! ( slug in homepages ) ) { return false; } + currentData.sitegen.homepages.active = homepages[ slug ]; - const homepagesCopy = [ ...homepages ]; - homepagesCopy[ index ].active = ! homepagesCopy[ index ].active; - currentData.sitegen.homepages.active = homepagesCopy[ index ]; - - setActiveHomepage( homepagesCopy[ index ] ); - setHomepages( homepagesCopy ); + setActiveHomepage( homepages[ slug ] ); setCurrentOnboardingData( currentData ); }; const handleFavorite = ( slug ) => { - const index = homepages.findIndex( - ( homepage ) => homepage.slug === slug - ); - if ( index === -1 ) { - return false; + if ( ! ( slug in homepages ) ) { + return; + } + const isFavorite = ! homepages[ slug ].isFavorite; + const homepagesCopy = cloneDeep( homepages ); + homepagesCopy[ slug ].isFavorite = isFavorite; + currentData.sitegen.homepages.data = homepagesCopy; + if ( currentData.sitegen.homepages.active.slug === slug ) { + currentData.sitegen.homepages.active = homepagesCopy[ slug ]; } - - const homepagesCopy = [ ...homepages ]; - - homepagesCopy[ index ].isFavourited = - ! homepagesCopy[ index ].isFavourited; setHomepages( homepagesCopy ); - currentData.sitegen.homepages.data = homepagesCopy; setCurrentOnboardingData( currentData ); }; const loadData = async () => { - let homepagesObject = {}; - if ( isEmpty( currentData.sitegen.homepages.data ) ) { - const homepagesResponse = getHomepages(); - const colorsResponse = getColorPalettes(); - homepagesResponse.forEach( ( homepage, index ) => { - if ( ! homepage?.color ) { - const paletteKeys = Object.keys( colorsResponse ); - const paletteIndex = - paletteKeys[ index % paletteKeys.length ]; - homepage.color = { - slug: paletteIndex, - palette: colorsResponse[ paletteIndex ], - }; - } - } ); - homepagesResponse.forEach( ( homepage ) => { - homepagesObject[ homepage.slug ] = homepage; - } ); - currentData.sitegen.homepages.data = homepagesObject; - setCurrentOnboardingData( currentData ); - } else { - homepagesObject = currentData.sitegen.homepages.data; - } const globalStylesResponse = await getGlobalStyles(); setGlobalStyles( globalStylesResponse.body ); - setHomepages( homepagesObject ); - setActiveHomepage( currentData.sitegen.homepages.active ); }; useEffect( () => { @@ -122,6 +85,14 @@ const SitegenEditorPatternsSidebar = () => { } }, [ sideBarView, isSidebarOpened ] ); + useEffect( () => { + if ( currentData?.sitegen?.homepages ) { + const newHomepages = cloneDeep( currentData.sitegen.homepages ); + setHomepages( newHomepages.data ); + setActiveHomepage( newHomepages.active ); + } + }, [ currentData ] ); + useEffect( () => { setActiveTab( { name: __( 'All Versions', 'wp-module-onboarding' ), @@ -133,6 +104,7 @@ const SitegenEditorPatternsSidebar = () => { content: homepages && activeHomepage && + globalStyles && Object.keys( homepages ).map( ( homepage ) => { const data = homepages[ homepage ]; const newPreviewSettings = cloneDeep( globalStyles[ 0 ] ); @@ -166,7 +138,7 @@ const SitegenEditorPatternsSidebar = () => {
{ ); } ), } ); - }, [ homepages, activeHomepage ] ); + }, [ homepages, activeHomepage, globalStyles ] ); return ( { activeTab && homepages && activeHomepage && + globalStyles && Object.keys( homepages ).map( ( homepage ) => { const data = @@ -273,7 +246,7 @@ const SitegenEditorPatternsSidebar = () => {
{ 'wp-module-onboarding' ) }

-
), content: activeTab && homepages && activeHomepage && + globalStyles && Object.keys( homepages ).map( ( homepage ) => { const data = homepages[ homepage ]; - if ( ! data.isFavourited ) { + if ( ! data.isFavorite ) { return false; } const newPreviewSettings = @@ -384,8 +353,15 @@ const SitegenEditorPatternsSidebar = () => { }, ] } callback={ setActiveTab } + triggerEvent="click" >
+ + { activeTab && homepages && diff --git a/src/OnboardingSPA/components/Sidebar/components/SitegenEditorPatterns/stylesheet.scss b/src/OnboardingSPA/components/Sidebar/components/SitegenEditorPatterns/stylesheet.scss index 42e3ffdac..ca8adf25d 100644 --- a/src/OnboardingSPA/components/Sidebar/components/SitegenEditorPatterns/stylesheet.scss +++ b/src/OnboardingSPA/components/Sidebar/components/SitegenEditorPatterns/stylesheet.scss @@ -26,7 +26,18 @@ &__tab-panel { font-size: 13px; - width: 300px; + + .components-tab-panel__tabs-item { + + &.is-active { + color: #1e1e1e; + box-shadow: inset 0 0 - ($border-width-tab - 0.5) 0 0 #1e1e1e; + } + + &.is-not-active { + box-shadow: none !important; + } + } &__favorites-tab { display: flex; @@ -68,7 +79,8 @@ height: 140px; border-radius: 8px; cursor: pointer; - border: 3px solid #0060f0; + border: 3px solid #fff; + box-shadow: 0 0 0 3px #0060f0; } } } diff --git a/src/OnboardingSPA/components/Sidebar/stylesheet.scss b/src/OnboardingSPA/components/Sidebar/stylesheet.scss index 177c433bc..7c88f97a7 100644 --- a/src/OnboardingSPA/components/Sidebar/stylesheet.scss +++ b/src/OnboardingSPA/components/Sidebar/stylesheet.scss @@ -28,6 +28,7 @@ .nfd-onboarding-sidebar__panel.is-open { width: $nav-sidebar-width; + border-left: 1px solid var(--nfd-onboarding-sidebar-border-left); .nfd-onboarding-sidebar__panel-inner, .interface-interface-skeleton__sidebar { diff --git a/src/OnboardingSPA/components/StartOptions/stylesheet.scss b/src/OnboardingSPA/components/StartOptions/stylesheet.scss index 9dc5ff0a5..b57c58d58 100644 --- a/src/OnboardingSPA/components/StartOptions/stylesheet.scss +++ b/src/OnboardingSPA/components/StartOptions/stylesheet.scss @@ -47,13 +47,16 @@ } &__span { - background-color: var(--nfd-onboarding-white); - color: rgb(6, 0, 0); + background-color: var(--nfd-onboarding-primary); + color: var(--nfd-onboarding-secondary); padding-right: 6px; padding-left: 5px; margin-right: 5px; - border: 1px solid #fff; + border: 1px solid var(--nfd-onboarding-primary); border-radius: 8px; + font-size: clamp(15px, 17px, 19px); + padding-top: 3px; + padding-bottom: 2px; } } @@ -84,7 +87,7 @@ font-weight: 510; text-align: center; font-size: 14px; - line-height: 16.71px; + margin-top: 0; } } } diff --git a/src/OnboardingSPA/components/TabPanelHover/index.js b/src/OnboardingSPA/components/TabPanelHover/index.js index dddf9889b..c20b3377f 100644 --- a/src/OnboardingSPA/components/TabPanelHover/index.js +++ b/src/OnboardingSPA/components/TabPanelHover/index.js @@ -3,12 +3,12 @@ */ // eslint-disable-next-line import/no-extraneous-dependencies -import { partial, find } from 'lodash'; +import { find } from 'lodash'; /** * WordPress dependencies */ -import { useState, useEffect } from '@wordpress/element'; +import { useState, useEffect, useCallback } from '@wordpress/element'; import { useInstanceId } from '@wordpress/compose'; /** @@ -19,18 +19,42 @@ import { Button } from '@wordpress/components'; const noop = () => {}; -const TabButton = ( { tabId, onClick, children, selected, ...rest } ) => ( - -); +const TabButton = ( { + tabId, + onClick, + children, + selected, + triggerEvent, + handleEvent, + tabName, + ...rest +} ) => { + const eventProps = useEventTrigger( triggerEvent, handleEvent, tabName ); + + return ( + + ); +}; + +const useEventTrigger = ( triggerEvent, handleEvent, tabName ) => { + const eventHandler = useCallback( + () => handleEvent( tabName ), + [ handleEvent, tabName ] + ); + + return triggerEvent === 'click' + ? { onClick: eventHandler } + : { onMouseOver: eventHandler }; +}; export default function TabPanelHover( { className, @@ -42,11 +66,12 @@ export default function TabPanelHover( { notActiveClass = 'is-not-active', callback, onSelect = noop, + triggerEvent = 'click', } ) { const instanceId = useInstanceId( TabPanelHover, 'tab-panel' ); const [ selected, setSelected ] = useState( null ); - const handleMouseOver = ( tabKey ) => { + const handleEvent = ( tabKey ) => { setSelected( tabKey ); onSelect( tabKey ); const selectedTab = find( tabs, { name: tabKey } ); @@ -87,7 +112,9 @@ export default function TabPanelHover( { aria-controls={ `${ instanceId }-${ tab.name }-view` } selected={ tab.name === selected } key={ tab.name } - onMouseOver={ partial( handleMouseOver, tab.name ) } + triggerEvent={ triggerEvent } + handleEvent={ handleEvent } + tabName={ tab.name } > { tab.title } diff --git a/src/OnboardingSPA/components/TextInput/TextInputSiteGen/stylesheet.scss b/src/OnboardingSPA/components/TextInput/TextInputSiteGen/stylesheet.scss index 230a568db..aa7977100 100644 --- a/src/OnboardingSPA/components/TextInput/TextInputSiteGen/stylesheet.scss +++ b/src/OnboardingSPA/components/TextInput/TextInputSiteGen/stylesheet.scss @@ -19,7 +19,7 @@ $selected-detail: #1de082; width: 100%; resize: none; border: none; - max-height: 150px; + max-height: 400px; color: var(--nfd-onboarding-primary); &:focus { @@ -39,6 +39,10 @@ $selected-detail: #1de082; animation: fadeIn 100ms ease-out; letter-spacing: $letter-spacing; color: var(--nfd-onboarding-primary); + + @media (prefers-reduced-motion) { + animation: none !important; + } } &__info { @@ -51,6 +55,10 @@ $selected-detail: #1de082; font-size: 0.87rem; animation: fadeIn 100ms ease-in; color: var(--nfd-onboarding-primary); + + @media (prefers-reduced-motion) { + animation: none !important; + } } &-icon { @@ -64,6 +72,14 @@ $selected-detail: #1de082; &--selected { animation: fadeIn 400ms ease-in-out; background-color: $selected-detail; + + @media (prefers-reduced-motion) { + animation: none !important; + } + } + + @media (prefers-reduced-motion) { + animation: none !important; } } } diff --git a/src/OnboardingSPA/data/sitegen/homepages/1.json b/src/OnboardingSPA/data/sitegen/homepages/1.json deleted file mode 100644 index a56a2a307..000000000 --- a/src/OnboardingSPA/data/sitegen/homepages/1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "slug": "version-1", - "title": "Version 1", - "content": "\n
\n\t
\n\t\n\t\n\t
\n\t\n\t\n\t\n\t
\n\t
\n\t
\n\t\n
\n \n\t
\n\t\t\n\t\t

Memorable Experiences

\n\t\t\n\t\t\n\t\t

Elevate your function
to the industry’s finest

\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\t\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\"\"/
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\"\"/
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\"\"/
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\"\"/
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n \n
\n \n

Area of Practice

\n \n
\n \n \n\t\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

01

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Portfolio Management

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We will work with you to create a personalised plan to help you achieve your financial goals.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

02

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Performance Reviews

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We will work with you to create a personalised plan to help you achieve your financial goals.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

03

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Financial Planning

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We will work with you to create a personalised plan to help you achieve your financial goals.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

04

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Portfolio Management

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We will work with you to create a personalised plan to help you achieve your financial goals.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

05

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Performance Reviews

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We will work with you to create a personalised plan to help you achieve your financial goals.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

06

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Financial Planning

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We will work with you to create a personalised plan to help you achieve your financial goals.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n\n\n\n
\n\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\"\"
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\"\"
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t

Discover Our Amazing Workouts

\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Experience amazing daily workouts at our newly opened gym. Choose among classic and modern fitness programs, performed with the guidance of expert trainers.

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t

Come and Experience Our Unforgettable Cuisine

\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Experience exquisite fine dining at our newly opened restaurant. Enjoy a delicious menu of classic and modern dishes, prepared with the freshest ingredients.

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\t\n\n
\n\n \n\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

25k

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Drinks served

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

50k

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Attendee Registrations

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

12

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Promotions held

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

15

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Professional associations

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n \n\t

★ ★ ★ ★ ★

\n\t\n\t\n\t
\n\t\t\n\t\t

My experience at the restaurant was great. The food was delicious, the service was excellent, and the atmosphere was cozy and inviting. Highly recommend this restaurant.

\n\t\t\n\t
\n\t\n\t\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t

\n\t\t\t\tAlex Martinez\n\t\t\t

\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t

/

\n\t\t\n\t\t\n\t\t

Customer

\n\t\t\n\t
\n\t\n
\n \n\n\n
\n \n\t
\n\t\t\"\"\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We handle everything
detail-oriented individuals worry about

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Effortless experience

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Exceptional events

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t
\n\t\n
\n \n\n\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t

Frequently Asked Questions

\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Is there a free trial available?

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Yes, we offer a free trial period of 14 days. During this period, you will have full access to all of our features and services.

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

How do I change my personal information?

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

You can update name, email address and other personal information from the \"Settings\" section.

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Can I change my plan later?

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Yes, you can upgrade or downgrade your plan at any time.

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

How does billing work?

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

We have a simple billing system which allows you to pay for services on a monthly basis.

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Can I get an invoice for my purchase?

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Yes, you can. Please contact our customer support and provide your purchase number.

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n\n \n\t
\n\n\t\t\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Discover the authorities

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\n\t\t\n\t\t

Our Crew

\n\t\t\n\t
\n\t\n\n \n\t
\n\t\t\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t\n\t\t\n\t
\n\t\n\n
\n" -} \ No newline at end of file diff --git a/src/OnboardingSPA/data/sitegen/homepages/2.json b/src/OnboardingSPA/data/sitegen/homepages/2.json deleted file mode 100644 index 11029d64c..000000000 --- a/src/OnboardingSPA/data/sitegen/homepages/2.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "slug": "version-2", - "title": "Version 2", - "content": "\n
\n \n\t
\n\t\t\"\"\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t

Memorable Experiences

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Elevate your function
to the industry’s finest

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t
\n\t\n
\n \n\n\n
\n \n \n\t
\n\t\t\n\t\t
\n\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Legal Disciplines

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t

Practice Areas

\n\t\t\t\n\t\t
\n\t\t\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Being a first-choice employer within our sectors. Our process applies techniques from a variety of disciplines.

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Criminal Defense

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Our process applies techniques from a variety of disciplines distinction in detail and gives careful attention.

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Family Law

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Our process applies techniques from a variety of disciplines distinction in detail and gives careful attention.

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Business Law

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Our process applies techniques from a variety of disciplines distinction in detail and gives careful attention.

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n \n
\n\n\n\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

How We Work

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t

Work Process

\n\t\t\n\t
\n\t\n\t\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

01

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Portfolio Management

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We will work with you to create a personalized plan to help you achieve your financial goals.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

02

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Financial Planning

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We will work with you to create a personalized plan to help you achieve your financial goals.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

03

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Business Law

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We will work with you to create a personalized plan to help you achieve your financial goals.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t\t
\n\t\n
\n \n\n\n
\n \n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Success

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t

Proven track of successfully resolved cases for over 20 years

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

12k

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t

Clients

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

20

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t

Years

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\"\"
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n \n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\"\"
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Who are we

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t

Award winning lawyers ready to help with any legal issues

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Easy to use

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t

Beautifully designed patterns

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\n
\n\n\n\n
\n\n \n
\n\n \n
\n\n \n
\n \n \n\t
\n\n\t\t\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Testimonials

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\n\t\t\n\t\t

Our Customers Said

\n\t\t\n\t
\n\t\n\n
\n \n\n \n
\n \n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t
\n\t\t\n\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t

★ ★ ★ ★ ★

\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t

4.85 from 1,300+ reviews

\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n \n
\n \n\n
\n \n\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\t\"Delizioso\"\n\t\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

A must try for all Italian food lovers! The best Italian restaurant I've ever been to! Highly recommended!

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t

★ ★ ★ ★ ★

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

— Martha Nazario

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\t\"Authentic Flavour\"\n\t\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

The pasta dishes are cooked to perfection and the sauces are full of flavour. Highly recommend!

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t

★ ★ ★ ★ ★

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

— Alex Martinez

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

\n\t\t\t\t\t\t\"Outstanding Pizza\"\n\t\t\t\t\t

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

The crust is thin, the sauce is flavourful and the toppings are very fresh. Will come again for sure.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t

★ ★ ★ ★ ★

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

— Antoine Crawford

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n \n\n
\n \n
\n\n\n\n
\n\n \n
\n\n \n\t
\n\n\t\t\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Have Questions?

\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\n\t\t\n\t\t

Frequently Asked
Questions

\n\t\t\n\t
\n\t\n\n \n
\n \n
\n \n
\n \n
\n \n

Is there a free trial available?

\n \n \n
\n \n

Yes, we offer a free trial period of 14 days. During this period, you will have full access to all of our features and services.

\n \n
\n \n
\n \n
\n \n \n
\n \n
\n \n

Can I change my plan later?

\n \n \n
\n \n

Yes, you can upgrade or downgrade your plan at any time. You can also switch between monthly and yearly plans.

\n \n
\n \n
\n \n
\n \n \n
\n \n
\n \n

What is your cancellation policy?

\n \n \n
\n \n

You can request a refund within 14 days of your purchase. Contact us and we will process your refund.

\n \n
\n \n
\n \n
\n \n
\n \n \n
\n \n
\n \n
\n \n

How does billing work?

\n \n \n
\n \n

We have a simple billing system which allows you to pay for services on a monthly or yearly basis.

\n \n
\n \n
\n \n
\n \n \n
\n \n
\n \n

How do I change my personal info?

\n \n \n
\n \n

You can update name, email address and other personal information from the \"Settings\" section.

\n \n
\n \n
\n \n
\n \n \n
\n \n
\n \n

Can I get an invoice for my purchase?

\n \n \n
\n \n

Yes, you can. Please contact our customer support and provide your purchase number.

\n \n
\n \n
\n \n
\n \n
\n \n
\n\n\t\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

More inquiries?

\n\t\t\t\t\n \n\t\t\t\t

You couldn't acquire satisfactory answers? Join us for a brief convo.

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\n\t
\n\t\n
\n \n\n
\n \n\n
\n\n" -} \ No newline at end of file diff --git a/src/OnboardingSPA/data/sitegen/homepages/3.json b/src/OnboardingSPA/data/sitegen/homepages/3.json deleted file mode 100644 index 93d94f7ad..000000000 --- a/src/OnboardingSPA/data/sitegen/homepages/3.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "slug": "version-3", -"title": "Version 3", - "content": "\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Successful Initiatives

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t

Impress for Success
with our experts

\n\t\t\n\t\t\t\t\n\t\t

Elevate your online presence with our advanced technology and customizable design options, which help you build first-rate websites.

\n\t\t\n\t\t\t\t\n\t\t
\n\t\t\t\n\t\t\t

Efficiency is Key

\n\t\t\t\n\t\t\t\n\t\t\t

Huge party experience

\n\t\t\t\n\t\t\t\n\t\t\t

Maximize Efficiency

\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\t\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"/
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"/
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"/
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n \n \n\t
\n\t\t\n\t\t
\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t

Practice Areas

\n\t\t\t\n\t\t
\n\t\t\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Being a first-choice employer within our sectors. Our process applies techniques from a variety of disciplines.

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\n \n
\n \n \n \n
\n \n
\n \n
\n \n \n
\n \n

01

\n \n \n \n

Customize

\n \n
\n \n \n \n
\n \n

Investment Planning

\n \n
\n \n
\n \n
\n \n \n \n
\n \n
\n \n
\n \n

02

\n \n \n \n

Evaluate

\n \n
\n \n \n \n
\n \n

Portfolio Analysis

\n \n
\n \n
\n \n
\n \n \n \n
\n \n
\n \n
\n \n

03

\n \n \n \n

Strategize

\n \n
\n \n \n \n
\n \n

Wealth Management

\n \n
\n \n
\n \n
\n \n
\n \n\n
\n\n\n\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\"\"\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Top Features

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

E-commerce Integration
✓ Analytics and Reporting
24/7 Support

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t

Sell your products online
with E-commerce

\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Effortlessly add an online store to your website and start selling your products. Our platform integrates with popular payment gateways and shipping providers.

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

24/7 Support

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Our dedicated support team is available around the clock to assist you.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Analytics and Reporting

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Stay on top of your website's performance with real-time analytics.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\"\"/
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\"\"/
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\"\"/
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t

Boost your website's
visibility with SEO

\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Make sure your website is easily discoverable by search engines and your target audience with our built-in SEO optimization tools.

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t

\"I appreciated the 24/7 support and the SEO optimization features. Highly recommend!\"

\n\t\n\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t

Alex Martinez

\n\t\t\t\n\n\t\t\t\n\t\t\t

CEO, ABC Company

\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\"\"\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Top Features

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

SEO Optimization
Drag and Drop Interface
Customizable Templates

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n\n \n
\n \n
\n \n \n \n

Simple pricing, for everyone.

\n \n
\n \n \n \n
\n \n

As a comprehensive strategy and implementation company, our forte involves providing straightforward, valuable, and enchanting resolutions.

\n \n
\n \n
\n \n\n \n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Passion

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

All inclusive packages for your dream vacation

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Starting at $99

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

/night

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Package includes:

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Flexible payment options

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Dedicated concierge

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

24/7 Customer Support

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n \n \t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Luxury Welness

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

All the essentials to launch your startup

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

$29

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

/mo

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Benefits:

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Billing via credit card

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Access to 3 Event Planners

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Core tech assistance

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Up to 1,000 Requests per month

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n \n \t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Entrepreneurs

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

All the resources you require to establish a brand new enterprise

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

$49

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

/mth

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Package Contains:

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Refundable Payment via debit cards

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Integration with 3rd Party Planners

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Advanced Aid

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Exclusive booking options for prime locations

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Add 3 managerial staff users

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n \n \t
\n\t\n\t\n\t

All pricing is in USD. You can cancel your account at any time. 
All renewals are at full price.

\n\t\n
\n \n\n
\n\n\n\n
\n\n \n\t
\n\n\t\t\n\t\t\n\t\t

What our customers say

\n\t\t\n\t
\n\t\n\n \n
\n \n
\n \n
\"\"
\n \n
\n \n \n
\n \n
\n \n
\"\"/
\n \n \n

“The drag and drop interface made it so easy to build the website, even though I don't have any coding experience.

The customizable templates were also a great starting point, and I was able to create a website that truly reflected my brand.”

\n \n
\n \n \n
\n \n

Sarah Johnson

\n \n \n

Owner, Sarah's Artisanal Bakery

\n \n
\n \n
\n \n
\n \n\n
\n\n\n\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Curious to learn more?

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Contact our expert team today and let's make your celebratory visions a reality!

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Is rescheduling possible?

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We understand things change, so as long as you provide 45 days advanced-notice, you can change your event date up to two times without inuring an additional fee.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Things change. We get it.

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

With at least 45 days advanced-notice, we'll do our best to optimize your outcome, but note that perishable items purchased may retain your requirement to pay 100% persistence costs.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Payment Process

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

A 50% down-payment is accepted to begin the festivities. Full payment is collected a whole day(24 hours) before your event-date.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Simpler Invite Management

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Our guest management portal contains an easy navigable “Invite Share” integration feature that either party can control.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Want to request an invoice for your purchase?

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Sure! Our customer support team can assist you with this. Simply let us know your purchase number when you get in touch.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\t\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Would you like additional assistance?

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t

Are any of your questions unanswered? We would be happy to address them - get in touch.

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n \n
\n \n\t
\n\t\t\"\"\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We handle everything
detail-oriented individuals worry about

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Effortless experience

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Exceptional events

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t
\n\t\n
\n \n
\n" -} \ No newline at end of file diff --git a/src/OnboardingSPA/data/sitegen/homepages/4.json b/src/OnboardingSPA/data/sitegen/homepages/4.json deleted file mode 100644 index 61c7dc11f..000000000 --- a/src/OnboardingSPA/data/sitegen/homepages/4.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "slug": "version-4", -"title": "Version 4", - "content": "\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Successful Initiatives

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t

Impress for Success
with our experts

\n\t\t\n\t\t\t\t\n\t\t

Elevate your online presence with our advanced technology and customizable design options, which help you build first-rate websites.

\n\t\t\n\t\t\t\t\n\t\t
\n\t\t\t\n\t\t\t

Efficiency is Key

\n\t\t\t\n\t\t\t\n\t\t\t

Huge party experience

\n\t\t\t\n\t\t\t\n\t\t\t

Maximize Efficiency

\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\t\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"/
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"/
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"/
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n \n \n\t
\n\t\t\n\t\t
\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t

Practice Areas

\n\t\t\t\n\t\t
\n\t\t\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Being a first-choice employer within our sectors. Our process applies techniques from a variety of disciplines.

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\n\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\n \n
\n \n \n \n
\n \n
\n \n
\n \n \n
\n \n

01

\n \n \n \n

Customize

\n \n
\n \n \n \n
\n \n

Investment Planning

\n \n
\n \n
\n \n
\n \n \n \n
\n \n
\n \n
\n \n

02

\n \n \n \n

Evaluate

\n \n
\n \n \n \n
\n \n

Portfolio Analysis

\n \n
\n \n
\n \n
\n \n \n \n
\n \n
\n \n
\n \n

03

\n \n \n \n

Strategize

\n \n
\n \n \n \n
\n \n

Wealth Management

\n \n
\n \n
\n \n
\n \n
\n \n\n
\n\n\n\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\"\"\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Top Features

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

E-commerce Integration
✓ Analytics and Reporting
24/7 Support

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t

Sell your products online
with E-commerce

\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Effortlessly add an online store to your website and start selling your products. Our platform integrates with popular payment gateways and shipping providers.

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

24/7 Support

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Our dedicated support team is available around the clock to assist you.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Analytics and Reporting

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Stay on top of your website's performance with real-time analytics.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\"\"/
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\"\"/
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\"\"/
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t

Boost your website's
visibility with SEO

\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Make sure your website is easily discoverable by search engines and your target audience with our built-in SEO optimization tools.

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t

\"I appreciated the 24/7 support and the SEO optimization features. Highly recommend!\"

\n\t\n\n\t\n\t
\n\t\t\n\t\t
\n\t\t\n\n\t\t\n\t\t
\n\t\t\t\n\t\t\t

Alex Martinez

\n\t\t\t\n\n\t\t\t\n\t\t\t

CEO, ABC Company

\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\"\"\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Top Features

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

SEO Optimization
Drag and Drop Interface
Customizable Templates

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n\n \n
\n \n
\n \n \n \n

Simple pricing, for everyone.

\n \n
\n \n \n \n
\n \n

As a comprehensive strategy and implementation company, our forte involves providing straightforward, valuable, and enchanting resolutions.

\n \n
\n \n
\n \n\n \n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Passion

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

All inclusive packages for your dream vacation

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Starting at $99

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

/night

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Package includes:

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Flexible payment options

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Dedicated concierge

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

24/7 Customer Support

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n \n \t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Luxury Welness

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

All the essentials to launch your startup

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

$29

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

/mo

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Benefits:

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Billing via credit card

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Access to 3 Event Planners

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Core tech assistance

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Up to 1,000 Requests per month

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n \n \t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Entrepreneurs

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

All the resources you require to establish a brand new enterprise

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

$49

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

/mth

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Package Contains:

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Refundable Payment via debit cards

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Integration with 3rd Party Planners

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Advanced Aid

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Exclusive booking options for prime locations

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Add 3 managerial staff users

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n \n \t
\n\t\n\t\n\t

All pricing is in USD. You can cancel your account at any time. 
All renewals are at full price.

\n\t\n
\n \n\n
\n\n\n\n
\n\n \n\t
\n\n\t\t\n\t\t\n\t\t

What our customers say

\n\t\t\n\t
\n\t\n\n \n
\n \n
\n \n
\"\"
\n \n
\n \n \n
\n \n
\n \n
\"\"/
\n \n \n

“The drag and drop interface made it so easy to build the website, even though I don't have any coding experience.

The customizable templates were also a great starting point, and I was able to create a website that truly reflected my brand.”

\n \n
\n \n \n
\n \n

Sarah Johnson

\n \n \n

Owner, Sarah's Artisanal Bakery

\n \n
\n \n
\n \n
\n \n\n
\n\n\n\n
\n \n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Curious to learn more?

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Contact our expert team today and let's make your celebratory visions a reality!

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Is rescheduling possible?

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We understand things change, so as long as you provide 45 days advanced-notice, you can change your event date up to two times without inuring an additional fee.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Things change. We get it.

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

With at least 45 days advanced-notice, we'll do our best to optimize your outcome, but note that perishable items purchased may retain your requirement to pay 100% persistence costs.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Payment Process

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

A 50% down-payment is accepted to begin the festivities. Full payment is collected a whole day(24 hours) before your event-date.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Simpler Invite Management

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Our guest management portal contains an easy navigable “Invite Share” integration feature that either party can control.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t

Want to request an invoice for your purchase?

\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

Sure! Our customer support team can assist you with this. Simply let us know your purchase number when you get in touch.

\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n\t\n\t
\n\t\t\n\t\t
\n\t\t\t\n\t\t\t
\"\"
\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t

Would you like additional assistance?

\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t

Are any of your questions unanswered? We would be happy to address them - get in touch.

\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t\t\n\t\t\n\t\t
\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t
\n\t\t\n\t
\n\t\n
\n \n\n\n
\n \n
\n \n\t
\n\t\t\"\"\n\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t

We handle everything
detail-oriented individuals worry about

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Effortless experience

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t

Exceptional events

\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t
\n\t
\n\t\n
\n \n
\n" -} \ No newline at end of file diff --git a/src/OnboardingSPA/data/sitegen/homepages/homepages.js b/src/OnboardingSPA/data/sitegen/homepages/homepages.js deleted file mode 100644 index 7a7454c11..000000000 --- a/src/OnboardingSPA/data/sitegen/homepages/homepages.js +++ /dev/null @@ -1,22 +0,0 @@ -import { getRandomColorPalette } from '../sitemeta/siteMeta'; -import one from './1.json'; -import two from './2.json'; -import three from './3.json'; -import four from './4.json'; -const getHomepages = () => { - return [ one, two, three ]; -}; - -const getRandom = ( homepage ) => { - if ( homepage?.favorite ) { - homepage.slug = homepage.slug + '-copy'; - homepage.title = homepage.title + ' Copy'; - homepage.favorite = false; - homepage.color = getRandomColorPalette( homepage?.color?.slug ); - return homepage; - } - four.color = getRandomColorPalette( homepage?.color?.slug ); - return four; -}; - -export { getHomepages, getRandom }; diff --git a/src/OnboardingSPA/data/sitegen/sitemeta/siteMeta.js b/src/OnboardingSPA/data/sitegen/sitemeta/siteMeta.js deleted file mode 100644 index a8198761b..000000000 --- a/src/OnboardingSPA/data/sitegen/sitemeta/siteMeta.js +++ /dev/null @@ -1,39 +0,0 @@ -import siteMeta from './siteMeta.json'; -const getSiteMeta = () => { - return siteMeta; -}; - -const getColorPalettes = () => { - const colorPalettes = {}; - Object.keys( siteMeta.colorpalette ).forEach( ( colorPalette ) => { - colorPalettes[ colorPalette ] = Object.keys( - siteMeta.colorpalette[ colorPalette ] - ).map( ( slug ) => { - return { - slug, - title: slug[ 0 ].toUpperCase() + slug.slice( 1 ), - color: siteMeta.colorpalette[ colorPalette ][ slug ], - }; - } ); - } ); - - return colorPalettes; -}; - -const getRandomColorPalette = ( activeColorPaletteSlug ) => { - const colorPalettes = getColorPalettes(); - let keys = Object.keys( colorPalettes ); - if ( activeColorPaletteSlug ) { - keys = keys.filter( ( key ) => { - return key !== activeColorPaletteSlug; - } ); - } - - const rand = Math.floor( Math.random() * keys.length ); - return { - slug: keys[ rand ], - palette: colorPalettes[ keys[ rand ] ], - }; -}; - -export { getSiteMeta, getColorPalettes, getRandomColorPalette }; diff --git a/src/OnboardingSPA/data/sitegen/sitemeta/siteMeta.json b/src/OnboardingSPA/data/sitegen/sitemeta/siteMeta.json deleted file mode 100644 index 4f677166c..000000000 --- a/src/OnboardingSPA/data/sitegen/sitemeta/siteMeta.json +++ /dev/null @@ -1,305 +0,0 @@ -{ - "siteclassification": { - "primaryType": "health-wellness", - "slug": "gym", - "emoji": "💪", - "wooType": "health-beauty", - "keywords": [ - "fitness", - "group", - "weight loss", - "muscle", - "cardio", - "strength", - "yoga", - "pilates", - "crossfit", - "bodybuilding", - "weight", - "treadmill", - "elliptical", - "interval" - ], - "label": "Gym" - }, - "targetaudience": { - "age": { - "min": "18", - "max": "45" - }, - "gender": "both", - "income": { - "min": "0", - "max": "1000000", - "currency": "INR" - }, - "education": "any", - "location": "Gym Beach, India", - "interests": [ - "Fitness", - "Health", - "Exercise", - "Wellness" - ] - }, - "contenttones": { - "tone": "Professional", - "undertone": "Positive", - "verbosity": 5, - "reading_level": 60 - }, - "contentstructure": { - "homepage1": [ - "header", - "hero", - "headings", - "features", - "gallery", - "call-to-action", - "pricing-table", - "footer" - ], - "homepage2": [ - "header", - "hero", - "team", - "features", - "gallery", - "call-to-action", - "testimonials", - "footer" - ], - "homepage3": [ - "header", - "hero", - "headings", - "features", - "gallery", - "call-to-action", - "faq", - "footer" - ], - "homepage4": [ - "header", - "hero", - "headings", - "features", - "gallery", - "call-to-action", - "blog", - "footer" - ], - "homepage5": [ - "header", - "hero", - "headings", - "features", - "gallery", - "call-to-action", - "about", - "footer" - ] - }, - "colorpalette": { - "palette1": { - "base": "#FF5733", - "contrast": "#FFFFFF", - "primary": "#2ECC71", - "tertiary": "#F1C40F", - "header_background": "#2E86C1", - "header_foreground": "#FFFFFF", - "header_tiles": "#FFC300", - "secondary_background": "#F39C12", - "secondary_foreground": "#FFFFFF" - }, - "palette2": { - "base": "#FF5733", - "contrast": "#FFFFFF", - "primary": "#3498DB", - "tertiary": "#F1C40F", - "header_background": "#2E86C1", - "header_foreground": "#FFFFFF", - "header_tiles": "#FFC300", - "secondary_background": "#F39C12", - "secondary_foreground": "#FFFFFF" - }, - "palette3": { - "base": "#FF5733", - "contrast": "#FFFFFF", - "primary": "#9B59B6", - "tertiary": "#F1C40F", - "header_background": "#2E86C1", - "header_foreground": "#FFFFFF", - "header_tiles": "#FFC300", - "secondary_background": "#F39C12", - "secondary_foreground": "#FFFFFF" - }, - "palette4": { - "base": "#FF5733", - "contrast": "#FFFFFF", - "primary": "#E74C3C", - "tertiary": "#F1C40F", - "header_background": "#2E86C1", - "header_foreground": "#FFFFFF", - "header_tiles": "#FFC300", - "secondary_background": "#F39C12", - "secondary_foreground": "#FFFFFF" - }, - "palette5": { - "base": "#FF5733", - "contrast": "#FFFFFF", - "primary": "#1ABC9C", - "tertiary": "#F1C40F", - "header_background": "#2E86C1", - "header_foreground": "#FFFFFF", - "header_tiles": "#FFC300", - "secondary_background": "#F39C12", - "secondary_foreground": "#FFFFFF" - } - }, - "sitemap": [ - { - "slug": "home", - "path": "/", - "title": "Gymmer - Home", - "keywords": [ - "Gymmer", - "Gym Beach", - "India", - "fitness", - "workout" - ] - }, - { - "slug": "about", - "path": "/about", - "title": "Gymmer - About", - "keywords": [ - "Gymmer", - "Gym Beach", - "India", - "studio", - "history" - ] - }, - { - "slug": "services", - "path": "/services", - "title": "Gymmer - Services", - "keywords": [ - "Gymmer", - "Gym Beach", - "India", - "classes", - "training" - ] - }, - { - "slug": "gallery", - "path": "/gallery", - "title": "Gymmer - Gallery", - "keywords": [ - "Gymmer", - "Gym Beach", - "India", - "photos", - "videos" - ] - }, - { - "slug": "contact", - "path": "/contact", - "title": "Gymmer - Contact", - "keywords": [ - "Gymmer", - "Gym Beach", - "India", - "location", - "contact" - ] - } - ], - "pluginrecommendation": { - "requiredPlugins": [ - { - "title": "Yoast SEO", - "description": "Yoast SEO is a comprehensive search engine optimization plugin for WordPress, which offers various features to optimize your site for maximum visibility in search engines.", - "slug": "wordpress-seo/wordpress-seo.php", - "download_url": "https://downloads.wordpress.org/plugin/wordpress-seo.zip", - "premium": false, - "requires": [] - }, - { - "title": "WooCommerce", - "description": "WooCommerce is a customizable, open-source eCommerce platform built on WordPress, allowing users to set up online stores with ease.", - "slug": "woocommerce/woocommerce.php", - "download_url": "https://downloads.wordpress.org/plugin/woocommerce.zip", - "premium": false, - "requires": [] - } - ], - "recommendedPlugins": [ - { - "title": "Jetpack", - "description": "Jetpack offers a suite of design, security, and marketing tools for WordPress sites, including real-time backups and easy-to-use performance enhancements.", - "slug": "jetpack/jetpack.php", - "download_url": "https://downloads.wordpress.org/plugin/jetpack.zip", - "premium": false, - "requires": [] - }, - { - "title": "WPForms Lite", - "description": "WPForms Lite is a drag-and-drop form builder for WordPress, allowing users to create contact forms, surveys, and more without any coding.", - "slug": "wpforms-lite/wpforms.php", - "download_url": "https://downloads.wordpress.org/plugin/wpforms-lite.zip", - "premium": false, - "requires": [] - } - ] - }, - "fontpair": [ - { - "aesthetics": "modern", - "font_heading": "Montserrat", - "font_content": "Roboto", - "spacing": 10, - "radius": 5 - }, - { - "aesthetics": "energetic", - "font_heading": "Bebas Neue", - "font_content": "Open Sans", - "spacing": 8, - "radius": 3 - }, - { - "aesthetics": "bold", - "font_heading": "Oswald", - "font_content": "Lato", - "spacing": 12, - "radius": 7 - }, - { - "aesthetics": "sleek", - "font_heading": "Raleway", - "font_content": "Nunito", - "spacing": 6, - "radius": 2 - }, - { - "aesthetics": "dynamic", - "font_heading": "Exo", - "font_content": "Poppins", - "spacing": 9, - "radius": 4 - } - ], - "keywords": { - "keywords": [ - "Gym studio", - "Gymmer", - "Gym Beach", - "India" - ] - } -} \ No newline at end of file diff --git a/src/OnboardingSPA/static/icons/sitegen/radio-checked.svg b/src/OnboardingSPA/static/icons/sitegen/radio-checked.svg new file mode 100644 index 000000000..8bfb193a2 --- /dev/null +++ b/src/OnboardingSPA/static/icons/sitegen/radio-checked.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/OnboardingSPA/static/icons/sitegen/radio-unchecked.svg b/src/OnboardingSPA/static/icons/sitegen/radio-unchecked.svg new file mode 100644 index 000000000..5f9611184 --- /dev/null +++ b/src/OnboardingSPA/static/icons/sitegen/radio-unchecked.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/OnboardingSPA/static/icons/sitegen/settings-dark.svg b/src/OnboardingSPA/static/icons/sitegen/settings-dark.svg new file mode 100644 index 000000000..15e2895b1 --- /dev/null +++ b/src/OnboardingSPA/static/icons/sitegen/settings-dark.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/OnboardingSPA/steps/SiteGen/Building/stylesheet.scss b/src/OnboardingSPA/steps/SiteGen/Building/stylesheet.scss index 4e0fad666..b698b0a4b 100644 --- a/src/OnboardingSPA/steps/SiteGen/Building/stylesheet.scss +++ b/src/OnboardingSPA/steps/SiteGen/Building/stylesheet.scss @@ -15,11 +15,15 @@ margin: 20px; padding: 20px; position: relative; + display: flex; + place-content: center; + place-items: flex-start; } .site-gen__building { &_skimmer { + max-width: 1800px; &--main { margin-bottom: 30px; @@ -28,39 +32,48 @@ animation: borderRotate 3500ms infinite forwards; border: 0.25px solid rgba(var(--nfd-onboarding-secondary-rgb), 0.26); border-image: conic-gradient(from var(--angle), rgba(var(--nfd-onboarding-secondary-rgb), 0.26) calc(var(--angle) + 0.5deg), rgba(var(--nfd-onboarding-shimmer-color), 0.5) calc(var(--angle) + 1deg)) 30; + + @media (prefers-reduced-motion) { + animation: none !important; + } } &--header { - height: 10vh; + height: 6vh; width: 90vw; + min-height: 50px; } &--body { width: 90vw; - height: 80vh; + height: calc(56vh - 150px); + min-height: 250px; } &--footer { + width: 90vw; display: flex; align-items: center; flex-direction: row; justify-content: space-between; &_left { - width: 55vw; - height: 40vh; + width: 45vw; + height: calc(38vh - 100px); + min-height: 150px; } &_right { - width: 33vw; - height: 40vh; + width: 37vw; + height: calc(38vh - 100px); + min-height: 150px; } } } &_loader__overlay { - position: absolute; - top: 40%; + position: fixed; + top: 50%; left: 50%; transform: translate(-50%, -50%); } diff --git a/src/OnboardingSPA/steps/SiteGen/Editor/Header/TextInput/index.js b/src/OnboardingSPA/steps/SiteGen/Editor/Header/TextInput/index.js deleted file mode 100644 index 9b14d79aa..000000000 --- a/src/OnboardingSPA/steps/SiteGen/Editor/Header/TextInput/index.js +++ /dev/null @@ -1,36 +0,0 @@ -import { useRef, useEffect } from '@wordpress/element'; - -const TextInputVersion = ( { - isInputDisabled, - versionName, - handleVersionRename, - handleRenameOnBlur, -} ) => { - const inputRef = useRef( null ); - - useEffect( () => { - if ( ! isInputDisabled && inputRef.current ) { - inputRef.current.focus(); - } - }, [ isInputDisabled ] ); - - const onInputBlurHandler = () => { - if ( handleRenameOnBlur ) { - handleRenameOnBlur( inputRef.current.value ); - } - }; - - return ( - - ); -}; - -export default TextInputVersion; diff --git a/src/OnboardingSPA/steps/SiteGen/Editor/Header/center.js b/src/OnboardingSPA/steps/SiteGen/Editor/Header/center.js new file mode 100644 index 000000000..f7bdfd9e2 --- /dev/null +++ b/src/OnboardingSPA/steps/SiteGen/Editor/Header/center.js @@ -0,0 +1,155 @@ +import { Icon, chevronDown, reusableBlock } from '@wordpress/icons'; +import { __ } from '@wordpress/i18n'; +import { useViewportMatch } from '@wordpress/compose'; +import { useRef } from '@wordpress/element'; +import { ReactComponent as FavoriteIconStroked } from '../../../../static/icons/sitegen/heart-stroked.svg'; +import { ReactComponent as FavoriteFilled } from '../../../../static/icons/sitegen/heart-filled.svg'; +import { Dropdown, MenuGroup, MenuItem } from '@wordpress/components'; + +const StepEditorHeaderCenter = ( { + handleFavorite, + handleRename, + handleViewAll, + handleRegenerate, + handleCustomize, + handleIsRenaming, + isRenaming, + homepageTitle, + isFavorite, +} ) => { + const isLargeViewport = useViewportMatch( 'medium' ); + const inputRef = useRef( null ); + + const onRegenerate = () => { + if ( typeof handleRegenerate === 'function' ) { + return handleRegenerate(); + } + }; + + const onFavorite = () => { + if ( typeof onFavorite === 'function' ) { + return handleFavorite(); + } + }; + + const onCustomize = () => { + if ( typeof handleCustomize === 'function' ) { + return handleCustomize(); + } + }; + + const onViewAll = () => { + if ( typeof handleViewAll === 'function' ) { + return handleViewAll(); + } + }; + + const onRenameItemSelect = () => { + if ( typeof handleIsRenaming === 'function' ) { + handleIsRenaming( true ); + return inputRef.current.focus(); + } + }; + + const onRename = () => { + if ( typeof handleRename === 'function' ) { + handleRename( inputRef.current.value ); + } + }; + + const onTitleInputBlur = () => { + if ( typeof handleIsRenaming === 'function' ) { + return handleIsRenaming( false ); + } + }; + + if ( isRenaming ) { + inputRef.current.focus(); + } + + const DropDownMenu = () => { + return ( + + { ! isLargeViewport && ( + <> + + + { __( 'Regenerate', 'wp-module-onboarding' ) } + + +
+ { __( 'Customize', 'wp-module-onboarding' ) } +
+ + ) } + + + { __( 'Rename', 'wp-module-onboarding' ) } + + + { __( 'View All', 'wp-module-onboarding' ) } + +
+ ); + }; + + const TitleContent = () => { + return ( + ( +
+
+ { isFavorite ? ( + + ) : ( + + ) } +
+ + { + if ( event.key === 'Enter' ) { + onToggle(); + } + } } + /> +
+ ) } + renderContent={ DropDownMenu } + /> + ); + }; + + return ( +
+ +
+ ); +}; + +export default StepEditorHeaderCenter; diff --git a/src/OnboardingSPA/steps/SiteGen/Editor/Header/index.js b/src/OnboardingSPA/steps/SiteGen/Editor/Header/index.js index 38590caa7..32e376392 100644 --- a/src/OnboardingSPA/steps/SiteGen/Editor/Header/index.js +++ b/src/OnboardingSPA/steps/SiteGen/Editor/Header/index.js @@ -5,8 +5,8 @@ import { HEADER_END, HEADER_SITEGEN, HEADER_START, - wpEditorPage, SIDEBAR_SITEGEN_EDITOR_PATTERNS, + pluginDashboardPage, } from '../../../../../constants'; import { Icon, chevronRight } from '@wordpress/icons'; import { store as nfdOnboardingStore } from '../../../../store'; @@ -16,13 +16,15 @@ import { useSelect, useDispatch } from '@wordpress/data'; import { useEffect, useState } from '@wordpress/element'; import { setFlow, completeFlow } from '../../../../utils/api/flow'; import Spinner from '../../../../components/Loaders/Spinner'; -import { getRegeneratedHomePagePreviews } from '../../../../utils/api/siteGen'; -import StepNavigationCenter from './step-navigation-center'; +import { regenerateHomepage } from '../../../../utils/api/siteGen'; +import StepEditorHeaderCenter from './center'; import { useViewportMatch } from '@wordpress/compose'; const StepSiteGenEditorHeader = () => { const [ homepage, setHomepage ] = useState(); const [ isSaving, setIsSaving ] = useState( false ); + const [ isRegenerating, setIsRegenerating ] = useState( false ); + const [ isEditingTitle, setIsEditingTitle ] = useState( false ); const isLargeViewport = useViewportMatch( 'medium' ); @@ -46,8 +48,15 @@ const StepSiteGenEditorHeader = () => { if ( isSaving ) { return; } - homepage.isFavourited = ! homepage.isFavourited; + const homepages = currentData.sitegen.homepages.data; + if ( ! ( homepage.slug in homepages ) ) { + return; + } + + const isFavorite = ! homepage.isFavorite; + homepage.isFavorite = isFavorite; currentData.sitegen.homepages.data[ homepage.slug ] = homepage; + currentData.sitegen.homepages.active = homepage; setCurrentOnboardingData( currentData ); }; @@ -55,45 +64,40 @@ const StepSiteGenEditorHeader = () => { if ( isSaving ) { return; } - const { slug, colorPalattes, isFavourited } = - currentData?.sitegen?.homepages?.active || {}; - try { - const response = await getRegeneratedHomePagePreviews( - currentData.sitegen.siteDetails.prompt, - true, - slug, - colorPalattes, - isFavourited - ); - - if ( response && response.body && response.body.length > 0 ) { - const regeneratedPage = response.body.find( - ( page ) => - ! currentData.sitegen.homepages.data.some( - ( existingPage ) => existingPage.slug === page.slug - ) - ); - setHomepage( regeneratedPage ); - currentData.sitegen.homepages.data[ regeneratedPage.slug ] = - regeneratedPage; - currentData.sitegen.homepages.active = regeneratedPage; - setCurrentOnboardingData( currentData ); - } else if ( response && response.error ) { - /* Handle Error UI state */ - } else { - /* Handle Error UI state */ - } - } catch ( error ) { - /* Handle Error UI state */ + + setIsRegenerating( true ); + if ( currentData.sitegen.siteDetails?.prompt === '' ) { + setIsRegenerating( false ); + return; } - }; - const saveAndContinue = async () => { - setIsSaving( true ); - await setFlow( currentData ); - await completeFlow(); - window.location.replace( wpEditorPage ); + const homepages = currentData.sitegen.homepages.data; + if ( ! ( homepage.slug in homepages ) ) { + setIsRegenerating( false ); + return; + } + + const { slug, color, isFavorite } = homepage || {}; + const response = await regenerateHomepage( + currentData.sitegen.siteDetails.prompt, + slug, + color, + isFavorite + ); + + if ( response.error ) { + setIsRegenerating( false ); + return; + } + + const regeneratedHomepage = response.body; + homepages[ regeneratedHomepage.slug ] = regeneratedHomepage; + currentData.sitegen.homepages.data = homepages; + currentData.sitegen.homepages.active = regeneratedHomepage; + setCurrentOnboardingData( currentData ); + setIsRegenerating( false ); }; + const handleViewAll = () => { setSidebarActiveView( SIDEBAR_SITEGEN_EDITOR_PATTERNS ); setIsSidebarOpened( true ); @@ -106,9 +110,22 @@ const StepSiteGenEditorHeader = () => { setIsSidebarOpened( isSidebarOpenedNew ); }; + const handleRename = ( title ) => { + homepage.title = title; + currentData.sitegen.homepages.data[ homepage.slug ] = homepage; + currentData.sitegen.homepages.active = homepage; + setCurrentOnboardingData( currentData ); + }; + + const saveAndContinue = async () => { + setIsSaving( true ); + await setFlow( currentData ); + await completeFlow(); + window.location.replace( pluginDashboardPage ); + }; + useEffect( () => { handleCustomize(); - // eslint-disable-next-line react-hooks/exhaustive-deps }, [] ); useEffect( () => { @@ -116,6 +133,7 @@ const StepSiteGenEditorHeader = () => { setHomepage( currentData.sitegen.homepages.active ); } }, [ currentData ] ); + return ( <> @@ -128,8 +146,8 @@ const StepSiteGenEditorHeader = () => { }` } role="button" tabIndex={ 0 } - onClick={ () => handleRegenerate() } - onKeyDown={ () => handleRegenerate() } + onClick={ handleRegenerate } + onKeyDown={ handleRegenerate } >
{ > { __( 'Regenerate', 'wp-module-onboarding' ) }
+ { isRegenerating && ( + + ) }
) }
@@ -146,11 +171,18 @@ const StepSiteGenEditorHeader = () => { { homepage && (
- + setIsEditingTitle( isRenaming ) + } + handleRename={ handleRename } + homepageTitle={ homepage.title } + isFavorite={ homepage.isFavorite } + isRenaming={ isEditingTitle } />
) } @@ -183,9 +215,9 @@ const StepSiteGenEditorHeader = () => { > { isLargeViewport ? __( - 'Save & Continue', - 'wp-module-onboarding' - ) + 'Save & Continue', + 'wp-module-onboarding' + ) : __( 'Next', 'wp-module-onboarding' ) }
{ isSaving ? ( diff --git a/src/OnboardingSPA/steps/SiteGen/Editor/Header/step-navigation-center.js b/src/OnboardingSPA/steps/SiteGen/Editor/Header/step-navigation-center.js deleted file mode 100644 index fe8c20d47..000000000 --- a/src/OnboardingSPA/steps/SiteGen/Editor/Header/step-navigation-center.js +++ /dev/null @@ -1,161 +0,0 @@ -import { Icon, chevronDown, reusableBlock, settings } from '@wordpress/icons'; -import { __ } from '@wordpress/i18n'; - -import { useViewportMatch } from '@wordpress/compose'; -import { useState } from '@wordpress/element'; -import { ReactComponent as FavouriteIcon } from '../../../../static/icons/sitegen/heart-stroked.svg'; -import { ReactComponent as FavouriteFilled } from '../../../../static/icons/sitegen/heart-filled.svg'; -import { Dropdown, MenuGroup, MenuItem } from '@wordpress/components'; -import TextInputVersion from './TextInput'; -import { useSelect, useDispatch } from '@wordpress/data'; -import { store as nfdOnboardingStore } from '../../../../store'; - -/** - * Centre Step buttons presented in Header. - * - * @param {Object} root0 - The root object containing all handlers. - * @param {Function} root0.handleFavorite - Handler for the favorite action. - * @param {Function} root0.handleViewAll - Handler for the view all action. - * @param {Function} root0.handleRegenerate - Handler for the regenerate action. - * @param {Function} root0.handleCustomize - Handler for the customize action. - * @return {Object} StepNavigation Component - */ -const StepNavigationCenter = ( { - handleFavorite, - handleViewAll, - handleRegenerate, - handleCustomize, -} ) => { - const { currentData, activeHomepage } = useSelect( ( select ) => { - return { - currentData: - select( nfdOnboardingStore ).getCurrentOnboardingData(), - activeHomepage: select( nfdOnboardingStore ).getActiveHomepage(), - }; - } ); - const { setCurrentOnboardingData } = useDispatch( nfdOnboardingStore ); - const [ isInputDisabled, setIsInputDisabled ] = useState( true ); - const [ versionName, setVersionName ] = useState( activeHomepage?.title ); - const isLargeViewport = useViewportMatch( 'medium' ); - - const handleRenameClick = () => { - setIsInputDisabled( false ); - }; - - const handleVersionRename = ( e ) => { - setVersionName( e.target.value ); - }; - - const handleRenameOnBlur = ( newVersionName ) => { - activeHomepage.title = newVersionName; - currentData.sitegen.homepages.data[ activeHomepage.slug ] = - activeHomepage; - setCurrentOnboardingData( currentData ); - }; - - /** - * Version step Navigation button. - * - * @return {Object} VersionButton Component - */ - const VersionDropDownMenuItems = () => { - return ( - - { ! isLargeViewport && ( - <> - { - handleRegenerate(); - } } - > - - { __( 'Regenrate', 'wp-module-onboarding' ) } - - { - handleCustomize(); - } } - > - - { __( 'Customize', 'wp-module-onboarding' ) } - - - ) } - - - { __( 'Rename', 'wp-module-onboarding' ) } - - - { __( 'View All', 'wp-module-onboarding' ) } - - - ); - }; - - /** - * Version step Navigation button. - * - * @param root0 - * @param root0.isInputDisabled - * @return {Object} VersionButton Component - */ - - const VersionButton = () => { - return ( - ( -
-
{ - handleFavorite(); - } } - onClick={ () => { - handleFavorite(); - } } - > - { activeHomepage?.isFavourited ? ( - - ) : ( - - ) } -
- - { - if ( event.key === 'Enter' ) { - onToggle(); - } - } } - /> -
- ) } - renderContent={ VersionDropDownMenuItems } - paddingSize="none" - /> - ); - }; - - return ( -
- -
- ); -}; - -export default StepNavigationCenter; diff --git a/src/OnboardingSPA/steps/SiteGen/Editor/Header/stylesheet.scss b/src/OnboardingSPA/steps/SiteGen/Editor/Header/stylesheet.scss index 51477ef3e..a15b544e8 100644 --- a/src/OnboardingSPA/steps/SiteGen/Editor/Header/stylesheet.scss +++ b/src/OnboardingSPA/steps/SiteGen/Editor/Header/stylesheet.scss @@ -32,6 +32,13 @@ &__disabled { cursor: disabled; } + + &__spinner { + border-radius: 50%; + width: 5em; + height: 5em; + font-size: 3px; + } } } diff --git a/src/OnboardingSPA/steps/SiteGen/Editor/index.js b/src/OnboardingSPA/steps/SiteGen/Editor/index.js index fef748a00..02d588571 100644 --- a/src/OnboardingSPA/steps/SiteGen/Editor/index.js +++ b/src/OnboardingSPA/steps/SiteGen/Editor/index.js @@ -13,12 +13,14 @@ import { getGlobalStyles } from '../../../utils/api/themes'; import { cloneDeep } from 'lodash'; const StepSiteGenEditor = () => { - const [ activeHomepage, setActiveHomepage ] = useState(); - const [ colorPalette, setColorPalette ] = useState(); - const [ globalStyles, setGlobalStyles ] = useState( [] ); - const [ reRender, setReRender ] = useState( false ); - const { setIsHeaderEnabled, setHeaderActiveView, setDrawerActiveView } = - useDispatch( nfdOnboardingStore ); + const [ homepage, setHomepage ] = useState( false ); + const [ globalStyles, setGlobalStyles ] = useState( false ); + const { + setIsHeaderEnabled, + setHeaderActiveView, + setDrawerActiveView, + setHideFooterNav, + } = useDispatch( nfdOnboardingStore ); const { currentData } = useSelect( ( select ) => { return { @@ -28,54 +30,60 @@ const StepSiteGenEditor = () => { } ); const loadData = async () => { + setHideFooterNav( true ); setIsHeaderEnabled( true ); setHeaderActiveView( HEADER_SITEGEN ); setDrawerActiveView( false ); - const homepage = currentData.sitegen.homepages.active; - setActiveHomepage( homepage ); + const activeHomepage = currentData.sitegen.homepages.active; + setHomepage( activeHomepage ); const globalStylesResponse = await getGlobalStyles(); setGlobalStyles( globalStylesResponse.body ); - setColorPalette( homepage.color.palette ); }; useEffect( () => { + setIsHeaderEnabled( true ); + setHeaderActiveView( HEADER_SITEGEN ); + setDrawerActiveView( false ); loadData(); }, [] ); useEffect( () => { if ( currentData?.sitegen?.homepages?.active ) { - setActiveHomepage( currentData.sitegen.homepages.active ); - setReRender( true ); + setHomepage( currentData.sitegen.homepages.active ); } }, [ currentData ] ); + const populateFontsInPreviewSettings = ( previewSettings ) => { + const firstBlock = homepage.styles.blocks[ 0 ]; + if ( firstBlock[ 'core/heading' ] ) { + previewSettings.styles.blocks[ + 'core/heading' + ].typography.fontFamily = + firstBlock[ 'core/heading' ].typography.fontFamily; + } + if ( firstBlock[ 'core/body' ] ) { + previewSettings.styles.typography.fontFamily = + firstBlock[ 'core/body' ].typography.fontFamily; + } + + return previewSettings; + }; + const buildPreview = () => { - const newPreviewSettings = cloneDeep( globalStyles[ 0 ] ); - newPreviewSettings.settings.color.palette = - activeHomepage?.color?.palette; - - if ( activeHomepage && activeHomepage.styles ) { - if ( - activeHomepage.styles.blocks && - activeHomepage.styles.blocks.length > 0 - ) { - const firstBlock = activeHomepage.styles.blocks[ 0 ]; - if ( firstBlock[ 'core/heading' ] ) { - newPreviewSettings.styles.blocks[ - 'core/heading' - ].typography.fontFamily = - firstBlock[ 'core/heading' ].typography.fontFamily; - } - if ( firstBlock[ 'core/body' ] ) { - newPreviewSettings.styles.typography.fontFamily = - firstBlock[ 'core/body' ].typography.fontFamily; - } - } + if ( ! ( homepage && globalStyles ) ) { + return <>; + } + + let newPreviewSettings = cloneDeep( globalStyles[ 0 ] ); + newPreviewSettings.settings.color.palette = homepage.color.palette; + if ( homepage?.styles?.blocks?.length > 0 ) { + newPreviewSettings = + populateFontsInPreviewSettings( newPreviewSettings ); } return ( { /> ); }; + return (
- { activeHomepage && - colorPalette && - globalStyles && - reRender && - buildPreview() } + { buildPreview() }
); diff --git a/src/OnboardingSPA/steps/SiteGen/Editor/stylesheet.scss b/src/OnboardingSPA/steps/SiteGen/Editor/stylesheet.scss index 96db34224..9721852bf 100644 --- a/src/OnboardingSPA/steps/SiteGen/Editor/stylesheet.scss +++ b/src/OnboardingSPA/steps/SiteGen/Editor/stylesheet.scss @@ -30,6 +30,13 @@ .nfd-onboarding-header__version_dropdown-menu { width: 240px; + &__customize-button__icon { + background-image: var(--sitegen-settings-dark); + height: 16px; + width: 16px; + margin-right: 8px; + } + .components-menu-item__button { .components-menu-item__item { diff --git a/src/OnboardingSPA/steps/SiteGen/Experience/index.js b/src/OnboardingSPA/steps/SiteGen/Experience/index.js index 9e8700886..c186d791f 100644 --- a/src/OnboardingSPA/steps/SiteGen/Experience/index.js +++ b/src/OnboardingSPA/steps/SiteGen/Experience/index.js @@ -29,10 +29,12 @@ const SiteGenExperience = () => { setSidebarActiveView, setHeaderActiveView, setDrawerActiveView, + setHideFooterNav, setCurrentOnboardingData, } = useDispatch( nfdOnboardingStore ); useEffect( () => { + setHideFooterNav( true ); setIsHeaderEnabled( true ); setSidebarActiveView( false ); setHeaderActiveView( HEADER_SITEGEN ); diff --git a/src/OnboardingSPA/steps/SiteGen/Preview/contents.js b/src/OnboardingSPA/steps/SiteGen/Preview/contents.js index c6bc4b107..44728ff31 100644 --- a/src/OnboardingSPA/steps/SiteGen/Preview/contents.js +++ b/src/OnboardingSPA/steps/SiteGen/Preview/contents.js @@ -4,7 +4,7 @@ const getContents = () => { return { heading: __( 'Presto, here are 3 versions', 'wp-module-onboarding' ), subheading: __( - "We've created 3 unique website designs for you to start with, preview, click around or start over.", + "We've created 3 unique website designs for you to start with, preview click around or start over.", 'wp-module-onboarding' ), favouriteNote: __( diff --git a/src/OnboardingSPA/steps/SiteGen/Preview/index.js b/src/OnboardingSPA/steps/SiteGen/Preview/index.js index dcf59ea29..185cff91a 100644 --- a/src/OnboardingSPA/steps/SiteGen/Preview/index.js +++ b/src/OnboardingSPA/steps/SiteGen/Preview/index.js @@ -1,28 +1,26 @@ import CommonLayout from '../../../components/Layouts/Common'; -import { useEffect, useState, useMemo } from '@wordpress/element'; +import { useEffect, useState } from '@wordpress/element'; import { useSelect, useDispatch } from '@wordpress/data'; import { store as nfdOnboardingStore } from '../../../store'; import { HEADER_SITEGEN } from '../../../../constants'; import { useNavigate } from 'react-router-dom'; -import { SiteGenLivePreview } from '../../../components/LivePreview'; +import { SiteGenPreviewSelectableCard } from '../../../components/LivePreview'; import getContents from './contents'; import HeartAnimation from './heartAnimation'; import RegeneratingSiteCard from './regeneratingCard'; -import { - getHomePagePreviews, - getRegeneratedHomePagePreviews, - toggleFavoriteHomepage, -} from '../../../utils/api/siteGen'; +import { getHomepages, regenerateHomepage } from '../../../utils/api/siteGen'; import { getGlobalStyles } from '../../../utils/api/themes'; +// eslint-disable-next-line import/no-extraneous-dependencies +import { cloneDeep, isEmpty } from 'lodash'; const SiteGenPreview = () => { const navigate = useNavigate(); - const [ homepages, setHomepages ] = useState( { active: {}, data: [] } ); + const [ homepages, setHomepages ] = useState( false ); const [ isRegenerating, setIsRegenerating ] = useState( false ); const [ isPreviewLoading, setIsPreviewLoading ] = useState( false ); - const [ globalStyles, setGlobalStyles ] = useState( [] ); + const [ globalStyles, setGlobalStyles ] = useState( false ); const { setIsHeaderEnabled, @@ -31,6 +29,7 @@ const SiteGenPreview = () => { setDrawerActiveView, setCurrentOnboardingData, updateInitialize, + setHideFooterNav, } = useDispatch( nfdOnboardingStore ); const { currentData, nextStep } = useSelect( ( select ) => { @@ -43,53 +42,59 @@ const SiteGenPreview = () => { useEffect( () => { setIsHeaderEnabled( true ); + setHideFooterNav( true ); setSidebarActiveView( false ); setHeaderActiveView( HEADER_SITEGEN ); setDrawerActiveView( false ); updateInitialize( true ); }, [ currentData ] ); - useEffect( () => { - const fetchHomePagesPatterns = async () => { - setIsPreviewLoading( true ); - if ( currentData.sitegen.siteDetails?.prompt !== '' ) { - try { - const response = await getHomePagePreviews( - currentData.sitegen.siteDetails.prompt, - false - ); + const loadHomepages = async () => { + setIsPreviewLoading( true ); + if ( ! isEmpty( currentData.sitegen.homepages.data ) ) { + setHomepages( currentData.sitegen.homepages.data ); + setIsPreviewLoading( false ); + return; + } + if ( currentData.sitegen.siteDetails?.prompt === '' ) { + setIsPreviewLoading( false ); + return; + } - if ( response && response.body ) { - setHomepages( { ...homepages, data: response.body } ); - currentData.sitegen.homepages.data = response.body; - setCurrentOnboardingData( currentData ); - } else if ( response && response.error ) { - setHomepages( { ...homepages, data: [] } ); - } else { - /* Handle Error UI state */ - } + const response = await getHomepages( + currentData.sitegen.siteDetails.prompt, + false + ); - setIsPreviewLoading( false ); - } catch ( error ) { - setIsPreviewLoading( false ); - } - } - }; + if ( response.error ) { + setIsPreviewLoading( false ); + return; + } - fetchHomePagesPatterns(); - loadGlobalStyles(); - }, [] ); + currentData.sitegen.homepages.data = response.body; + setHomepages( response.body ); + setCurrentOnboardingData( currentData ); + setIsPreviewLoading( false ); + }; const loadGlobalStyles = async () => { const globalStylesResponse = await getGlobalStyles(); + if ( globalStylesResponse.error ) { + setIsPreviewLoading( false ); + return; + } setGlobalStyles( globalStylesResponse.body ); }; + useEffect( () => { + loadHomepages(); + loadGlobalStyles(); + }, [] ); + const handlePreview = ( slug ) => { if ( ! ( slug in homepages ) ) { return false; } - homepages[ slug ].active = ! homepages[ slug ].active; currentData.sitegen.homepages.active = homepages[ slug ]; setCurrentOnboardingData( currentData ); navigate( nextStep.path ); @@ -112,143 +117,81 @@ const SiteGenPreview = () => { } }; - const updateFavoriteStatus = ( slug, homepagesList ) => { - homepagesList.forEach( ( homepageObj ) => { - if ( homepageObj.slug === slug ) { - homepageObj.isFavourited = ! homepageObj.isFavourited; - } - } ); - setCurrentOnboardingData( { ...currentData } ); - }; - - const handleToggleFavoriteSuccess = ( response, slug, homepagesList ) => { - if ( ! response ) { - updateFavoriteStatus( slug, homepagesList ); - } - }; - - const handleToggleFavoriteError = ( error, slug, homepagesList ) => { - updateFavoriteStatus( slug, homepagesList ); - // eslint-disable-next-line no-console - console.error( error ); - }; - const handleFavorite = ( slug ) => { - const homepagesList = currentData.sitegen.homepages.data; - - if ( homepagesList && homepagesList.length > 0 ) { - updateFavoriteStatus( slug, homepagesList ); + if ( ! ( slug in homepages ) ) { + return; } - - toggleFavoriteHomepage( slug ) - .then( ( response ) => - handleToggleFavoriteSuccess( response, slug, homepagesList ) - ) - .catch( ( error ) => - handleToggleFavoriteError( error, slug, homepagesList ) - ); + const isFavorite = ! homepages[ slug ].isFavorite; + homepages[ slug ].isFavorite = isFavorite; + currentData.sitegen.homepages.data = homepages; + setHomepages( homepages ); + setCurrentOnboardingData( currentData ); }; - const handleRegenerate = async ( slug, colorPalattes, isFavourited ) => { + const handleRegenerate = async ( slug, palette, isFavorite ) => { scrollSelectionIntoView(); setIsRegenerating( true ); - if ( ! ( slug in homepages.data ) ) { - if ( currentData.sitegen.siteDetails?.prompt !== '' ) { - try { - const response = await getRegeneratedHomePagePreviews( - currentData.sitegen.siteDetails.prompt, - true, - slug, - colorPalattes, - isFavourited - ); - - if ( - response && - response.body && - response.body.length > 0 - ) { - setHomepages( { - ...homepages.data, - data: response.body, - } ); - currentData.sitegen.homepages.data = response.body; - setCurrentOnboardingData( currentData ); - } else if ( response && response.error ) { - /* Handle Error UI state */ - } else { - /* Handle Error UI state */ - } - - setIsRegenerating( false ); - } catch ( error ) { - setIsRegenerating( false ); - } - } + if ( ! ( slug in homepages ) ) { + setIsRegenerating( false ); + return; } - }; - // Define the createPreviewSettings function inside your component - const createPreviewSettings = ( palette ) => { - let settings = {}; - if ( globalStyles.length > 0 ) { - settings = JSON.parse( JSON.stringify( globalStyles[ 0 ] ) ); - settings.settings.color.palette = palette; + if ( currentData.sitegen.siteDetails?.prompt === '' ) { + setIsRegenerating( false ); + return; } - return settings; - }; - // Use useMemo to memoize the previewSettings - const previewSettings = useMemo( () => { - return homepages?.data.map( ( homepage ) => - createPreviewSettings( homepage?.color?.palette ) + const response = await regenerateHomepage( + currentData.sitegen.siteDetails.prompt, + slug, + palette, + isFavorite ); - }, [ homepages.data, globalStyles ] ); + + if ( response.error ) { + setIsRegenerating( false ); + return; + } + + const regeneratedHomepage = response.body; + homepages[ regeneratedHomepage.slug ] = regeneratedHomepage; + currentData.sitegen.homepages.data = homepages; + setHomepages( homepages ); + setCurrentOnboardingData( currentData ); + setIsRegenerating( false ); + }; const buildPreviews = () => { - if ( isPreviewLoading ) { + if ( ! ( homepages && globalStyles ) || isPreviewLoading ) { return ( ); } - const designs = []; - designs.push( - homepages.data && - homepages.data.map( ( homepage, idx ) => { - let newPreviewSettings = {}; - if ( globalStyles.length > 0 ) { - newPreviewSettings = JSON.parse( - JSON.stringify( globalStyles && globalStyles[ 0 ] ) - ); - newPreviewSettings.settings.color.palette = - homepage.color.palette; - } - const isPreviewSettingsEmpty = - Object.keys( previewSettings[ idx ] ).length === 0; - if ( ! isPreviewSettingsEmpty ) { - return ( - - ); - } - return null; - } ) - ); - - return designs; + return Object.keys( homepages ).map( ( slug, idx ) => { + const data = homepages[ slug ]; + const newPreviewSettings = cloneDeep( globalStyles[ 0 ] ); + newPreviewSettings.settings.color.palette = data.color.palette; + return ( + + ); + } ); }; const content = getContents(); diff --git a/src/OnboardingSPA/steps/SiteGen/Preview/regeneratingCard.js b/src/OnboardingSPA/steps/SiteGen/Preview/regeneratingCard.js index fc9e952d8..c534becd0 100644 --- a/src/OnboardingSPA/steps/SiteGen/Preview/regeneratingCard.js +++ b/src/OnboardingSPA/steps/SiteGen/Preview/regeneratingCard.js @@ -12,7 +12,15 @@ function RegeneratingSiteCard( { count = 1, isRegenerating } ) { : __( 'Generating Site', 'wp-module-onboarding' ) }

-
+ { /* Math.random() * (max - min) + min, Just depicting the max and min values */ } +
diff --git a/src/OnboardingSPA/steps/SiteGen/Preview/stylesheet.scss b/src/OnboardingSPA/steps/SiteGen/Preview/stylesheet.scss index 95328801a..e7ffaf1b2 100644 --- a/src/OnboardingSPA/steps/SiteGen/Preview/stylesheet.scss +++ b/src/OnboardingSPA/steps/SiteGen/Preview/stylesheet.scss @@ -58,6 +58,7 @@ } &__note { + margin: 24px; display: flex; flex-direction: row; justify-content: center; @@ -70,7 +71,7 @@ line-height: 22px; text-align: center; border-radius: 12px; - margin-bottom: 60px; + margin-bottom: 70px; } @keyframes heartBeat { @@ -79,36 +80,27 @@ 100% { fill: transparent; transform: scale(1); - transform-origin: center; - } - - 33%, - 66% { - fill: var(--nfd-onboarding-heart-icon-fill); - transform: scale(1.1); - transform-origin: center; } 67% { fill: var(--nfd-onboarding-heart-icon-fill); - transform: scale(1.3); - transform-origin: center; + transform: scale(1.2); } - 87% { - fill: var(--nfd-onboarding-heart-icon-fill); - transform: scale(1.1); - transform-origin: center; - } } .heart { - stroke: var(--nfd-onboarding-heart-icon-stroke); stroke-width: 2px; + stroke: var(--nfd-onboarding-heart-icon-stroke); } .heart path { - animation: heartBeat 4s infinite; + transform-origin: center; + animation: heartBeat 2000ms ease-in-out 0s infinite normal; + + @media (prefers-reduced-motion) { + animation: none !important; + } } } @@ -157,7 +149,11 @@ background: var(--nfd-onboarding-progress-bar-fill); height: 100%; transition: width 0.3s ease; - animation: infiniteProgress 1.5s ease-in-out infinite; + animation: infiniteProgress 1500ms ease-in-out infinite; + + @media (prefers-reduced-motion) { + animation: none !important; + } } } } diff --git a/src/OnboardingSPA/steps/SiteGen/SiteDetails/index.js b/src/OnboardingSPA/steps/SiteGen/SiteDetails/index.js index 6d79af670..660d9bb91 100644 --- a/src/OnboardingSPA/steps/SiteGen/SiteDetails/index.js +++ b/src/OnboardingSPA/steps/SiteGen/SiteDetails/index.js @@ -24,25 +24,27 @@ const SiteGenSiteDetails = () => { } ); const { - setFooterNavEnabled, + setIsFooterNavAllowed, setIsHeaderEnabled, setSidebarActiveView, setHeaderActiveView, setDrawerActiveView, + setHideFooterNav, setCurrentOnboardingData, } = useDispatch( nfdOnboardingStore ); useEffect( () => { + setHideFooterNav( false ); setIsHeaderEnabled( true ); setSidebarActiveView( false ); setHeaderActiveView( HEADER_SITEGEN ); setDrawerActiveView( false ); - setFooterNavEnabled( false ); if ( currentData.sitegen.siteDetails?.prompt !== '' ) { setIsValidInput( true ); - setFooterNavEnabled( isValidInput ); + setIsFooterNavAllowed( true ); return setCustomerInput( currentData.sitegen.siteDetails.prompt ); } + setIsFooterNavAllowed( false ); }, [] ); useEffect( () => { @@ -51,13 +53,11 @@ const SiteGenSiteDetails = () => { customerInput !== undefined && customerInput !== currentData.sitegen.siteDetails.prompt ) { - setFooterNavEnabled( isValidInput ); currentData.sitegen.siteDetails.prompt = customerInput?.trim(); currentData.sitegen.siteDetails.mode = 'simple'; setCurrentOnboardingData( currentData ); - } else { - setFooterNavEnabled( false ); } + setIsFooterNavAllowed( isValidInput ); }, [ customerInput ] ); return ( diff --git a/src/OnboardingSPA/steps/SiteGen/SiteDetails/walkthrough/index.js b/src/OnboardingSPA/steps/SiteGen/SiteDetails/walkthrough/index.js index f1d9719a3..c3111e4de 100644 --- a/src/OnboardingSPA/steps/SiteGen/SiteDetails/walkthrough/index.js +++ b/src/OnboardingSPA/steps/SiteGen/SiteDetails/walkthrough/index.js @@ -23,7 +23,7 @@ const SiteGenSiteDetailsWalkthrough = ( { siteDetailsmeta } ) => { }; } ); - const { setFooterNavEnabled, setCurrentOnboardingData } = + const { setIsFooterNavAllowed, setCurrentOnboardingData } = useDispatch( nfdOnboardingStore ); useEffect( () => { @@ -39,11 +39,11 @@ const SiteGenSiteDetailsWalkthrough = ( { siteDetailsmeta } ) => { ); } - setFooterNavEnabled( ! isdisabledNextButton() ); + setIsFooterNavAllowed( ! isdisabledNextButton() ); }, [] ); useEffect( () => { - setFooterNavEnabled( ! isdisabledNextButton() ); + setIsFooterNavAllowed( ! isdisabledNextButton() ); }, [ customerInputUnique, customerInputType ] ); const handlePromptChange = ( field, e ) => { @@ -58,7 +58,7 @@ const SiteGenSiteDetailsWalkthrough = ( { siteDetailsmeta } ) => { }; setters[ field ]( e.target.value ); - setFooterNavEnabled( ! isdisabledNextButton() ); + setIsFooterNavAllowed( ! isdisabledNextButton() ); }; const concatenatePrompt = () => { diff --git a/src/OnboardingSPA/steps/SiteGen/SiteLogo/index.js b/src/OnboardingSPA/steps/SiteGen/SiteLogo/index.js index 50f9161b3..61971f4ea 100644 --- a/src/OnboardingSPA/steps/SiteGen/SiteLogo/index.js +++ b/src/OnboardingSPA/steps/SiteGen/SiteLogo/index.js @@ -30,11 +30,12 @@ const SiteGenSiteLogo = () => { }, [] ); const { - setFooterNavEnabled, + setIsFooterNavAllowed, setIsHeaderEnabled, setSidebarActiveView, setHeaderActiveView, setDrawerActiveView, + setHideFooterNav, setCurrentOnboardingData, } = useDispatch( nfdOnboardingStore ); @@ -48,10 +49,11 @@ const SiteGenSiteLogo = () => { }; setCurrentOnboardingData( currentDataCopy ); setSiteLogo( undefined ); - setFooterNavEnabled( false ); + setIsFooterNavAllowed( false ); }; useEffect( () => { + setHideFooterNav( false ); setIsHeaderEnabled( true ); setSidebarActiveView( false ); setHeaderActiveView( HEADER_SITEGEN ); @@ -59,7 +61,7 @@ const SiteGenSiteLogo = () => { if ( currentData.data.siteLogo?.id !== 0 ) { return setSiteLogo( currentData.data.siteLogo ); } - setFooterNavEnabled( false ); + setIsFooterNavAllowed( false ); getEditedEntityRecord( 'root', 'site' ); }, [] ); @@ -70,7 +72,7 @@ const SiteGenSiteLogo = () => { currentDataCopy.data.siteLogo.fileName = siteLogoNew.fileName; currentDataCopy.data.siteLogo.fileSize = siteLogoNew.fileSize; setCurrentOnboardingData( currentDataCopy ); - setFooterNavEnabled( siteLogoNew.id !== 0 ); + setIsFooterNavAllowed( siteLogoNew.id !== 0 ); editEntityRecord( 'root', 'site', undefined, { site_logo: siteLogoNew.id, } ); diff --git a/src/OnboardingSPA/steps/SiteGen/SiteLogo/stylesheet.scss b/src/OnboardingSPA/steps/SiteGen/SiteLogo/stylesheet.scss index 47ec0a713..9812ad2cb 100644 --- a/src/OnboardingSPA/steps/SiteGen/SiteLogo/stylesheet.scss +++ b/src/OnboardingSPA/steps/SiteGen/SiteLogo/stylesheet.scss @@ -18,10 +18,10 @@ &__buttons { width: 99%; display: flex; - padding: 16px; flex-direction: row; align-items: center; justify-content: flex-end; + margin-top: 20px; &__skip { font-size: clamp(0.6rem, 0.755rem + 0.227vw, 1.3rem); diff --git a/src/OnboardingSPA/steps/SiteGen/SocialMedia/index.js b/src/OnboardingSPA/steps/SiteGen/SocialMedia/index.js index adb558e6d..c74b0a5db 100644 --- a/src/OnboardingSPA/steps/SiteGen/SocialMedia/index.js +++ b/src/OnboardingSPA/steps/SiteGen/SocialMedia/index.js @@ -1,5 +1,5 @@ -import { useDispatch } from '@wordpress/data'; -import { memo, useEffect } from '@wordpress/element'; +import { useDispatch, useSelect } from '@wordpress/data'; +import { memo, useEffect, useState } from '@wordpress/element'; import { useViewportMatch } from '@wordpress/compose'; import getContents from './contents'; @@ -9,9 +9,14 @@ import { store as nfdOnboardingStore } from '../../../store'; import CommonLayout from '../../../components/Layouts/Common'; import AIHeading from '../../../components/Heading/AIHeading'; import NextButtonSiteGen from '../../../components/Button/NextButtonSiteGen'; +import { FacebookConnectButton } from '@newfold-labs/wp-module-facebook'; +import { useNavigate } from 'react-router-dom'; const SiteGenSiteSocialMedia = () => { const isLargeViewport = useViewportMatch( 'small' ); + const navigate = useNavigate(); + const [ connected, setConnected ] = useState( false ); + const [ interacted, setInteracted ] = useState( false ); const { setIsHeaderEnabled, @@ -27,6 +32,22 @@ const SiteGenSiteSocialMedia = () => { setDrawerActiveView( false ); } ); + const { nextStep } = useSelect( ( select ) => { + return { + nextStep: select( nfdOnboardingStore ).getNextStep(), + }; + } ); + + const handleConnect = () => { + setConnected( true ); + }; + + useEffect( () => { + if ( interacted && connected ) { + navigate( nextStep.path ); + } + }, [ interacted, connected ] ); + const content = getContents(); return ( {

{ content.facebookDesc }

- + setInteracted( true ) } + > + +
@@ -55,7 +79,7 @@ const SiteGenSiteSocialMedia = () => { { isLargeViewport && ( ) }
diff --git a/src/OnboardingSPA/steps/SiteGen/SocialMedia/stylesheet.scss b/src/OnboardingSPA/steps/SiteGen/SocialMedia/stylesheet.scss index 915ab88cd..bb8203ac2 100644 --- a/src/OnboardingSPA/steps/SiteGen/SocialMedia/stylesheet.scss +++ b/src/OnboardingSPA/steps/SiteGen/SocialMedia/stylesheet.scss @@ -5,18 +5,16 @@ &__social-media { &__container { - display: flex; - width: 40vw; flex-direction: column; justify-content: center; &__buttons { - width: 95%; + width: 96%; display: flex; align-items: center; justify-content: flex-end; - padding: 16px; + margin-top: 20px; &__skip { font-size: clamp(0.6rem, 0.755rem + 0.227vw, 1.3rem); @@ -46,7 +44,7 @@ display: flex; justify-content: space-between; align-items: left; - width: 40vw; + width: 37vw; @media (max-width: #{ ($break-large) }) { width: 80vw; @@ -91,28 +89,41 @@ display: inline-flex; align-items: center; padding: 10px 15px; - background-color: #1877f2; - color: #fff; border: none; border-radius: 5px; cursor: pointer; justify-content: center; - &:hover { - background-color: #0065ea; - } - @media (max-width: #{ ($break-small) }) { width: 100%; } - } - &__button i { - margin-right: 8px; - background-image: var(--facebook-icon); - width: 25px; - height: 25px; - filter: brightness(0) saturate(100%) invert(100%) sepia(1%) saturate(376%) hue-rotate(220deg) brightness(120%) contrast(100%); + &__icon { + margin-right: 8px; + background-image: var(--facebook-icon); + width: 25px; + height: 25px; + filter: brightness(0) saturate(100%) invert(100%) sepia(1%) saturate(376%) hue-rotate(220deg) brightness(120%) contrast(100%); + } + + &--connect { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + background-color: var(--nfd-onboarding-facebook-connect-button-background); + color: #fff; + + &:hover { + background-color: var(--nfd-onboarding-facebook-connect-button-background-hover); + } + } + + &--connected { + background-color: var(--nfd-onboarding-facebook-connected-button-background); + color: #fff; + cursor: pointer; + } } @media (max-width: #{ ($break-small) }) { @@ -135,13 +146,18 @@ &__containright { &__button { - padding: 8px 12px; - } - &__button i { - width: 20px; - height: 20px; + &__icon { + width: 20px; + height: 20px; + } + + &--connect { + padding: 8px 12px; + } + } + } } } diff --git a/src/OnboardingSPA/steps/SiteGen/Welcome/index.js b/src/OnboardingSPA/steps/SiteGen/Welcome/index.js index fd27e5533..19d411ea1 100644 --- a/src/OnboardingSPA/steps/SiteGen/Welcome/index.js +++ b/src/OnboardingSPA/steps/SiteGen/Welcome/index.js @@ -13,10 +13,12 @@ const SiteGenWelcome = () => { setSidebarActiveView, setHeaderActiveView, setDrawerActiveView, + setHideFooterNav, setIsHeaderNavigationEnabled, } = useDispatch( nfdOnboardingStore ); useEffect( () => { + setHideFooterNav( true ); setIsHeaderEnabled( true ); setSidebarActiveView( false ); setHeaderActiveView( HEADER_SITEGEN ); diff --git a/src/OnboardingSPA/steps/TheFork/index.js b/src/OnboardingSPA/steps/TheFork/index.js index 3d8e7c794..10bce8d89 100644 --- a/src/OnboardingSPA/steps/TheFork/index.js +++ b/src/OnboardingSPA/steps/TheFork/index.js @@ -25,9 +25,11 @@ const TheFork = () => { setDrawerActiveView, setIsHeaderNavigationEnabled, setFooterActiveView, + setHideFooterNav, } = useDispatch( nfdOnboardingStore ); useEffect( () => { + setHideFooterNav( true ); setIsHeaderEnabled( false ); setSidebarActiveView( false ); setIsHeaderNavigationEnabled( false ); diff --git a/src/OnboardingSPA/store/actions.js b/src/OnboardingSPA/store/actions.js index db55e4fa8..9f34b8dae 100644 --- a/src/OnboardingSPA/store/actions.js +++ b/src/OnboardingSPA/store/actions.js @@ -189,10 +189,17 @@ export function setHeaderActiveView( view ) { }; } -export function setFooterNavEnabled( navEnabled ) { +export function setIsFooterNavAllowed( isNavAllowed ) { return { - type: 'SET_FOOTER_NAV_ENABLED', - navEnabled, + type: 'SET_IS_FOOTER_NAV_ALLOWED', + isNavAllowed, + }; +} + +export function setHideFooterNav( hideFooterNav ) { + return { + type: 'SET_HIDE_FOOTER_NAV', + hideFooterNav, }; } diff --git a/src/OnboardingSPA/store/reducer.js b/src/OnboardingSPA/store/reducer.js index 13f720e53..e2dccd324 100644 --- a/src/OnboardingSPA/store/reducer.js +++ b/src/OnboardingSPA/store/reducer.js @@ -333,16 +333,22 @@ export function queue( state = [], action ) { export function footer( state = { footers, - navEnabled: true, + isNavAllowed: true, + hideFooterNav: false, view: FOOTER_SITEGEN, }, action ) { switch ( action.type ) { - case 'SET_FOOTER_NAV_ENABLED': + case 'SET_IS_FOOTER_NAV_ALLOWED': return { ...state, - navEnabled: action.navEnabled, + isNavAllowed: action.isNavAllowed, + }; + case 'SET_HIDE_FOOTER_NAV': + return { + ...state, + hideFooterNav: action.hideFooterNav, }; case 'SET_FOOTER_ACTIVE_VIEW': return { diff --git a/src/OnboardingSPA/store/selectors.js b/src/OnboardingSPA/store/selectors.js index 40ca9eea0..00d3bce0c 100644 --- a/src/OnboardingSPA/store/selectors.js +++ b/src/OnboardingSPA/store/selectors.js @@ -57,8 +57,12 @@ export function getFooterActiveView( state ) { return state.footer.view; } -export function getFooterNavEnabled( state ) { - return state.footer.navEnabled; +export function getIsFooterNavAllowed( state ) { + return state.footer.isNavAllowed; +} + +export function getHideFooterNav( state ) { + return state.footer.hideFooterNav; } /** diff --git a/src/OnboardingSPA/styles/_branding.scss b/src/OnboardingSPA/styles/_branding.scss index 0677b95f7..08e424fc8 100644 --- a/src/OnboardingSPA/styles/_branding.scss +++ b/src/OnboardingSPA/styles/_branding.scss @@ -327,7 +327,7 @@ body { --nfd-onboarding-progress-bar-fill: #0060f0; --nfd-onboarding-progress-bar-background: #d5d5d5; --nfd-onboarding-site-logo-on-drag: rgba(53, 59, 64, 0.3); - --nfd-onboarding-navigation-back-background: rgba(54, 62, 68, 0.35); + --nfd-onboarding-navigation-back-background: rgba(212, 212, 212, 0.35); --nfd-onboarding-site-logo-border: var(--nfd-onboarding-primary); --nfd-onboarding-header-border: rgba(var(--nfd-onboarding-primary-rgb), 0.3); --nfd-onboarding-card-overlay: rgba(0, 0, 0, 0.4); @@ -337,6 +337,10 @@ body { --nfd-onboarding-preview-favorite-background: #1e2327; --nfd-onboarding-favorite-fill: #ef4a71; --nfd-onboarding-button-background: #363e4459; + --nfd-onboarding-sidebar-border-left: #e0e0e0; + --nfd-onboarding-facebook-connect-button-background: #1877f2; + --nfd-onboarding-facebook-connect-button-background-hover: #0065ea; + --nfd-onboarding-facebook-connected-button-background: #3bb143; } @@ -365,5 +369,9 @@ body { --nfd-onboarding-button-background: #363e4459; --nfd-onboarding-regenerating-card-background: rgba(53, 58, 64, 0.1); --sitegen-background-low: url(../static/images/sitegen/ai_bg_low.png); + --nfd-onboarding-sidebar-border-left: #e0e0e0; + --nfd-onboarding-facebook-connect-button-background: #1877f2; + --nfd-onboarding-facebook-connect-button-background-hover: #0065ea; + --nfd-onboarding-facebook-connected-button-background: #3bb143; } } diff --git a/src/OnboardingSPA/styles/_icons.scss b/src/OnboardingSPA/styles/_icons.scss index e1cf3a1c4..bfe097f7b 100644 --- a/src/OnboardingSPA/styles/_icons.scss +++ b/src/OnboardingSPA/styles/_icons.scss @@ -46,4 +46,7 @@ body { --sitegen-favorite-filled: url(../static/icons/sitegen/favorite-filled.svg); --sitegen-regenerate: url(../static/icons/sitegen/regenerate.svg); --sitegen-settings: url(../static/icons/sitegen/settings.svg); + --sitegen-settings-dark: url(../static/icons/sitegen/settings-dark.svg); + --sitegen-sidebar-radio-unchecked: url(../static/icons/sitegen/radio-unchecked.svg); + --sitegen-sidebar-radio-checked: url(../static/icons/sitegen/radio-checked.svg); } diff --git a/src/OnboardingSPA/utils/api/siteGen.js b/src/OnboardingSPA/utils/api/siteGen.js index dc54c8897..1477aeb1e 100644 --- a/src/OnboardingSPA/utils/api/siteGen.js +++ b/src/OnboardingSPA/utils/api/siteGen.js @@ -29,51 +29,33 @@ export async function generateSiteGenMeta( ); } -export async function getHomePagePreviews( - siteDescription, - regenerate = false -) { +export async function getHomepages( siteDescription ) { return await resolve( apiFetch( { - url: onboardingRestURL( 'sitegen/get-homepages' ), + url: onboardingRestURL( 'sitegen/homepages' ), method: 'POST', data: { site_description: siteDescription, - regenerate, }, } ).then() ); } -export async function getRegeneratedHomePagePreviews( +export async function regenerateHomepage( siteDescription, - regenerate = true, slug, - colorPalettes, - isFavourited + palette, + isFavorite ) { return await resolve( apiFetch( { - url: onboardingRestURL( 'sitegen/get-homepages-regenerate' ), + url: onboardingRestURL( 'sitegen/homepages/regenerate' ), method: 'POST', data: { site_description: siteDescription, - regenerate, - slug, - colorPalettes, - isFavourited, - }, - } ).then() - ); -} - -export async function toggleFavoriteHomepage( slug ) { - return await resolve( - apiFetch( { - url: onboardingRestURL( 'sitegen/favourites' ), - method: 'POST', - data: { slug, + palette, + isFavorite, }, } ).then() ); diff --git a/src/Scripts/sitegen-theme-marker/sitegen-theme-marker.js b/src/Scripts/sitegen-theme-marker/sitegen-theme-marker.js index d4f6d8526..b22dda751 100644 --- a/src/Scripts/sitegen-theme-marker/sitegen-theme-marker.js +++ b/src/Scripts/sitegen-theme-marker/sitegen-theme-marker.js @@ -1,11 +1,13 @@ window.onload = function () { const homepages = window.nfdOnboarding.homepages.data; const activeTheme = window.nfdOnboarding.active; - Object.keys( homepages ).forEach( ( homepage ) => { - const ele = document.getElementById( `${ homepage }-name` ); + homepages.forEach( ( homepage ) => { + const ele = document.getElementById( `${ homepage.slug }-name` ); if ( ele ) { ele.innerHTML = - ( activeTheme === homepage ? 'Active:' : '' ) + + ( activeTheme === homepage.slug + ? 'Active:' + : '' ) + ` @@ -15,7 +17,7 @@ window.onload = function () { ` + - `${ homepages[ homepage ].title }`; + `${ homepage.title }`; } } ); };